S
docs.syncra.money
API ReferenceMerchant API

Выплаты клиентам (PayOut)

Вывод средств через P2P-трейдеров: мерчант создаёт заявку, трейдер переводит деньги получателю со своего банка

Выплаты клиентам (PayOut)

Выплата (PayOut) — это P2P-операция вывода средств, при которой мерчант создаёт заявку на перевод, а трейдер выполняет фактический перевод получателю со своего банковского счёта.


Процесс выплаты (PayOut Flow)

Как работает P2P-выплата:

Загрузка диаграммы...

Ключевой момент: Деньги получателю приходят со счёта трейдера, а не напрямую с баланса мерчанта. Баланс мерчанта компенсирует трейдера за выполненный перевод внутри платформы Syncra.


Эндпоинт создания PayOut запроса

POST /api/v1/p2p/merchant/deals/payout

Параметры запроса (JSON Body)

ПолеТипОбяз.Описание
amountint64ДаСумма выплаты в минимальных единицах валюты (копейках). Например, 500000 = 5000.00 RUB.
currencystringДаISO 4217 код валюты выплаты. Определяется конфигурацией тенанта (например, "RUB", "KZT").
wallet_idstringДаUUID кошелька мерчанта, с которого будут списаны средства для выплаты.
target_requisitestringДаНомер реквизитов (карты, телефона) получателя выплаты.
target_namestringНетИмя получателя для верификации банком или трейдером.
payment_methodstringНетТип метода оплаты (например, BANK_CARD, SBP).
idempotency_keystringДаУникальный ID операции для предотвращения двойного списания при сетевых сбоях.
callback_urlstringНетИндивидуальный URL для отправки вебхуков по этой сделке.

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

{
  "amount": 500000,
  "currency": "RUB",
  "wallet_id": "8f870a31-b88d-4cb0-a882-628d08cbda88",
  "target_requisite": "2202201234567890",
  "target_name": "Иван Иванович И.",
  "payment_method": "BANK_CARD",
  "idempotency_key": "payout_order_99812",
  "callback_url": "https://merchant.example/callbacks/payout"
}

Пример ответа (200 OK)

{
  "data": {
    "id": "e81d77a0-0d3a-4422-b91c-7cb052a2119c",
    "status": "PENDING",
    "amount": 500000,
    "currency": "RUB",
    "target_requisite": "220220******7890",
    "target_name": "Иван Иванович И.",
    "created_at": "2026-07-12T17:21:00Z"
  }
}

Статусы PayOut транзакции

Обратите внимание, что статусы выплат (PayOut) существенно отличаются от статусов входящих платежей (PayIn). Используется другой набор числовых и строковых значений:

Код V1Название V1Финальный?Статус V2Описание состояния
1WaitingProcessingНетPENDINGВыплата создана, средства удержаны на Hold, ожидает принятия трейдером.
40InProgressНетPROCESSINGТрейдер принял заявку в работу и готовит перевод.
50PayingRightNowНетEXECUTINGТрейдер осуществляет отправку средств получателю.
10PaidДаPAIDСредства успешно отправлены получателю, транзакция успешно завершена.
20PaidPartiallyДаUNDERPAIDОплата произведена частично (редкий случай сбоя лимитов).
30FailedДаCANCELLEDОшибка выплаты (неверная карта, отмена трейдером). Средства возвращены на баланс мерчанта из Hold.

Важное отличие от PayIn: Выплаты не поддерживают статусы Timeout (код 13 в PayIn) или Disput (код 21). При любых ошибках перевода со стороны трейдера или отклонении операции банком-эмитентом транзакция переходит в финальный статус Failed (код 30 в V1 / CANCELLED в V2).


Лимиты на разовые выплаты

Лимиты сумм не захардкожены в шлюзе — они динамически определяются конфигурацией вашего тенанта:

Источник лимитаУправлениеОписание
Каскадные правила (cascade_rules.max_amount)Админ-панельМаксимальная сумма для конкретного каскада маршрутизации
Реквизиты трейдеров (requisites.max_amount)Трейдер / АдминЛимит на одну транзакцию для конкретного реквизита
Конфиг тенанта (system_config)СуперадминГлобальные лимиты автоодобрения

Конкретные значения лимитов зависят от вашей конфигурации и могут быть изменены администратором в реальном времени без перезапуска сервисов. При необходимости отправить сумму, превышающую лимит одной транзакции, разделите её на несколько запросов с уникальными ключами idempotency_key.

On this page