Skip to content

Подключение провайдера

Все кассы подключаются в кабинете: раздел Платежи → вкладка «Провайдеры». Настройки хранятся в базе и подхватываются на лету — без рестартов и правки кода. На карточке каждой кассы видно её состояние: тумблер активности, какие ключи уже заполнены, метка «встроен» (модуль в базе) или «drop-in» (карточка есть, модуль подключается отдельно).

Включение кассы

  1. Раскройте карточку провайдера и впишите ключи из его личного кабинета. Какие именно поля нужны — на странице каждого провайдера (например, у YooKassa это shop_id и secret_key, у CryptoBot — один api_token). Нажмите «Сохранить».
  2. Нажмите «Тест» — база реально сходит в API провайдера и проверит ключи (см. ниже).
  3. Для большинства касс пропишите в ЛК провайдера вебхук-URL:
https://ваш-домен/api/v1/payments/<код кассы>

Пример для YooKassa: https://ваш-домен/api/v1/payments/yookassa. Telegram Stars и «Вручную / баланс» вебхука не требуют. Подробности — в Вебхуки и безопасность.

  1. Включите тумблер активности (is_active). Всё — кнопка оплаты сама появилась в боте и мини-аппе.

Из коробки

По умолчанию активны только «Вручную / баланс» и Telegram Stars — принимать оплату Stars можно сразу после установки, без единого ключа.

Шифрование ключей

Креды касс лежат в базе зашифрованными (Fernet, ключ APP__CRYPT_KEY). Шифруется каждое поле, в названии которого есть key, secret, token или password. Кабинет никогда не отдаёт значения обратно — только список заполненных полей и плейсхолдер ••••••••. Чтобы заменить ключ, впишите новое значение; чтобы удалить — сохраните пустое.

Кнопка «Тест»

«Тест» — не проверка формата полей, а реальная проба API провайдера:

ПровайдерЧто проверяется
YooKassaGET /v3/me — id и статус магазина
CryptoBotgetMe + getBalance — имя приложения и баланс USDT
Cryptomus / Heleketподписанный запрос баланса
Plategaпринимает ли API пару merchant_id/secret
WATAGET /public-key с токеном
Robokassa, ЮMoneyпроверочного API у них нет — проверяется заполненность ключей, «сверится первым платежом»
Telegram Stars, Вручнуювнешний API не нужен — всегда ok

Пейформы

На карточке кассы — чипы форм оплаты: карта, СБП, крипта, Stars, кошельки, баланс (набор зависит от кассы). Клик включает/выключает форму, выбор сохраняется в настройках кассы. У Platega конкретный способ дополнительно задаётся полем payment_method: 2 — СБП QR, 3 — карта, 11 — карточный эквайринг, 13 — крипта.

Кнопки у юзера

Порядок на экране «Способ оплаты» в боте фиксированный: сначала «С баланса» (если включён кошелёк BALANCE_ENABLED), затем Telegram Stars, затем все активные кассы. Текст кнопки кассы — поле «Название» (display_name) на карточке; по умолчанию — имя провайдера. Мини-аппа и веб-витрина получают тот же список активных касс.

Комиссия

Поле «Комиссия %» на карточке — комиссия провайдера. На продажи она не влияет, но участвует в расчёте чистой прибыли в разделе «Платежи»: оборот − комиссии − налог (см. Как устроены платежи).

Настройки раздела «Платежи»

Общие параметры — в разделе «Настройки», группа «Платежи». Применяются без рестарта:

НастройкаПо умолчаниюЧто делает
MIN_DEPOSIT_AMOUNT5000 коп. (50 ₽)Минимальное пополнение баланса
BALANCE_ENABLEDвклКошелёк-баланс: пополнение и оплата с баланса
STARS_RATE_RUB130 коп. за ★Курс пересчёта рублёвых цен в Stars
TAX_RATE_PERCENT6Ставка налога для расчёта чистой прибыли
REFUND_ENABLEDвыклРазрешить возвраты из кабинета

Раздел настроек в кабинете

Карточки «drop-in»

В каталоге кабинета есть карточки Tribute, PayPear и Overpay со статусом «drop-in»: их можно настроить заранее, но заработают они, когда в базе появится их модуль. Добавление провайдера — один файл.

MIT License · сделано для тех, кто продаёт VPN, а не настраивает ботов