Skip to main content
Выплата — это вывод средств с вашего баланса на внешний адрес. По API‑ключу выплата авто‑одобряется и уходит сразу, без белых списков и периодов выдержки. Разберём поток от проверки баланса до подтверждающего вебхука. Справочник метода — POST /v1/payout.

Поток


1

Проверить баланс

Осторожно с незрелыми средствами. Свежий депозит виден в балансе, но до набора подтверждений находится под maturity‑холдом и не выводим. Выплата на сумму, включающую незрелые средства, вернёт 409 payout.funds_maturing. Выводимый остаток может быть временно меньше показанного. См. POST /v1/balance.
2

Посчитать комиссию (необязательно)

Чтобы заранее понять, сколько уйдёт с баланса и сколько получит адрес:
  • is_subtract: false — комиссия из суммы (получатель получает меньше).
  • is_subtract: true — комиссия сверх суммы (списывается с баланса дополнительно).
is_subtract здесь — параметр предрасчёта calculate. На самой выплате /v1/payout это поле не действует: кто платит сетевую комиссию, определяет настройка проекта fee-config. Считайте calculate с тем же вариантом, что стоит в fee‑config, — тогда превью совпадёт с реальной выплатой.
3

Создать выплату

Выплата — самая дорогая операция для дубля, поэтому здесь работают оба механизма защиты:
  • Idempotency-Key (HTTP‑заголовок) — генерируется до первой отправки и одинаков во всех ретраях. Повтор с тем же ключом вернёт тот же ответ и заголовок Idempotent-Replayed: true. Если предыдущая попытка ещё выполняется — придёт 409 idempotency.in_progress: подождите и повторите.
  • order_id — для выплаты обязателен (без него 400 payout.order_id_required). Повтор с тем же order_id вернёт уже созданную выплату, а не отправит вторую.
Как добавить заголовок в свою обёртку call()Устойчивый клиент.
4

Отследить статус

Статус выплаты в ответах — укрупнённый (маппинг):Финал — is_final: true (paid/fail/cancel). О смене статуса приходит вебхук payout.* — ловите его так же, как платёжный (проверка подписи, идемпотентность). См. Настройка вебхуков.

Частые ошибки

409 ≠ «всё, выплата отменена». Не бросайте выплату при первом же 409: payout.funds_maturing и idempotency.in_progress надо повторить позже, и деньги уйдут. Разбор — Устойчивый клиент.

Важно про безопасность

Выплаты по API‑ключу уходят сразу и необратимы. Ответственность за адрес назначения — на вашей стороне. Рекомендуется:
  • Включить IP‑allowlist, чтобы выплаты можно было инициировать только с вашего backend.
  • Хранить secret только на сервере.
  • Валидировать адрес получателя на своей стороне до вызова.
См. Безопасность в проде.

Связанные страницы

POST /v1/payout

Объект выплаты

POST /v1/payout/calculate

POST /v1/balance

Модель баланса и движение средств

Рецепт устойчивого клиента

Массовые операции

Массовые выплаты

Сплит‑платежи

Возвраты платежей