首頁  >  問答  >  主體

Laravel Cashier - Stripe 多種付款方式

我的餐廳使用 Laravel Cashier 和 Stripe。

我想為我的客戶使用 Stripe 支援的多種付款方式,但我在 Laravel Cashier 文件中找不到有關在 Stripe 中使用多種付款方式的任何資訊。

Stripe 文件中的接受付款文件正是我所需要的。有沒有辦法用 Laravel Cashier 實作本文檔中所描述的方法?

P粉652495194P粉652495194336 天前538

全部回覆(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
  • 取消回覆