Техническое задание: Telegram-бот магазин подписок
Цель проекта
Разработать полнофункционального Telegram-бота для продажи цифровых подписок (доступов). Бот должен автоматизировать процессы продажи, выдачи товара и управления пользователями.
Основной функционал
1. Пользовательская часть (для покупателей)
- Каталог подписок/товаров с описанием и ценой.
- Корзина и процесс оформления заказа.
- Интеграция с платежным шлюзом (например, FreeKassa) для приема оплаты.
- Автоматическая выдача купленного товара (ключа, ссылки, данных аккаунта) после успешной оплаты.
- История заказов пользователя.
- Система тикетов или связи с поддержкой.
2. Административная панель
- Управление товарами: добавление, редактирование, удаление подписок.
- Управление пользователями: просмотр списка, блокировка, история их операций.
- Просмотр и управление заказами (статусы, ручная выдача).
- Настройка платежных систем и комиссий.
- Просмотр статистики по продажам и выручке.
- Управление администраторами бота (права доступа).
3. Технические интеграции
- Интеграция с системой лицензирования (KeyAuth): Для защиты и управления подписками. Бот должен автоматически создавать аккаунты/ключи в этой системе при покупке и связывать их с пользователем Telegram.
- Интеграция с платежным агрегатором (FreeKassa): Для приема онлайн-платежей. Необходима обработка уведомлений (callback) для автоматического подтверждения оплаты.
- База данных для хранения пользователей, заказов и товаров (рекомендуется PostgreSQL или MySQL).
Требования к реализации
- Бот должен быть написан на Python с использованием библиотеки aiogram (версия 3.x) или аналогичной.
- Код должен быть структурирован, прокомментирован и готов к развертыванию.
- Админ-панель может быть реализована как отдельное веб-приложение (например, на Flask/Django) или как часть логики бота с использованием Inline-кнопок и сообщений для админов.
- Обязательна безопасная обработка платежных callback-уведомлений.
- Система должна быть отказоустойчивой и логировать ключевые события.
Результат работы
- Исходный код проекта с инструкцией по установке и настройке.
- Рабочий Telegram-бот, развернутый на сервере заказчика или предоставленный в виде контейнера (Docker).
- Документация по основным функциям админ-панели.