Laravel Cashier – Stripe mehrere Zahlungsmethoden
P粉652495194
P粉652495194 2023-12-11 18:56:12
0
2
589

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粉652495194
P粉652495194

Antworte allen(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) );
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage