1、介绍
文档地址:
https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/bill/chapter3_3.shtml
电商收付通的账单分为交易账单和资金账单,两种账单获取方式相同,这里只举例获取交易账单。
交易账单:微信支付按天提供交易账单文件,文件内包含交易相关的金额、时间、营销等信息,供商户核对订单、退款、银行到账等情况。
资金账单:微信支付按天提供微信支付账户的资金流水账单文件,文件内包含该账户资金操作相关的业务单号、收支金额、记账时间等信息,供商户进行核对。
业务流程图:
2、简单步骤
第一步:先调用申请交易账单API,获取download_url
代码语言:javascript复制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:
代码语言:javascript复制
{"download_url":"https://api.mch.weixin.qq.com/v3/billdownload/file?token=3qqKHhrJo4nbfoefwB4SyoMaeDzdYua_9-WPLT8aDZaDZAGR2xmgnURg_cdSH8SZ&tartype=gzip","hash_type":"SHA1","hash_value":"bcac7ca40ccdf2b5f025be9aba0e8d27d1ec9824"}
如果超出30s调用,则会报如下错误
代码语言:javascript复制{"code":"INVALID_REQUEST","message":"下载链接过期,请重新请求文件下载"}
第二步:再调用下载账单API获取账单数据流
代码语言:javascript复制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());
}
结果:
上一篇:电商收付通系列⑩,合单下单之扫码支付