我正在使用Stripe(测试模式)开发我的应用程序中的支付模块。我已经完成了以下操作:
- 使用Customer.create(customerParams)将客户订阅到Stripe中创建的现有计划。我理解这将创建一个客户,订阅计划,创建发票并收取发票。
- 我已添加了一个Webhook,仅针对invoice.payment_succeeded(paymentSuccess)和invoice.payment_failure(paymentFailure)。在我的应用程序中创建了一个Webhook。
- 在调用Customer.create(customerParams)后,我的paymentSuccess Webhook成功调用,使用它可以检索事件、发票、费用和客户详细信息以在我的应用程序中处理。paid标志设置为true。
- 在特定时间间隔(大约30分钟左右)内,此Webhook会多次调用(甚至超过3次),具有不同的发票ID、客户ID和费用ID。
- 为什么同一事件会出现多个Webhook调用?
- 如果这是对失败付款的重试,实际上并没有失败的付款。调用始终是invoice.payment_succeeded。
- 即使事件重复,为什么每次的customer_id、invoice_id都不同,因为付款只进行了一次,所以应该是相同的。