我目前正在构建一个使用 Stripe 进行支付的 Node 应用程序。我已经设置并运行了 webhooks,因为我想在我的应用程序中创建订阅者,但需要来自 strip webhooks 的响应,以将针对不同事件接收到的数据存储在我的 mongo 数据库中的不同集合中。
我遇到的问题是 Stripe 发送的事件顺序并不总是相同的顺序,为了在文档/集合之间创建关系,我要求事件处理程序按以下顺序触发:
- 客户创建
- customer.card.created(与客户相关)
- invoice.created(与客户相关)
就目前而言,2 的事件处理程序可以在 1 之前执行,3 可以在 2 之前执行,等等。
确保我的处理程序每次都按正确顺序执行的最佳方法是什么?我在想某种 promise 。如果是这样的话,node 的一个好的 promise 模块是什么?
最佳答案
如果事件丢失,你可以拒绝 Hook ,stripe 稍后会尝试,但如果你希望它快速发生,你可以做一个小循环,最多等待 10 秒,如果丢失的事件到达,谁每秒检查一次)。
我在更新计费计划时遇到同样的问题,事件 invoice.updated 在 invoice.created 之前到达 ...
关于javascript - Stripe webhooks 事件顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31775335/