Загрузка...

Дашборд

Telegram ID Username Remna ID Баланс Действия
1

Название бота

Отображается в боте и в панели администратора

Приветственное сообщение

Поддерживает HTML-разметку и переносы строк. {serviceName} — подставит название бота. Пустое поле = сообщение по умолчанию.

Текст в меню тарифов

Показывается между балансом и списком тарифов. Поддерживает HTML и переносы строк. Пустое поле = ничего не показывать.

Новые пользователи

Реферальная программа

Сброс трафика

Пополнение баланса

Настройки меню пополнения баланса в боте

Бонус начисляется при пополнении баланса через бота. 0% = бонус отключен.

Ссылки и контакты

Техработы

Internal Squads

UUID-ы, передаваемые в activeInternalSquads при создании пользователя

Технические работы

Включение режима закроет доступ к боту для всех пользователей

Новая рассылка

История рассылок

Настройки YooKassa

Приём платежей

Если выключено, бот сообщит, что оплата временно недоступна

Shop ID
Secret Key
Webhook URL
Webhook Token

Задаётся в .env: YOOKASSA_SHOP_ID, YOOKASSA_SHOP_KEY, YOOKASSA_WEBHOOK_TOKEN

Тестирование (Mocking)

Для эмуляции оплаты через YooKassa используйте curl-запрос ниже. Он имитирует webhook-уведомление payment.succeeded, которое YooKassa отправляет после успешной оплаты.

Документация

Endpoint: POST /yookassa (webhook-сервис)

Формат: стандартный YooKassa webhook notification

Обрабатываемое событие: payment.succeeded

Поля metadata:

  • user_id — Telegram ID пользователя
  • tariff_id — ID тарифа (опционально)
  • purchase_type — тип: subscription, gift, balance_topup

Логика обработки:

  1. Проверяет дубликат по payment_id
  2. Зачисляет сумму на баланс пользователя
  3. Создаёт запись в transactions
  4. Отправляет уведомление пользователю в Telegram