Stripe Bacs首次收新授权:确认成功为什么要等更久

核对 Bacs Direct Debit 付款的确认时间,先看这笔付款对应的授权是已经存在,还是这次付款时才新收集。按 Stripe 文档的口径,授权已存在时,确认一笔付款成功或失败通常约需 4 个工作日;本次新收集授权时,最终确认最长需要 7 个工作日。新授权需要额外提交与确认,因此确认窗口更长。这个差别描述的是确认时间窗口,不是对某笔付款实际结果的预判。

已有扣款授权、新建扣款授权、时间差异
本文涉及的概念与核对环节。

一笔付款要经过哪几个节点

用 Bacs 收款时,一笔付款大致经过三个节点:客户在页面上审阅并接受 Bacs Direct Debit 授权;客户提交付款并返回你的网站;Stripe 提交授权和扣款,付款保持处理中状态,直到最终确认。Bacs 属于延迟通知的支付方式,客户提交付款时拿不到即时的成功或失败结果,最终确认在提交之后异步发生。

核对确认时间时,先判断这笔付款对应的授权状态:是此前已经存在,还是本次付款时新收集。答案不同,预期时间就不同。

两种情形的确认时间

按文档口径:

  • 授权已存在:提交付款后,确认成功或失败通常约需 4 个工作日。
  • 本次新收集授权:最终确认最长 7 个工作日。

这两个数字描述的是最终确认的时间窗口,不是到账时间,也不代表每一笔付款都会落在窗口的某一端。文档没有给出单笔付款的具体确认时长,因此不应把 4 个工作日或 7 个工作日当作对某位客户某笔扣款的承诺。结算另有标准打款时间安排,与确认时间是两回事,本文不展开结算天数。

新授权为什么要多等

Bacs 是延迟通知的支付方式:客户提交付款后,付款先处于处理中,之后才收到最终确认。新收集授权时,授权本身要先提交并完成确认,付款的最终结果要等这一段走完才能确定,因此确认窗口被拉长到最长 7 个工作日。这里说的是时间窗口的延长,不是对银行侧处理先后顺序的断言,也不构成对单笔付款结果的预测。

还有一个容易忽略的细节:Bacs Direct Debit 不支持交易级账单描述。客户银行账单上显示的是服务用户名称和授权参考号。默认情况下,账单将 Stripe 标识为服务用户并包含授权参考号;启用自定义品牌后,新授权会显示调整后的服务用户名称。账单上不会出现逐笔交易的独立描述,客户对账时只能靠授权参考号、扣款日期和金额来对应。

核对授权参考号时,从授权对象的 payment_method_details.bacs_debit.reference 字段读取。Connect 场景下,要在拥有该付款和授权的账户上下文中读取。

给客户的话术要跟着阶段走

客户提交付款后会回到你的确认页。此时应当说明:付款信息已收集,付款正在处理中。在收到成功事件之前,不要告诉客户付款已成功。这句话在已有授权时成立,在新收集授权时更加重要,因为后者等待时间更长。

如果客户来询问某笔扣款,需要请他提供扣款日期和金额、银行账户末四位、账单上显示的服务用户名称以及授权参考号。这些信息足以定位到具体的授权和扣款记录。

不要把时间窗口当成结果

4 个工作日和 7 个工作日是确认时间窗口,不是对单笔付款实际结果的预判。付款究竟是成功还是失败,要等 Stripe 发出最终确认事件后才能确定。在窗口内,付款保持处理中属于正常状态。如果超过窗口仍无结果,可以按上面列出的信息去核对具体记录,这属于核对建议,不是文档规定的超窗处理规则。把窗口当作结果对外承诺,既不符合 Bacs 的异步机制,也容易在客户侧造成误解。

原始资料

docs.stripe.com

上一篇 Stripe Bacs退款不是冲正:为什么客户可能收到两笔