我正在使用Stripe(测试模式)在我的应用程序中开发支付模块。我做了以下工作,
使用Customer.create(customerParams)将客户订阅到以条带形式创建的现有计划。据我所知,它将创建一个客户,订阅该计划,创建发票,收取发票。
我只为invoice.payment_succeeded(paymentSuccess)和invoice.payment_failure(paymentFailure)添加了一个webhook。在我的应用程序中创建了一个webhook。
我得到以下内容,
调用Customer.create(customerParams)后,我的paymentSuccess webhook成功调用,我可以使用它检索事件,发票,费用和客户详细信息,以便在我的应用程序中处理它。付费标志设置为true。
在特定时间间隔内(约30分钟左右),此会话不止一次(甚至超过3次)被调用,具有不同的发票ID,客户ID,费用ID。
我的问题:
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:2)
如果客户ID,发票ID和费用ID不同,那么它就不是同一个事件。
您可能有多个客户在您的帐户中设置了订阅。
每次任何发票付款成功时,Stripe都会发送invoice.payment_succeeded
个事件。
如果您有多个订阅客户,Stripe会在每个结算周期开始时自动为每个客户创建发票,并在创建后大约一小时尝试为这些发票付款。
您可以在任意attempt_count
上查找invoice object属性,以了解这是否是给定发票的首次付款尝试。