使用 PaymentIntent 进行 Stripe 3d 安全支付
Posted
技术标签:
【中文标题】使用 PaymentIntent 进行 Stripe 3d 安全支付【英文标题】:Stripe 3d secure payment using PaymentIntent 【发布时间】:2021-10-11 22:08:50 【问题描述】:我正在尝试实施 Stripe PaymentIntent。当我创建 PaymentIntent 对象时,我将它 request_three_d_secure 传递给 payment_method_options 但创建的 PaymentIntent 未在确认时请求 3d 安全付款。下面是我创建 PaymentIntent 对象的方式。
$paymentIntent = \Stripe\PaymentIntent::create([
'amount' => 1099,
'currency' => 'usd',
'customer' => 'cus_XXXXXXXXXXXXX',
'payment_method_types' => ['card'],
'payment_method_options' => '[card][request_three_d_secure][any]',
'payment_method' => 'card_XXXXXXXXXXXXXXXXXXXXX',
]);
$paymentIntent = $stripe->paymentIntents->confirm(
$paymentIntent->id,
['payment_method' => 'pm_card_visa']
);
我是否正确地创建了 PaymentIntent 对象?有其他人遇到过与此相关的任何问题吗?
【问题讨论】:
【参考方案1】:在您的confirm
通话中,您将用另一种“未注册”的测试付款方式替换card_xxx
的任何内容。有关对测试卡的手动 3D 安全支持的详细信息,请参阅here。这里还有SCA测试卡。
对于这种情况,您可能希望附加 pm_card_threeDSecureOptional
,然后手动 3DS 请求应该会像您预期的那样工作。
【讨论】:
以上是关于使用 PaymentIntent 进行 Stripe 3d 安全支付的主要内容,如果未能解决你的问题,请参考以下文章
Stripe PaymentIntent 键未定义 |无法从控制器传递 ClientSecret 密钥 | ASP.NET MVC
Stripe - 当我使用零计划更新订阅时,PaymentIntent 为空
Stripe PaymentIntent.create 导致 TypeError:无法读取未定义的属性“创建”(谷歌云函数)