1、介绍
文档地址:
https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/bill/chapter3_3.shtml
电商收付通的账单分为交易账单和资金账单,两种账单获取方式相同,这里只举例获取交易账单。
交易账单:微信支付按天提供交易账单文件,文件内包含交易相关的金额、时间、营销等信息,供商户核对订单、退
款、银行到账等情况。
资金账单:微信支付按天提供微信支付账户的资金流水账单文件,文件内包含该账户资金操作相关的业务单号、收支
金额、记账时间等信息,供商户进行核对。
业务流程图:
2、简单步骤
第一步:先调用申请交易账单API,获取download_url
public static JSONObject tradebill() {
TradeBillParam param = new TradeBillParam();
param.setBill_date("2020-03-22");
param.setSub_mchid("1564807461");
param.setBill_type("ALL");
param.setTar_type("GZIP");//GZIP
String requestParam = JSON.toJSONString(param);
logger.info("tradebill param:{}",requestParam);
HttpResponse response = HttpUtils.v3HttpExecute("GET", String.format(BillUrl.TRADE_BILL,param.getBill_date(),param.getSub_mchid(),param.getBill_type(),param.getTar_type()),
"自己系统的应用名称","服务商商户号","商户API证书序列号","平台证书序列号","","商户API证书位置.pem",null);
logger.info("tradebill jsonObject:{}",response);
return JSONObject.parseObject(response.body());
}
结果,注意,账单文件的下载地址的有效时间为30s:
如果超出30s调用,则会报如下错误
第二步:再调用下载账单API获取账单数据流
public static JSONObject billdownload(String token) {
logger.info("billdownload param:{}",token);
HttpResponse response = HttpUtils.v3HttpExecute("GET", String.format(BillUrl.BILL_DOWNLOAD,token),
"自己系统的应用名称","服务商商户号","商户API证书序列号","平台证书序列号","","商户API证书位置.pem",null);
logger.info("billdownload jsonObject:{}",response);
return JSONObject.parseObject(response.body());
}
结果:
山水有相逢,来日皆可期,谢谢阅读,我们再会
我手中的金箍棒,上能通天,下能探海