我遵循了 Stripe 网站上的“使用元素创建订阅”教程,一切都运行良好。但现在我需要在用户付款之前实现 3d 安全。
然而,我的问题是我不使用 SetupIntent 或 PaymentIntent。我直接创建订阅,然后显示付款表格(根据教程)。
这是我的订阅创建代码(后端 PHP):
$stripe = new \Stripe\StripeClient(...);
$subscription = $stripe->subscriptions->create([
'customer' => $customer_id,
'items' => [[
'price' => $price_id,
]],
'payment_behavior' => 'default_incomplete',
'expand' => ['latest_invoice.payment_intent'],
]);
我的前端代码(JS):
stripe.confirmCardPayment(currentClientSecret, {
payment_method: {
card: card,
billing_details: {
name: "name"
},
}
我如何才能要求 3d-secure?
阅读此页面:https://stripe.com/docs/payments/3d-secure#when-to-use-3d-secure 似乎表明我需要 SetupIntent 或 PaymentIntent。
答案 0 :(得分:0)
您需要使用作为订阅创建的一部分创建的付款意图(或试用的设置意图)作为流程的一部分,以便进行 3D 安全。这一切都在这里描述:https://stripe.com/docs/billing/subscriptions/elements