Files
veilix.app/docs/stages/stage-1d-billing.md
T
andreypr207andClaude Opus 5.5 ae9531d5fc Документация: решения Q-02, Q-08, Q-09, Q-16; реферальный бонус днями
- 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>
2026-10-21 16:00:32 +02:00

3.1 KiB

Этап 1d. Биллинг без эквайринга

Статус: не начат.

1. Цель

Деньги и заказы работают целиком: оформление заказа, оплата с баланса, ручные платежи, продления, льготный период — без внешних платёжных систем.

2. Входит

  1. Коллекции orders, payments, ledger-entries, payment-methods (структура), keys (поля и статусы), key-extensions, audit-log.
  2. core/billing: processPayment, оплата с баланса, задачи renewals, expiry, reminders, reconcile; блокировки и уникальные ограничения (04-billing.md).
  3. /order по макетам обоих брендов: шаг «Почта» из 1c, шаг «Оплата» (с баланса; «Заказ создан, ожидает оплаты», когда платёжных систем нет), согласие с условиями, сводка из тарифа, локации и валюты.
  4. /buy в кабинете: dedicated — сетка локаций с ценами, mass — «Месяц» и «Год».
  5. Админка: ручной платёж, корректировка баланса, возврат на баланс, продление вручную (запись в key-extensions, 04-billing.md, раздел 6.4), блокировка, «Очередь выдачи»; всё — в журнал действий.
  6. Шаблоны писем на 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 проходят сценарии:

  1. Ручное пополнение → оплата заказа с баланса → заказ оплачен → ключ provisioning.
  2. Частичный баланс + ручной платёж на разницу → заказ оплачен.
  3. Продление с баланса за 24 часа; денег нет → заказ ждёт → пополнение само оплачивает продление.
  4. Переходы в льготный период и «истёк» с письмами.
  5. Частичный и полный возврат на баланс, с отменой ключа и без.
  6. Повторный processPayment и параллельные запуски задач не списывают дважды.
  7. reconcile не находит расхождений.