在保存卡以供将来付款时是否可以使用3D Secure?
根据Stripe的文档,https://stripe.com/docs/sources/three-d-secure。这似乎是这样做的方法。
但是,根据文档,不再建议使用而是使用PaymentIntents:
不再建议使用此API。如果您希望使用3D Secure,我们强烈建议您采用我们的新付款API PaymentIntents。
那么,有没有一种方法可以使用PaymentIntents(以利用3D安全)来保存卡而无需立即付款?
答案 0 :(得分:3)
在保存卡以供将来付款时是否可以使用3D Secure?
我使用PaymentIntents
要做的是创建一个客户,然后付款:
customer = stripe.Customer.create(
payment = stripe.PaymentIntent.create(customer=customer_id, ....
在付款中,您拥有卡类型payment['charges']['data'][0]['payment_method_details']['card']['brand']
和卡的后4位数字payment['charges']['data'][0]['payment_method_details']['card']['last4']
您可以在本地存储customer_id
,卡类型和最后4位数字,以在下次显示给该客户。
要再次付款,您只需将stripe.PaymentIntent.create()
与您第一次保存的customer.id
一起使用。
如果客户要使用其他卡,只需
customer = stripe.Customer.modify(
customer_id,
source=token_id
)
token_id
来自前端的stripe.js
答案 1 :(得分:2)
为了让您知道,由于与您有同样的顾虑,我已经联系了Stripe支持部门,在此给出答案:
[...] PaymentIntents当前不支持创建源,而此后也不创建费用。遗憾的是,也无法将3DSecure与当前的信用卡保存方法集成。
PaymentIntents是一个相当新的Stripe产品,我们仍在研究问题并确定我们将支持哪些功能。节省资源绝对是我们优先考虑的事项,以后还会有更多关于此更新的信息。
我试图获取有关其路线图的更多信息,以了解该功能是否将在9月发布,但支持人员无法提供此信息。
答案 2 :(得分:0)
使用the SetupIntent
API,基本上是PaymentIntent
,数量为空(相同的工作流程)。