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

Rob*_*ers 5 javascript webhooks stripe-payments

如何将自定义值(在本例中为 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>
Run Code Online (Sandbox Code Playgroud)

and*_*der 4

在构建费用 [2] 时创建元数据 [1] 字段。当您收到charge.succeeded-event 时,它应该位于 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>
Run Code Online (Sandbox Code Playgroud)

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

那有意义吗?


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

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