我的餐廳使用 Laravel Cashier 和 Stripe。
我想為我的客戶使用 Stripe 支援的多種付款方式,但我在 Laravel Cashier 文件中找不到有關在 Stripe 中使用多種付款方式的任何資訊。
Stripe 文件中的接受付款文件正是我所需要的。有沒有辦法用 Laravel Cashier 實作本文檔中所描述的方法?
P粉4712073022023-12-12 11:01:41
為收集付款方式而建立的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粉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) );