【问题标题】:Stripe subscription events webhooks are not clearStripe 订阅事件 webhook 不清楚
【发布时间】:2021-01-19 16:10:42
【问题描述】:

假设我让客户订阅一项服务,我认为有 2 个事件需要了解:

  1. 当前充值成功或失败,恭喜他加入。
  2. 下一次收费(每个月)成功或失败。

Stripe 的事件太多了,很难知道该听哪一个:

invoice.paid - “每当发票付款尝试成功时发生”

charge.succeeded - “在创建新费用时发生”(有什么区别??)

invoice.payment_succeeded - “每当发票付款尝试成功时发生。”

customer.subscription.created - “每当客户注册新计划时发生。”

现在我知道单个 API 调用可能会发生一些事件,但是,

What should a developer listen to in order to know that his user successfully subscribed, or failed ? invoice.paid 与 charge.succeeded 有何不同? invoice.payment_succeeded 和那些有什么不同?

这太乱了,我只需要得到一个是或否。 我读了 API https://stripe.com/docs/api/events/types

【问题讨论】:

    标签: stripe-payments


    【解决方案1】:

    这取决于你想听什么。

    charge.succeeded 将在发票成功支付时触发,但也会在一次性付款时触发。

    invoice.paid 将在支付发票时触发,但如果您将发票标记为带外付款(例如有人以现金支付给您)也会触发

    invoice.payment_succeeded 与invoice.paid 相同,但如果您将发票标记为带外付款,则不会触发。如果您预计永远不会接受带外付款,请考虑使用此事件。

    customer.subscription.created 将在创建新订阅时触发,这与支付的第一张发票不同(例如,您可以创建具有不会立即触发发票支付事件的试用期的订阅)。

    如果您的业务只使用订阅(而不是一次性付款)并且您并不特别关心发票数据,请使用charge.succeeded。如果您同时使用两者,那么侦听这两个事件以区分两者会很有用。

    在您的情况下,您可能只想听invoice.payment_succeeded。收到发票后,查看billing_reason字段:https://stripe.com/docs/api/invoices/object#invoice_object-billing_reason

    如果设置为subscription_create,请发送您的祝贺电子邮件。如果是subscription_cycle,则说明订阅进入新的计费周期,支付成功。

    【讨论】:

      猜你喜欢
      • 2014-05-01
      • 2023-03-19
      • 2017-03-04
      • 2016-10-18
      • 2013-10-24
      • 2023-03-11
      • 2021-08-22
      • 2021-03-28
      • 2021-02-16
      相关资源
      最近更新 更多