首页  >  问答  >  正文

Laravel Cashier - Stripe 多种付款方式

我的餐厅使用 Laravel Cashier 和 Stripe。

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

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

P粉652495194P粉652495194336 天前537

全部回复(2)我来回复

  • P粉471207302

    P粉4712073022023-12-12 11:01:41

    为收集付款方式而创建的SetupIntent默认接受

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

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

    回复
    0
  • P粉071743732

    P粉0717437322023-12-12 09:37:23

    这需要运行 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 将付款附加回该用户< /p>

    $user->addPaymentMethod( $request->input('card) );

    回复
    0
  • 取消回复