gpt4 book ai didi

express - Stripe CLI 触发随机事件而不是 payment_intent.succeeded

转载 作者:行者123 更新时间:2023-12-04 02:33:50 32 4
gpt4 key购买 nike

这是我第一次使用 Stripe 进行测试,我无法解决我遇到的这个问题。我从 this link 复制了 Node/Express 的代码(我只是将端口更改为 3000 并删除了 bodyParser,因为我已经使用 app.use(bodyParser.json()) 对其进行了设置)并且我成功登录到我的帐户输入

stripe login
在 CLI 中。
在那之后,我设置了我的端点来监听 webhook
stripe listen --forward-to http://localhost:3000/webhook
一切似乎都设置好后,我开始测试,但我注意到 Stripe CLI 中的一些随机行为:每次我尝试使用
stripe trigger payment_intent.succeeded
我得到了不同的结果,如下所示:
2020-07-04 14:25:32   --> charge.succeeded [evt_1H1AQxH9PqQvGDtCJ7ShdAQE]
2020-07-04 14:25:32 <-- [400] POST http://localhost:3000/webhook [evt_1H1AQxH9PqQvGDtCJ7ShdAQE]
2020-07-04 14:25:34 --> payment_intent.succeeded [evt_1H1AQzH9PqQvGDtCl8ajm7po]
2020-07-04 14:25:34 <-- [200] POST http://localhost:3000/webhook [evt_1H1AQzH9PqQvGDtCl8ajm7po]
2020-07-04 14:25:34 --> payment_intent.created [evt_1H1AR0H9PqQvGDtC1xty9l6R]
2020-07-04 14:25:34 <-- [400] POST http://localhost:3000/webhook [evt_1H1AR0H9PqQvGDtC1xty9l6R]
2020-07-04 14:28:46 --> charge.succeeded [evt_1H1AU5H9PqQvGDtCHJ95Jb7H]
2020-07-04 14:28:46 <-- [400] POST http://localhost:3000/webhook [evt_1H1AU5H9PqQvGDtCHJ95Jb7H]
我从未触发charge.succeeded 或payment_intent.created,但尽管如此,它们还是出现在CLI 中(作为400 错误)而不是正常的200 payment_intent.succeeded。我尝试控制台记录上面 Stripe Docs 示例中 switch 语句使用的 event.type,它确实显示事件是 charge.succeeded 和 payment_intent.created。
现在我的问题是:这是某种尚未修复的错误还是我做错了什么?也许有人可以帮我解决这个问题吗?
在此先感谢您的时间 :)

最佳答案

来自 Stripe 开发人员之一的回答:

当您使用 Stripe CLI 触发一个事件时,它会在幕后制作所有必需的 API 方法来触发该事件。在这种情况下,它正在创建和确认 PaymentIntent。
要获得最终的 payment_intent.succeeded 事件,您需要创建一个 PaymentIntent(payment_intent.created 将为此事件触发)。然后您需要确认付款意图并实际收款(结果为:charge.created、charge.succeeded 和 payment_intent.succeeded)。
对于诸如 checkout.session.completed 之类的其他事件类型,将触发许多其他事件,这些事件表示作为获得有效 checkout.session.completed 事件的先决条件的对象。
如果您只想在本地转发 payment_intent.succeeded 事件(并且在生产中为您的 webhook 端点仅启用选定的事件类型是一个好主意),那么您可能希望传递 -e论据 stripe listen用逗号分隔的要监听的特定事件列表。在这种情况下,您可以将您的监听命令更新为:

stripe listen --forward-to http://localhost:3000/webhook -e payment_intent.succeeded
希望有帮助。如果您遇到任何问题,请随时通过 support.stripe.com/contact 或在 Freenode 上的 #stripe channel 中的 IRC 与团队联系。

我希望它对某人的帮助和对我的帮助一样多!

关于express - Stripe CLI 触发随机事件而不是 payment_intent.succeeded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62729435/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com