# Этап 1e. Счёт и оплата Статус: не начат. ## 1. Цель Покупка ключа и пополнение баланса работают целиком на демо-оплате, без эквайринга. ## 2. Входит 1. Коллекции `orders`, `payments`, `ledger-entries`, `payment-methods`. 2. `core/billing`: `processPayment`, оплата с баланса, блокировки и уникальные ограничения ([04-billing.md](../04-billing.md), разделы 1–5 и 14). 3. Платёжная система «Демо» ([D-027](../decisions/D-027-demo-payments.md)): страница демо-оплаты, демо-привязка карты, доступ по списку IP. `manual` — для администраторов. 4. `/order` по макетам обоих брендов: шаг «Почта» (вход из 1c), шаг «Оплата» (с баланса, демо-оплатой, демо-картой; «Заказ создан, ожидает оплаты», если платёжных систем нет), согласие с условиями, сводка из тарифа, локации и валюты. 5. Кабинет: a. `/buy`: dedicated — сетка локаций с ценами, mass — «Месяц» и «Год»; b. «Счёт и платежи»: баланс, пополнение (пресеты и своя сумма), привязанная карта и «Отвязать карту», история; c. смена валюты аккаунта ([04-billing.md](../04-billing.md), раздел 2). 6. После оплаты ключ создаётся в статусе `provisioning` и выдаётся вручную (1d); автоматически — с 1f. 7. Админка: ручной платёж, корректировка баланса, возврат на баланс; всё — в журнал действий. 8. Шаблоны на 5 языках: `order_paid`, `key_provisioning`, `topup_succeeded`, `refund_issued`, `admin_new_order`, `admin_provisioning_needed`. ## 3. Не входит Продления (1g), реальные платёжные системы (3b, 4a, 4b). ## 4. Перед стартом Этап 1d готов. ## 5. Готово, когда 1. С разрешённого IP ключ покупается демо-оплатой и с баланса; отказ демо-оплаты виден пользователю. 2. Демо-карта привязывается и отвязывается. 3. Автотесты `core/billing` проходят сценарии: a. пополнение → оплата заказа с баланса → заказ оплачен → ключ `provisioning`; b. частичный баланс и оплата разницы → заказ оплачен; c. частичный и полный возврат на баланс, с отменой ключа и без; d. повторный `processPayment` не списывает дважды.