О проекте
RMS License Server — это централизованный SaaS-сервис лицензирования, биллинга и финансового контроля, обслуживающий всю экосистему продуктов RMS Digital Services. Платформа обеспечивает полный цикл управления лицензиями: от генерации ключей и привязки к оборудованию до приёма платежей, выставления инвойсов и мониторинга использования.
Сервис выступает единой точкой входа для всех продуктов экосистемы — WordPress-решений, AI-инструментов, MCP-интеграций и других SaaS-продуктов — предоставляя унифицированный механизм авторизации, учёта и монетизации.
Задача
Создать масштабируемую платформу, которая решает несколько критических бизнес-задач одновременно:
- Унифицировать лицензирование для разнородных продуктов экосистемы (desktop-софт, веб-сервисы, API)
- Автоматизировать биллинг с поддержкой множества платёжных систем и валют
- Обеспечить надёжную защиту лицензионных ключей от копирования и несанкционированного использования
- Предоставить прозрачную аналитику по продажам, активациям и использованию продуктов
- Минимизировать операционные затраты на управление лицензиями и поддержку клиентов
- Обеспечить глобальный охват — поддержка клиентов на их родном языке
Решение
Разработан production-ready сервис с микросервисной архитектурой, построенный по принципам Clean Architecture. Система разделена на три независимых компонента: высокопроизводительный API-сервер, асинхронный worker для фоновых задач и современный веб-интерфейс.
Архитектура системы
Backend API
Высокопроизводительный REST API, обеспечивающий все бизнес-операции: аутентификацию, управление лицензиями, обработку платежей, генерацию инвойсов. Реализована строгая валидация всех входных данных и многоуровневая защита от злоупотреблений.
Background Worker
Отдельный процесс для выполнения ресурсоёмких и асинхронных задач:
- Генерация PDF-инвойсов
- Отправка email и Telegram-уведомлений
- Очистка устаревших транзакций
- Обработка очередей задач с гарантированной доставкой
Frontend (Admin & User Dashboard)
Современный веб-интерфейс с двумя ролевыми моделями:
- Пользовательский дашборд — управление лицензиями, балансом, покупками, загрузками ПО
- Административная панель — управление пользователями, продуктами, платёжными шлюзами, транзакциями, мониторинг
Ключевые возможности
Универсальный платёжный роутер
Единый интерфейс для приёма платежей через четыре платёжные системы:
- PayPal — международные фиатные платежи
- Cryptomus — криптоплатежи с широкой поддержкой валют
- NOWPayments — альтернативный криптопроцессинг
- Plisio — дополнительные крипто-методы оплаты
Все шлюзы интегрированы через унифицированный адаптер с верификацией вебхуков, автоматической конвертацией валют и атомарным зачислением средств на баланс пользователя. Это позволяет клиентам выбирать удобный способ оплаты, а бизнесу — получать платежи из любой точки мира.
Система лицензирования
Поддержка двух типов лицензий с различными механизмами защиты:
Software-лицензии (для desktop-приложений)
- Криптографические ключи с возможностью оффлайн-валидации
- Привязка к оборудованию с контролируемым количеством перепривязок
- Периодическая верификация активности (heartbeat) для защиты от клонирования
- Безопасная загрузка релизов с криптографической проверкой подписи
Site-лицензии (для веб-продуктов)
- Привязка к домену
- Централизованное управление активациями
- Административный сброс привязки при необходимости
Оба типа лицензий поддерживают split-активацию — разделение одной покупки на несколько устройств/доменов с гибким управлением квотами.
Магазин и биллинг
- Сервер-авторитетное ценообразование — все расчёты производятся на сервере, клиент только отображает результат
- Внутренний кошелёк — атомарное списание средств без race condition
- Промокоды с автоматическим сбросом и ограничениями
- Партнёрская программа с автоматическим начислением комиссий
- Динамические скидки за объём (Volume Discounts)
Профессиональный документооборот
- PDF-инвойсы с последовательной нумерацией и профессиональным дизайном
- Асинхронная генерация — не блокирует пользовательский интерфейс
- История транзакций с возможностью повторной загрузки документов
Управление обновлениями ПО
- Семантическое версионирование (semver) для точного сравнения версий
- Каналы релизов — stable, beta, alpha для разных групп пользователей
- Автоматические уведомления о новых версиях через email и Telegram
- Проверка лицензии при скачивании релизов
Мультиканальные уведомления
- Email — основные уведомления о транзакциях, лицензиях, релизах
- Telegram Bot — мгновенные алерты о критических событиях
- Push-уведомления в дашборде
- Per-type настройки — пользователь сам выбирает, какие уведомления получать
🌍 Интернационализация (45 языков)
Платформа поддерживает 45 языков из коробки, что делает её доступной для глобальной аудитории. Реализована полная локализация интерфейса, включая:
- LTR/RTL поддержка — корректное отображение для языков с написанием справа налево (арабский, иврит, персидский, урду)
- Live language switching — мгновенное переключение языка без перезагрузки страницы
- Локализованные даты — форматы дат адаптированы под региональные стандарты
- Полная локализация UI — все элементы интерфейса, уведомления, email-шаблоны
Географический охват:
Такой широкий охват позволяет обслуживать клиентов из Европы, Азии, Ближнего Востока и СНГ на их родном языке, что критично для глобального SaaS-продукта.
Технологический стек
Безопасность
Безопасность — ключевой приоритет при работе с финансовыми данными и лицензированием ПО.
Аутентификация и авторизация
- JWT-аутентификация с асимметричной подписью
- Двухфакторная аутентификация (TOTP)
- Версионирование токенов для мгновенного сброса сессий при компрометации
- API-ключи для интеграций
Защита данных
- Шифрование чувствительных данных (конфигурации платёжных шлюзов, персональная информация)
- Централизованное управление секретами
- Криптографические ключи для лицензий с защищённым хранением seed
Защита от злоупотреблений
- Многоуровневый rate limiting с гибкой настройкой для разных типов эндпоинтов
- Security headers (защита от XSS, clickjacking, MIME-sniffing)
- Валидация всех входных данных
- Защита от path traversal атак
- Recovery mechanism для предотвращения падения сервиса из-за паники в горутинах
Сетевая безопасность
- Строгая CORS-политика с явным указанием разрешённых источников
- Конфигурируемый доверенный прокси
- Принудительный HTTPS для всех платёжных операций
Аудит и мониторинг
- Структурированное логирование всех критических операций
- Журнал аудита с историей действий администраторов
- Health check с проверкой состояния всех зависимостей
- Автоматическая очистка устаревших pending-транзакций
Результат
Создана production-ready платформа, которая:
- Объединяет все продукты экосистемы под единой системой лицензирования
- Принимает платежи по всему миру через 4 платёжные системы с автоматической конвертацией
- Защищает интеллектуальную собственность криптографическими методами
- Автоматизирует операционные процессы — от генерации ключей до выставления инвойсов
- Предоставляет прозрачную аналитику по продажам и использованию продуктов
- Масштабируется благодаря асинхронной обработке и кэшированию
- Соответствует современным стандартам безопасности для работы с финансовыми данными
- Обслуживает глобальную аудиторию на 45 языках с поддержкой RTL
Выводы
RMS License Server — это не просто "система лицензий", а полноценная коммерческая платформа, закрывающая весь цикл монетизации программного обеспечения. Проект демонстрирует комплексный подход к решению бизнес-задач:
Архитектурная экспертиза
- Микросервисный подход с чётким разделением ответственности
- Асинхронная обработка для отзывчивого UI
- Атомарные операции для работы с финансами
- Graceful shutdown и отказоустойчивость
Бизнес-логика
- Поддержка множества платёжных систем через единый интерфейс
- Гибкая система скидок и промокодов
- Партнёрская программа с автоматическим расчётом
- Мультивалютность с автоматической конвертацией
Безопасность
- Многоуровневая защита от копирования лицензий
- Криптографическая верификация релизов
- Защита финансовых операций от race condition
- Комплексная защита веб-приложения
Пользовательский опыт
- Современный интерфейс с мобильной адаптивностью
- Мультиязычность (45 языков) с оптимизированной загрузкой и RTL-поддержкой
- Мультиканальные уведомления
- Прозрачная история всех операций
Глобальный охват
- Поддержка клиентов из Европы, Азии, Ближнего Востока, Кавказа и СНГ
- Локализованные форматы дат и валют
- Адаптация под культурные особенности регионов
Проект решает реальную бизнес-задачу монетизации программного обеспечения и может служить референсной реализацией для аналогичных SaaS-платформ.
Технический стек
- Go
- Next.js
- PostgreSQL
- Redis
- Docker