退款
您可以通过 退款 接口或者 商家后台 成功支付的交易发起退款。
退款的关键业务信息如下:
- 是否退手续费: 依照双方合约执行。
- 退款的执行汇率:
- 若跨币种结算,外汇策略为锁价模式下,按照发起退款请求当日 Alipay 汇率进行结算。
- 若跨币种结算,外汇策略为不锁价模式下,按照发起退款请求后的次日 Alipay 汇率进行结算。
- 若结算币种与退款币种相同,则不涉及汇率换算。
调用退款接口退款
您可以通过接口来退款并获取退款结果。下图说明了退款流程:
图 1. 退款流程
发起退款
使用 退款 接口发起退款需满足以下要求,否则将收到 Alipay 返回的对应错误码:
退款要求 | 对应错误码 | |
退款的币种 | 退款请求中的币种 | CURRENCY_NOT_SUPPORT |
退款金额 | 退款申请的金额 | REFUND_AMOUNT_EXCEED |
交易状态 | 对于卡支付方式:
对于其他支付方式,仅当发起退款的对应交易的 | ORDER_STATUS_INVALID |
退款期限 | 在支付方式支持的退款期限内允许发起退款,超过则不允许发起退款。 | REFUND_WINDOW_EXCEED |
表 1. 退款要求
退款请求中关键字段如下(具体内容请参见 退款 接口):
字段名 | 注意点 |
refundRequestId | 在商户侧唯一的退款 ID。 |
paymentId | 该笔退款所对应的 Alipay 分配的原始交易的 ID。 |
refundAmount | 退款金额,需要大于等于最小退款金额(通常为最小支付金额),且小于等于交易剩余可退金额。 |
refundNotifyUrl | 退款异步通知地址。 |
表 2. 退款请求关键字段
获取退款结果
在发起退款请求后,您可以通过以下方式获取退款结果:
退款接口获取退款状态
在您调用 退款 接口后,Alipay 会返回该次退款的受理结果。响应中的 refundStatus 字段代表该笔交易的退款状态,不同状态码及解释如下表所示:
resultStatus | 解释 |
S | 退款成功。 |
U | 退款受理中。当 resultCode 为 |
F | 退款失败。请参考退款接口的 resultCode 进行问题排查。 |
表 3. 退款接口 refundStatus 状态码解释
调用接口查询退款
在您发起退款请求后,无论买家付款时使用的是何种支付方式,您均可以通过调用 查询交易结果 接口查询该退款的执行状态。返回结果中的 refundStatus 字段代表该笔交易的退款状态,不同状态码及其解释如下表所示:
refundStatus | 解释 |
SUCCESS | 退款处理成功。 |
PROCESSING | 退款处理中。 |
FAIL | 退款执行失败。 |
表 4. 查询退款接口 refundStatus 状态码解释
接收退款异步通知
欲接收退款异步通知,您需要完成退款异步通知接收地址的配置:通过 退款 接口中 refundNotifyUrl 字段传入退款异步通知接收地址或在开发者中心配置退款异步通知接收地址。收到通知后,您可以通过 refundStatus 字段来了解该笔交易的退款状态,不同状态码及其解释如下表所示:
refundStatus | 解释 |
SUCCESS | 退款处理成功。 |
FAIL | 退款执行失败。 |
表 5. 退款通知接口 refundStatus 状态码解释
查询交易的退款记录
您也可以通过 查询交易结果 接口感知该笔交易的退款记录。若一笔交易发生过退款,返回内容中的 transactions 字段会反映该笔交易的退款情况。
通过 Alipay 全球商家门户退款
您可以通过 Alipay 全球商家门户 进行退款,欲知如何发起退款并查看退款结果,可参见 通过门户交易中心退款。