Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stripe payments 检测条带订阅的自动取消,并在\u时段\u结束时取消\u true_Stripe Payments_Webhooks_Stripe Connect - Fatal编程技术网

Stripe payments 检测条带订阅的自动取消,并在\u时段\u结束时取消\u true

Stripe payments 检测条带订阅的自动取消,并在\u时段\u结束时取消\u true,stripe-payments,webhooks,stripe-connect,Stripe Payments,Webhooks,Stripe Connect,在我的Stripe Connect应用程序中,我想处理Stripe customer.subscription.deleted 支付尝试失败后自动取消订阅时生成的webhook(基于失败支付的订阅设置) 各国: “如果customer.subscription.deleted事件的请求属性为空,则可以看到订阅已自动取消,而不是通过您的请求取消。” 另见 但是,如果订阅已将“在周期结束时取消”设置为“true”,则customer.subscription.deleted事件的请求属性将为null

在我的Stripe Connect应用程序中,我想处理Stripe customer.subscription.deleted 支付尝试失败后自动取消订阅时生成的webhook(基于失败支付的订阅设置)

各国: “如果customer.subscription.deleted事件的请求属性为空,则可以看到订阅已自动取消,而不是通过您的请求取消。” 另见

但是,如果订阅已将“在周期结束时取消”设置为“true”,则customer.subscription.deleted事件的请求属性将为null,即使订阅在周期结束时“自然”结束,而不是由于支付尝试失败


因此,我的问题是,我如何检测到由于支付尝试失败而取消了“在时段结束时取消”设置为true的订阅?

目前无法区分这两种情况。我建议您将您在当前期间结束时已将订阅标记为取消的内容存储在您的端。这样,当您收到
customer.subscription.deleted
事件时,您可以根据您端的该标志检查它是否来自失败的付款


另一个解决方案是查看该订阅的最新发票。您可以查看该属性,查看对其进行了多少次重试,并推断取消是否来自上次尝试。

是的,我就是这么想的。哦,不管怎样,谢谢你!我真的不喜欢根据尝试次数推断这一点,因为这会在订阅失败的支付尝试设置上引入耦合。另一句话,如果不假设订阅失败支付设置中配置了什么,我如何知道尝试次数的值确定这确实是失败的支付?是的,您需要推断其中的一部分,但这是一个备份解决方案。在我看来,正确的解决办法是自己跟踪这一点。