Stripe Bacs退款不是冲正:为什么客户可能收到两笔
在Stripe的Bacs Direct Debit收款中,退款是一笔独立发起的贷记,而不是把原来那笔扣款撤销回去。因此当客户一边找你退款、一边又向自己的银行发起争议时,两套流程可能各自给客户入账一次,客户就收到了两笔。理解这一点,是处理Bacs退款时避免双重入账的关键。
退款在机制上是一笔新的贷记
按Stripe文档的说明,退款不属于Bacs Direct Debit体系,而是由Stripe在Bacs之外提供的。原始扣款完成之后,Stripe把退款作为一笔单独的贷记打到客户银行账户,而不是对原扣款做冲正。也就是说,退款是单独贷记进入客户银行账户,而非冲正原扣款。
退款的提交还有时序条件。如果Stripe已经提交扣款、付款仍处于处理中,退款会等到这笔Charge成功后才继续;如果Charge失败,Stripe会取消待处理的退款,因为客户实际上没有被扣款,也就不需要再发一笔单独的贷记。
退款通常需要3–4个工作日处理。这是处理时间,不是到账保证。
争议期没有固定终点,这是双重入账的根源
Bacs设有不设期限的赔偿期(indefinite indemnity period),客户在退款发出之后的任何时间都可以发起争议。这意味着退款和争议可以在时间上重叠:你已经退了款,客户仍可能通过银行把同一笔付款争议掉。
文档明确提示了后果:你可能同时损失被争议的金额和已退款的金额。如果客户同时就同一笔付款联系你和他的银行,你在银行发起争议的同时发出退款,就可能出现两笔贷记。
这里要说清边界:以上讲的是机制上的可能性,即退款与争议并行时可能产生两次入账。争议最终如何裁定、客户是否一定保留两笔,文档没有给出结论,也不应据此推断。
降低双重入账风险的操作顺序
文档给出了几条可以落地的做法:
- 和客户确认你正在处理退款,避免他另行向银行发起争议;
- 告知客户退款通常需要3–4个工作日的处理时间;
- 等原始付款完全结算之后,再通过Stripe发起退款。
退款可以通过Dashboard或Refunds API发起,支持全额或部分退款。另外,如果误扣了客户,应尽快联系客户,以避免演变成付款争议。
一个可复算的假设例子
假设某笔Bacs扣款为100英镑,已完全结算。你通过Stripe发起全额退款,Stripe向客户账户单独贷记100英镑。若客户在此前后就同一笔付款向银行发起争议并获得处理,银行侧又形成一笔100英镑的入账,客户合计可能收到200英镑。按文档提示的风险,你可能同时损失被争议的金额与已退款的金额。这个算例只用于说明两条独立入账路径如何叠加,不构成对争议结果的判断,具体金额与处理以实际交易和银行流程为准。
把退款当成独立贷记而不是冲正,并在操作顺序上先确认、后等结算、再退款,是Bacs场景下控制双重入账风险的基本做法。