如何为 Paypal 订阅实施宽限期?

问题描述 投票:0回答:0

在 Stripe 中,当订阅付款失败时,订阅的状态会更改为

past_due
,同时 Stripe 会尝试向订阅者收费;如果最后一次尝试也失败,则订阅状态更改为
canceled
。因此,虽然订阅是
past_due
,但我知道它处于宽限期,我可以邀请用户在他们的订阅被最终取消之前尽快支付订阅费用。

如何使用Paypal实现以上目标?据我了解,当下一次到期付款失败时,订阅仍然是

active
,而 Paypal 会再尝试两次向订户收费,每次间隔五天。因此,如果订阅在 5 月 14 日到期,但付款失败,Paypal 会在 5 月 19 日重试,并在 5 月 24 日再试一次;那时,订阅状态(在这 10 天内一直是
active
)更改为
suspended
(不是
canceled
)。

我读到 Paypal 在订阅付款失败时发送 BILLING.SUBSCRIPTION.PAYMENT.FAILED webhook。这个 webhook 包括一个

next_payment_retry_date
告诉我 Paypal 什么时候会重新尝试向订户收费,我已经读过,当为最后一次失败的尝试(第 10 天进行的尝试)发送 webhook 时,
next_payment_retry_date
将被设置到
null
。所以,我的想法是听取 BILLING.SUBSCRIPTION.PAYMENT.FAILED 并将用户的订阅标记为
past_due
当我得到这个 webhook 时,除非 webhook 的
next_payment_retry_date
设置为
null
:在那种情况下,我可以取消通过 API 订阅并将用户的订阅标记为
canceled
.

任何人都可以确认这是一个可靠的解决方案吗?

paypal paypal-subscriptions
© www.soinside.com 2019 - 2024. All rights reserved.