🆕 Новые возможности
💳 Интеграция Freekassa
Полная интеграция платёжной системы Freekassa для пополнения баланса!
Функционал:
- ✅ Пополнение баланса — через стандартную форму или прямое API
- ✅ Быстрый выбор суммы — или ввод произвольной
- ✅ Автозачисление — моментальное после оплаты
- ✅ Автопокупка — подписка из сохранённой корзины после пополнения
Способы оплаты:
| ID | Метод | Примечание |
|---|---|---|
| — | Стандартная форма | Выбор системы на стороне Freekassa |
| 42 | СБП | Быстрые платежи |
| 44 | NSPK СБП | Требует FREEKASSA_USE_API=true
|
Безопасность:
- ✅ Whitelist IP — проверка адресов Freekassa
- ✅ MD5 подпись — верификация webhook
- ✅ HMAC-SHA256 — для API запросов
- ✅ Защита от дублей — предотвращение повторной обработки
Новые настройки:
FREEKASSA_ENABLED=true
FREEKASSA_SHOP_ID=123456
FREEKASSA_API_KEY=your_api_key
FREEKASSA_SECRET_WORD_1=secret1
FREEKASSA_SECRET_WORD_2=secret2
FREEKASSA_DISPLAY_NAME=СБП Freekassa
FREEKASSA_MIN_AMOUNT_KOPEKS=10000
FREEKASSA_MAX_AMOUNT_KOPEKS=100000000
FREEKASSA_PAYMENT_TIMEOUT_SECONDS=3600
FREEKASSA_WEBHOOK_PATH=/freekassa-webhook
FREEKASSA_WEBHOOK_PORT=8088
FREEKASSA_PAYMENT_SYSTEM_ID=44
FREEKASSA_USE_API=true🎫 Режим тарифов (SALES_MODE: tariffs)
Продажа подписок через готовые тарифные планы вместо классической модели!
Активация:
SALES_MODE=tariffsВозможности для администраторов:
- ✅ Создание тарифов — произвольные параметры
- ✅ Гибкие цены — для разных периодов (30/90/180/365 дней)
- ✅ Лимиты — трафик и устройства
- ✅ Доп. устройства — цена за каждое
- ✅ Привязка к squad — конкретные серверы
- ✅ Промогруппы — ограничение доступа
- ✅ Триальный тариф — назначение и настройка
- ✅ Визуальные уровни — tier для сортировки
Параметры тарифа:
| Параметр | Описание |
|---|---|
name
| Название тарифа |
description
| Описание (опционально) |
traffic_limit_gb
| Лимит трафика (0 = безлимит) |
device_limit
| Количество устройств |
device_price_kopeks
| Цена доп. устройства |
period_prices
| Цены по периодам (JSON) |
allowed_squads
| Доступные серверы |
allowed_promo_groups
| Доступные промогруппы |
is_trial_available
| Доступен для триала |
trial_duration_days
| Длительность триала |
tier_level
| Уровень (1-10) |
Формат цен:
30:9900, 90:24900, 180:44900
# или
30=9900; 90=24900; 180=44900
Цены в копейках (9900 = 99₽)
Возможности для пользователей:
- ✅ Покупка — выбор тарифа → период → скидки → оплата
- ✅ Продление — сохранение параметров подписки
- ✅ Смена тарифа — переход на другой план
Система скидок:
- По периодам из промогруппы
- Персональные скидки пользователя
- Отображение:
30 дней — 500 ₽ 🔥−15%
Новые настройки:
SALES_MODE=tariffs
TRIAL_DURATION_DAYS=3
TRIAL_TRAFFIC_LIMIT_GB=10
TRIAL_DEVICE_LIMIT=2
TRIAL_TARIFF_ID=0
RESET_TRAFFIC_ON_PAYMENT=true🔄 Обновление Remnawave API
Адаптация под новую версию API с изменениями в структуре данных!
Новый эндпоинт:
| Метод | Путь | Описание |
|---|---|---|
| GET | /api/system/metadata
| Метаданные системы |
Изменения в customRemarks:
| Удалено | Добавлено |
|---|---|
emptyInternalSquads
| HWIDMaxDevicesExceeded
|
| — | HWIDNotSupported
|
Новый параметр отзыва доступа:
| Эндпоинт | Параметр | Описание |
|---|---|---|
POST /api/users/{uuid}/actions/revoke
| revokeOnlyPasswords
| Отзыв только паролей |
Совместимость:
- ✅ Поддержка новых HWID-сообщений
- ✅ Обратная совместимость сохранена
⚡ Улучшения
🎨 UI/UX
- ✅ MiniApp — отображение названия текущего тарифа
- ✅ Компактные кнопки — информация в тексте, кнопки только с названием
- ✅ Скидки — компактное отображение
🔥−15%
🐛 Исправления
- ✅ Продление тарифа — трафик больше не сбрасывается к значению из настроек
- ✅ Рекламные кампании — исправлен критический баг с созданием подписки
🗄️ Новые файлы
app/services/freekassa_service.py # API сервис Freekassa
app/services/payment/freekassa.py # Создание платежей, webhook
app/database/models.py # Модели FreekassaPayment, Tariff
app/database/crud/freekassa.py # CRUD операции Freekassa
app/database/crud/tariff.py # CRUD операции тарифов
app/handlers/balance/freekassa.py # Обработчики команд
app/handlers/subscription/tariff_purchase.py # Покупка/продление/смена
app/handlers/admin/tariffs.py # Админка управления тарифами
app/external/webhook_server.py # Webhook эндпоинт
🔄 Обновление
Через Git:
cd /root/remnawave-bedolaga-telegram-bot
git pull origin main
make reloadС логами:
make reload-follow📇 Доступные команды
make help # Показать все команды
make up # Поднять контейнеры (detached)
make up-follow # Поднять контейнеры с логами
make down # Остановить и удалить контейнеры
make reload # Перезапустить контейнеры (detached)
make reload-follow # Перезапустить контейнеры с логами
make test # Запустить тесты🔗 Ссылки
[Release](https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot/releases/tag/v2.9.5) | [Full Changelog](v2.9.4...v2.9.5)
Или через веб-админку [bedolagam.ru](https://bedolagam.ru) автоматически