Stripe webhooks 事件顺序

lea*_*rrr 5 javascript mongoose mongodb node.js stripe-payments

我目前正在构建一个使用 Stripe 进行支付的节点应用程序。我已经设置了 webhooks 并开始工作,因为我想在我的应用程序中创建订阅者,但是需要来自 Stripe webhooks 的响应来存储我的 mongo db 中不同集合中不同事件的接收数据。

我遇到的问题是 Stripe 发送的事件顺序并不总是相同的顺序,为了在文档/集合之间创建关系,我需要按以下顺序触发事件处理程序:

  1. 客户创建
  2. customer.card.created(与客户有关)
  3. invoice.created(与客户有关)

就目前而言,2 的事件处理程序可以在 1 之前和 3 在 2 之前执行,等等。

确保我的处理程序每​​次都以正确的顺序执行的最佳方法是什么?我在想某种承诺。如果是这种情况,node 的一个好的承诺模块是什么?

hug*_*ugs 4

如果事件丢失,您可以拒绝钩子,stripe 稍后会尝试它,但如果您希望它快速发生,您可以创建一个小循环,等待最多 10 秒,并每秒检查丢失事件是否到达)。

我在更新计费计划时遇到同样的问题,事件invoice.updated 在invoice.created 之前到达...