Как это работает
- Вы создаёте платёж с
payment_method: "cryptobot"и суммой в рублях. - В ответе приходит
payment_url— ссылка на счёт в Telegram. - Вы отправляете клиента по этой ссылке. Открывается бот
@CryptoBotсо счётом. - Клиент оплачивает счёт криптовалютой со своего баланса в боте.
- Вам приходит вебхук со статусом
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 будет null. Не редиректьте клиента на пустое значение — запросите статус платежа через короткую паузу и возьмите ссылку оттуда.
Показать реквизиты в своём интерфейсе нельзя: оплата возможна только внутри 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 отмечена как неподключённая — напишите менеджеру, и он активирует её вместе с тарифом.