使用Stripe的webhooks在后端更新订阅的最佳方法是什么?

时间:2018-12-08 18:39:58

标签: stripe-payments webhooks

我的Webhook应该寻找什么事件以更新数据库中客户的订阅?我假设customer.subscription.updated因为它包含current_period_startcurrent_period_end项目。但是,我担心的是,customer.subscription.updated显然是在invoice.payment_succeeded被触发之前一个小时被触发的。如果付款在一小时后失败,我不想更新客户的订阅。

1 个答案:

答案 0 :(得分:1)

duck在他/她的评论中所述,我认为如果发票付款失败或成功,更新订阅的最佳方法是听这些事件:

实际上,这是我在生产中处理事情的方式,并且非常有效。我会推荐Stripe文档的文章Billing Lifecycle and Events,尤其是The subscription lifecycle部分:

  

在此第一张发票之后,以下每个事件周期都会重复   结算期:

     
      
  1. 订阅接近续订日期时,将发送invoice.upcoming事件。
  2.   
  3. 订阅期过后,将发送invoice.created事件,指示已创建发票草稿。
  4.   
  5. 在创建发票后约一个小时,发票将完成(不再允许更改),并且发生invoice.finalized事件   已发送。尝试收费,并将charge.succeeded事件发送到   表示付款成功。
  6.   
  7. 发送了invoice.payment_succeeded事件,以表明发票已标记为已付款。
  8.