【问题标题】:Stripe Checkout - How to handle user id with webhooksStripe Checkout - 如何使用 webhook 处理用户 ID
【发布时间】:2022-01-23 11:10:33
【问题描述】:

我目前正在将 Stripe 结帐添加到我的应用程序中。我的目标实际上是至少拥有尽可能多的代码。

documentation 说我需要处理至少三种不同的 webhook 类型:

  • checkout.session.completed
  • invoice.paid
  • invoice.payment_failed

我尽量避免在 Stripe 中处理任何客户,我认为结帐组件没有必要。

但是,我仍然需要 webhook 中的用户 ID 来相应地更新状态。

在后端创建会话时,我将添加字段client_reference_id

对于状态checkout.session.completed,我得到了这个字段,一切都很好。

对于invoice.paid 我不明白,我需要在会话中使用subscription_data.metadata 来获取此数据。

对于invoice.payment_failed,我不知道如何获取它或如何使用 CLI 对其进行测试,因为我无法添加元数据,也无法添加 client_reference_id

您知道这里的最佳做法是什么以及我应该如何实施吗?或者我真的应该在 Stripe 中处理客户吗?

谢谢!

【问题讨论】:

    标签: stripe-payments


    【解决方案1】:

    有几种不同的方法可以处理这个问题 -

    • 如果在subscription_data.metadata 中也设置了client_reference_id,您仍然可以从retrieving the Subscriptioninvoice.paidinvoice.payment_failed 事件中获取它,该事件位于发票上的subscription 上(请参阅api ref)。李>
    • 您可以更改数据库以存储 Stripe Customer 和 client_reference_id 之间的关系。当您收到 invoice.paidinvoice.payment_failed 事件时,您将获取客户 ID,并且数据库中的信息将允许您将其绑定回正确的 client_reference_id

    【讨论】:

      猜你喜欢
      • 2016-10-14
      • 2019-04-20
      • 2020-05-16
      • 2021-07-14
      • 2018-10-07
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多