Выплаты
Выплата — перечисление денег на счёт вашего клиента. Реквизиты получателя вы передаёте сами при создании, платформа исполняет перевод и прикрепляет квитанцию.
В API выплата — это сделка с типом sell. Все запросы идут на общие эндпоинты сделок, тип задаётся полем type в теле запроса.
| Действие | Метод | Путь |
|---|---|---|
| Создание выплаты | POST | /api/deals/create |
| Получение выплаты | GET | /api/deals/get |
| Обновление выплаты | POST | /api/deals/update |
Все действия раздела доступны только клиентам (по api_key). Сделка должна принадлежать вашему клиенту, иначе вернётся ACCESS_DENIED.
Создание выплаты
Создаёт выплату по присланным реквизитам получателя.
Тело запроса (JSON)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
type | string | ✅ | sell |
user_id | string | ✅ | Идентификатор заказа на вашей стороне |
amount | number | ✅ | Сумма выплаты, положительное число (формат 500.00) |
currency | string | ✅ | Валюта — см. «Справочники» |
recipient_name | string | ✅ | ФИО получателя — владельца счёта |
recipient_iban | string | ✅ | IBAN получателя |
recipient_identification_code | string | ⚠️ | ОКПО / ИНН получателя: если передан — 8 или 10 цифр |
recipient_card | string | ⚠️ | Номер карты получателя, 16–19 цифр |
recipient_bank_name | string | ⚠️ | Название банка получателя |
bank_uuid | string | ⚠️ | UUID банка из списка банков |
payment_method | string | ⚠️ | Метод оплаты, по умолчанию iban |
callback_url | string | ⚠️ | Адрес для уведомлений о смене статуса — см. «Колбеки» |
curl -X POST "https://arbitpay.online/api/deals/create" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"type": "sell",
"user_id": "payout-5581",
"amount": 500.00,
"currency": "UAH",
"recipient_name": "Петренко Іван Сергійович",
"recipient_iban": "UA783057490000026003000022185",
"recipient_identification_code": "3682310038",
"recipient_card": "5167619611056719",
"recipient_bank_name": "ПриватБанк"
}'Запрос идемпотентен по user_id. Если у вас уже есть выплата с тем же user_id, того же типа и на ту же сумму в статусе created, повторный запрос вернёт её же (с сообщением о существующей сделке), а не создаст дубль.
Важно: идемпотентность действует, только пока выплата в статусе created. Как только она перешла в другой статус (pending, paid, canceled и т.д.), повторный запрос с тем же user_id создаст новую выплату.
Сумма выплаты не корректируется — в payment.amount возвращается ровно запрошенная сумма, поля requested_amount в ответе не бывает. Платёжная страница для выплаты не создаётся: поля payment_url, time_limit и return_url / success_url / fail_url к выплатам отношения не имеют.
Пробелы в recipient_iban игнорируются, значение сохраняется в верхнем регистре. Из recipient_card сохраняются только цифры.
Возможные ошибки
code | Условие |
|---|---|
ACCESS_DENIED | Токен не принадлежит клиенту |
INVALID_METHOD | Метод запроса не POST |
MISSING_FIELDS | Отсутствует одно из обязательных полей |
INVALID_TYPE | type не buy и не sell |
INVALID_AMOUNT | amount не число или ≤ 0 |
INVALID_CURRENCY | Недопустимая валюта |
INVALID_PAYMENT_METHOD | Передан payment_method вне справочника |
BANK_NOT_FOUND | Банк по bank_uuid не найден или отключён |
INVALID_RECIPIENT | Поле получателя передано не строкой |
INVALID_IBAN | Неверный формат recipient_iban |
INVALID_IDENTIFICATION_CODE | recipient_identification_code не 8 и не 10 цифр |
INVALID_CARD | recipient_card не 16–19 цифр |
Получение выплаты
Возвращает выплату по её uuid.
Параметры запроса (query)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
uuid | string | ✅ | UUID сделки (36 символов) |
curl -X GET "https://arbitpay.online/api/deals/get?uuid=8f14e45f-cea1-4a2c-9b7a-1d2e3f4a5b6c" \
-H "Authorization: Bearer <API_KEY>"См. структуру ответа.
Возможные ошибки
code | Условие |
|---|---|
ACCESS_DENIED | Токен не принадлежит клиенту или сделка чужая |
INVALID_METHOD | Метод запроса не GET |
MISSING_FIELDS | Не передан uuid |
INVALID_UUID | uuid не соответствует формату (36 символов) |
Обновление выплаты
Обновляет статус выплаты, добавляет комментарий и/или прикрепляет изображение оплаты.
Тело запроса (JSON)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
uuid | string | ✅ | UUID выплаты (36 символов) |
status | string | ⚠️ | Новый статус — см. «Справочники» |
comment | string | ⚠️ | Текст комментария к выплате |
image_base64 | string | ⚠️ | Изображение оплаты в формате data-URL: data:image/(png|jpg|jpeg|webp);base64,... |
Помимо uuid, необходимо передать хотя бы одно из полей status, comment, image_base64. Иначе — ошибка NO_FIELDS_TO_UPDATE.
См. структуру ответа.
Возможные ошибки
code | Условие |
|---|---|
ACCESS_DENIED | Токен не принадлежит клиенту или выплата чужая |
INVALID_METHOD | Метод запроса не POST |
MISSING_FIELDS | Не передан uuid |
NO_FIELDS_TO_UPDATE | Не передано ни одного поля для обновления |
INVALID_UUID | uuid не соответствует формату |
INVALID_STATUS | Недопустимое значение status |
INVALID_IMAGE_FORMAT | image_base64 не PNG/JPEG/WebP в формате data-URL |
Квитанция
Когда выплата исполнена, к ней прикрепляется файл квитанции. Ссылка на файл приходит двумя путями: событием deal.receipt на ваш callback_url и полем deal.receipt_url при получении выплаты.
Пока квитанция не прикреплена, поля receipt_url в ответе нет.
Квитанцию по ссылке лучше сразу сохранить у себя: файл может быть заменён на новую версию. Сама ссылка при этом меняется, и по старой файла уже не будет.
Структура ответа
Возвращается эндпоинтами создания, получения и обновления.
{
"status": "success",
"code": "SUCCESS",
"data": {
"deal": {
"uuid": "9c1f2b7e-4a3d-4f88-9c21-0e7b5d3a1122",
"type": "sell",
"status": "created",
"created": "2026-09-04 18:30:00"
},
"recipient": {
"name": "Петренко Іван Сергійович",
"iban": "UA783057490000026003000022185",
"identification_code": "3682310038",
"card": "5167619611056719",
"bank_name": "ПриватБанк"
},
"payment": {
"method": "iban",
"amount": "500.00",
"currency": "UAH"
},
"comments": []
},
"message": "Deal created successfully."
}Описание полей
deal
| Поле | Тип | Описание |
|---|---|---|
uuid | string | Идентификатор сделки |
type | string | Всегда sell для выплаты |
status | string | Текущий статус — см. «Справочники» |
created | string | Дата и время создания |
receipt_url | string | Ссылка на квитанцию. Поле появляется только после того, как квитанцию прикрепили |
recipient — реквизиты получателя выплаты
| Поле | Тип | Описание |
|---|---|---|
name | string | ФИО получателя |
iban | string | IBAN получателя |
identification_code | string | ОКПО / ИНН получателя |
card | string | Номер карты, пустая строка если не передан |
bank_name | string | Название банка, пустая строка если не передан |
payment — параметры выплаты
| Поле | Тип | Описание |
|---|---|---|
method | string | Метод оплаты |
amount | string | Сумма выплаты |
currency | string | Валюта |
comments — массив комментариев к сделке.
Блока requisite в ответе по выплате нет: наш реквизит в ней не участвует. Если вы работаете и с депозитами, и с выплатами, разбирайте ответ по полю deal.type.