Heim > Fragen und Antworten > Hauptteil
Mein Restaurant nutzt Laravel Cashier und Stripe.
Ich möchte für meine Kunden mehrere von Stripe unterstützte Zahlungsmethoden verwenden, kann jedoch in der Laravel Cashier-Dokumentation keine Informationen zur Verwendung mehrerer Zahlungsmethoden in Stripe finden.
Das Dokument „Zahlungen akzeptieren“ in der Stripe-Dokumentation war genau das, was ich brauchte. Gibt es eine Möglichkeit, die in diesem Dokument beschriebene Methode mit Laravel Cashier zu implementieren?
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) );