Выплаты

Создание выплаты

Выводит средства с баланса мерчанта. Запрос должен быть подписан.

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.

Пример

201 Created
# Заголовки 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 или недостаточно средств.