- 支付
- 当面付
- APP 支付
- 手机网站支付
- 电脑网站支付
- 商家扣款
- 产品介绍
- 权限集列表
- 商家扣款(必选)
- 商家分账(可选)
- 周期扣款
- 刷脸付
- 预授权支付
- 支付宝预授权
- JSAPI 支付
- 私域
- 公域
- 营销
- 资金
- 会员
- 信用
- 安全
- 其他
统一收单交易撤销接口
开发环境
开发环境
POST
/v3/alipay/trade/cancel
注意:只有发生支付系统超时或者支付结果未知时可调用撤销,其他正常支付的单如需实现相同功能请调用申请退款API。提交支付交易后调用【查询订单API】,没有明确的支付结果再调用【撤销订单API】。
错误码#
公共错误码#
业务错误码#
状态码 | 错误码 | 错误描述 | 解决方案 |
---|---|---|---|
400 | ACQ.CANCEL_NOT_ALLOWED | 交易不允许撤销 | 该笔交易不支持撤销 |
400 | ACQ.INVALID_PARAMETER | 参数无效 | 请求参数有错,重新检查请求后,再调用撤销 |
400 | ACQ.REASON_TRADE_BEEN_FREEZEN | 当前交易被冻结,不允许进行撤销 | 联系支付宝小二,确认该笔交易的具体情况 |
400 | ACQ.REASON_TRADE_REFUND_FEE_ERR | 退款金额无效 | 请确认交易是否已经发起过退款,已经退款场景下不能再发起撤销 |
400 | ACQ.SELLER_BALANCE_NOT_ENOUGH | 商户的支付宝账户中无足够的资金进行撤销 | 商户支付宝账户充值后重新发起撤销即可 |
400 | ACQ.SYSTEM_ERROR | 系统异常 | 请过一段时间后进行重试 |
400 | ACQ.TRADE_CANCEL_TIME_OUT | 超过撤销时间范围 | 交易超过了撤销的时间范围,可使用退款接口发起交易退款 |
400 | ACQ.TRADE_HAS_FINISHED | 交易已经完结 | 交易已完结状态下不允许退款 |
400 | AQC.SYSTEM_ERROR | 系统错误 | 请使用相同的参数再次调用 |
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'http://dev-cn.your-api-server.com/v3/alipay/trade/cancel' \
--header 'authorization: ALIPAY-SHA256withRSA app_id=$appid,timestamp=$now,nonce=$uuid,expired_seconds=600,sign=$sign' \
--header 'alipay-request-id: $requestid' \
--header 'Content-Type: application/json' \
--data-raw '{
"out_trade_no":"20150320010101001",
"trade_no":"2014112611001004680073956707"
}'
响应示例响应示例
200 - 成功示例
{
"trade_no": "2013112011001004330000121536",
"out_trade_no": "6823789339978248",
"retry_flag": "N",
"action": "close"
}
请求参数
Header 参数
authorization
string
必需
示例值:
ALIPAY-SHA256withRSA app_id=$appid,timestamp=$now,nonce=$uuid,expired_seconds=600,sign=$sign
alipay-request-id
string
必需
示例值:
$requestid
Content-Type
string
必需
示例值:
application/json
Body 参数application/json
out_trade_no
string
原支付请求的商户订单号,和支付宝交易号不能同时为空
trade_no
string
支付宝交易号,和商户订单号不能同时为空
示例
返回响应
🟢200成功
application/json
Body
trade_no
string
支付宝交易号; 当发生交易关闭或交易退款时返回;
out_trade_no
string
商户订单号
retry_flag
string
是否需要重试
action
string
本次撤销触发的交易动作,接口调用成功且交易存在时返回。可能的返回值: close:交易未支付,触发关闭交易动作,无退款; refund:交易已支付,触发交易退款动作; 未返回:未查询到交易,或接口调用失败;
🟠400请求有误
修改于 2023-11-21 02:21:12