Source 和 Customer已废弃
警告
我们已放弃使用 Sources API,并计划停止支持本地支付方式。如果您当前是使用 Sources API 处理任何本地支付方法,则必须将其迁移到 Payment Methods API。我们将发送电子邮件,详细告知何时停止这种支持。
虽然我们不打算取消支持银行卡支付,但我们建议用 PaymentMethods API 替换掉 Sources API,通过这个 API 可以访问我们的最新功能和支付方式类型。
Source 对象可以是一次性会用或重复使用的,由它的 usage
参数来定义。虽然可以对来源直接扣款,但始终应将_可重复使用_的来源绑定到 Customer 对象才能供以后重复使用。将可重复使用的来源绑定到 Customer
对象后,您便可以向客户展示他们之前在您的应用或网站中使用过的可重复使用的支付方式列表。
可重复使用的来源
某些支付方式(例如 SEPA 直接借记)支持可重复使用的来源,因此您可以在客户不再次完成付款流程的情况下创建额外的付款。可重复使用的来源,其 usage
参数会设置成 reusable
。
必须将可重复使用的来源绑定到 Customer
对象后才能创建收款请求。如果您在未事先绑定某个可重复使用的 Source 的情况下对它扣款,那么这个来源就被消耗了(状态从 chargeable
变为 consumed
)。消耗过的来源不能用于再次付款。
将某个来源绑定到新的 Customer 对象
您可以创建一个 Customer
对象,并在一个 API 调用中绑定来源。如果您是第一次看到这个客户,则这种方式比较有用。
该来源会变成 Customer
对象的默认来源,因为它是这个客户的第一个也是仅有的支付方式。如果您在不指定 source
的情况下使用 customer
参数创建收款请求,则会自动选择默认的来源。
将某个 Source 绑定到现有的 Customer 对象
更新一个有默认来源的 Customer
对象时,会自动解绑现有来源,并将提供的来源添加为新的默认来源。要在不替换现有默认来源的情况下添加来源,应使用 attach 方法,如下所示。
这里,由于 Customer
对象可能已经存在一个默认的来源,新绑定的来源尚未变成默认来源。但是,可以通过更新 Customer
对象并将来源指定为 default_source
来更改默认来源。
对绑定的来源扣款
创建收款请求时,必须同时指定 Customer
对象和来源。
如果试图在不指定来源的情况下对 Customer
对象扣款,则 Stripe 会使用客户的默认来源。
解绑来源
如果移除某个特定 Customer
对象的来源,可以解绑来源。这样做会将来源的状态更改为 consumed
,解绑后不能再使用。
一次性使用的来源
对于一次性会用的来源,客户每次付款时都要创建,而且不能重复使用。因此,不建议将其永久绑定到客户。
如果想将某笔付款关联到特定的 Customer
对象,则可以在用某个来源创建收款请求时包含 customer
参数,即使这个来源未绑定。
相应 Charge
对象会同时引用 Customer
和 Source
这两个对象,即使可能二者并不直接相关。