本文是【淺析微信支付】系列文章的第九篇,主要講解商戶下載對賬單接口和資金賬單接口的實現和一些注意事項。
淺析微信支付系列已經更新九篇了喲~,沒有看過的朋友們可以看一下哦。
在商戶平台中,商家也可以下載資金對賬單,歷史的交易清單,具體位置:商戶平台 -> 交易中心 -> 賬單管理。
如果要查看實時的流水記錄,可以在微信APP中搜索小程序 微信支付商戶助手
即可查看。
1、下載對賬單
以下為微信官方的下載對賬單
文檔:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_6
根據接口下載歷史的交易賬單,數據以文本表格的方式返回,第一行為表頭,后面各行為對應的字段內容,字段內容跟查詢訂單或退款結果一致,具體字段說明可查閱相應接口。
此接口方便商家在自身系統中下載,不依賴於微信商戶平台。
1.1. 應用場景
商戶可以通過該接口下載歷史交易清單。比如掉單、系統錯誤等導致商戶側和微信側數據不一致,通過對賬單核對后可校正支付狀態。
注意:
1、微信側未成功下單的交易不會出現在對賬單中。支付成功后撤銷的交易會出現在對賬單中,跟原支付單訂單號一致;
2、微信在次日9點啟動生成前一天的對賬單,建議商戶10點后再獲取;
3、對賬單中涉及金額的字段單位為“元”。
4、對賬單接口只能下載三個月以內的賬單。
5、對賬單是以商戶號緯度來生成的,如一個商戶號與多個appid有綁定關系,則使用其中任何一個appid都可以請求下載對賬單。對賬單中的appid取自交易時候提交的appid,與請求下載對賬單時使用的appid無關。
1.2. 接口鏈接
https://api.mch.weixin.qq.com/pay/downloadbill
1.3. 是否需要證書
不需要
1.4. 調用接口
調用參數:
字段名稱 | 變量名 | 必填 | 類型 | 描述 |
---|---|---|---|---|
賬單日期 | bill_date | 是 | String(8) | 下載對賬單的日期,格式:20140603 |
賬單類型 | bill_type | 是 | String(8) | ALL,返回當日所有訂單信息,默認值SUCCESS,返回當日成功支付的訂單REFUND,返回當日退款訂單RECHARGE_REFUND,返回當日充值退款訂單 |
壓縮賬單 | tar_type | 否 | String(8) | 非必傳參數,固定值:GZIP,返回格式為.gzip的壓縮包賬單。不傳則默認為數據流形式。 |
以下為調用示例代碼:
/**
* 對賬單下載
*/
private void doDownloadBill() {
HashMap<String, String> data = new HashMap<String, String>();
data.put("bill_date", "20161102");
data.put("bill_type", "ALL");
try {
Map<String, String> r = wxpay.downloadBill(data);
System.out.println(r);
} catch (Exception e) {
e.printStackTrace();
}
}
1.5. 返回結果
成功時,數據以文本表格的方式返回,第一行為表頭,后面各行為對應的字段內容,字段內容跟查詢訂單或退款結果一致,具體字段說明可查閱相應接口。
第一行為表頭,根據請求下載的對賬單類型不同而不同(由bill_type決定),目前有:
當日所有訂單
交易時間,公眾賬號ID,商戶號,子商戶號,設備號,微信訂單號,商戶訂單號,用戶標識,交易類型,交易狀態,付款銀行,貨幣種類,總金額,代金券或立減優惠金額,微信退款單號,商戶退款單號,退款金額,代金券或立減優惠退款金額,退款類型,退款狀態,商品名稱,商戶數據包,手續費,費率
當日成功支付的訂單
交易時間,公眾賬號ID,商戶號,子商戶號,設備號,微信訂單號,商戶訂單號,用戶標識,交易類型,交易狀態,付款銀行,貨幣種類,總金額,代金券或立減優惠金額,商品名稱,商戶數據包,手續費,費率
當日退款的訂單
交易時間,公眾賬號ID,商戶號,子商戶號,設備號,微信訂單號,商戶訂單號,用戶標識,交易類型,交易狀態,付款銀行,貨幣種類,總金額,代金券或立減優惠金額,退款申請時間,退款成功時間,微信退款單號,商戶退款單號,退款金額,代金券或立減優惠退款金額,退款類型,退款狀態,商品名稱,商戶數據包,手續費,費率
從第二行起,為數據記錄,各參數以逗號分隔,參數前增加`符號,為標准鍵盤1左邊鍵的字符,字段順序與表頭一致。
倒數第二行為訂單統計標題,最后一行為統計數據
總交易單數,總交易額,總退款金額,總代金券或立減優惠退款金額,手續費總金額
舉例如下:
交易時間,公眾賬號ID,商戶號,子商戶號,設備號,微信訂單號,商戶訂單號,用戶標識,交易類型,交易狀態,付款銀行,貨幣種類,總金額,代金券或立減優惠金額,微信退款單號,商戶退款單號,退款金額,代金券或立減優惠退款金額,退款類型,退款狀態,商品名稱,商戶數據包,手續費,費率
`2014-11-1016:33:45,`wx2421b1c4370ec43b,`10000100,`0,`1000,`1001690740201411100005734289,`1415640626,`085e9858e3ba5186aafcbaed1,`MICROPAY,`SUCCESS,`CFT,`CNY,`0.01,`0.0,`0,`0,`0,`0,`,`,`被掃支付測試,`訂單額外描述,`0,`0.60%
`2014-11-1016:46:14,`wx2421b1c4370ec43b,`10000100,`0,`1000,`1002780740201411100005729794,`1415635270,`085e9858e90ca40c0b5aee463,`MICROPAY,`SUCCESS,`CFT,`CNY,`0.01,`0.0,`0,`0,`0,`0,`,`,`被掃支付測試,`訂單額外描述,`0,`0.60%
總交易單數,總交易額,總退款金額,總代金券或立減優惠退款金額,手續費總金額
`2,`0.02,`0.0,`0.0,`0
2、下載資金賬單接口
以下為微信官方的下載資金賬單
文檔:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_18&index=7
2.1. 應用場景
商戶可以通過該接口下載自2017年6月1日起 的歷史資金流水賬單。
說明:
1、資金賬單中的數據反映的是商戶微信賬戶資金變動情況;
2、當日賬單在次日上午9點開始生成,建議商戶在上午10點以后獲取;
3、資金賬單中涉及金額的字段單位為“元”。
2.2. 接口鏈接
https://api.mch.weixin.qq.com/pay/downloadfundflow
2.3. 是否需要證書
請求需要雙向證書
2.4. 調用接口
調用參數:
字段名稱 | 變量名 | 必填 | 類型 | 描述 |
---|---|---|---|---|
簽名類型 | sign_type | 否 | String(32) | 簽名類型,目前僅支持HMAC-SHA256 |
資金賬單日期 | bill_date | 是 | String(8) | 下載對賬單的日期,格式:20140603 |
資金賬戶類型 | account_type | 是 | String(8) | 賬單的資金來源賬戶:Basic 基本賬戶、Operation 運營賬戶、Fees 手續費賬戶 |
壓縮賬單 | tar_type | 否 | String(8) | 非必傳參數,固定值:GZIP,返回格式為.gzip的壓縮包賬單。不傳則默認為數據流形式。 |
此接口不常用,推薦使用微信商戶平台下載。具體的實現請參考上面的官方文檔。
結語
以上為下載對賬單、資金賬單
相關的解釋和源碼,特別需要注意的是下載資金賬單
接口需要特定的簽名類型HMAC-SHA256
,小伙伴們一定要注意哦,具體的源碼可以看作者的github,里面對每個方法有詳細的注釋。
預告:下一篇文章 如何使用沙箱環境測試
,敬請期待!!!
如果想要提前一覽源碼的小伙伴,可以先看看我的 github,地址如下:
https://github.com/YClimb/wxpay-sdk/blob/master/README.md
關注作者微信公眾號,點擊下方討論群
,掃碼即可加入微信支付討論群
與小伙伴一起探討哦~
到此本文就結束了,關注公眾號查看更多推送!!!