javascript - Stripe webhooks 事件顺序

标签 javascript node.js mongodb mongoose stripe-payments

我目前正在构建一个使用 Stripe 进行支付的 Node 应用程序。我已经设置并运行了 webhooks,因为我想在我的应用程序中创建订阅者,但需要来自 strip webhooks 的响应,以将针对不同事件接收到的数据存储在我的 mongo 数据库中的不同集合中。

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

  1. 客户创建
  2. customer.card.created(与客户相关)
  3. 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/

相关文章:

javascript - ExtJs4 + IE9 = 对象不支持属性或方法 'createContextualFragment'

javascript - ReactJS:预期 onClick 监听器是一个函数,而不是类型字符串

javascript - npm install 从 git repo 留下一个相当空白的包?

javascript - 我不知道如何在 svelte.js 中使用生命周期

javascript - MongoDB - 两个多边形的地理空间交集

javascript - Nodejs,通过回调关闭mongo db连接

javascript - 使用 animate.css 重复动画循环

javascript - 有没有办法使用 MongoDB 查询对象来过滤常规 JavaScript 数组?

node.js - Windows的 Electron 自动更新

mongodb - Meteor - 如何指定要返回和排序的字段?