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

Оплата через CryptoBot

Клиент платит криптовалютой прямо в Telegram, вы выставляете счёт и получаете зачисление в рублях. Курс и конвертацию берёт на себя Cashera.

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

  1. Вы создаёте платёж с payment_method: "cryptobot" и суммой в рублях.
  2. В ответе приходит payment_url — ссылка на счёт в Telegram.
  3. Вы отправляете клиента по этой ссылке. Открывается бот @CryptoBot со счётом.
  4. Клиент оплачивает счёт криптовалютой со своего баланса в боте.
  5. Вам приходит вебхук со статусом paid, на баланс зачисляются рубли.
Счёт всегда в рублях

Вы работаете только с рублями: задаёте amount в копейках и получаете зачисление в рублях. То, какой монетой расплатится клиент, и по какому курсу — на вашей стороне не отражается и в API не приходит. Сверять оплату нужно по amount, а не по сумме в крипте.

Создание платежа

Отдельного эндпоинта у метода нет — это обычное создание платежа с другим значением payment_method.

curl -X POST https://api.cashera.cash/api/v1/integration/transactions \
-H "X-Api-Key: $CASHERA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 49900,
"currency": "RUB",
"payment_method": "cryptobot",
"external_id": "order-10428",
"description": "Подписка Pro, 1 мес."
}'

Редирект: чем отличается от других методов

У большинства методов payment_url ведёт на платёжную страницу Cashera (pay.cashera.cash/<uuid>). У cryptobot это не так: страница Cashera пропускается, и payment_url — это прямая ссылка в Telegram на счёт в боте.

Практический вывод: не стройте ссылку на оплату сами из uuid — она не сработает. Всегда используйте payment_url из ответа как есть.

payment_url может прийти пустым

Ссылка появляется только после того, как провайдер выставил счёт. Если инициация ещё не завершилась, payment_url будет null. Не редиректьте клиента на пустое значение — запросите статус платежа через короткую паузу и возьмите ссылку оттуда.

H2H не поддерживается

Показать реквизиты в своём интерфейсе нельзя: оплата возможна только внутри Telegram. Метод H2H для cryptobot вернёт 422.

Вебхук

Формат тот же, что и у остальных методов — отличается только значение payment_method. Считайте оплату подтверждённой по status: "paid".

{
"event": "transaction.status_updated",
"transaction": {
"uuid": "9b1f2c4e-7a01-4b9d-8f1c-2eab57d90c11",
"external_id": "order-10428",
"status": "paid",
"type": "deposit",
"amount": 49900,
"gross_amount": 49900,
"net_amount": 48403,
"currency": "RUB",
"payment_method": "cryptobot",
"paid_at": "2026-06-02T18:11:42+00:00"
}
}

Ограничения

ПолеТипОписание
currencyопц.только RUBДругая валюта вернёт 422 при создании платежа.
H2Hопц.не поддерживаетсяОплата только через редирект в Telegram.
Срок жизни счётаопц.1 часПо умолчанию счёт живёт час, точное время — в поле expires_at. После истечения платёж переходит в expired, и нужно создавать новый.
Telegramопц.обязателенКлиенту нужен аккаунт Telegram и баланс в @CryptoBot. Если ваша аудитория не в Telegram — метод ей не подойдёт, предусмотрите запасной способ оплаты.

Ошибки

ПолеТипОписание
422опц.Unprocessable EntityМетод не включён вам в кабинете, либо передана валюта кроме RUB. Различайте по тексту message.
502опц.Bad GatewayПровайдер не смог выставить счёт. Повторите создание платежа.
Подключение

Метод включается на стороне Cashera. Если в разделе «Методы приёма» личного кабинета карточка CryptoBot отмечена как неподключённая — напишите менеджеру, и он активирует её вместе с тарифом.