Техническое задание: Telegram-бот магазин подписок

Цель проекта

Разработать полнофункционального Telegram-бота для продажи цифровых подписок (доступов). Бот должен автоматизировать процессы продажи, выдачи товара и управления пользователями.

Основной функционал

1. Пользовательская часть (для покупателей)

  • Каталог подписок/товаров с описанием и ценой.
  • Корзина и процесс оформления заказа.
  • Интеграция с платежным шлюзом (например, FreeKassa) для приема оплаты.
  • Автоматическая выдача купленного товара (ключа, ссылки, данных аккаунта) после успешной оплаты.
  • История заказов пользователя.
  • Система тикетов или связи с поддержкой.

2. Административная панель

  • Управление товарами: добавление, редактирование, удаление подписок.
  • Управление пользователями: просмотр списка, блокировка, история их операций.
  • Просмотр и управление заказами (статусы, ручная выдача).
  • Настройка платежных систем и комиссий.
  • Просмотр статистики по продажам и выручке.
  • Управление администраторами бота (права доступа).

3. Технические интеграции

  • Интеграция с системой лицензирования (KeyAuth): Для защиты и управления подписками. Бот должен автоматически создавать аккаунты/ключи в этой системе при покупке и связывать их с пользователем Telegram.
  • Интеграция с платежным агрегатором (FreeKassa): Для приема онлайн-платежей. Необходима обработка уведомлений (callback) для автоматического подтверждения оплаты.
  • База данных для хранения пользователей, заказов и товаров (рекомендуется PostgreSQL или MySQL).

Требования к реализации

  • Бот должен быть написан на Python с использованием библиотеки aiogram (версия 3.x) или аналогичной.
  • Код должен быть структурирован, прокомментирован и готов к развертыванию.
  • Админ-панель может быть реализована как отдельное веб-приложение (например, на Flask/Django) или как часть логики бота с использованием Inline-кнопок и сообщений для админов.
  • Обязательна безопасная обработка платежных callback-уведомлений.
  • Система должна быть отказоустойчивой и логировать ключевые события.

Результат работы

  • Исходный код проекта с инструкцией по установке и настройке.
  • Рабочий Telegram-бот, развернутый на сервере заказчика или предоставленный в виде контейнера (Docker).
  • Документация по основным функциям админ-панели.