trade.cancel

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

重要

只有发生支付系统超时或者支付结果未知时可调用撤销,其他正常支付的单如需实现相同功能请调用申请退款 API。提交支付交易后调用 查询订单 API,没有明确的支付结果再调用 撤销订单 API

公共请求参数

参数

类型

是否必选

最大长度

描述

示例值

app_id

String

必选

32

小程序 id

2014072300007148

method

String

必选

128

接口名称

trade.cancel

format

String

可选

40

仅支持 JSON

JSON

charset

String

必选

10

请求使用的编码格式,如 utf-8,gbk,gb2312 等

utf-8

sign_type

String

必选

10

商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐使用 RSA2

RSA2

sign

String

必选

344

商户请求参数的签名串,详见签名

详见示例

timestamp

String

必选

19

发送请求的时间,格式 yyyy-MM-dd HH:mm:ss

2014-07-24 03:07:50

version

String

必选

3

调用的接口版本,固定为:1.0

1.0

biz_content

String

必选

-

请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档

-

业务请求参数

参数

类型

是否必选

最大长度

描述

示例值

out_trade_no

String

可选

64

原支付请求的商户订单号,和平台交易号不能同时为空

20150320010101001

trade_no

string

可选

64

平台交易号,和商户订单号不能同时为空

2014112611001004680073956707

常见请求示例

默认示例:

curl 'https://xxx/gateway.do?charset=UTF-8&method=trade.cancel&format=json&sign=${sign}&app_id=${appid}&version=1.0&sign_type=RSA2&timestamp=${now}' \
 -F 'biz_content={
	"out_trade_no":"20150320010101001",
	"trade_no":"2014112611001004680073956707"
}' 
说明

本示例仅供参考。

公共响应参数

参数

类型

是否必选

最大长度

描述

示例值

code

String

必选

-

网关返回码

40004

msg

String

必选

-

网关返回码描述

Business Failed

sub_code

String

可选

-

业务返回码,参见具体的 API 接口文档

ACQ.TRADE_HAS_SUCCESS

sub_msg

String

可选

-

业务返回码描述,参见具体的 API 接口文档

交易已被支付

sign

String

必选

-

签名

DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo=

业务响应参数

参数

类型

是否必选

最大长度

描述

示例值

out_trade_no

String

必选

64

商户订单号

20150423001001

trade_no

String

可选

64

Payme交易号

2015042321001004720200028594

retry_flag

String

必选

1

是否需要重试

N/Y

action

String

可选

10

本次撤销触发的交易动作,接口调用成功且交易存在时返回。

可能的返回值:

  • close:交易未支付,触发关闭交易动作,无退款;

  • refund:交易已支付,触发交易退款动作;

  • 未返回:未查询到交易,或接口调用失败;

close

响应示例

{
    "trade_cancel_response": {
        "code": "10000",
        "msg": "Success",
        "trade_no": "2013112011001004330000121536",
        "out_trade_no": "6823789339978248",
        "retry_flag": "N",
        "action": "close"
    },
    "sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}