Platega — платежный агрегатор с поддержкой нескольких методов оплаты: СБП (QR-код), российские карты, карточный эквайринг, международные карты и криптовалюта.
Требования
- Аккаунт мерчанта Platega (app.platega.io)
- Merchant ID и секретный ключ
- Публичный HTTPS-домен бота для приема вебхуков
Как это работает
- Пользователь выбирает тариф и один из методов Platega — бот создает транзакцию через API Platega (
POST /transaction/process) и выдает ссылку на оплату. - После оплаты Platega отправляет вебхук на адрес
PLATEGA_WEBHOOK_URL. Бот проверяет заголовкиX-MerchantIdиX-Secret. - При статусе
CONFIRMEDбот активирует подписку через Remnawave; приCANCELED/CHARGEBACKEDпокупка отменяется.
Важно
Без настроенного вебхука платежи не будут подтверждаться автоматически. Также необходимо включить хотя бы один метод оплаты (PLATEGA_*_ENABLED), иначе кнопки Platega не появятся в меню.
Инструкции по настройке
Шаг 1: Получите учетные данные
- Зарегистрируйтесь на app.platega.io
- Получите Merchant ID и Secret в личном кабинете
Шаг 2: Настройте переменные окружения
PLATEGA_ENABLED=true
PLATEGA_MERCHANT_ID=ваш_merchant_id
PLATEGA_SECRET=ваш_секрет
PLATEGA_WEBHOOK_URL=/webhook/platega/СЛУЧАЙНЫЙ_СЕКРЕТ
# Включите нужные методы оплаты (минимум один)
PLATEGA_SBP_ENABLED=true
PLATEGA_CARDS_ENABLED=true
PLATEGA_ACQUIRING_ENABLED=false
PLATEGA_WORLDWIDE_ENABLED=false
PLATEGA_CRYPTO_ENABLED=falseСлучайный секрет для пути вебхука сгенерируйте командой:
openssl rand -hex 32Шаг 3: Зарегистрируйте вебхук в Platega
В личном кабинете Platega укажите URL для уведомлений:
https://ваш-домен.com/webhook/platega/СЛУЧАЙНЫЙ_СЕКРЕТШаг 4: Перезагрузите бота
docker compose down && docker compose up -dШаг 5: Протестируйте платеж
- Отправьте
/startботу - Выберите подписку
- Выберите один из методов Platega (например, СБП)
- Оплатите и убедитесь, что подписка активировалась
Переменные конфигурации
| Переменная | Обязательна | Описание |
|---|---|---|
PLATEGA_ENABLED | да | Включить/отключить Platega (true/false) |
PLATEGA_MERCHANT_ID | да | Идентификатор мерчанта |
PLATEGA_SECRET | да | Секретный ключ (также используется для проверки вебхуков) |
PLATEGA_WEBHOOK_URL | да | Путь вебхука, например /webhook/platega/секрет |
PLATEGA_SBP_ENABLED | нет | Оплата через СБП (QR-код) |
PLATEGA_CARDS_ENABLED | нет | Российские банковские карты |
PLATEGA_ACQUIRING_ENABLED | нет | Карточный эквайринг |
PLATEGA_WORLDWIDE_ENABLED | нет | Международные карты |
PLATEGA_CRYPTO_ENABLED | нет | Криптовалюта |
Каждый включенный метод отображается отдельной кнопкой в меню оплаты бота.
Безопасность вебхука
Бот проверяет каждый входящий вебхук:
- Заголовки
X-MerchantIdиX-Secretдолжны совпадать сPLATEGA_MERCHANT_IDиPLATEGA_SECRET— иначе запрос отклоняется с кодом 401 - Используйте длинный случайный сегмент в пути
PLATEGA_WEBHOOK_URL
Устранение неполадок
Платеж завис в статусе «ожидание»
- Проверьте, что
PLATEGA_WEBHOOK_URLзадан и URL зарегистрирован в кабинете Platega - Проверьте, что домен бота доступен извне по HTTPS
- Просмотрите логи бота:
docker compose logs -f remnawave-telegram-shop-bot
Кнопки Platega не отображаются
- Убедитесь, что
PLATEGA_ENABLED=true - Включите хотя бы один метод:
PLATEGA_SBP_ENABLED=trueи т.д. - Перезапустите бота после изменения
.env
Вебхук возвращает 401
- Проверьте, что Merchant ID и Secret в кабинете Platega совпадают со значениями в
.env
Поддержка
- Platega: app.platega.io
- Проблемы: Сообщайте на GitHub