在Laravel收银台处理新PaymentIntent的最佳方式是什么 [英] What is the best way of handling a new PaymentIntent in Laravel Cashier
本文介绍了在Laravel收银台处理新PaymentIntent的最佳方式是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
除非我遗漏了什么,否则我看不到任何收银员包装来提供PaymentIntent的创建,这是否存在?
虽然Cashier V10添加了一些内容来处理SCA,但它不适用于我,因为我正在通过Font-End元素处理付款详细信息,因此重定向到新的route
会很混乱。
我需要按照本指南https://stripe.com/docs/payments/payment-intents/migration
处理这需要创建PaymentIntent,如下所示:
$intent = StripePaymentIntent::create([
'payment_method' => $json_obj->payment_method_id,
'amount' => 1099,
'currency' => 'gbp',
'confirmation_method' => 'manual',
'confirm' => true,
]);
当然,我可以像这里所示的那样,直接从条纹SDK中完成这项工作,但考虑到我可能会添加更多的功能,这些功能可能会利用出纳员的其他功能,这将使通过收银员完成所有事情变得更干净。
我可以通过出纳员创建PaymentIntent吗?还是错过了?如果是这样的话,是如何做到的呢?或者我应该以不同的方式处理这件事?
推荐答案
进一步调查后,答案是
LaravelCashierBillable->charge($amount,$method,$options)
方法在幕后执行StripePaymentIntent::create($options)
。
有一些事情需要注意:
- 默认情况下,选项
confirmation_method
将设置为automatic
和confirm
至true
- 将设置
currency
选项,并将使用收银员默认货币 amount
选项将根据传入的$amount
设置,payment_method
选项将根据$method
传入设置。- 这些值都可以通过在
$options
参数中传递等效值来用替换来覆盖
最后,如果您需要SCA(我就是这么做的),则必须捕获LaravelCashierExceptionsPaymentActionRequired
异常并重定向到内置的Cashier
页面,或者通过API请求在您的前端处理它。
这篇关于在Laravel收银台处理新PaymentIntent的最佳方式是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文