取消交易
下单后您可以在一定时间窗口期内通过使用 取消 接口主动关闭某笔交易,支持取消的时间窗口期以合约划定为准。
取消交易的关键业务信息如下:
- 在支付成功之前发起取消的交易,买家将无法继续支付。
- 买家支付成功后发起取消的交易,资金会原路退回用户账户。
- 是否退手续费: 退费,被取消的交易不会产生手续费。
- 是否允许部分取消: 不允许。取消会对整个订单进行取消。
- 取消窗口期: 不同支付方式的窗口期有差异。具体请查看以下表格:
支付方式 | 取消窗口期 |
印尼地区的支付方式 | 不支持取消 |
泰国 Online Banking,Mobile Banking APP,Bank Transfer 类支付方式 |
|
卡支付 |
|
其他支付方式 | 下单时间至东八区 T+1 日的 00:15 之前 |
表 1. 支付方式取消窗口期
使用场景
如果商户有明确的主动关单场景,如闪购、酒店预订、机票购买等,则需要集成 取消 接口。可以针对以下情况之一发起交易取消,交易取消后,交易状态变为 CANCELLED
。即使交易取消后收到支付成功的异步通知,您系统中的交易状态仍然应保持 CANCELLED
。针对不同场景进行的交易取消,Alipay 会相应进行处理:
场景 | 处理结果 |
交易已支付,在取消时限内发起取消。 | 全额退款,不收取消交易手续费。 |
交易未支付,在付款时限内(14 分钟)发起取消。 | 关闭交易,买家将无法继续支付。 |
交易已支付,交易结果无法通过 Alipay 异步通知和调用 查询支付结果 接口获取,发起取消。 | 关闭交易,若后续收到支付成功异步通知则全额退款,不收取消交易手续费。 |
卡支付场景下,授权支付(Auth)完成后、商户请款(Capture)之前,买家申请退款,则商户侧发起取消。 | 取消授权交易(Auth)。 |
表 2. 取消交易场景及处理
注意:
|
集成步骤
步骤一:发起交易取消
您可以通过 取消 接口发起单笔交易的撤销。在请求中,你需要传入以下 2 种 ID 中的一个:
参数名 | 必填/选填 | 描述 |
paymentId | OPTIONAL | 下单时由支付宝侧返回的唯一交易号。 |
paymentRequestId | OPTIONAL | 下单时由商家分配的唯一请求号。 |
表 3. 取消接口传参说明
步骤二:取消结果获取
在您调用 取消 接口后,Alipay 会通过 result.resultStatus 字段同步返回该次交易的取消结果:
resultStatus | 解释 |
S | 取消成功。由 cancelTime 字段表示取消成功的时间。 |
F | 取消失败。错误码信息请参考 Error codes。 |
U | 取消结果未知,请使用相同的请求参数 paymentRequestId 发起取消重试。paymentRequestId 是取消的唯一标识,使用同一个 paymentRequestId 多次请求不会触发多次取消。如果重试三次仍返回 |
表 4. 取消结果解释