问题描述
使用Sources API,每个客户都有一个default_source
,但是使用SetupIntent
(为了与PSD2 / SCA指令兼容)时,似乎没有任何直接等效项
所以我的问题是,如何在API端正确地表示它(不使用Metadata
)?
payment_methods列表似乎为preferred
提供了一个名为card
的属性(这似乎是我要找的东西),但是到目前为止,我还没有发现如何获取/设置此属性。
解决方法
“付款方式”和更新的API(例如“设置意图”和“付款意图”)与default_source
没有直接等效关系。最接近的是invoice_settings.default_payment_method
,但仅适用于发票。
要直接回答您的问题,您有三种选择:
- 设置并使用
invoice_settings.default_payment_method
的值,为每个设置和付款意图明确指定存储在其中的付款方式 - 按照您的建议在
metadata
中指定默认的付款方式 - 将默认值存储在自己的数据库中
关于preferred
属性,如果您指的是card.networks.preferred
,则它是所讨论的卡片的首选卡片网络,与您的问题无关。
如果您使用Webhooks,则可以监听 payment_method.attached 或 setup_intent.succeeded 事件,并将它们触发时设置为默认事件。
有关更多信息: https://stripe.com/docs/api/events/types
可以设置付款方式对象,以使用默认付款方式更新Customer invoice_settings属性。
https://stripe.com/docs/api/customers/update#update_customer-invoice_settings