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

标签 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>

最佳答案

在构建费用 [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

关于javascript - Stripe Checkout- 如何将值传递给 webhook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37798593/

相关文章:

javascript - 从 Stripe Webhook 更新 Parse.com 用户

.net - 为批量操作实现网络 Hook

javascript - 调用JS函数onClick

javascript - Meteor:剥离不正确的安全代码不会引发客户端错误

javascript - Stripe 不向客户添加卡 - Angular 2/Express

swift - Code=50 “No such payment_intent” 确认 Stripe 付款意图时

node.js - 使用 Dialogflow 触发自定义警报短语(意图)

javascript - 未捕获的范围错误: Maximum call stack size exceeded (Is there a data limit size)?

javascript - Meteor 上出现错误的同步问题

javascript - 提交表单时数据表中的复选框不起作用