MMeerPartners docs

API: выплаты

Эндпоинты выплат MeerPartners: создание заявки на вывод POST /api/v1/payouts и история GET /api/v1/payouts, статусы заявок и коды ошибок.

Группа /api/v1/payouts/* — вывод средств инфлюенсером. Все эндпоинты требуют JWT инфлюенсера; affiliate_id берётся из токена (анти-IDOR). Заявка создаётся мгновенно в статусе requested, а обработка провайдером идёт асинхронно — эндпоинт не блокируется на платёжном шлюзе. Метод вывода предварительно добавляется через Affiliate API.

POST /api/v1/payouts

POST/api/v1/payouts🔒 Bearer JWT

Создать заявку на вывод. Сумма резервируется: соответствующие комиссии переходят из payable в locked. Успех — 202 Accepted.

payout_method_idintegerrequired
ID метода вывода (из GET /affiliate/payout-methods).
currencystringrequired
Валюта вывода, 3-буквенный ISO-код. Приводится к верхнему регистру.
amountstringoptional
Сумма (NUMERIC). Если не указана — выводится весь доступный payable в этой валюте.
Запрос
{ "payout_method_id": 301, "currency": "RUB", "amount": "12400.00" }
Ответ 202
{
  "payout_id": 4501,
  "amount": "12400.00",
  "currency": "RUB",
  "status": "requested"
}

GET /api/v1/payouts

GET/api/v1/payouts🔒 Bearer JWT

История выплат инфлюенсера. Возвращает массив заявок (от новых к старым).

idintegerrequired
ID заявки.
amountstringrequired
Сумма (NUMERIC).
currencystringrequired
Валюта.
statusstringrequired
Статус заявки (см. ниже).
providerstringoptional
Платёжный провайдер (если назначен).
requested_atstringrequired
Когда создана (ISO 8601).
paid_atstringoptional
Когда выплачена (если выплачена).
Ответ 200
[
  {
    "id": 4501,
    "amount": "12400.00",
    "currency": "RUB",
    "status": "paid",
    "provider": "manual",
    "requested_at": "2026-06-10T09:00:00Z",
    "paid_at": "2026-06-11T14:20:00Z"
  },
  {
    "id": 4498,
    "amount": "85.00",
    "currency": "USD",
    "status": "processing",
    "provider": "manual",
    "requested_at": "2026-06-12T08:00:00Z",
    "paid_at": null
  }
]

Статусы заявки

Жизненный цикл (FSM): requested → processing → paid (успех) или → failed. Заявка с подозрением на фрод может уйти в on_hold до ручной проверки. При failed зарезервированные комиссии возвращаются обратно в payable.

СтатусЧто значит
requestedЗаявка создана, ждёт обработки воркером.
on_holdЗадержана антифрод-гейтом до ручной проверки.
processingПередана провайдеру / ждёт подтверждения.
paidВыплачено.
failedНе удалось; сумма вернулась в доступный баланс.

Минимальные суммы по умолчанию

RUB — 500, USD — 10, EUR — 10. Точные пороги задаёт оператор платформы; вывод ниже порога вернёт BELOW_MIN_PAYOUT.

Коды ошибок

КодHTTPКогда
INSUFFICIENT_BALANCE422Недостаточно доступного баланса (payable).
BELOW_MIN_PAYOUT422Сумма ниже минимальной для валюты.
KYC_REQUIRED403Требуется пройденный KYC (если гейт включён оператором).
PAYOUT_PENDING_EXISTS409Уже есть незавершённая заявка (requested/on_hold/processing).
NO_PAYOUT_METHOD404Метод вывода не найден или не принадлежит вам.
PAYOUT_AMOUNT_INVALID422Указана некорректная сумма (например ≤ 0).
PAYOUT_AMOUNT_EXCEEDS_BALANCE422Запрошенная сумма больше доступного payable.
PROFILE_NOT_FOUND404Профиль инфлюенсера не найден.

Одна активная заявка за раз

Пока предыдущая заявка не завершилась (не paid/failed), новая вернёт PAYOUT_PENDING_EXISTS. Дождитесь финального статуса в GET /api/v1/payouts.

Что дальше