微信支付查詢退款開發(fā)CloudPay.queryRefund()
CloudPay.queryRefund()
支持端:云函數(shù) 2.0.2
查詢退款
說明
提交退款申請后,通過調(diào)用該接口查詢退款狀態(tài)。退款有一定延時,用零錢支付的退款20分鐘內(nèi)到賬,銀行卡支付的退款3個工作日后重新查詢退款狀態(tài)。 注意:如果單個支付訂單部分退款次數(shù)超過20次請使用退款單號查詢* 分頁查詢*
當一個訂單部分退款超過10筆后,商戶用微信訂單號或商戶訂單號調(diào)退款查詢API查詢退款時,默認返回前10筆和total_refund_count(退款單總筆數(shù))。商戶需要查詢同一訂單下超過10筆的退款單時,可傳入訂單號及offset來查詢,微信支付會返回offset及后面的10筆,以此類推。當商戶傳入的offset超過total_refund_count,則系統(tǒng)會返回報錯PARAM_ERROR。
舉例:
一筆訂單下的退款單有36筆,當商戶想查詢第25筆時,可傳入訂單號及offset=24,微信支付平臺會返回第25筆到第35筆的退款單信息,或商戶可直接傳入退款單號查詢退款
參數(shù)說明
字段名變量名必填類型示例值描述
子商戶號sub_mch_id是String(32)1900000109微信支付分配的子商戶號
隨機字符串nonce_str是String(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS隨機字符串,不長于32位。推薦隨機數(shù)生成算法
微信訂單號transaction_id四選一String(28)1217752501201407033233368018微信訂單號查詢的優(yōu)先級是: refund_id > out_refund_no > transaction_id > out_trade_no
商戶訂單號out_trade_no四選一String(32)1217752501201407033233368018商戶系統(tǒng)內(nèi)部訂單號,要求32個字符內(nèi),只能是數(shù)字、大小寫字母_-
商戶退款單號out_refund_no四選一String(64)1217752501201407033233368018商戶系統(tǒng)內(nèi)部的退款單號,商戶系統(tǒng)內(nèi)部唯一,只能是數(shù)字、大小寫字母_-
微信退款單號refund_id四選一String(32)1217752501201407033233368018微信退款單號
偏移量offset否Int15偏移量,當部分退款次數(shù)超過10次時可使用,表示返回的查詢結(jié)果從這個偏移量開始取記錄
refund_id、out_refund_no、out_trade_no、transaction_id四個參數(shù)必填一個,如果同時存在優(yōu)先級為: refund_id>out_refund_no>transaction_id>out_trade_no
返回值說明
字段名變量名必填類型示例值描述
返回狀態(tài)碼returnCode是String(16)SUCCESSSUCCESS/FAIL
返回信息returnMsg否String(128)簽名失敗返回信息,如非空,為錯誤原因。如 簽名失敗、參數(shù)格式校驗錯誤
以下字段在returnCode為SUCCESS的時候有返回
字段名變量名必填類型示例值描述
業(yè)務結(jié)果result_code是String(16)SUCCESSSUCCESS/FAIL
SUCCESS退款申請接收成功,結(jié)果通過退款查詢接口查詢
錯誤碼err_code是String(32)SYSTEMERROR錯誤碼詳見第6節(jié)
錯誤描述err_code_des是String(128)系統(tǒng)錯誤結(jié)果信息描述
服務商的APPIDappid是String(32)wxd678efh567hg6787服務商商戶的APPID
商戶號mch_id是String(32)1230000109微信支付分配的商戶號
小程序的APPIDsub_appid是String(32)wx8888888888888888微信分配的小程序ID
子商戶號sub_mch_id是String(32)1900000109微信支付分配的子商戶號
隨機字符串nonce_str是String(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS隨機字符串,不長于32位
簽名sign是String(32)C380BEC2BFD727A4B6845133519F3AD6簽名,詳見簽名算法
微信訂單號transaction_id是String(32)1217752501201407033233368018微信訂單號
商戶訂單號out_trade_no是String(32)1217752501201407033233368018商戶系統(tǒng)內(nèi)部訂單號,要求32個字符內(nèi),只能是數(shù)字、大小寫字母_-
訂單金額total_fee是Int100訂單總金額,單位為分,只能為整數(shù),詳見支付金額
應結(jié)訂單金額settlement_total_fee否Int100當訂單使用了免充值型優(yōu)惠券后返回該參數(shù),應結(jié)訂單金額=訂單金額-免充值優(yōu)惠券金額。
貨幣種類fee_type否String(8)CNY訂單金額貨幣類型,符合ISO 4217標準的三位字母代碼,默認人民幣:CNY,其他值列表詳見貨幣類型
現(xiàn)金支付金額cash_fee是Int100現(xiàn)金支付金額,單位為分,只能為整數(shù),詳見支付金額
退款筆數(shù)refund_count是Int1當前返回退款筆數(shù)
商戶退款單號out_refund_no_$n是String(64)1217752501201407033233368018商戶系統(tǒng)內(nèi)部的退款單號,商戶系統(tǒng)內(nèi)部唯一,只能是數(shù)字、大小寫字母_-
微信退款單號refund_id_$n是String(32)1217752501201407033233368018微信退款單號
退款渠道refund_channel_$n否String(16)ORIGINALORIGINAL—原路退款
BALANCE—退回到余額
OTHER_BALANCE—原賬戶異常退到其他余額賬戶
OTHER_BANKCARD—原銀行卡異常退到其他銀行卡
訂單總退款次數(shù)total_refund_count否Int35訂單總共已發(fā)生的部分退款次數(shù),當請求參數(shù)傳入offset后有返回
申請退款金額refund_fee_$n是Int100退款總金額,單位為分,可以做部分退款
退款金額settlement_refund_fee_$n否Int100退款金額=申請退款金額-非充值代金券退款金額,退款金額<=申請退款金額
代金券類型coupon_type_$n_$m否String(8)CASHCASH--充值代金券
NO_CASH---非充值代金券
訂單使用代金券時有返回(取值:CASH、NO_CASH)。$n為下標,$m為下標,從0開始編號,舉例:coupon_type_$0_$1
總代金券退款金額coupon_refund_fee_$n否Int100代金券退款金額<=退款金額,退款金額-代金券或立減優(yōu)惠退款金額為現(xiàn)金,說明詳見代金券或立減優(yōu)惠
退款代金券使用數(shù)量coupon_refund_count_$n否Int1退款代金券使用數(shù)量 ,$n為下標,從0開始編號
退款代金券IDcoupon_refund_id_$n_$m否String(20)10000退款代金券ID, $n為下標,$m為下標,從0開始編號
單個代金券退款金額coupon_refund_fee_$n_$m否Int100單個退款代金券支付金額, $n為下標,$m為下標,從0開始編號
退款狀態(tài)refund_status_$n是String(16)SUCCESS退款狀態(tài):SUCCESS—退款成功
REFUNDCLOSE—退款關閉。
PROCESSING—退款處理中
CHANGE—退款異常,退款到銀行發(fā)現(xiàn)用戶的卡作廢或者凍結(jié)了,導致原路退款銀行卡失敗,可前往商戶平臺(pay.weixin.qq.com)-交易中心,手動處理此筆退款。$n為下標,從0開始編號。
退款資金來源refund_account_$n否String(30)REFUND_SOURCE_RECHARGE_FUNDSREFUND_SOURCE_RECHARGE_FUNDS---可用余額退款/基本賬戶
REFUND_SOURCE_UNSETTLED_FUNDS---未結(jié)算資金退款
$n為下標,從0開始編號。
退款入賬賬戶refund_recv_accout_$n是String(64)招商銀行信用卡0403取當前退款單的退款入賬方
1)退回銀行卡:
{銀行名稱}{卡類型}{卡尾號}
2)退回支付用戶零錢:
支付用戶零錢
3)退還商戶:
商戶基本賬戶
商戶結(jié)算銀行賬戶
4)退回支付用戶零錢通:
支付用戶零錢通
退款成功時間refund_success_time_$n否String(20)2016-07-25 15:26:26退款成功時間,當退款狀態(tài)為退款成功時有返回。$n為下標,從0開始編號。
錯誤碼
名稱描述原因解決方案
SYSTEMERROR接口返回錯誤系統(tǒng)超時請嘗試再次掉調(diào)用API。
REFUNDNOTEXIST退款訂單查詢失敗訂單號錯誤或訂單狀態(tài)不正確請檢查訂單號是否有誤以及訂單狀態(tài)是否正確,如:未支付、已支付未退款
INVALID_TRANSACTIONID無效transaction_id請求參數(shù)未按指引進行填寫請求參數(shù)錯誤,檢查原交易號是否存在或發(fā)起支付交易接口返回失敗
PARAM_ERROR參數(shù)錯誤請求參數(shù)未按指引進行填寫請求參數(shù)錯誤,請檢查參數(shù)再調(diào)用退款申請
APPID_NOT_EXISTAPPID不存在參數(shù)中缺少APPID請檢查APPID是否正確
MCHID_NOT_EXISTMCHID不存在參數(shù)中缺少MCHID請檢查MCHID是否正確
REQUIRE_POST_METHOD請使用post方法未使用post傳遞參數(shù)請檢查請求參數(shù)是否通過post方法提交
SIGNERROR簽名錯誤參數(shù)簽名結(jié)果不正確請檢查簽名參數(shù)和方法是否都符合簽名算法要求
XML_FORMAT_ERRORXML格式錯誤XML格式錯誤請檢查XML參數(shù)格式是否正確