大家好,我是小悟
1、介紹
電商收付通的賬單分為交易賬單和資金賬單,兩種賬單獲取方式相同,這里只舉例獲取交易賬單。微信在次日9點(diǎn)啟動(dòng)生成前一天的對(duì)賬單,建議商戶(hù)10點(diǎn)后再獲取。
交易賬單:微信支付按天提供交易賬單文件,文件內(nèi)包含交易相關(guān)的金額、時(shí)間、營(yíng)銷(xiāo)等信息,供商戶(hù)核對(duì)訂單、退款、銀行到賬等情況。
微信側(cè)未成功下單的交易不會(huì)出現(xiàn)在對(duì)賬單中。支付成功后撤銷(xiāo)的交易會(huì)出現(xiàn)在對(duì)賬單中,跟原支付單訂單號(hào)一致。對(duì)賬單接口只能下載三個(gè)月以?xún)?nèi)的賬單。
資金賬單:微信支付按天提供微信支付賬戶(hù)的資金流水賬單文件,文件內(nèi)包含該賬戶(hù)資金操作相關(guān)的業(yè)務(wù)單號(hào)、收支金額、記賬時(shí)間等信息,供商戶(hù)進(jìn)行核對(duì)。
業(yè)務(wù)流程圖:

image.png

image.png
2、簡(jiǎn)單步驟
第一步:先調(diào)用申請(qǐng)交易賬單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()),
"自己系統(tǒng)的應(yīng)用名稱(chēng)","服務(wù)商商戶(hù)號(hào)","商戶(hù)API證書(shū)序列號(hào)","平臺(tái)證書(shū)序列號(hào)","","商戶(hù)API證書(shū)位置.pem",null);
logger.info("tradebill jsonObject:{}",response);
return JSONObject.parseObject(response.body());
}
結(jié)果,注意,賬單文件的下載地址的有效時(shí)間為30s:
{"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調(diào)用,則會(huì)報(bào)如下錯(cuò)誤
{"code":"INVALID_REQUEST","message":"下載鏈接過(guò)期,請(qǐng)重新請(qǐng)求文件下載"}
第二步:再調(diào)用下載賬單API獲取賬單數(shù)據(jù)流
public static JSONObject billdownload(String token) {
logger.info("billdownload param:{}",token);
HttpResponse response = HttpUtils.v3HttpExecute("GET", String.format(BillUrl.BILL_DOWNLOAD,token),
"自己系統(tǒng)的應(yīng)用名稱(chēng)","服務(wù)商商戶(hù)號(hào)","商戶(hù)API證書(shū)序列號(hào)","平臺(tái)證書(shū)序列號(hào)","","商戶(hù)API證書(shū)位置.pem",null);
logger.info("billdownload jsonObject:{}",response);
return JSONObject.parseObject(response.body());
}
3、結(jié)果

image.png

image.png
您的一鍵三連,是我更新的最大動(dòng)力,謝謝
山水有相逢,來(lái)日皆可期,謝謝閱讀,我們?cè)贂?huì)
我手中的金箍棒,上能通天,下能探海