POST
/integration/transactionsСоздаёт платёж (депозит) от имени мерчанта. В ответ приходит объект транзакции со статусомpending и полем payment_url, на которое нужно отправить покупателя.
Параметры запроса
Тело запроса — JSON. Суммы — целые числа в минорных единицах.
| Поле | Тип | Описание |
|---|---|---|
amountобяз. | integer | Сумма к оплате в минорных единицах валюты currency. Минимум 1. |
currencyобяз. | string | Валюта оплаты: RUB, USD или EUR. |
payment_methodобяз. | string | Код активного метода оплаты, например sbp. |
external_idобяз. | string | Ваш идентификатор заказа (до 255 символов). Обеспечивает идемпотентность. |
descriptionопц. | string | Назначение платежа (до 255 символов). Опционально. |
metadataопц. | object | Произвольный JSON-объект, который вернётся в ответе и запросах статуса. |
payloadопц. | string | Произвольная строка до 1024 символов для ваших служебных данных. |
callback_urlопц. | string (https) | URL для вебхуков, только HTTPS и публичный хост. Если не задан — берётся из настроек мерчанта. Обязателен хотя бы один из источников. |
success_urlопц. | string (url) | Куда вернуть клиента после успешной оплаты. По умолчанию — из настроек. |
fail_urlопц. | string (url) | Куда вернуть клиента при неудаче. По умолчанию — из настроек. |
callback_url: обязателен и только HTTPS
Если 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,"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,"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.
Ошибки
| Поле | Тип | Описание |
|---|---|---|
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."]}}