【发布时间】:2019-10-25 13:51:07
【问题描述】:
我有一个用于 invoice.payment_failed 的 Stripe 事件的 webhook。每当客户为发票付款失败时,都会触发此 Webhook。
例如,如果用户资金不足,则可以每月多次调用 webhook。
如果用户在当月的付款尝试失败,我的应用程序允许用户登录到他们的帐户并启动手动尝试支付发票。它是通过以下调用启动的:
stripe.invoices.pay(invoiceId);
文档:https://stripe.com/docs/api/invoices/pay
上述方法也调用了invoice.payment_failed webhook。据我所知,无法判断 webhook 是由 Stripe 内部操作(例如支付重试)还是手动 API 操作(例如我上面的调用)启动的。
我比较了两种调用之间的事件对象,它们是相同的。还有其他方法可以确定触发 webhook 的原因吗?
【问题讨论】:
-
我很好奇这里的用例是什么。想知道当您收到 webhook 时是否有一个内部计数器可以跟踪,如果用户采取了行动,您就重置该计数器...
-
@w1zeman1p - 几乎!如果从 Stripe 内部操作调用,我的应用程序会记录
invoice.payment_failedwebhook。如果 webhook 是由用户启动的,我不希望更改计数。 -
@Fizzix 你有没有为这个问题找到可行的解决方案?我遇到了完全相同的问题。我想从 invoice.payment_failed webhook 向用户发送一封电子邮件,但如果用户在卡拒绝时手动支付发票,我不想这样做。
标签: javascript node.js stripe-payments webhooks