撤销订单

更新时间:2024.11.18

应用场景

支付交易返回失败或支付系统超时,调用该接口撤销交易。如果此订单用户支付失败,微信支付系统会将此订单关闭;如果用户支付成功,微信支付系统会将此订单资金退还给用户;

押金退回:在未押金消费的情况下,商户可调用该接口告知微信支付退回押金给用户,微信支付根据商户指令,将押金全部原路返回给用户,并下发押金退还发起通知,退款到账后,下发押金退还到账通知;

调用支付接口后请勿立即调用撤销订单API,建议支付后至少15s后再调用撤销订单接口

接口规则

请求Url

https://api.mch.weixin.qq.com/deposit/reverse

是否需要证书

是, 详见证书使用

请求方式

post

签名方式

HMAC-SHA256

请求参数

名称

变量名

必填

类型

示例值

描述

服务商应用ID

appid

String(32)

wx8888888888888888

服务商商户的APPID

商户号

mch_id

String(32)

1900000109

服务商商户的商户号

子商户应用ID

sub_appid

String(32)

wx8888888888888888

微信分配的子商户APPID,如需在支付完成后获取sub_openid则此参数必传。

子商户号

sub_mch_id

String(32)

1900000109

服务商通过进件后获得的特约商户号

微信订单号

transaction_id

二选一

String(32)

013467007045764

微信的订单号,优先使用

商户订单号

out_trade_no

String(32)

1217752501201407033233368018

商户系统内部的订单号,transaction_id、out_trade_no二选一,如果同时存在优先级:transaction_id> out_trade_no

随机字符串

nonce_str

String(32)

C380BEC2BFD727A4B6845133519F3AD6

随机字符串,不长于32位。推荐随机数生成算法

签名

sign

String(64)

C380BEC2BFD727A4B6845133519F3AD6C380BEC2BFD727A4B6845133519F3AD6

签名,详见签名生成算法

签名类型

sign_type

String(32)

HMAC-SHA256

签名类型,仅支持HMAC-SHA256

举例如下:

1<xml>
2  <appid>wx2421b1c4370ec43b</appid>
3  <mch_id>10000100</mch_id>
4  <nonce_str>b7ffb16a7150cf08639db472c5f5bdae</nonce_str>
5  <out_trade_no>1415717424</out_trade_no>
6  <sign_type> HMAC-SHA256</sign_type>
7  <sign>9B2EA16C05A5CEF8E53B14D53932D012</sign>
8</xml>

返回结果

名称

变量名

必填

类型

示例值

描述

返回状态码

return_code

String(16)

SUCCESS

SUCCESS/FAIL
此字段是通信标识,非交易标识,交易是否成功需要查看trade_state来判断

返回信息

return_msg

String(128)

签名失败

返回信息,如非空,为错误原因
签名失败
参数格式校验错误

以下字段在return_code为SUCCESS的时候有返回

名称

变量名

必填

类型

示例值

描述

服务商应用ID

appid

String(32)

wx8888888888888888

服务商商户的APPID

商户号

mch_id

String(32)

1900000109

服务商商户的商户号

子商户应用ID

sub_appid

String(32)

wx8888888888888888

微信分配的子商户APPID,如需在支付完成后获取sub_openid则此参数必传。

子商户号

sub_mch_id

String(32)

1900000109

服务商通过进件后获得的特约商户号

随机字符串

nonce_str

String(32)

5K8264ILTKCH16CQ2502SI8ZNMTM67VS

随机字符串,不长于32位。推荐随机数生成算法

签名

sign

String(64)

C380BEC2BFD727A4B6845133519F3AD6C380BEC2BFD727A4B6845133519F3AD6

签名,详见签名生成算法

业务结果

result_code

String(16)

SUCCESS

SUCCESS/FAIL

错误代码

err_code

String(32)

SYSTEMERROR

详细参见错误列表

错误代码描述

err_code_des

String(128)

系统错误

结果信息描述

举例:

1<xml>
2  <return_code><![CDATA[SUCCESS]]></return_code>
3  <return_msg><![CDATA[OK]]></return_msg>
4  <appid><![CDATA[wx2421b1c4370ec43b]]></appid>
5  <mch_id><![CDATA[10000100]]></mch_id>
6  <nonce_str><![CDATA[o5bAKF3o2ypC8hwa]]></nonce_str>
7  <sign><![CDATA[6F5080EDDD196FFCDE53F786BBB93899]]></sign>
8  <result_code><![CDATA[SUCCESS]]></result_code>
9</xml>

错误码列表

名称

描述

原因

解决方案

SYSTEMERROR

接口返回错误

系统超时

请立即调用被扫订单结果查询API,查询当前订单状态,并根据订单的状态决定下一步的操作。

INVALID_TRANSACTIONID

无效transaction_id

请求参数未按指引进行填写

参数错误,请重新检查

PARAM_ERROR

参数错误

请求参数未按指引进行填写

请根据接口返回的详细信息检查您的程序

SIGNERROR

签名错误

参数签名结果不正确

请检查签名参数和方法是否都符合签名算法要求

INVALID_REQUEST

无效请求

商户系统异常导致

请检查商户权限是否异常、重复请求支付、证书错误、频率限制等

TRADE_ERROR

订单错误

业务错误导致交易失败

请检查用户账号是否异常、被风控、是否符合规则限制等

USERPAYING

用户支付中

用户正在支付中的订单不允许撤销

用户正在支付中的订单不允许撤销,请稍后再试

 

更多技术问题
技术咨询
反馈
咨询
目录
置顶