Stripe 的文档解释说他们的费用 API 是同步的。那为什么我们需要网络钩子(Hook)?

如果我的应用程序执行 Stripe_Charge::create()(在 PHP 中),那么我是否可以不获取返回值并将其作为成功交易记录在我们的数据库中并在同一执行中发送确认电子邮件?

仅当您有不同的后台系统需要通知时才使用 webhooks 吗?在 webhook 上监听哪些其他类型的事件是有用的?

最佳答案

在调用 Stripe_Charge::create() 时,您确实可以如您所说,将其记录为成功的交易(假设它没有失败)并发送您的确认电子邮件。

Webhooks 在使用 Stripe 管理经常性付款时非常有用,例如在销售订阅时。在这种情况下,发生的许多事情并不是由用户请求直接发起的。

例如,假设用户订阅了您的黄金计划,该计划有 30 天的免费试用期。在试用结束前三天,customer.subscription.trial_will_end 网络钩子(Hook)被触发。您可以通过向客户发送电子邮件感谢他试用您的订阅来对此做出回应,并提醒他他的卡即将收费。

然后,3天后,当他的卡被扣款,并且支付成功时,您可以回复charge.succeeded webhook,每个月给他寄一张发票。

另一个非常有用的网络钩子(Hook)是charge.failed。根据您的重试设置,您可以通过让用户知道他们的卡被拒绝来对此做出回应,并警告他在 n 天后他的订阅将被终止。

总之,如果您不使用订阅或发票,则 webhook 的用处有限。但如果你是,它们是不可或缺的。

10-06 00:26