1. 程式人生 > >淺析微信支付:下載對賬單和資金賬單

淺析微信支付:下載對賬單和資金賬單

本文是【淺析微信支付】系列文章的第九篇,主要講解商戶下載對賬單介面和資金賬單介面的實現和一些注意事項。


淺析微信支付系列已經更新九篇了喲~,沒有看過的朋友們可以看一下哦。

淺析微信支付:申請退款、退款回撥介面、查詢退款

淺析微信支付:查詢訂單和關閉訂單

淺析微信支付:支付結果通知

在商戶平臺中,商家也可以下載資金對賬單,歷史的交易清單,具體位置:商戶平臺 -> 交易中心 -> 賬單管理。

如果要檢視實時的流水記錄,可以在微信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 ​

關注作者微信公眾號,點選下方討論群,掃碼即可加入微信支付討論群與小夥伴一起探討哦~

到此本文就結束了,關注公眾號檢視更多推送!!!


關注我的公眾號