Stripe Checkout- 如何将值传递给 webhook?

Stripe Checkout- How to pass a value through to webhook?

如何将自定义值(在本例中为来自 Firebase 的用户 ID)传递给 Stripe webhook?

我正在尝试将 charge.succeeded 事件与用户 ID 相关联,以便我可以将值从节点服务器写入数据库并更改用户在站点上的路由。

这是可行的还是有更好的方法?

  <form action="/charge" method="POST">
    <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
      data-key="pk_"
      data-amount="3495"
      data-zip-code="true"
      metadata="test metadata test"
      data-description="Download and save your document"
      data-locale="auto">
    </script>
  </form>

在构建费用 [2] 时创建元数据 [1] 字段。当你得到 charge.succeeded 事件时,它应该在 Charge 对象上。

如果您要在结帐时接受此值,则需要将另一个字段与要提交的表单一起传递,然后使用它来构建元数据。我在下面提供了一个示例,说明如何将其他字段与通过结帐提交的表单一起传递:

<form action="/charge" method="POST">

    <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
      data-key="pk_"
      data-amount="3495"
      data-zip-code="true"
      metadata="test metadata test"
      data-description="Download and save your document"
      data-locale="auto">
    </script>

    <!-- THE STUFF YOU'RE MISSING IS BELOW -->

    <input type="text" name="extra-field"></input>

</form>

不过请记住,您需要在后端实际发出创建收费 [2] API 请求才能进行收费。这就是显示给用户的内容。

这有意义吗?


[1] https://stripe.com/docs/api#metadata

[2]https://stripe.com/docs/api#create_charge