使用 SetupIntent 和 PaymentIntent 时,是否有等效于默认源的内容?

Is there an equivalent to the default source, when using SetupIntent & PaymentIntent?

使用来源 API,每个客户都有一个 default_source,但是当使用 SetupIntent 时(为了符合 PSD2/SCA 指令),没有' 似乎是任何直接等价物。

所以我的问题是,如何正确表示 API 端(不使用 metadata)?

payment_methods 列表似乎有一个名为 preferred 的 属性 用于 card(这似乎是我正在寻找的),但到目前为止我还没找到,如何get/set这个属性.

支付方式和更新的 API(如设置意图和支付意图)没有直接等同于 default_source。最接近的是 invoice_settings.default_payment_method,但它仅适用于发票。

要直接回答您的问题,您有以下三种选择:

  1. 设置并使用 invoice_settings.default_payment_method 的值,为每个设置和付款意向明确指定存储在那里的付款方式
  2. 按照您的建议在 metadata 中指定默认付款方式
  3. 将默认值存储在您自己的数据库中

关于 preferred 属性,如果您指的是 card.networks.preferred,那是相关卡的首选卡网络,与您的问题无关。

如果您使用 Webhooks,您可以监听 payment_method.attachedsetup_intent.succeeded 事件并将其设置为被解雇时默认。

更多信息: https://stripe.com/docs/api/events/types

付款方式对象可以设置为使用默认付款方式更新客户 invoice_settings 属性。

https://stripe.com/docs/api/customers/update#update_customer-invoice_settings