POST
/integration/payoutsСоздаёт выплату в USDT с баланса мерчанта. Сумма блокируется на балансе и переводится получателю; финальный статус приходит вебхуком payout.status_updated.
Требуется подпись
Этот эндпоинт работает только с подписанными запросами(X-Api-Key + X-Timestamp + X-Signature). Обычного ключа недостаточно.
Параметры запроса
| Поле | Тип | Описание |
|---|---|---|
amountобяз. | integer | Сумма в минорных единицах. Для USDT это микроюниты (6 знаков): 25000000 = 25 USDT. |
currencyобяз. | string | Валюта выплаты. Поддерживается только USDT. |
external_idобяз. | string | Ваш идентификатор выплаты (до 255 символов). Обеспечивает идемпотентность. |
destinationопц. | object | Реквизиты получателя (адрес кошелька и т.п.). Произвольный JSON-объект. |
metadataопц. | object | Произвольный JSON-объект, который вернётся в ответе и вебхуках. |
callback_urlопц. | string (https) | URL для вебхуков о статусе. Если не задан — берётся из настроек мерчанта. Обязателен (из запроса или настроек) и должен использовать HTTPS. |
Пример
# Заголовки X-Timestamp и X-Signature — см. «Подписанные запросы»curl -X POST https://api.cashera.cash/api/v1/integration/payouts \-H "X-Api-Key: $CASHERA_API_KEY" \-H "X-Timestamp: 1780000000" \-H "X-Signature: 4f3c2a...e91b" \-H "Content-Type: application/json" \-d '{"amount": 25000000,"currency": "USDT","external_id": "withdraw-001","destination": { "type": "usdt_trc20", "address": "TM9...x7" }}'
Баланс и блокировка
При создании выплаты сумма списывается с доступного баланса и блокируется до завершения. Если доступных средств недостаточно, вернётся 422. После статуса failedблокировка снимается и средства возвращаются в доступный баланс.
Идемпотентность
Повторный запрос с тем же external_id вернёт уже созданную выплату, а не создаст новую. При гонке запросов возможен ответ 409 Conflict — повторите запрос статуса.
Ошибки
| Поле | Тип | Описание |
|---|---|---|
401опц. | Unauthorized | Проблема с подписью или временем запроса. |
403опц. | Forbidden | Мерчант отключён, не задан секрет/IP не разрешён, или отсутствует callback_url. |
409опц. | Conflict | Конфликт идемпотентности по external_id. |
422опц. | Unprocessable Entity | Ошибка валидации, недопустимый callback_url (не HTTPS), валюта не USDT или недостаточно средств. |