gpt4 book ai didi

api - Stripe : webhook events order

转载 作者:行者123 更新时间:2023-12-03 13:42:03 26 4
gpt4 key购买 nike

您应该如何处理通过 webhooks 接收的事件可以以随机顺序接收的事实?

例如,给定以下有序事件:

  • A:invoiceitem.created(数量为1)
  • B:invoiceitem.updated(数量从 1 到 3)
  • C:invoiceitem.updated(数量从 3 到 2)

  • 您如何确保接收 C-A-B 不会导致数据损坏(即数量为 2 而不是 3)?

    您可以 如果 Event#data 中的 previous_attributes 与当前状态不对应,则拒绝 webhook ,但是如果您的本地模型已经更新,您就会陷入困境,因为您永远不会发现自己处于 webhook 预期的状态。

    或者你可以直接使用 将任何 webhook 视为检索和更新对象的提示 .您只需忽略 webhook 发送的数据并始终检索它。
    即使您收到按 update/delete/create 排序的事件,它也应该可以工作,因为 update 实际上会创建对象,delete 会删除它,而 create 将无法检索对象并且什么都不做。
    但是,每次 webhook 将数据作为事件数据提供时,都感觉检索数据是一种资源浪费。

    这个问题是 asked before但答案不包括上述解决方案。

    谢谢

    最佳答案

    如果您的应用程序对这种可能及时发生的更改很敏感,那么您真的应该使用该事件作为检索对象的信号,正如@koopajah 在他们的评论中指出的那样。这是确保您拥有最新状态的唯一方法。

    关于api - Stripe : webhook events order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51172309/

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