在 Stripe 外部开具发票时,使用什么 Stripe Webhook 来捕获订阅续订?

bon*_*225 4 webhooks stripe-payments

我直接在 Stripe 仪表板中创建了客户和订阅,因为客户在 Stripe 之外通过支票+发票付款。

Stripe 每月都会发送 Webhooks,与普通信用卡订阅类似,特别是发票 Webhook ( invoice.updatedinvoice.finalizedinvoice.sent) 以及customer.subscription.updated.

我的应用程序查找以下网络钩子来连接计费事件/实际升级客户帐户:

customer.created
customer.subscription.created
customer.subscription.updated
customer.subscription.deleted
charge.succeeded
Run Code Online (Sandbox Code Playgroud)

charge.succeeded一直是我首选的网络挂钩,用于提醒我的应用程序更新客户的帐户(例如提供每月福利)。我的问题是,在开具发票时,实际上将发票标记为“已付款”会比发票生成和帐户应该续订的时间滞后 7-14 天,所以我不能使用 a 作为 的invoice.paid等价物charge.succeeded

我正在尝试找出在支票客户付款的订阅续订中发送的 Webhook。customer.subscription.updated确实会在订阅续订时发生,但这可能会在计划更改时触发。同样的事情invoice.sent也可能在计划改变时发生。

是否有专门针对“该客户的订阅刚刚续订,无论他们是否已经付款”的网络钩子?

koo*_*jah 6

没有专门针对更新的活动。您应该做的是监听customer.subscription.updated事件,然后查看发生变化的数据来评估是否是更新。这个想法是查看内部data[previous_attributes]doc)并检查和属性Event是否已更改,这将表明续订(或计费周期更改)。current_period_startcurrent_period_end