Собрал платформу для продажи подписок на базе 3x-ui и Telegram Mini App — платёжки, налоги и админка из коробки

Пока все клепают Telegram-ботов с тремя кнопками для 3x-ui — я сделал полноценное мини-приложение. С нормальным интерфейсом, четырьмя способами оплаты, автоматическими чеками для самозанятых и веб-панелью для управления. Рассказываю, как устроено и зачем.

Предыстория

Я сам пользовался 3x-ui — отличная панель, 40 тысяч звёзд на GitHub не просто так. Для личного использования — идеально. Но когда встал вопрос «а что если упаковать это в продукт и продавать подписки?» — начались проблемы.

Нужно принимать оплату. Нужно автоматически выдавать доступ клиентам. Нужна реферальная система. Нужна нормальная админка, а не SSH-консоль. И главное — чтобы всё работало без моего участия: оплата прошла, доступ выдался, чек улетел в налоговую.

На GitHub есть боты для автоматизации 3x-ui — 3xui-shop, vless-shopbot и подобные. Попробовал несколько. Все делают примерно одно: принимают оплату, создают клиента в панели, отдают ключ. Работает, но это просто бот. Нет нормального интерфейса, нет гибкой настройки, нет масштабирования на несколько серверов.

Я решил сделать по-другому — не бот с кнопками, а Telegram Mini App. Полноценное веб-приложение внутри Telegram с красивым UI, тарифами, историей платежей и реферальной системой.

Что получилось

Telegram Mini App — не бот, а приложение

Главное отличие — это полноценное мини-приложение, а не бот с кнопками. Пользователь нажимает кнопку в боте, открывается красивый интерфейс: выбор тарифа, выбор локации, оплата, управление подпиской — всё в одном окне. Как мобильное приложение, только ничего не нужно скачивать.

Под капотом — React фронтенд, FastAPI бэкенд, PostgreSQL, Redis. Всё крутится в Docker-контейнерах, ставится одной командой за 3 минуты.

Мульти-сервер: подключай сколько угодно 3x-ui панелей

Это не привязка к одному серверу. Можно подключить 3, 5, 10 серверов с 3x-ui в разных странах — Нидерланды, Финляндия, Франция, Япония, что угодно. Каждый сервер — это отдельная 3x-ui панель. Система сама определяет конфигурацию через SSH, подтягивает инбаунды, и дальше автоматически распределяет пользователей.

Добавление сервера: ввёл IP, SSH-пароль — система подключилась, нашла 3x-ui, показала инбаунды — выбрал нужный — готово. Автодетект панели, протоколов, портов.

4 способа оплаты

Telegram Stars — встроенная валюта Telegram. Пользователь платит прямо в интерфейсе, даже карту привязывать не нужно. Для владельца — минимум настройки, включил и работает.

ЮKassa (СБП) — для российского рынка. Переводы по СБП, оплата картой. Подключаешь shop_id и secret_key в настройках — готово.

CryptoBot — криптовалюта через @CryptoBot в Telegram. USDT, TON, BTC. Для аудитории, которая предпочитает крипту.

Ручные платежи — для простых случаев. Перевод на карту, подтверждение в админке.

Все платёжки включаются и выключаются в настройках. Можно использовать одну, можно все сразу — пользователь сам выбирает удобный способ.

Мой Налог — автоматические чеки для самозанятых

Фича, которой нет ни у кого. Если вы самозанятый и принимаете оплату — по закону нужно выдавать чеки через «Мой Налог». Обычно это делается руками: зашёл в приложение, вбил сумму, отправил чек. При 50-100 клиентах это превращается в ад.

Здесь это автоматизировано. Подключаете свой аккаунт «Мой Налог» один раз (номер телефона + SMS-код), и дальше чеки формируются и отправляются автоматически при каждой оплате. Клиент получает ссылку на чек. Вы не думаете об этом вообще.

И ещё момент — если ваш сервер стоит за рубежом, сайт nalog.ru может быть недоступен. Система определяет это автоматически и проксирует запросы через один из ваших серверов в РФ по SSH. Всё прозрачно, ничего настраивать не нужно.

Реферальная программа

У каждого пользователя есть реферальная ссылка. Привёл друга — получил бонус (дни к подписке или скидку). Настраивается в админке: сколько давать за реферала, на каком уровне. Пользователи сами продвигают ваш сервис.

Полная кастомизация внешнего вида

Мини-приложение — это не захардкоженный интерфейс. Через админку можно менять:

  • Название сервиса и логотип
  • Цветовую тему (тёмная, светлая, кастомная)
  • Тексты на всех экранах — приветствие, описания тарифов, уведомления
  • Валюту и форматы цен
  • Язык интерфейса (русский, английский, можно добавить свои)
  • Стикеры и медиа в боте

По сути, покупатель получает white label — делает полностью свой бренд.

Админ-панель

Отдельная веб-панель для владельца:

  • Пользователи — список, статистика, активные подписки, ручное управление
  • Серверы — статус, нагрузка, онлайн пользователи в реальном времени через WebSocket
  • Платежи — история, статусы, ручное подтверждение
  • Тарифы — создание, редактирование, пробный период
  • Рассылки — отправка сообщений всем пользователям или по сегментам
  • Аналитика — доходы, конверсия, активность
  • Настройки — платёжки, бот, домен, интеграции

Всё через браузер, никакого SSH.

Архитектура

  • Frontend: React, TypeScript, Tailwind CSS
  • Backend: Python, FastAPI, SQLAlchemy, asyncpg
  • БД: PostgreSQL 15 + Redis 7
  • Деплой: Docker Compose, Nginx, Let's Encrypt

Автоматическая выдача доступа — система сама создаёт клиента в 3x-ui через API, формирует конфигурацию с нужными параметрами и отдаёт пользователю. Один клик — доступ готов.

Страницы подписок — для каждого пользователя генерируется уникальный URL. Открыл на телефоне — клиентское приложение подхватывает конфиг автоматически. Работает на iOS, Android, Windows, Mac.

Как это ставится

Одна команда в терминале сервера. Установщик спрашивает домен, токен бота и Telegram ID. Дальше сам ставит Docker, генерирует пароли, поднимает контейнеры, настраивает Nginx и получает SSL-сертификат. Через 3 минуты — рабочий сервис на вашем домене.

Требования: VPS с 2 ГБ RAM, Ubuntu, домен с A-записью.

Для кого этот проект

Я продаю это решение как готовый продукт. Не SaaS с ежемесячной подпиской — а именно продукт. Купил, развернул на своём сервере, настроил, зарабатываешь.

Предпринимателям — у кого есть аудитория в Telegram и желание запустить свой сервис по подписке. Не нужно нанимать разработчиков. Не нужно разбираться в коде. Поставил, подключил серверы, настроил оплату — работает.

Админам 3x-ui — которые уже крутят панели и раздают ключи вручную. Здесь всё автоматизировано: оплата, выдача ключей, продление подписок, уведомления.

Тем, кто использует бота — и упирается в ограничения. Mini App — это другой уровень UX. Пользователи видят красивый интерфейс, а не стену кнопок.

Есть пробный период — можно развернуть, потыкать и решить, подходит или нет.

Телеграмм: @by_monexo