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

时间:2016-06-13 20:29:29

标签: javascript stripe-payments webhooks

如何将自定义值(在本例中为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>

1 个答案:

答案 0 :(得分:1)

在您构建费用时创建元数据[1]字段[2]。当你得到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