暂停某一支付方式
分开进行支付授权和捕获,以立即创建费用,但稍后捕获资金。
创建付款时,您可以暂时保留符合条件的支付方式,以保留可供以后捕获的资金。例如,酒店通常会在顾客到达前全额授权付款,然后在顾客结账时扣款。这有时也称为手动捕获。
授权付款通过在客户的付款方式上冻结金额来保证该金额。如果您使用的是 API,则收款上的 payment_method_details.card.capture_before 属性指示授权何时过期。
您需要在授权过期前捕获资金。如果授权在您捕获资金之前过期,资金将被释放,付款状态变为 canceled
。了解有关异步付款状态的更多信息。
授权的有效窗口期
下表概述了授权不同交易类型的有效窗口期。
无卡交易
有卡交易(线下付款)
卡品牌 | 授权有效期窗口 |
---|---|
Visa | 5 天* |
Mastercard | 2 天 |
American Express | 2 天 |
Discover | 2 天 |
日本的 30 天授权窗口期
如果您的账户位于日本,则您可以将使用 Visa、Mastercard、JCB、Diners Club 和 Discover 的日元计价交易保留长达 30 天。非 JPY 和 American Express 交易在标准的 7 天窗口期后过期。
注意
自 2024 年 4 月 14 日起,Visa 将在线商家发起的交易的授权窗口从 7 天缩短为 5 天。Visa 还将线下 (Terminal) 交易的授权窗口从 2 天延长至 5 天。
支付方式限制
在实施之前,请了解以下单独授权和捕获的限制。
只有部分支付方式支持单独授权和捕获。支持此功能的支付方式包括银行卡、Affirm、Afterpay、Cash App Pay、Klarna 和 PayPal。不支持此功能的一些支付方式包括 ACH 和 iDEAL。详细了解支付方式功能支持。
除上表所示,其他支付方式的规则和授权窗口期也不同:
- 银行卡支付:线上支付通常保留 7 天,线下 Terminal 支付通常保留 2 天(取决于交易类型和银行卡组织)。您可以为某些符合延长有效期的在线和 Terminal 支付授权申请延长有效授权期限。卡组织也可能会限制您不打算捕获的 1 美元授权。
- Affirm:如果 Affirm 对金额非常大的订单要求首付,他们会在授权期间收取该金额,并在未收取付款时退款。然后您有 30 天的时间来收取剩余的付款。
- Afterpay / Clearpay:在授权过程中,客户支付第一笔分期还款款项。如果从未捕获过付款,则 Afterpay 进行退款。然后,您有 13 天的时间来捕获付款余额。
- Cash App Pay:必须在 7 天内捕获有效授权才能完成付款。
- Klarna:您必须在发出收款请求后的第 28 个日历日午夜之前捕获收款,否则授权将过期。例如,您需要在 UTC 2020-10-01 14:00 至 UTC 2020-10-29 00:00 之前捕获收款请求。
- PayPal:将金额保留 10 天。Stripe 会自动尝试将扣留期再延长 10 天,共计 20 天。您的结算首选项可能会影响授权期限。有关更多信息,请参见单独授权和捕获。
使用管理平台进行授权并捕获
您无需编写代码即可分别授权付款和捕获资金。
- 在管理平台中,创建新付款。选择一次性。
- 输入或选择支付方式时,选择更多选项,然后选择稍后捕获资金。
这笔付款在您的支付页面上显示为未捕获。
要捕获资金,请前往付款详情页面,然后点击捕获。
告诉 Stripe 仅授权
要表明您希望分离授权和捕获,请在创建 PaymentIntent 时将 capture_method 指定为 manual
。该参数将指示 Stripe 授权金额,但不从客户的支付方式上捕获。
使用上述方法时,您告诉 Stripe,对于具有合格支付方式的 PaymentIntent,只能使用“之后捕获”。例如,您不能接受单个 PaymentIntent 的银行卡付款和 SEPA 直接借记(不支持之后捕获)。要接受可能并不都支持之后捕获的支付方式,可以通过对 payment_
对象配置 capture_
,为每笔付款方式配置 capture-after-per-payment-method。
例如,通过配置 payment_
,您可以仅将银行卡付款置于暂停状态。您可以从管理平台管理支付方式。Stripe 处理逻辑,根据交易金额、货币和支付流程等因素,向每个客户动态显示最相关的合格支付方式。
也可以如以下示例所示,用支付方式类型列出 card
和 sepa_
。
在继续捕获之前,将一个带有银行卡详情的 Payment Method 绑定到 PaymentIntent,并通过确认 PaymentIntent 来授权银行卡。您可以通过在 PaymentIntent 上设置 payment_
和 confirm
字段来实现这一点。
扩展授权
通常,在线银行卡支付的授权有效期为 7 天。要延长有效期,您可以延长线上银行卡付款的暂停时间。
捕获资金
支付方式被授权后,PaymentIntent 的状态变为 requires_
。要捕获授权资金,请发出 PaymentIntent 捕获请求。默认情况下,这会捕获全部授权金额。要捕获少于或(对于某些在线卡付款)多于初始金额,请传递 amount_to_capture 选项。部分捕获会自动释放剩余金额。如果尝试为在线卡付款捕获多于初始金额,请参阅超额捕获文档。
以下示例演示如何从已授权的 10.99 美元付款中捕获 7.50 美元:
虽然某些银行卡付款符合多次捕获条件,但对于大多数付款,您只能对已授权的付款执行一次捕获。如果部分捕获了一笔付款,则不能再次捕获差额。(相反,请考虑保存客户的支付方式信息供以后使用,然后根据需要创建未来付款。)
某些发卡行的银行卡对账单和支付方式的界面并不总是能区分授权和捕获(已结算)的付款,这有时会给客户造成混淆。
此外,当客户通过手动捕获完成 PaymentIntent 的付款流程时,会触发 payment_
事件。您可以检查 PaymentIntent 的 amount_capturable 属性,以查看可以从 PaymentIntent 捕获的总金额。
取消授权
如果需要取消授权,您可以取消 PaymentIntent。