退款(通用)

概述

在支付完成后,若买家向您提交退款,您可以通过 退款接口 或者 商家后台 发起退款。

退款的关键业务信息如下:

  • 退款期限: 交易完成后的 12 月内。
  • 是否退手续费: 依照双方合约。
  • 是否允许部分退款: 允许。
  • 是否允许多次退款: 允许。
  • 退款的执行汇率: 若跨币种结算,则依照发起退款请求后的隔日支付宝汇率进行结算。但若以结算币种标价则不涉及汇率换算。

通过退款接口退款

1. 发起退款

您可以通过 退款 接口发起退款。支付宝在收到退款请求后会做以下校验:

校验项

说明

对应错误码

退款的币种

退款请求中的币种需要与发起交易时的一致。

CURRENCY_NOT_SUPPORT

退款金额

退款申请的金额需要大于最小退款金额(通常与最小支付金额一致),且小于交易剩余可退金额。

REFUND_AMOUNT_EXCEED

交易状态

仅当paymentStatusSUCCESS时允许退款。

ORDER_STATUS_INVALID

退款期限

在交易完成后的 12 个月内允许发起退款,超过则不允许发起退款。

REFUND_WINDOW_EXCEED

商家账户的待结算户余额

支付宝会从商家账户的剩余未结算资金中扣除款项以执行退款,若待结算资金不足则会导致退款失败。因此若商家签订的合约为不退回交易手续费,在生产环境做测试时需要注意,首笔支付的全额退款会执行失败,建议生产环境测试时在账户中保留一定的余额。

MERCHANT_BALANCE_NOT_ENOUGH

支付宝退款接口的执行逻辑为同步退款,退款接口的返回即为该次退款的执行结果。若因网络原因未收到支付宝响应,商家可以通过原请求重试的方式再次尝试获取退款执行结果。同一个refundRequestId只会对应一次退款动作,若refundRequestId不变,多次重复请求不会触发多次退款。

2. 查询退款结果

在买家发起退款后,您可以通过 查询退款结果 接口查询该次退款的执行状态,其中refundStatus字段代表该笔交易的执行状态,会有以下情况:

refundStatus

解释

SUCCESS

退款处理成功。

PROCESSING

退款处理中 (MERCHANT_BALANCE_NOT_ENOUGH的情况也会卡在该状态)

FAIL

退款执行失败。

3. 查询订单的退款记录

您也可以通过 查询退款结果 接口感知该笔交易的退款记录。若一笔交易发生过退款,则返回内容中的transactions字段即表示该笔交易的退款情况。

通过商家后台退款

1. 登陆商家后台

后台地址:https://intl-sea.alipay.com/ilogin/account_login.htm

2. 执行退款

Transaction Settlement 中找到对应的交易,点击 Details 进入交易的详情页面,然后点击右上角的 Refund 按钮,验证账户支付密码后完成退款。

首次通过后台执行退款时,点击 Change password 以设定支付密码。

image

image

image