Files
veilix.app/docs/stages/stage-1g-renewals.md
T

29 lines
2.1 KiB
Markdown
Raw Normal View History

# Этап 1g. Продления
Статус: не начат.
## 1. Цель
Ключи продлеваются сами — с баланса, затем с демо-карты; льготный период, истечение и напоминания работают.
## 2. Входит
1. Задачи `renewals`, `expiry`, `reminders`, `reconcile` ([04-billing.md](../04-billing.md), разделы 6–7; [02-architecture.md](../02-architecture.md), раздел 7).
2. Автопродление: галочка на ключе, «Продлить сейчас»; списание с баланса, затем с демо-карты, повторы. Неуспешное списание с демо-карты включается в админке ([D-027](../decisions/D-027-demo-payments.md)).
3. Продления без оплаты: коллекция `key-extensions`, «Продлить вручную» в админке ([04-billing.md](../04-billing.md), раздел 6.4).
4. Кабинет: «Следующее списание», «Продлится автоматически через N дней» или «Осталось N дней», бейдж «Истекает».
5. Шаблоны на 5 языках: `renewal_reminder`, `expiry_reminder`, `renewal_succeeded`, `renewal_failed`, `grace_started`, `key_expired`.
## 3. Перед стартом
Этап 1f готов.
## 4. Готово, когда
Автотесты проходят сценарии:
1. Продление с баланса за 24 часа до окончания; денег нет → заказ ждёт → пополнение само оплачивает продление.
2. Продление с демо-карты; неуспешное списание → повторы → льготный период.
3. Переходы в льготный период и «истёк» с письмами в журнал.
4. Параллельные запуски задач не продлевают ключ дважды.
5. `reconcile` не находит расхождений.