Stripe的文档说明他们的收费API是同步的。那么我们为什么需要Webhooks呢?
如果我的应用程序执行Stripe_Charge :: create()
(在PHP中),那么我不能将返回值作为成功交易记录到我们的数据库并在同一执行中发送确认电子邮件吗?
Webhooks只有在您需要通知不同后台系统时才会使用吗?还有哪些类型的事件对于在Webhook上侦听是有用的?
Stripe的文档说明他们的收费API是同步的。那么我们为什么需要Webhooks呢?
如果我的应用程序执行Stripe_Charge :: create()
(在PHP中),那么我不能将返回值作为成功交易记录到我们的数据库并在同一执行中发送确认电子邮件吗?
Webhooks只有在您需要通知不同后台系统时才会使用吗?还有哪些类型的事件对于在Webhook上侦听是有用的?
当调用Stripe_Charge :: create()时,可以确实像您所说的那样将其记录为成功交易(假设未失败),并发送确认电子邮件。
在使用Stripe管理循环付款(例如销售订阅)时,Webhooks非常有用。在这种情况下,发生了许多未直接由用户请求启动的事情。
例如假设用户订阅您的Gold Plan,该计划有30天的免费试用期。在试用结束前3天,customer.subscription.trial_will_end webhook会被触发。您可以通过发送给客户一封感谢他尝试您的订阅的电子邮件,并提醒他即将收取他的卡,来回应此操作。
然后,在他的卡收取费用成功后的三天内,您可以响应charge.succeeded webhook并每月向客户发送发票。
另一个非常有用的Webhook是charge.failed。根据您的重试设置,您可以通过此功能通知用户其卡正在被拒绝,并警告他在n天内其订阅将被终止。
总之,如果您没有利用订阅或发票,则Webhook的用途有限。但是,如果您这样做,它们是必不可少的。