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

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

Главный метод интеграции: создаёт транзакцию-приём и возвращает ссылку на оплату

POST/integration/transactions

Создаёт платёж (депозит) от имени мерчанта. В ответ приходит объект транзакции со статусомpending и полем payment_url, на которое нужно отправить покупателя.

Параметры запроса

Тело запроса - JSON. Суммы - целые числа в минорных единицах.

ПолеТипОписание
amountобязательноеintegerСумма к оплате в минорных единицах валюты currency. Для card минимум 10000 (100,00 ₽), для остальных методов - 1
currencyобязательноеstringВалюта оплаты. Интеграционный приём платежей - только RUB
payment_methodstringКод активного метода оплаты: sbp, card, mastercard, crypto или cryptobot. Если поле не передано, создаётся общая платёжная форма, где способ выбирает покупатель
external_idобязательноеstringВаш идентификатор заказа (до 255 символов). Обеспечивает идемпотентность
descriptionобязательноеstringНазначение платежа, до 255 символов
metadataobjectПроизвольный JSON-объект, который вернётся в ответе и запросах статуса
callback_urlstring (https)URL для вебхуков, только HTTPS и публичный хост. Если не задан - берётся из настроек мерчанта. Обязателен хотя бы один из источников
success_urlstring (url)Куда вернуть клиента после успешной оплаты. По умолчанию - из настроек
fail_urlstring (url)Куда вернуть клиента при неудаче. По умолчанию - из настроек
Покупатель может выбрать способ оплаты

Чтобы не выбирать метод заранее, полностью исключите payment_method из JSON. API вернёт ссылку на общую платёжную форму и список доступных методов.

callback_url: обязателен и только HTTPS

Если callback_url не передан в запросе и не задан в настройках мерчанта, платёж не будет создан (403). URL должен использовать HTTPS и публичный хост - иначе 422. Без него вы не узнаете об оплате.

Пример запроса

201 Created
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, на верхнем уровне.

201 Created
{
"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 в валюте платежа

Ошибки

ПолеТипОписание
401UnauthorizedНеверный или отсутствующий X-Api-Key
403ForbiddenМерчант отключён, не может принимать платежи, либо не задан callback_url
422Unprocessable EntityОшибка валидации (см. поле errors): неверная валюта, выключенный метод и прочее
502Bad GatewayПлатёжный провайдер вернул ошибку при инициации платежа
422 Unprocessable
{
"message": "The selected payment method is invalid.",
"errors": {
"payment_method": ["The selected payment method is invalid."]
}
}