PAYATHON 2026

支付宝退款时是否向商户退还手续费?

支付阿杰

结论

支付宝退款一般按用户实际支付的金额计算,不按商户扣除手续费后的净入账金额计算。用户支付 100 元后申请全额退款,退款金额仍为 100 元。

手续费是否退还,要看商户使用的支付宝产品、签约协议和具体退款规则。有些支付产品会按退款比例退还手续费,有些费用则不退。

如果商户的可用余额不足,支付宝通常不会先垫付手续费来凑足退款金额,退款申请可能会失败。因此,商户应先备足退款资金,再提交申请。

资金如何计算

“用户支付 100 元,商户只收到 90 元”只是一个便于理解的例子,实际记账方式可能并非如此:

  • 有些产品先按交易金额入账,再单独扣除服务费。
  • 有些产品显示的是扣除费用后的结算金额。
  • 服务商模式、分账交易和跨境支付等产品可能采用其他结算方式。

因此,不能只看支付宝账户余额来判断交易金额和手续费,应以支付宝账单、交易查询结果和商户签约费率为准。

假设某产品确实采用以下规则:

用户支付金额 = 100 元
支付手续费 = 10 元
商户净收入 = 90 元
用户全额退款 = 100 元

如果该产品支持全额退还手续费,最终的资金结果可能是:

商户承担的退款本金 = 90 元
支付宝退还的手续费 = 10 元
用户收到的退款 = 100 元

不过,这并不意味着商户余额只有 90 元时,退款请求就一定能成功。系统如何校验余额、手续费何时返还,都要以该支付产品的处理规则为准。

处理步骤

1. 核对签约产品的退款规则

先在支付宝商家平台确认交易所属的产品和协议,主要核对以下内容:

  • 退款时是否退还手续费;
  • 全额退款和部分退款是否按比例退还手续费;
  • 是否有不予退还的固定费用;
  • 手续费是实时返还,还是在后续账单中调整;
  • 已结算、分账或跨境交易是否另有限制。

如果后台没有写清楚,可以向支付宝商户客服提供交易号和签约产品名称,请客服确认。

2. 保证退款资金充足

提交退款前,应确认商户退款账户或支付宝指定的资金账户中有足够的可用余额。可能返还的手续费不能直接当作当前可用的退款资金。

如果余额不足,应按照商户平台的提示充值、补足资金或等待相关资金解冻,然后重新发起退款。

3. 调用退款接口

支付宝开放平台通常使用 alipay.trade.refund 发起退款。示例:

AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();

AlipayTradeRefundModel model = new AlipayTradeRefundModel();
model.setOutTradeNo("ORDER_202609090001");
model.setRefundAmount("100.00");
model.setOutRequestNo("REFUND_202609090001");
model.setRefundReason("用户申请退款");

request.setBizModel(model);

AlipayTradeRefundResponse response = alipayClient.execute(request);

if (response.isSuccess()) {
    System.out.println("退款受理成功,实际退款金额:" + response.getRefundFee());
} else {
    System.out.println("退款失败:" + response.getSubCode());
    System.out.println("失败原因:" + response.getSubMsg());
}

同一笔交易下的 out_request_no 应保持唯一,用于区分多次退款请求,避免重复处理。

4. 查询并核对结果

接口调用没有抛出异常,不等于退款已经完成。还需要检查:

  • response.isSuccess();
  • code、sub_code 和 sub_msg;
  • refund_fee;
  • 支付宝异步通知或退款查询结果;
  • 商户账单中的退款支出和手续费调整记录。

如果接口返回余额不足,应根据实际响应码处理,不要无限自动重试。

注意事项

  • 退款金额不能超过该交易当前的可退金额。
  • 部分退款时,手续费可能按退款比例返还,也可能受到产品规则、四舍五入方式或固定费用的影响。
  • 涉及优惠券、积分、红包、分账或跨境交易时,退款的资金构成可能不同。
  • 退款成功和手续费返还可能对应两条不同的账务记录,入账时间也可能不同。
  • 业务系统不应预设手续费一定退还或一定不退。应读取接口结果,并通过账单完成最终对账。
  • 示例中的 10% 手续费只用于说明计算关系,不代表支付宝的实际费率。

在”支付 100 元、净入账 90 元”的例子中,用户全额退款的金额仍是 100 元。手续费能否返还、何时返还,需要根据具体的签约产品确认。为避免退款失败,应先补足可用退款资金,再发起退款,并根据接口结果和账单核对手续费调整。

备注:内容仅供参考。