登录  /  注册
Laravel Cashier - Stripe 多种付款方式
P粉652495194
P粉652495194 2023-12-11 18:56:12
[PHP讨论组]

我的餐厅使用 Laravel Cashier 和 Stripe。

我想为我的客户使用 Stripe 支持的多种付款方式,但我在 Laravel Cashier 文档中找不到有关在 Stripe 中使用多种付款方式的任何信息。

Stripe 文档中的接受付款文档正是我所需要的。有没有办法用 Laravel Cashier 实现本文档中描述的方法?

P粉652495194
P粉652495194

全部回复(2)
P粉471207302

为收集付款方式而创建的SetupIntent默认接受卡仅。此外,前端也仅使用 Laravel Cashier 文档中的 Card Element,用于收集卡信息。

要接受其他付款方式类型,您首先需要使用其他 payment_method_types 在服务器上,然后将客户端密钥传递给支付元素而不是卡元素进行渲染。支付元素允许一种或多种支付方式。有关更多信息,您可以参阅此处的文档:https://stripe.com/文档/付款/保存并重用

请注意,并非所有付款方式都支持SetupIntent(以供将来使用)。您可以参考这里的文档,了解支持SetupIntent的付款方式: https://stripe.com/docs/ payments/ payment-methods/integration-options#additional-api-supportability

P粉071743732

这需要运行 php 和 js 脚本来进行条纹,

其参考此处

您首先需要一个设置意图,您必须使用它来调用

return $user->createSetupIntent();

并在前端访问该值。在您的卡/支付页面上,您必须设置 stripe js 卡元素。然后捕获并处理卡片元素,如下例所示(使用 axios)

const { setupIntent, error } = await stripe.confirmCardSetup(your_SETUP_INTENT, {
  payment_method: {
    card: your_card_object,
    billing_details: { name: 'Card Name' }
  }
})

if (error) {
  console.log(error)
} else {
  const { data } = await axios.post('/api/payment-method', { card: setupIntent.payment_method })
}

一旦条带请求成功,您将获得付款方式 ID,您可以将其推送回您的服务器,如上例所示,然后通过调用 addPaymentMethod 将付款附加回该用户

$user->addPaymentMethod( $request->input('card) );
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号