在Laravel收银台处理新PaymentIntent的最佳方式是什么 [英] What is the best way of handling a new PaymentIntent in Laravel Cashier

查看:8
本文介绍了在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将设置为automaticconfirmtrue
  • 将设置currency选项,并将使用收银员默认货币
  • amount选项将根据传入的$amount设置,payment_method选项将根据$method传入设置。
  • 这些值都可以通过在$options参数中传递等效值来用替换来覆盖

最后,如果您需要SCA(我就是这么做的),则必须捕获LaravelCashierExceptionsPaymentActionRequired异常并重定向到内置的Cashier页面,或者通过API请求在您的前端处理它。

这篇关于在Laravel收银台处理新PaymentIntent的最佳方式是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆