Skip to content

YooKassa (Яндекс.Касса) — платежный процессор, поддерживающий банковские карты и другие методы в России и странах СНГ.

Требования

  • Регистрация бизнеса (ИП/ООО или самозанятость)
  • Торговый аккаунт YooKassa
  • API учетные данные (ID магазина и секретный ключ)
  • Публичный HTTPS-домен бота для приема вебхуков

Как это работает

  1. Пользователь выбирает тариф и оплату картой — бот создает платеж через API YooKassa и выдает ссылку на оплату.
  2. После оплаты YooKassa отправляет вебхук (payment.succeeded или payment.canceled) на адрес YOOKASA_WEBHOOK_URL.
  3. Бот повторно проверяет статус платежа через API YooKassa и активирует подписку через Remnawave.

Важно

Без настроенного вебхука платежи не будут подтверждаться автоматически.

Инструкции по настройке

Шаг 1: Создайте аккаунт YooKassa

  • Посетите yookassa.ru
  • Зарегистрируйтесь как торговец
  • Подтвердите информацию о бизнесе
  • Дождитесь одобрения

Шаг 2: Сгенерируйте API учетные данные

  • Войдите в панель управления
  • Перейдите в раздел «Интеграция» → «Ключи API»
  • Создайте секретный ключ
  • Запишите ваш ID магазина (shopId)

Шаг 3: Настройте переменные окружения

bash
YOOKASA_ENABLED=true
YOOKASA_URL=https://api.yookassa.ru/v3
YOOKASA_SHOP_ID=123456
YOOKASA_SECRET_KEY=ваш_секретный_ключ
YOOKASA_EMAIL=contact@example.com
YOOKASA_WEBHOOK_URL=/webhook/yookassa/СЛУЧАЙНЫЙ_СЕКРЕТ

Случайный секрет для пути вебхука сгенерируйте командой:

bash
openssl rand -hex 32

Шаг 4: Зарегистрируйте вебхук в YooKassa

В панели YooKassa («Интеграция» → «HTTP-уведомления») укажите URL:

https://ваш-домен.com/webhook/yookassa/СЛУЧАЙНЫЙ_СЕКРЕТ

Включите события payment.succeeded и payment.canceled.

Шаг 5: Перезагрузите бота

bash
docker compose down && docker compose up -d

Шаг 6: Протестируйте платеж

  • Отправьте /start боту
  • Выберите подписку
  • Выберите платеж YooKassa
  • Используйте тестовую карту: 4111 1111 1111 1111

Переменные конфигурации

ПеременнаяОбязательнаОписание
YOOKASA_ENABLEDдаВключить/отключить YooKassa (true/false)
YOOKASA_URLдаEndpoint API: https://api.yookassa.ru/v3
YOOKASA_SHOP_IDдаИдентификатор магазина (shopId)
YOOKASA_SECRET_KEYдаСекретный ключ API
YOOKASA_EMAILдаEmail для чеков покупателя
YOOKASA_WEBHOOK_URLдаПуть вебхука, например /webhook/yookassa/секрет

При включенной интеграции с Мой Налог (MOYNALOG_ENABLED=true) чеки по платежам YooKassa автоматически отправляются в ФНС — см. Мой налог.

Тестовые карты

КартаСтатус
4111 1111 1111 1111Успех
4000 0000 0000 0002Отклонение

Срок действия: Любая будущая дата CVC: Любые 3 цифры

Устранение неполадок

Платеж завис в статусе «ожидание»

  • Проверьте, что YOOKASA_WEBHOOK_URL задан и URL зарегистрирован в панели YooKassa
  • Проверьте, что домен бота доступен извне по HTTPS
  • Просмотрите логи бота: docker compose logs -f remnawave-telegram-shop-bot

Неправильный ID магазина / 401 от API

  • Проверьте правильность YOOKASA_SHOP_ID и YOOKASA_SECRET_KEY
  • Пересгенерируйте секретный ключ, если не уверены

Timeout API

  • Проверьте соединение с api.yookassa.ru из контейнера
  • Проверьте логи бота на ошибки

Поддержка