我正在为我的网站使用条纹卡元素。允许用户购买产品的页面是面向公众的(你不需要登录),因此有很多随意浏览。
我遵循Stripe的card元素文档为我的网站。他们建议的一件事是,如果你知道用户会支付多少钱,就立即在页面上加载paymentintent对象。我想知道我是否可以在购买后创建paymentintent,而不是在页面加载时创建它?
由于所有未完成的支付意图都弹出,我很难在条纹仪表板中导航。
是。但是在付款期间而不是之后。步骤:
- 客户端使用stripe.js创建一个PaymentMethod
- POST PaymentMethodid到服务器
- 服务器使用它来创建PaymentIntent
- POST返回结果到客户端
如果你使用3DS2还有更多的事情要做,但这是要点
Stripe最近引入了一项新功能,允许您在创建Intent之前收集付款详细信息[1]。
在你的情况下,你可以加载Stripe Payment Element,收集客户的支付细节,然后创建PaymentIntent,确认它并处理任何post所需的操作(也就是3DS)。
您甚至可以根据客户使用的PaymentMethod在服务器端添加自定义逻辑[2]。
[1] https://stripe.com/docs/payments/accept-a-payment-deferred[2] https://stripe.com/docs/payments/finalize-payments-on-the-server?platform=web&类型=支付# insert-custom-logic