NPAM VPN
VPN-сервис под ключ: Telegram-бот, мини-приложение и сайт с единым биллингом
npamvpn.xyz
О проекте
Сервис доступа к интернету через собственные серверы. Пользователь приходит в Telegram, оформляет подписку и сразу получает ключ; тот же аккаунт работает на сайте и в мини-приложении.
Задача
Собрать продажи, выдачу доступов и поддержку в одном контуре: чтобы оплата, ключ и продление проходили без участия владельца, а всё управление жило в админ-панели, а не в консоли сервера.
Что сделали
- Бот на aiogram: тарифы, оформление и продление подписки, напоминания об окончании срока
- Оплата картами, через СБП и Telegram Stars, пополнение внутреннего баланса
- Мини-приложение и сайт работают с тем же аккаунтом, что и бот
- Реферальная программа с начислением за платежи приглашённых
- Выдача и отзыв ключей на всех серверах через их API
- Админ-панель: пользователи, платежи, тексты экранов бота, рассылки
Telegram-бот, мини-приложение, сайт
Карты, СБП, Telegram Stars, баланс
Несколько серверов, nginx, systemd
Работает в продакшене
Бэкенд
Python
FastAPI
PostgreSQL
Redis
Бот и мини-приложение
Telegram API
- aiogram
- Telegram Web App
Инфраструктура
nginx
Docker
- systemd
Как делали
-
01
Единый профиль на трёх поверхностях
Начали с общего профиля пользователя: один аккаунт для бота, сайта и мини-приложения, внутри него подписка, баланс и история платежей. Это позволило не дублировать логику продаж в трёх интерфейсах.
-
02
Оплата и подписки
Подключили платёжные методы: после успешного платежа подписка продлевается сразу, пользователь получает уведомление, а неудачные платежи не оставляют зависших заказов.
-
03
Серверы и выдача доступов
Ключи выдаются и отзываются на серверах автоматически: при оплате доступ появляется сразу, при окончании подписки закрывается. Состояние серверов видно в мониторинге.
Результат
Сервис продаёт подписки и обслуживает пользователей без ручных действий: оплата, выдача ключа и продление проходят автоматически. Владелец работает только с админ-панелью.