Собрал платформу для продажи подписок на базе 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