Stripe Elements 更新订户付款方式

Stripe Elements update subscriber payment method

如何让用户使用 Stripe Elements 更新他们订阅的支付方式? 我在文档和 Whosebug 上都找不到对此的任何引用。

这就是我当前在用户首次订阅我们的服务时设置默认付款方式的方式。

  1. 创建 Stripe 订阅对象
  2. 呈现 React CardElement 组件。
  3. 提交时,我用 stripe.confirmCardPayment(cardElement)
  4. 调用浏览器端的 Stripe 库
  5. 然后这会触发 invoice.payment_succeeded webhook 事件。
  6. 在 webhook 事件中,我获得了用于 检索 附加了 payment_method ID 的付款意向对象的付款意向 ID。
  7. 然后我更新 Stripe 的订阅对象以使用成功的 payment_method 的 ID 作为默认支付方式。

有没有一种方法可以在不先 payment_intent 的情况下更新订阅的付款方式? Link 提供文档将不胜感激。

谢谢

您可以使用 SetupIntents 保存客户的卡而无需初始付款:https://stripe.com/docs/payments/save-and-reuse-cards-only [直到第 4 步]

侦听 setup_intent.succeeded webhook 事件以了解 SetupIntent 何时成功,因为客户可以在 stripe.confirmPayment 回调执行之前关闭浏览器 window 或退出应用程序。

更新订阅以使用生成的 PaymentMethod ID 作为默认付款方式。

或者,您也可以使用客户门户来允许客户更新他们的订阅付款方式:https://stripe.com/docs/billing/subscriptions/customer-portal