Stripe Elements - 付款更新数据库

Stripe Elements - Payment Updates Database

我目前正在将 Stripe Elements 集成到我的 ReactJS 应用程序中。我正在开发的是一个系统,我的用户可以在其中上传图像以在我的网络应用程序上显示为广告 30 天。这意味着付款需要用新的到期日期更新我的数据库中的一行。我们还让用户手动续订每个到期期限,因此我们不使用订阅。

据我了解,第一次客户的流程如下:

  1. 用户进入广告上传页面

  2. 用户提交广告表单。客户端向我的 API 服务器发送 POST 请求并使用 NodeJS Stripe SDK

    创建支付意图
    • 广告保存到数据库中,有效期为空。
    • 付款意向 ID 保存到关系 table 中,将其与横幅相关联 广告
    • 付款意向机密已发送至客户端,状态为 OK
  3. Client Secret 已提供给 Elements 以显示和处理付款表单

  4. Stripe 使用付款意向 ID 将事件发送到我的 webhook 端点。

    • 使用付款意向 ID 查找应使用新到期日期更新哪个横幅广告

根据我在文档中阅读的内容,此流程应该有效。如果有人发现问题,请告诉我!

我的问题是:我可以在用户购买后立即显示他们的下一个广告到期日期吗?或者我是否需要在我的 webhook 收到事件之前向他们显示“待处理”?

提前感谢您的任何回答或建议!

可以,但是否应该主要是您根据希望实现的客户体验做出的业务决策。

它可能会受到您提供的确切集成路径和付款方式选项的影响。如果您打算使用具有延迟通知付款方式的付款元素,那么您可能需要等待付款成功的确认。
https://stripe.com/docs/payments/payment-methods#payment-notification

但是如果您使用的是卡片元素并且只接受卡片,那么如果付款成功,confirmCardPayment 的部分响应就是付款意向,这样您就可以更直接地了解成功。 https://stripe.com/docs/js/payment_intents/confirm_card_payment