У меня есть веб-сервис, который публикует и размещает определенную информацию для моих пользователей. Интерфейс редактирования каждого пользователя отделен от информации, которую они опубликовали. Я рассчитываю на это с помощью подписки на Stripe, но у меня возникают проблемы с возможностью работы с неоплачиваемыми подписками. Вот логика, которую я хочу реализовать:Возобновление подписки с помощью Stripe (и взимание платы за ранее неоплаченный сервис)
- После первой неудачной попытки выставления счета мое приложение должно заблокировать интерфейс редактирования пользователя; вместо этого он должен предоставить им страницу с вариантами решения проблемы с платежами. Тем не менее, информация, которую они опубликовали, все равно будет опубликована, поэтому просроченная оплата не прерывает работу своих посетителей.
- После последней неудачной попытки оплаты, через 15 дней, мое приложение также должно удалить информацию, которую они опубликовали. На этом этапе интерфейс редактирования пользователя заменяется на тот, который позволяет им либо повторно активировать свою учетную запись с помощью новой кредитной карты, либо полностью удалить учетную запись.
- Если пользователь решает активировать учетную запись, они не должны получать пробный период
- Если пользователь повторно активируется, им также необходимо заплатить за 15 дней, которые они ранее пропустили, либо имея их первый период выставления счетов сократился на 15 дней или с использованием заряда, равного 15-дневной службе, добавленной к их первому счету.
# 1 и # 2 очень легко осуществить, если я наблюдаю за право webhooks-просто перенаправить запросы на провинившегося клиента, или клиент с удаленной или неоплачиваемый подписки на «решить эту проблему» страницы , # 3 тоже довольно просто - просто создайте подписку с trial_end
, установленной на now
.
Это # 4, это сложно. Как точно определить, сколько времени последний счет пользователя остался неоплаченным до отмены подписки? Как сократить первый период оплаты новой подписки? В качестве альтернативы, как мне оценить процентную ставку последнего счета-фактуры клиента, чтобы представить часть, которую я им фактически предоставил, поэтому я могу добавить эту сумму к новому счету? (Я знаю, что могу создать элемент счета, чтобы взимать плату до начала новой подписки, поэтому, по крайней мере, это возможно.)
Наконец, опция Strip «Отметить подписку Неоплачиваемый» поможет с этим? Похоже, что он продолжает создавать счета-фактуры, но не пытается их взимать; Я не думаю, что это то, чего я хочу здесь.