/integration/transactionsСоздаёт платёж (депозит) от имени мерчанта. В ответ приходит объект транзакции со статусомpending и полем payment_url, на которое нужно отправить покупателя.
Параметры запроса
Тело запроса - JSON. Суммы - целые числа в минорных единицах.
| Поле | Тип | Описание |
|---|---|---|
amountобязательное | integer | Сумма к оплате в минорных единицах валюты currency. Для card минимум 10000 (100,00 ₽), для остальных методов - 1 |
currencyобязательное | string | Валюта оплаты. Интеграционный приём платежей - только RUB |
payment_method | string | Код активного метода оплаты: sbp, card, mastercard, crypto или cryptobot. Если поле не передано, создаётся общая платёжная форма, где способ выбирает покупатель |
external_idобязательное | string | Ваш идентификатор заказа (до 255 символов). Обеспечивает идемпотентность |
descriptionобязательное | string | Назначение платежа, до 255 символов |
metadata | object | Произвольный JSON-объект, который вернётся в ответе и запросах статуса |
callback_url | string (https) | URL для вебхуков, только HTTPS и публичный хост. Если не задан - берётся из настроек мерчанта. Обязателен хотя бы один из источников |
success_url | string (url) | Куда вернуть клиента после успешной оплаты. По умолчанию - из настроек |
fail_url | string (url) | Куда вернуть клиента при неудаче. По умолчанию - из настроек |
Чтобы не выбирать метод заранее, полностью исключите payment_method из JSON. API вернёт ссылку на общую платёжную форму и список доступных методов.
Если callback_url не передан в запросе и не задан в настройках мерчанта, платёж не будет создан (403). URL должен использовать HTTPS и публичный хост - иначе 422. Без него вы не узнаете об оплате.
Пример запроса
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": "sbp","external_id": "order-10428","description": "Подписка Pro, 1 мес.","metadata": { "user_id": 7781, "plan": "pro" }}'
Ответ
201 Created - объект транзакции. Поля без обёрткиdata, на верхнем уровне.
{"uuid": "9b1f2c4e-7a01-4b9d-8f1c-2eab57d90c11","type": "deposit","amount": 49900,"gross_amount": 49900,"net_amount": 48403,"fee_amount": 1497,"fee_payer": "merchant","currency": "RUB","settlement_currency": "USDT","settlement_amount": 5280000,"settlement_amount_formatted": "5.28","fx_rate": "0.01090000","fx_rate_updated_at": "2026-06-02T18:04:51+00:00","payment_method": "sbp","status": "pending","external_id": "order-10428","description": "Подписка Pro, 1 мес.","metadata": { "user_id": 7781, "plan": "pro" },"payment_url": "pay.cashera.cash/9b1f2c4e","expires_at": "2026-06-02T18:20:00+00:00","paid_at": null,"settle_available_at": null,"created_at": "2026-06-02T18:05:00+00:00","updated_at": "2026-06-02T18:05:00+00:00"}
Вместо редиректа на payment_url вы можете получить QR/реквизиты и показать их в своём интерфейсе - см. реквизиты H2H.
Суммы и комиссия
amount- сумма, которую вы запросилиgross_amount- сумма к списанию с клиента (зависит от того, кто платит комиссию)net_amount- сумма после удержания комиссииfee_amount/fee_payer- размер и плательщик комиссии (merchantилиcustomer)settlement_amount- USDT-эквивалент платежа по курсуfx_rate(справочно, 6 знаков). На баланс зачисляетсяnet_amountв валюте платежа
Ошибки
| Поле | Тип | Описание |
|---|---|---|
401 | Unauthorized | Неверный или отсутствующий X-Api-Key |
403 | Forbidden | Мерчант отключён, не может принимать платежи, либо не задан callback_url |
422 | Unprocessable Entity | Ошибка валидации (см. поле errors): неверная валюта, выключенный метод и прочее |
502 | Bad Gateway | Платёжный провайдер вернул ошибку при инициации платежа |
{"message": "The selected payment method is invalid.","errors": {"payment_method": ["The selected payment method is invalid."]}}
