Выплаты

Предварительный расчёт

Узнайте заранее, сколько получит адресат и по какому курсу, — до того как деньги спишутся с баланса.

GET/integration/payouts/quote

Расчёт по конкретному кошельку и сумме: сколько спишется с баланса, сколько дойдёт до получателя и какой курс применяется прямо сейчас. Ничего не списывает и не создаёт — это только расчёт.

Требуется подпись

Запрос подписывается, как и остальные ручки выплат. Тело пустое — sha256(""), а в строку подписи идёт путь /api/v1/integration/payouts/quote без query-строки.

Query-параметры

ПолеТипОписание
amountобяз.integerСумма списания с баланса в минорных единицах, от 1. Для RUB — копейки.
wallet_uuidобяз.uuidКошелёк, на который планируется выплата. От его типа зависит форма ответа — см. ниже. Тот же wallet_uuid затем передаётся в создание выплаты.

Две формы ответа

Поле quote_type говорит, какой набор полей пришёл. Оно определяется типом кошелька, а не вашим запросом.

quote_type: usdt_trc20

ПолеТипОписание
source_amountопц.integerСколько спишется с баланса, в минорных единицах.
source_currencyопц.stringВалюта списания (RUB).
available_amountопц.integerДоступный остаток на балансе на момент расчёта.
usdt_amount_microопц.integerСколько получит адресат в USDT, в микро-единицах: 1 USDT = 1 000 000.
merchant_rateопц.stringВаш курс конвертации, по которому считается выплата.
fx_markup_percentопц.numberНаценка к базовому курсу, в процентах.
rate_updated_atопц.stringКогда курс был зафиксирован (ISO 8601).

quote_type: card

ПолеТипОписание
source_amountопц.integerСколько спишется с баланса, в минорных единицах.
source_currencyопц.stringВалюта списания (RUB).
available_amountопц.integerДоступный остаток на балансе на момент расчёта.
fee_percent_bpsопц.integerКомиссия за выплату на карту в базисных пунктах: 150 = 1,5%.
fee_amountопц.integerКомиссия в минорных единицах.
net_card_rub_amountопц.integerСколько придёт на карту после вычета комиссии.
card_payout_limitsопц.objectДействующие лимиты на выплаты по карте: минимальная и максимальная сумма зачисления (min_net_amount_minor, max_net_amount_minor), число выплат на карту в сутки (max_payouts_per_day) и месячный потолок (monthly_net_amount_minor). Ориентируйтесь на значения из ответа — они могут меняться.

Пример

200 OK
# Подпись — по пути без query:
# {timestamp}\n GET \n /api/v1/integration/payouts/quote \n sha256("")
curl -G "https://api.cashera.cash/api/v1/integration/payouts/quote" \
--data-urlencode "amount=2102100" \
--data-urlencode "wallet_uuid=b41f0c8e-3d55-4a17-9e02-7c6d1a8f4b30" \
-H "X-Api-Key: $CASHERA_API_KEY" \
-H "X-Timestamp: 1780000000" \
-H "X-Signature: a91c4f...2db8"
Курс живёт недолго

Расчёт отражает курс на момент запроса — при создании выплаты он берётся заново. Между расчётом и созданием сумма в USDT может немного отличаться. Показывайте расчёт как ориентир, а фактические значения берите из ответа на создание или из истории.

Ошибки

ПолеТипОписание
401опц.UnauthorizedПроблема с подписью.
404опц.Not FoundКошелёк не найден или принадлежит другому мерчанту.
422опц.Unprocessable EntityНе передан amount или wallet_uuid, валюта кошелька не совпадает с валютой баланса, недостаточно средств либо сумма выходит за лимиты выплат на карту.