Кратко о проекте
Логика страницы: сначала суть в трёх фокусах — определение, функции и цель. Ниже — визуальные материалы и детальные блоки с контентом.
Финансовый контур платформы: один баланс для тарифов и модулей Маркбэйс, центр подписок и управление рекуррентом.
Пополнение и списание по правилам, лимиты на период и по категориям услуг, блок автосписания выбранным сервисом, пауза автоматических операций, журнал для контроля расходов.
Убрать хаос разрозненных подписок и дать компании предсказуемость и безопасность при росте числа модулей.
Суть проекта
Единый кошелёк — центральный финансовый контур платформы Markbase: один баланс компании или пользователя для оплаты тарифов, модулей, пакетов нейросетей, лицензий и регулярных услуг. Поверх баланса работает центр подписок — единое место, где видно все активные подписки, предстоящие списания, расходы по периодам и статусы каждого сервиса.
Стек / технологии
- Backend: сервис биллинга и кошелька в контуре Markbase (Node.js, PostgreSQL, транзакции ACID для движения баланса).
- Интеграции: платёжный провайдер (например, ЮKassa или иной по конфигурации), webhooks событий оплаты, идемпотентность повторных уведомлений.
- События: очередь биллинг-событий для модулей (подписка активирована, продлена, приостановлена, лимит исчерпан).
- Frontend: личный кабинет и админка — React/Next.js, единые компоненты таблиц и форм лимитов.
- Безопасность: RBAC по компании, разделение «кто может менять лимиты» и «кто только смотрит отчёт»; аудит изменений критичных настроек.
Фишки и возможности
- Единый баланс — пополнение (банковская карта, счёт, по правилам платформы) и списание в рамках разрешённых операций.
- Центр подписок — все активные подключения: модуль, тариф, период, ставка, следующее списание; фильтры по сервисам и типам расходов.
- Сводка расходов — за неделю, месяц, квартал: сколько ушло на тарифную основу, сколько на доп. пакеты (ИИ, хранилище и т.д.).
- Лимиты — глобальный потолок автосписаний за период; отдельные потолки по категории (например, только ИИ или только логистика); оповещения при 80–100% использования.
- Блок автосписания по сервису — выбранный модуль не инициирует рекуррент, пока блок включён (удобно при пересмотре тарифа или споре по услуге).
- Пауза кошелька — по явному действию пользователя отключаются автоматические списания и связанные автоматические исходящие операции; выход из режима с подтверждением.
- Отмена автопродления — там, где это предусмотрено правилами сервиса: одна кнопка в центре подписок вместо охоты по кабинетам.
- Мультипользовательский контур — кто смотрит сводки, кто меняет лимиты, кто только просматривает журнал, задаётся ролями и политикой компании.
- Связь с нейросетями и пакетами — списания за ВЭЙГПТ, дополнительные пакеты запросов и смежные услуги попадают в тот же баланс и отчёты, без отдельной «карты для ИИ».
- Единый язык со смежными модулями — суммы и статусы согласованы с Billing и тарифными лимитами; меньше расхождений между «что обещал тариф» и «что списалось».
Тонкости и сложные моменты
- Юридический режим отмены подписки зависит от оферты конкретного модуля и договора с платёжной организацией: интерфейс даёт единый UX, но не подменяет внешние обязательства.
- Пауза кошелька применяется к операциям, определённым политикой платформы; ручные разовые действия могут требовать отдельного подтверждения.
- Конвертация валют, если появится, задаётся правилами платформы и провайдера, не «скрытым» курсом в интерфейсе без подписи пользователя.
- Нагрузочные характеристики и точная схема таблиц — по мере финализации модуля в репозитории CORESYSTEM/Billing; этот документ задаёт продуктовую модель.
Полная документация (раскрыть)
Markbase — Единый кошелёк экосистемы
1) Краткое описание
Единый кошелёк — центральный финансовый контур платформы Markbase: один баланс компании или пользователя для оплаты тарифов, модулей, пакетов нейросетей, лицензий и регулярных услуг. Поверх баланса работает центр подписок — единое место, где видно все активные подписки, предстоящие списания, расходы по периодам и статусы каждого сервиса.
Кошелёк проектируется так, чтобы регулярные платежи не превращались в «чёрный ящик»: понятные лимиты, блокировка автосписания по выбранному сервису, глобальная пауза автоматических операций по запросу владельца, отказ от продления там, где это допускает оферта. Это не замена банку, а слой управления деньгами внутри экосистемы — согласованный с биллингом, ролями компании и аудитом.
Типовые сценарии: владелец бизнеса держит расходы на платформу под контролем; финдиректор видит журнал без выгрузки из десяти разделов; администратор компании настраивает лимиты без доступа к «родному» банку; команда с несколькими модулями не теряет след следующего автосписания.
2) Цели продукта
- дать одну точку входа к оплате всех официальных сервисов экосистемы;
- сделать подписки управляемыми: список, суммы, даты, история;
- позволить ограничивать риск: лимиты на период и по типу услуги, стоп конкретному модулю;
- обеспечить прозрачность для финконтроля и администраторов компании (в мультипользовательском сценарии);
- не смешивать разовые покупки, рекуррент и ручные переводы без явной маркировки в журнале.
Главные фишки
- Единый баланс — пополнение (банковская карта, счёт, по правилам платформы) и списание в рамках разрешённых операций.
- Центр подписок — все активные подключения: модуль, тариф, период, ставка, следующее списание; фильтры по сервисам и типам расходов.
- Сводка расходов — за неделю, месяц, квартал: сколько ушло на тарифную основу, сколько на доп. пакеты (ИИ, хранилище и т.д.).
- Лимиты — глобальный потолок автосписаний за период; отдельные потолки по категории (например, только ИИ или только логистика); оповещения при 80–100% использования.
- Блок автосписания по сервису — выбранный модуль не инициирует рекуррент, пока блок включён (удобно при пересмотре тарифа или споре по услуге).
- Пауза кошелька — по явному действию пользователя отключаются автоматические списания и связанные автоматические исходящие операции; выход из режима с подтверждением.
- Отмена автопродления — там, где это предусмотрено правилами сервиса: одна кнопка в центре подписок вместо охоты по кабинетам.
- Мультипользовательский контур — кто смотрит сводки, кто меняет лимиты, кто только просматривает журнал, задаётся ролями и политикой компании.
- Связь с нейросетями и пакетами — списания за ВЭЙГПТ, дополнительные пакеты запросов и смежные услуги попадают в тот же баланс и отчёты, без отдельной «карты для ИИ».
- Единый язык со смежными модулями — суммы и статусы согласованы с Billing и тарифными лимитами; меньше расхождений между «что обещал тариф» и «что списалось».
Технологический стек
- Backend: сервис биллинга и кошелька в контуре Markbase (Node.js, PostgreSQL, транзакции ACID для движения баланса).
- Интеграции: платёжный провайдер (например, ЮKassa или иной по конфигурации), webhooks событий оплаты, идемпотентность повторных уведомлений.
- События: очередь биллинг-событий для модулей (подписка активирована, продлена, приостановлена, лимит исчерпан).
- Frontend: личный кабинет и админка — React/Next.js, единые компоненты таблиц и форм лимитов.
- Безопасность: RBAC по компании, разделение «кто может менять лимиты» и «кто только смотрит отчёт»; аудит изменений критичных настроек.
Допущения и важные оговорки
- Юридический режим отмены подписки зависит от оферты конкретного модуля и договора с платёжной организацией: интерфейс даёт единый UX, но не подменяет внешние обязательства.
- Пауза кошелька применяется к операциям, определённым политикой платформы; ручные разовые действия могут требовать отдельного подтверждения.
- Конвертация валют, если появится, задаётся правилами платформы и провайдера, не «скрытым» курсом в интерфейсе без подписи пользователя.
- Нагрузочные характеристики и точная схема таблиц — по мере финализации модуля в репозитории CORESYSTEM/Billing; этот документ задаёт продуктовую модель.
Оценка стоимости
Разработка полноценного единого кошелька с центром подписок, лимитами и аудитом для SaaS-платформы уровня Markbase — это отдельный крупный блок рядом с биллингом.
MVP кошелька (баланс, пополнение, списание по сервисам, журнал)
- Ориентир: 4–12 млн ₽
- Сроки: 3–6 месяцев при выделенной команде
- Входит: учёт баланса, интеграция с одним основным провайдером, базовый рекуррент по расписанию, простые лимиты, журнал операций.
Расширенная версия (лимиты по категориям, блок по сервису, пауза, центр подписок «как продукт»)
- Ориентир: 12–28 млн ₽
- Сроки: 6–12 месяцев
- Добавляется: гибкие политики, уведомления, мультироль в компании, отчётность, устойчивость к сбоям webhooks, детальный аудит.
Поддержка и развитие
- Ориентир: 150–600 тыс ₽/мес в зависимости от SLA и объёма доработок под новые модули экосистемы.
Точные цифры уточняются после фиксации объёма интеграций и регуляторных требований к платежам в РФ.
Оценка стоимости
- **Ориентир**: **4–12 млн ₽**
- **Сроки**: **3–6 месяцев** при выделенной команде
- **Входит**: учёт баланса, интеграция с одним основным провайдером, базовый рекуррент по расписанию, простые лимиты, журнал операций.
- **Ориентир**: **12–28 млн ₽**
- **Добавляется**: гибкие политики, уведомления, мультироль в компании, отчётность, устойчивость к сбоям webhooks, детальный аудит.
- **Ориентир**: **150–600 тыс ₽/мес** в зависимости от SLA и объёма доработок под новые модули экосистемы.