微信支付下載對賬單開發(fā)CloudPay.downloadBill()
CloudPay.downloadBill()
支持端:云函數(shù) 2.0.2
下載對賬單
說明
商戶可以通過該接口下載歷史交易清單。比如掉單、系統(tǒng)錯(cuò)誤等導(dǎo)致商戶側(cè)和微信側(cè)數(shù)據(jù)不一致,通過對賬單核對后可校正支付狀態(tài)。
注意:
1、微信側(cè)未成功下單的交易不會(huì)出現(xiàn)在對賬單中。支付成功后撤銷的交易會(huì)出現(xiàn)在對賬單中,跟原支付單訂單號一致;
2、微信在次日9點(diǎn)啟動(dòng)生成前一天的對賬單,建議商戶10點(diǎn)后再獲取;
3、對賬單中涉及金額的字段單位為“元”。
4、對賬單接口只能下載三個(gè)月以內(nèi)的賬單。
5、對賬單是以商戶號緯度來生成的,如一個(gè)商戶號與多個(gè)appid有綁定關(guān)系,則使用其中任何一個(gè)appid都可以請求下載對賬單。對賬單中的appid取自交易時(shí)候提交的appid,與請求下載對賬單時(shí)使用的appid無關(guān)。
6、小微商戶不單獨(dú)提供對賬單下載,如有需要,可在調(diào)取【下載對賬單】API接口時(shí)不傳sub_mch_id,獲取服務(wù)商下全量特約商戶(包括小微商戶和非小微商戶)的對賬單。
參數(shù)說明
字段名變量名必填類型示例值描述
子商戶號sub_mch_id否String(32)1900000109微信支付分配的子商戶號,如需下載指定的子商戶號對賬單,則此參數(shù)必傳。
隨機(jī)字符串nonce_str是String(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS隨機(jī)字符串,不長于32位。推薦隨機(jī)數(shù)生成算法
簽名sign是String(32)C380BEC2BFD727A4B6845133519F3AD6簽名,詳見簽名生成算法
對賬單日期bill_date是String(8)20140603下載對賬單的日期,格式:20140603
賬單類型bill_type否String(8)ALLALL,返回當(dāng)日所有訂單信息,默認(rèn)值
SUCCESS,返回當(dāng)日成功支付的訂單
REFUND,返回當(dāng)日退款訂單
壓縮賬單tar_type否StringGZIP非必傳參數(shù),固定值:GZIP,返回格式為.gzip的壓縮包賬單。不傳則默認(rèn)為數(shù)據(jù)流形式。
返回值說明
失敗時(shí),返回以下字段
字段名變量名必填類型示例值描述
返回狀態(tài)碼returnCode是String(16)FAILFAIL
錯(cuò)誤碼描述returnMsg否String(128)簽名失敗返回信息,如非空,為錯(cuò)誤原因,如:簽名失敗 等。
錯(cuò)誤碼errorCode否String(16)20002失敗錯(cuò)誤碼,詳見錯(cuò)誤碼列表
成功時(shí),數(shù)據(jù)以文本表格的方式返回,第一行為表頭,后面各行為對應(yīng)的字段內(nèi)容,字段內(nèi)容跟查詢訂單或退款結(jié)果一致,具體字段說明可查閱相應(yīng)接口。
第一行為表頭,根據(jù)請求下載的對賬單類型不同而不同(由bill_type決定),目前有: 當(dāng)日所有訂單* 交易時(shí)間,服務(wù)商的APPID,商戶號,子商戶號,設(shè)備號,微信訂單號,商戶訂單號,用戶標(biāo)識,交易類型,交易狀態(tài),付款銀行,貨幣種類,總金額,代金券或立減優(yōu)惠金額,微信退款單號,商戶退款單號,退款金額,代金券或立減優(yōu)惠退款金額,退款類型,退款狀態(tài),商品名稱,商戶數(shù)據(jù)包,手續(xù)費(fèi),費(fèi)率 當(dāng)日成功支付的訂單* 交易時(shí)間,服務(wù)商的APPID,商戶號,子商戶號,設(shè)備號,微信訂單號,商戶訂單號,用戶標(biāo)識,交易類型,交易狀態(tài),付款銀行,貨幣種類,總金額,代金券或立減優(yōu)惠金額,商品名稱,商戶數(shù)據(jù)包,手續(xù)費(fèi),費(fèi)率 當(dāng)日退款的訂單* 交易時(shí)間,服務(wù)商的APPID,商戶號,子商戶號,設(shè)備號,微信訂單號,商戶訂單號,用戶標(biāo)識,交易類型,交易狀態(tài),付款銀行,貨幣種類,總金額,代金券或立減優(yōu)惠金額,退款申請時(shí)間,退款成功時(shí)間,微信退款單號,商戶退款單號,退款金額,代金券或立減優(yōu)惠退款金額,退款類型,退款狀態(tài),商品名稱,商戶數(shù)據(jù)包,手續(xù)費(fèi),費(fèi)率
從第二行起,為數(shù)據(jù)記錄,各參數(shù)以逗號分隔,參數(shù)前增加`符號,為標(biāo)準(zhǔn)鍵盤1左邊鍵的字符,字段順序與表頭一致。
倒數(shù)第二行為訂單統(tǒng)計(jì)標(biāo)題,最后一行為統(tǒng)計(jì)數(shù)據(jù)
總交易單數(shù),總交易額,總退款金額,總代金券或立減優(yōu)惠退款金額,手續(xù)費(fèi)總金額
舉例如下:
交易時(shí)間,服務(wù)商的APPID,商戶號,子商戶號,設(shè)備號,微信訂單號,商戶訂單號,用戶標(biāo)識,交易類型,交易狀態(tài),付款銀行,貨幣種類,總金額,代金券或立減優(yōu)惠金額,微信退款單號,商戶退款單號,退款金額,代金券或立減優(yōu)惠退款金額,退款類型,退款狀態(tài),商品名稱,商戶數(shù)據(jù)包,手續(xù)費(fèi),費(fèi)率 2014-11-10 16:33:45,wx2421b1c4370ec43b,10000100,0,1000,1001690740201411100005734289,1415640626,085e9858e3ba5186aafcbaed1,MICROPAY,SUCCESS,OTHERS,CNY,0.01,0.0,0,0,0,0,,,被掃支付測試,訂單額外描述,0,0.60% 2014-11-10 16:46:14,wx2421b1c4370ec43b,10000100,0,1000,1002780740201411100005729794,1415635270,085e9858e90ca40c0b5aee463,MICROPAY,SUCCESS,OTHERS,CNY,0.01,0.0,0,0,0,0,,,被掃支付測試,訂單額外描述,0,0.60% 總交易單數(shù),總交易額,總退款金額,總代金券或立減優(yōu)惠退款金額,手續(xù)費(fèi)總金額 2,0.02,0.0,0.0,`0 結(jié)算對賬單*
普通結(jié)算對賬單
字段名稱示例值字段說明
交易時(shí)間2017-12-14 15:49:06指該筆交易的支付成功時(shí)間或發(fā)起退款成功時(shí)間(注:不是退款成功時(shí)間),格式為YYYY-MM-DD HH:MM:SS,如2015-01-01 10:00:00
公眾賬號IDwxab8acb865bb11234發(fā)起該筆交易時(shí)使用的appid,appid是由微信平臺(tái)給公眾號或app分配的唯一標(biāo)識、用于區(qū)分交易場景
商戶號1234567890發(fā)起該筆交易的微信支付商戶號,8~10位數(shù)字
子商戶號0如果是普通受理模式下的交易,展示特約商戶的商戶號,8~10位數(shù)字
如果是直連模式交易,則展示成數(shù)字0
設(shè)備號8888該筆交易下單時(shí)在device_info字段中傳入的信息,沒填寫則留空
微信訂單號4200000008201712143733500001微信支付為該筆訂單(或該筆退款對應(yīng)的訂單)分配的訂單號
商戶訂單號test1商戶傳入的該筆訂單(或該筆退款對應(yīng)的訂單)的商戶訂單號,對應(yīng)下單接口里的out_trade_no字段
用戶標(biāo)識testxt08c-XB5-QD208X1Aid0Cbs微信平臺(tái)為支付用戶在公眾賬號(appid)下分配的唯一標(biāo)識(openid)
交易類型NATIVE該筆訂單(或該筆退款單對應(yīng)的訂單)的交易類型,使用英文縮寫展示,取值和含義: 值:
JSAPI-JSAPI支付(或小程序支付)
NATIVE-Native支付
APP-app支付
MWEB-H5支付
MICROPAY-付款碼支付
PAP-委托代扣
交易狀態(tài)SUCCESSSUCCESS—支付成功,說明該行數(shù)據(jù)為一筆支付成功的訂單
REFUND—轉(zhuǎn)入退款,說明該行數(shù)據(jù)為一筆發(fā)起退款成功的退款單
REVOKED—已撤銷,說明該行數(shù)據(jù)為一筆成功撤銷的撤銷單
付款銀行OTHERS銀行類型,采用字符串類型的銀行標(biāo)識,如CMC_CREDIT,完整說明見https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
貨幣種類CNY貨幣類型,符合ISO 4217標(biāo)準(zhǔn)的三位字母代碼,如CNY
總金額0.01該筆訂單的應(yīng)結(jié)算金額(=訂單金額-用戶使用的免充值券金額),如果該行數(shù)據(jù)為退款或撤銷則展示0.00,單位元,保留到小數(shù)點(diǎn)后2位
代金券或立減優(yōu)惠金額0.00該筆訂單中使用的微信支付代金券金額(包括充值券和免充值券),如果未使用代金券、或該行數(shù)據(jù)為退款或撤銷則展示0.00,單位元,保留到小數(shù)點(diǎn)后2位
微信退款單號0微信支付為該筆退款分配的退款單號,如果該行數(shù)據(jù)為訂單則展示0
商戶退款單號0商戶發(fā)起退款時(shí)填入的商戶退款單號,如果該行數(shù)據(jù)為訂單則展示0
退款金額0.00該筆退款或撤銷單的應(yīng)結(jié)算金額(申請退款金額-免充值券退款金額),如果該行數(shù)據(jù)為訂單則展示為0.00,非負(fù)數(shù)、單位元,保留到小數(shù)點(diǎn)后2位
代金券或立減優(yōu)惠退款金額0.00退款金額中包含的充值券退款金額,如果該行數(shù)據(jù)為訂單或沒有充值券退款則展示為0.00,非負(fù)數(shù)、單位元,保留到小數(shù)點(diǎn)后2位
退款類型ORIGINAL—原路退款
BALANCE—轉(zhuǎn)退到用戶的微信支付零錢
如果該行數(shù)據(jù)為訂單,則留空
退款狀態(tài)生成賬單文件時(shí)該筆退款的狀態(tài)、后續(xù)不會(huì)更新,如果該行數(shù)據(jù)為訂單,則留空
SUCCES—退款成功
FAIL—退款失敗M
PROCESSING—退款處理中
商品名稱中文[body]商戶傳入的該筆訂單(或該筆退款對應(yīng)的訂單)的商品名稱,對應(yīng)下單接口里的body字段
商戶數(shù)據(jù)包測試中文[attach]商戶傳入的該筆訂單(或該筆退款對應(yīng)的訂單)的商戶數(shù)據(jù)包,對應(yīng)下單接口里的attach字段,不傳時(shí)留空
手續(xù)費(fèi)0.00000該筆訂單/退款對應(yīng)的手續(xù)費(fèi)金額,訂單對應(yīng)正數(shù)、退款對應(yīng)負(fù)數(shù),單位元,保留小數(shù)點(diǎn)后2位
費(fèi)率0.00%該筆交易計(jì)費(fèi)所使用的費(fèi)率,百分?jǐn)?shù),如0.60%
開通免充值券后的結(jié)算對賬單
字段名稱示例值字段說明
交易時(shí)間2017-12-14 15:49:06指該筆交易的支付成功時(shí)間或發(fā)起退款成功時(shí)間(注:不是退款成功時(shí)間),格式為YYYY-MM-DD HH:MM:SS,如2015-01-01 10:00:00
公眾賬號IDwxab8acb865bb11234發(fā)起該筆交易時(shí)使用的appid,appid是由微信平臺(tái)給公眾號或app分配的唯一標(biāo)識、用于區(qū)分交易場景
商戶號1234567890發(fā)起該筆交易的微信支付商戶號,8~10位數(shù)字
特約商戶號0如果是普通受理模式下的交易,展示特約商戶的商戶號,8~10位數(shù)字
如果是直連模式交易,則展示成數(shù)字0
設(shè)備號8888該筆交易下單時(shí)在device_info字段中傳入的信息,沒填寫則留空
微信訂單號4200000008201712143733500001微信支付為該筆訂單(或該筆退款對應(yīng)的訂單)分配的訂單號
商戶訂單號test1商戶傳入的該筆訂單(或該筆退款對應(yīng)的訂單)的商戶訂單號,對應(yīng)下單接口里的out_trade_no字段
用戶標(biāo)識testxt08c-XB5-QD208X1Aid0Cbs微信平臺(tái)為支付用戶在公眾賬號(appid)下分配的唯一標(biāo)識(openid)
交易類型NATIVE該筆訂單(或該筆退款單對應(yīng)的訂單)的交易類型,使用英文縮寫展示,取值和含義: 值:
JSAPI-JSAPI支付(或小程序支付)
NATIVE-Native支付
APP-app支付
MWEB-H5支付
MICROPAY-付款碼支付
PAP-委托代扣
交易狀態(tài)SUCCESSSUCCESS—支付成功,說明該行數(shù)據(jù)為一筆支付成功的訂單
REFUND—轉(zhuǎn)入退款,說明該行數(shù)據(jù)為一筆發(fā)起退款成功的退款單
REVOKED—已撤銷,說明該行數(shù)據(jù)為一筆成功撤銷的撤銷單
付款銀行OTHERS銀行類型,采用字符串類型的銀行標(biāo)識,如CMC_CREDIT,完整說明見https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
貨幣種類CNY貨幣類型,符合ISO 4217標(biāo)準(zhǔn)的三位字母代碼,如CNY
應(yīng)結(jié)訂單金額0.01該筆訂單的應(yīng)結(jié)算金額(=訂單金額-用戶使用的免充值券金額),如果該行數(shù)據(jù)為退款或撤銷則展示0.00,單位元,保留到小數(shù)點(diǎn)后2位
代金券金額0.00該筆訂單中使用的微信支付代金券金額(包括充值券和免充值券),如果未使用代金券、或該行數(shù)據(jù)為退款或撤銷則展示0.00,單位元,保留到小數(shù)點(diǎn)后2位
微信退款單號0微信支付為該筆退款分配的退款單號,如果該行數(shù)據(jù)為訂單則展示0
商戶退款單號0商戶發(fā)起退款時(shí)填入的商戶退款單號,如果該行數(shù)據(jù)為訂單則展示0
退款金額0.00該筆退款或撤銷單的應(yīng)結(jié)算金額(申請退款金額-免充值券退款金額),如果該行數(shù)據(jù)為訂單則展示為0.00,非負(fù)數(shù)、單位元,保留到小數(shù)點(diǎn)后2位
充值券退款金額0.00退款金額中包含的充值券退款金額,如果該行數(shù)據(jù)為訂單或沒有充值券退款則展示為0.00,非負(fù)數(shù)、單位元,保留到小數(shù)點(diǎn)后2位
退款類型ORIGINAL—原路退款
BALANCE—轉(zhuǎn)退到用戶的微信支付零錢
如果該行數(shù)據(jù)為訂單,則留空
退款狀態(tài)生成賬單文件時(shí)該筆退款的狀態(tài)、后續(xù)不會(huì)更新,如果該行數(shù)據(jù)為訂單,則留空
SUCCES—退款成功
FAIL—退款失敗M
PROCESSING—退款處理中
商品名稱中文[body]商戶傳入的該筆訂單(或該筆退款對應(yīng)的訂單)的商品名稱,對應(yīng)下單接口里的body字段
商戶數(shù)據(jù)包測試中文[attach]商戶傳入的該筆訂單(或該筆退款對應(yīng)的訂單)的商戶數(shù)據(jù)包,對應(yīng)下單接口里的attach字段,不傳時(shí)留空
手續(xù)費(fèi)0.00000該筆訂單/退款對應(yīng)的手續(xù)費(fèi)金額,訂單對應(yīng)正數(shù)、退款對應(yīng)負(fù)數(shù),單位元,保留小數(shù)點(diǎn)后2位
費(fèi)率0.00%該筆交易計(jì)費(fèi)所使用的費(fèi)率,百分?jǐn)?shù),如0.60%
訂單金額0.01該筆訂單的金額,包括用戶支付金額、充值券金額、免充值券金額,如果該行數(shù)據(jù)為退款或撤銷則填0.00,單位元,保留到小數(shù)點(diǎn)后2位
申請退款金額0.00商戶發(fā)起退款的金額,包括退給用戶的金額、充值券退款金額、免充值券退款金額,如果該行數(shù)據(jù)訂單則填0.00,單位元,保留到小數(shù)點(diǎn)后2位
費(fèi)率備注如果有特殊費(fèi)率規(guī)則時(shí)則加以說明,默認(rèn)留空
錯(cuò)誤碼
錯(cuò)誤碼名稱描述原因解決方案
20003SYSTEMERROR下載失敗系統(tǒng)超時(shí)請嘗試再次查詢。
20001sign error簽名錯(cuò)誤請求參數(shù)未按要求進(jìn)行填寫簽名錯(cuò)誤,請重新檢查參數(shù)和簽名密鑰是否正確
20001nonce_str too long參數(shù)nonce_str錯(cuò)誤請求參數(shù)未按要求填寫參數(shù)nonce_str長度超長
20001invalid tar_type, Only GZIP supported參數(shù)tar_type錯(cuò)誤請求參數(shù)未按指引進(jìn)行填寫請重新檢查參數(shù)invalid tar_typ是否正確
20001invalid bill_type參數(shù)bill_type錯(cuò)誤請求參數(shù)未按指引進(jìn)行填寫請重新檢查參數(shù)bill_type是否正確
20001invalid bill_date參數(shù)bill_date錯(cuò)誤請求參數(shù)未按指引進(jìn)行填寫請重新檢查參數(shù)bill_date是否符合要求
20001require POST method請求方式錯(cuò)誤請求方式不符合要求請求檢查參數(shù)請求方式是否為post
20001empty post data請求報(bào)文錯(cuò)誤請求報(bào)文為空請重新檢查請求報(bào)文是否正確
20001data format error參數(shù)格式錯(cuò)誤請求參數(shù)要求為xml格式請重新檢查請求參數(shù)格式是否為xml
20001missing parameter缺少參數(shù)有必傳的參數(shù)未上傳請重新檢查是否所有必傳參數(shù)都上傳了,且不為空
20001invalid appidappid錯(cuò)誤請求參數(shù)appid有誤請重新檢查參數(shù)appid是否正確
20001invalid parameter參數(shù)錯(cuò)誤有未知的請求參數(shù)請重新檢查是否所有參數(shù)都與文檔相符
20001sub_mch not allow特約商戶號權(quán)限錯(cuò)誤無該特約商戶賬單的下載權(quán)限請檢查特約商戶號是否正確。若是小微商戶,可不傳sub_mch_id以獲取服務(wù)商下全量特約商戶的賬單
20002NO Bill Exist賬單不存在當(dāng)前商戶號沒有已成交的訂單,不生成對賬單請檢查當(dāng)前商戶號在指定日期內(nèi)是否有成功的交易。
20002Bill Creating賬單未生成當(dāng)前商戶號沒有已成交的訂單或?qū)~單尚未生成請先檢查當(dāng)前商戶號在指定日期內(nèi)是否有成功的交易,如指定日期有交易則表示賬單正在生成中,請?jiān)谏衔?0點(diǎn)以后再下載。
20007當(dāng)前商戶號賬單API權(quán)限已經(jīng)關(guān)閉當(dāng)前商戶號賬單API權(quán)限已經(jīng)關(guān)閉當(dāng)前商戶號賬單API權(quán)限已經(jīng)關(guān)閉當(dāng)前商戶號賬單API權(quán)限已經(jīng)關(guān)閉,請聯(lián)系微信支付解決
20100system error下載失敗系統(tǒng)超時(shí)請嘗試再次查詢。