Files
veilix.app/docs/decisions/D-027-demo-payments.md
T
andreypr207andClaude Opus 5.5 515acfb69d Документация: этапы по фазам, решения D-026…D-033
- Новый порядок этапов (D-026): фаза 1 — концепт на dev без внешних
  сервисов (1b сайт, 1c вход, 1d ключи, 1e счёт и демо-оплата,
  1f демо-выдача, 1g продления, 1h рефералы); фаза 2 — Telegram;
  фаза 3 — ALTCHA, ЮKassa, почта, Twenty, Chatwoot, Umami, выдача
  через API и публичный запуск; фаза 4 — звёзды и эквайринги.
- Решения: демо-оплата по списку IP (D-027), выдача ключей через
  адаптер manual/demo/api (D-028), страницы сайта из блоков Payload
  (D-029), пересборка через revalidatePath (D-030), RU-адрес у mass
  (D-031), счётчик свободных серверов (D-032), переводы на 5 языков
  в каждом этапе (D-033).
- Тексты описывают работающий продукт; Вейликс — выделенный IP на
  общем сервере; Telegram поддержки — @veilix_support; сроки ответа
  не обещаем; VPN-серверы не ведут журналов.
- Ссылки на этапы во всех документах, Q-12 решён (ЮKassa для RUB),
  R-19 (библиотеки для headless Chromium) сделано.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 03:48:10 +02:00

2.1 KiB

D-027. Платёжная система «Демо»

Статус: принято, 22.10.2026.

Контекст

Путь покупки и продления нужно проверить целиком до подключения эквайрингов. Ручной платёж из админки этого не даёт: пользователь не проходит оплату сам.

Решение

  1. Адаптер demo в core/payments/ с тем же интерфейсом, что у настоящих провайдеров, и возможностями «сохранение карты» и «автосписание».
  2. Оплата заказа и пополнение ведут на нашу страницу демо-оплаты с кнопками «Оплатить» и «Отклонить». Результат проводится через processPayment, как у настоящей системы.
  3. Демо-привязка карты сохраняет способ оплаты «Демо-карта ···· 4242». Автопродление списывает с неё; неуспешное списание включается в админке — так проверяются повторы и льготный период.
  4. Система видна только запросам с IP из списка в её настройках; пустой список — не видна никому. К пользователю не привязана: до регистрации пользователя ещё нет.
  5. Работает в dev и в prod. manual остаётся для администраторов.

Последствия

  1. Покупка, пополнение, привязка карты и продления проверяются без эквайринга.
  2. В prod демо-оплата доступна только с разрешённых IP: ошибка в списке IP дала бы ключи без оплаты, поэтому список проверяется при запуске (этап 3h).