最新更新時間:2020.09.18 版本說明
支付交易返回失敗或支付系統(tǒng)超時,調用該接口撤銷交易。如果此訂單用戶支付失敗,微信支付系統(tǒng)會將此訂單關閉;如果用戶支付成功,微信支付系統(tǒng)會將此訂單資金退還給用戶。
● 7天以內的交易單可調用撤銷,其他正常支付的單如需實現(xiàn)相同功能請調用申請退款API。提交支付交易后調用【查詢訂單API】,沒有明確的支付結果再調用【撤銷訂單API】。
調用支付接口后請勿立即調用撤銷訂單API,建議支付后至少15s后再調用撤銷訂單接口。
適用對象:直連商戶 服務商
請求URL: https://api.mch.weixin.qq.com/secapi/pay/reverse
冗災備用URL:https://api2.mch.weixin.qq.com/secapi/pay/reverse(備用域名)見跨城冗災方案
請求方式: POST
數(shù)據(jù)格式: XML
是否需要證書: 請求需要雙向證書。 詳見證書使用
參數(shù)名 | 變量 | 類型 | 必填 | 描述 |
---|---|---|---|---|
應用ID | appid | string[1,32] | 是 | 微信分配的應用ID 示例值:wx8888888888888888 |
商戶號 | mch_id | string[1,32] | 是 | 微信支付分配的商戶號 示例值:1900000109 |
子商戶應用ID | sub_appid | string[1,32] | 否 | 微信分配的子商戶應用ID,如需在支付完成后獲取sub_openid則此參數(shù)必傳。 注意:僅適用于服務商模式 示例值:wx8888888888888888 |
子商戶號 | sub_mch_id | string[1,32] | 是 | 微信支付分配的子商戶號 注意:僅適用于服務商模式 示例值:1900000109 |
微信訂單號 | transaction_id | string[1,32] | 二選一 | 微信的訂單號,優(yōu)先使用。如果同時存在優(yōu)先級:transaction_id> out_trade_no 示例值:1217752501201407033233368018 |
商戶訂單號 | out_trade_no | string[1,32] | 商戶系統(tǒng)內部訂單號,要求32個字符內,只能是數(shù)字、大小寫字母_-|*@ ,且在同一個商戶號下唯一。如果同時存在優(yōu)先級:transaction_id> out_trade_no 示例值:1217752501201407033233368018 |
|
隨機字符串 | nonce_str | string[1,32] | 是 | 隨機字符串,不長于32位。推薦隨機數(shù)生成算法 示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
簽名 | sign | string[1,64] | 是 | 簽名,詳見簽名生成算法 示例值:C380BEC2BFD727A4B6845133519F3AD6 |
<xml>
???<appid>wx2421b1c4370ec43b</appid>
???<mch_id>10000100</mch_id>
???<nonce_str>ec2316275641faa3aacf3cc599e8730f</nonce_str>
???<transaction_id>1008450740201411110005820873</transaction_id>
???<sign>FDD167FAA73459FD921B144BAF4F4CA2</sign>
</xml>:
參數(shù)名 | 變量 | 類型 | 必填 | 描述 |
---|---|---|---|---|
返回狀態(tài)碼 | return_code | string[1,16] | 是 | SUCCESS/FAIL 此字段是通信標識,非交易標識,交易是否成功需要查看result_code來判斷 示例值:SUCCESS |
返回信息 | return_msg | string[1,128] | 否 | 返回信息,如非空,為錯誤原因 簽名失敗 參數(shù)格式校驗錯誤 示例值:簽名失敗 |
以下字段在return_code為SUCCESS的時候有返回
參數(shù)名 | 變量 | 類型 | 必填 | 描述 |
---|---|---|---|---|
應用ID | appid | string[1,32] | 是 | 微信分配的應用ID 示例值:wx8888888888888888 |
商戶號 | mch_id | string[1,32] | 是 | 微信支付分配的商戶號 示例值:1900000109 |
子商戶應用ID | sub_appid | string[1,32] | 否 | 微信分配的子商戶應用ID,如需在支付完成后獲取sub_openid則此參數(shù)必傳。 注意:僅適用于服務商模式 示例值:wx8888888888888888 |
子商戶號 | sub_mch_id | string[1,32] | 是 | 微信支付分配的子商戶號 注意:僅適用于服務商模式 示例值:1900000109 |
隨機字符串 | nonce_str | string[1,32] | 是 | 隨機字符串,不長于32位。推薦隨機數(shù)生成算法 示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
簽名 | sign | string[1,64] | 是 | 簽名,詳見簽名生成算法 示例值:C380BEC2BFD727A4B6845133519F3AD6 |
業(yè)務結果 | result_code | string[1,16] | 是 | SUCCESS/FAIL 示例值:SUCCESS |
錯誤代碼 | err_code | string[1,32] | 否 | 詳細參見錯誤列表 示例值:SYSTEMERROR |
錯誤代碼描述 | err_code_des | string[1,128] | 否 | 結果信息描述 示例值:系統(tǒng)錯誤 |
<xml>
???<return_code><![CDATA[SUCCESS]]></return_code>
???<return_msg><![CDATA[OK]]></return_msg>
???<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
???<mch_id><![CDATA[10000100]]></mch_id>
???<nonce_str><![CDATA[BFK89FC6rxKCOjLX]]></nonce_str>
???<sign><![CDATA[72B321D92A7BFA0B2509F3D13C7B1631]]></sign>
???<result_code><![CDATA[SUCCESS]]></result_code>
???<result_msg><![CDATA[OK]]></result_msg>
</xml>
錯誤碼 | 描述 | 解決方案 |
---|---|---|
SYSTEMERROR | 系統(tǒng)超時 | 請立即調用被掃訂單結果查詢API,查詢當前訂單狀態(tài),并根據(jù)訂單的狀態(tài)決定下一步的操作。 |
INVALID_TRANSACTIONID | 請求參數(shù)未按指引進行填寫 | 參數(shù)錯誤,請重新檢查 |
PARAM_ERROR | 請求參數(shù)未按指引進行填寫 | 請根據(jù)接口返回的詳細信息檢查您的程序 |
REQUIRE_POST_METHOD | 未使用post傳遞參數(shù) | 請檢查請求參數(shù)是否通過post方法提交 |
SIGNERROR | 參數(shù)簽名結果不正確 | 請檢查簽名參數(shù)和方法是否都符合簽名算法要求 |
REVERSE_EXPIRE | 訂單有7天的撤銷有效期,過期將不能撤銷 | 請檢查需要撤銷的訂單是否超過可撤銷有效期 |
INVALID_REQUEST | 商戶系統(tǒng)異常導致 | 請檢查商戶權限是否異常、重復請求支付、證書錯誤、頻率限制等 |
TRADE_ERROR | 業(yè)務錯誤導致交易失敗 | 請檢查用戶賬號是否異常、被風控、是否符合規(guī)則限制等 |
USERPAYING | 用戶正在支付中的訂單不允許撤銷 | 用戶正在支付中的訂單不允許撤銷,請稍后再試 |