Система подписок ломается не на оплате, а на логике доступа и отмены
Подписка в SaaS должна отвечать на три вопроса: кто платит, что именно получает и когда теряет доступ. Если один из ответов размыт, появляются спорные биллинги, ручные разборы и отток «без причины».
Соберите модель вокруг состояний:
— trial: пробный доступ с ограничениями;
— active: доступ открыт;
— past_due: платёж не прошёл, но есть grace period;
— canceled: автопродление выключено, доступ по правилам до конца периода;
— expired: доступ закрыт.
Главные ошибки:
— смешивать тариф и права доступа в одном поле;
— не хранить историю смены плана;
— делать «мягкую» отмену без явной даты завершения;
— не отделять уведомления о платеже от уведомлений о блокировке.
Удобная схема: права вычисляются не по названию тарифа, а по набору флагов и лимитов. Тогда апгрейд, даунгрейд, пауза и ручная компенсация не ломают остальную логику.
Если подписка описана как цепочка состояний и правил доступа, продукт переживает рост без хаоса в биллинге и поддержке.
Разработка SaaS на Team
@team_saas_development_ww
Система подписок ломается не на оплате, а на логике доступа и отмены
Этот пост опубликован в Telegram-канале Разработка SaaS на Team. Подписаться можно по ссылке: @team_saas_development_ww.