撤销订单
更新时间:2026.05.21
1、场景说明
只有付款码支付才能撤销,通过预下单建立的交易单不能调此API。支付交易返回失败或支付系统超时,调用该接口撤销交易。如果此订单用户支付失败,银联会将此订单关闭;如果用户支付成功,银联会将此订单资金退还给用户。
注意:
7天以内的交易单可调用撤销,其他正常支付的单如需实现相同功能请调用申请退款API。
提交支付交易后调用【查询订单API】,没有明确的支付结果再调用【撤销订单API】。
调用支付接口后请勿立即调用撤销订单API,建议支付后至少15s后再调用撤销订单接口。
2、接口说明
2.1 请求参数
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
公众账号ID | appid | 是 | String(32) | wx8888888888888888 | 微信分配的公众账号ID |
商户号 | mch_id | 是 | String(32) | 1900000109 | 微信支付分配的商户号 |
子商户公众账号ID | sub_appid | 否 | String(32) | wx8888888888888888 | 微信分配的子商户公众账号ID |
子商户号 | sub_mch_id | 否 | String(32) | 1900000109 | 微信支付分配的子商户号 |
渠道商商户号 | channel_id | 是 | String(32) | 19000001 | 微信支付分配给收单服务商的ID |
商户订单号 | out_trade_no | 是 | String(32) | 1217752501201407033233368018 | 商户系统内部的订单号 |
随机字符串 | nonce_str | 是 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 随机字符串,不长于32位。推荐随机数生成算法 |
签名 | sign | 是 | String(344) | C380BEC2BFD727A4B6845133519F3AD6 | 签名 |
签名算法 | sign_type | 是 | String(10) | RSA2 | 生成签名字符串所使用的签名算法类型,目前支持SM2、RSA2,推荐使用SM2 |
签名证书 | cert_id | 是 | String(128) | - | 签名证书序列号 |
2.2 响应参数
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
返回状态码 | return_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL。此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断 |
返回信息 | return_msg | 否 | String(128) | 签名失败 | 返回信息,如非空,为错误原因:签名失败;参数格式校验错误 |
公众账号ID | appid | 否 | String(32) | wx8888888888888888 | 返回提交的公众账号ID |
商户号 | mch_id | 否 | String(32) | 1900000109 | 返回提交的商户号 |
随机字符串 | nonce_str | 否 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 银联返回的随机字符串 |
签名 | sign | 否 | String(344) | C380BEC2BFD727A4B6845133519F3AD6 | 银联返回的签名 |
签名算法 | sign_type | 否 | String(10) | RSA2 | 本域不出现时,默认为RSA2算法。银联生成签名字符串所使用的签名算法类型,本域值同收单请求银联上送的sign_type。 |
签名证书 | cert_id | 否 | String(128) | - | 签名证书序列号 |
业务结果 | result_code | 否 | String(16) | SUCCESS | SUCCESS/FAIL |
错误代码 | err_code | 否 | String(32) | SYSTEMERROR | - |
错误代码描述 | err_code_des | 否 | String(128) | 系统错误 | 结果信息描述 |
是否重调 | recall | 否 | String(1) | Y | 是否需要继续调用撤销,Y-需要,N-不需要 |
2.3 错误码
名称 | 描述 | 原因 | 解决方案 |
|---|---|---|---|
SYSTEMERROR | 接口返回错误 | 系统超时 | 请立即调用被扫订单结果查询API,查询当前订单状态,并根据订单的状态决定下一步的操作。 |
INVALID_TRANSACTIONID | 无效请求 | 参数未按指引进行填写 | 参数错误,请重新检查 |
PARAM_ERROR | 参数错误 | 请求参数未按指引进 | 请根据接口返回的详细信息检查您的程序 |
REQUIRE_POST_METHOD | 请使用post方法 | 未使用post传递参数 | 请检查请求参数是否通过post方法提交 |
SIGNERROR | 签名错误 | 参数签名结果不正确 | 请检查签名参数和方法是否都符合签名算法要求 |
REVERSE_EXPIRE | 订单无法撤销 | 订单有7天的撤销有效期 | 请检查需要撤销的订单是否超过可撤销有效期 |
INVALID_REQUEST | 无效请求 | 商户系统异常导致 | 请检查商户权限是否异常、重复请求支付、证书错误、频率限制等 |
TRADE_ERROR | 订单错误 | 业务错误导致交易失败 | 请检查用户账号是否异常、被风控、是否符合规则限制等 |

