哪些 Stripe webhook 确认订阅和产品付款?

Jan*_*Jan 8 stripe-payments

Stripe API 相当强大。我发现,由于向后兼容性,存在一些网络钩子(即:计划、收费..)

\n

我的意图很“简单”:

\n

我的应用程序应该允许用户在成功支付订阅或产品费用后执行某些操作。我销售的有些东西是订阅,有些是“一次性”付款。

\n

我不知道应该使用哪些 webhook 并且不会错过任何付款。

\n

有:

\n
    \n
  • 发票已付
  • \n
  • 发票定稿
  • \n
  • payment_intent.succeeded
  • \n
  • 订单.付款_成功
  • \n
  • 结帐.会话.完成
  • \n
  • checkout.session.async_ payment_succeeded
  • \n
\n

当然还有一些支付失败时的回调:

\n
    \n
  • 发票.付款失败
  • \n
  • 发票.finalization_failed
  • \n
  • payment_intent. payment_failed
  • \n
  • checkout.session.async_ payment_failed
  • \n
  • 订单.付款失败
  • \n
  • ...
  • \n
  • ..
  • \n
\n

我目前的假设是

\n
    \n
  • 发票已付
  • \n
  • 发票.付款失败
  • \n
\n

可能是“正确的”钩子

\n

我的第二个假设是

\n
    \n
  • payment_intent. payment_failed
  • \n
  • payment_intent.succeeded
  • \n
\n

我的方向正确吗?

\n

编辑:

\n

我添加Webhooks的内容:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n
网络钩子地位包含重复产品产品包含一次性产品计划顾客地址
客户.订阅.创建不完整的是的ID是的顾客\xe2\x80\x94
客户.订阅.更新积极的是的ID是的顾客\xe2\x80\x94
payment_intent.created需要付款方法\xe2\x80\x94ID\xe2\x80\x94\xe2\x80\x94顾客\xe2\x80\x94
payment_intent.succeeded成功了\xe2\x80\x94ID\xe2\x80\x94\xe2\x80\x94顾客billing_details.address
发票定稿打开是(行)是的是的是的顾客客户地址
发票.更新(包含“previous_attributes”)有薪酬的是(行)是的是的是的顾客客户地址
发票已付有薪酬的是(行)是的是的是的顾客客户地址
发票.付款_成功有薪酬的是(行)是的是的是的顾客客户地址
结帐.会话.完成完全的\xe2\x80\x94\xe2\x80\x94\xe2\x80\x94\xe2\x80\x94顾客billing_details.address
\n

Tar*_*zan 12

对于定期付款,简短的答案是您当前的假设是正确的,根据本文档,您应该倾听invoice.paidinvoice.payment_failed处理定期付款。您可能还需要监听customer.subscription.updated订阅更改的情况以及invoice.payment_action_required需要 3DS (SCA) 之类的情况,并且您可能需要让客户回来确认会话中的付款。

\n

当谈到一次性付款时,如果您\xe2\x80\x99正在使用Checkout,那么您应该听checkout.session.completed,另一方面,如果您\xe2\x80\x99正在使用Payment Intent API,那么您应该听payment_intent.succeededpayment_intent.payment_failed并且payment_intent.requires_action

\n

请记住,如果您\xe2\x80\x99 正在侦听 和payment_intent.* 事件invoice.*,则定期付款也会触发付款意图事件。如果在该事件中收到的付款意图中该invoice 字段不为空,则忽略该事件,因为它将在事件中进行处理invoice.*

\n

您可以在此处找到所有事件类型和描述。

\n

  • 非常感谢,很多事情看起来有点多余,这就是我困惑的地方。 (2认同)