- Q-02: цены mass в USD $6.99 и $69.90, пресеты пополнения в RUB и USD. - D-025: реферальный бонус — 30 дней к ключу обоим вместо денег; продления без оплаты (key-extensions); крайние случаи — Q-19. - Q-08, Q-09: help@veilix.app и help@veilixvpn.com, часы по Москве. - Q-16: ящики на почтовом хостинге (R-18), на этапе 2 — Chatwoot по IMAP. - R-01 сделано; R-17: путь HMR в Next 16.4 — /_next/hmr. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Этап 1d. Биллинг без эквайринга
Статус: не начат.
1. Цель
Деньги и заказы работают целиком: оформление заказа, оплата с баланса, ручные платежи, продления, льготный период — без внешних платёжных систем.
2. Входит
- Коллекции
orders,payments,ledger-entries,payment-methods(структура),keys(поля и статусы),key-extensions,audit-log. core/billing:processPayment, оплата с баланса, задачиrenewals,expiry,reminders,reconcile; блокировки и уникальные ограничения (04-billing.md)./orderпо макетам обоих брендов: шаг «Почта» из 1c, шаг «Оплата» (с баланса; «Заказ создан, ожидает оплаты», когда платёжных систем нет), согласие с условиями, сводка из тарифа, локации и валюты./buyв кабинете: dedicated — сетка локаций с ценами, mass — «Месяц» и «Год».- Админка: ручной платёж, корректировка баланса, возврат на баланс, продление вручную (запись в
key-extensions, 04-billing.md, раздел 6.4), блокировка, «Очередь выдачи»; всё — в журнал действий. - Шаблоны писем на RU и EN:
order_paid,key_provisioning,renewal_reminder,expiry_reminder,renewal_succeeded,renewal_failed,grace_started,key_expired,topup_succeeded,refund_issued,admin_new_order,admin_provisioning_needed.
3. Не входит
Подключения и выдача ключа (1e), реальные платёжные системы (этап 4). Для проверок ключ переводится в active вручную в админке.
4. Перед стартом
Этап 1c готов.
5. Готово, когда
Автотесты core/billing проходят сценарии:
- Ручное пополнение → оплата заказа с баланса → заказ оплачен → ключ
provisioning. - Частичный баланс + ручной платёж на разницу → заказ оплачен.
- Продление с баланса за 24 часа; денег нет → заказ ждёт → пополнение само оплачивает продление.
- Переходы в льготный период и «истёк» с письмами.
- Частичный и полный возврат на баланс, с отменой ключа и без.
- Повторный
processPaymentи параллельные запуски задач не списывают дважды. reconcileне находит расхождений.