batch_id, результат по каждому элементу забирается через
POST /v1/batch/info.
URL: https://api.oblodai.com/v1/refund/batch · Аутентификация: обязательна · Идемпотентность: заголовок Idempotency-Key (на весь батч) + тройка (платёж, адрес, сумма) каждого элемента.
Примеры используют хелпер
call() и переменные $SECRET/$PUBLIC_ID — их определение см. в
Как подписать запрос. Проще не писать подпись руками, а взять
SDK.Параметры запроса
array
обязательно
Массив от 1 до 5000 элементов. Поля каждого элемента — ровно те же, что у
POST /v1/payment/refund.string
по умолчанию:"continue"
Что делать при ошибке элемента:
continue (по умолчанию) — обрабатывать остальные; stop — прекратить обработку после первой ошибки.address необязателен (по
умолчанию — payer_address платежа), возврат на адрес плательщика
авто‑подтверждается, на любой другой — ждёт подтверждения.
Пример запроса
Пример ответа
string
Идентификатор батча — с ним в
POST /v1/batch/info.string
Вид батча — здесь всегда
refund.int64
Сколько элементов принято в обработку.
string
Стартовый статус — всегда
pending.Статусы батча
pending → processing → completed. Подробнее — /v1/batch/info.
Коды ошибок
Ошибки отдельных возвратов (
refund.nothing_to_refund, refund.no_address,
refund.exceeds_refundable и т. п.) приходят в items[].error ответа
/v1/batch/info.
Нюансы
- Баланс проверяется поэлементно. Возврат — это списание с баланса. Если средств не хватит,
часть элементов упадёт с ошибкой, а остальные пройдут (при
on_error: "continue"). - Возврат на чужой адрес останется ждать подтверждения (maker‑checker) — батч этого не отменяет.
- Bitcoin/UTXO. У таких платежей нет единого отправителя,
payer_addressпуст — в элементе обязательно указывайтеaddress, иначе получитеrefund.no_address.
Связанные страницы
POST /v1/batch/info
поллинг статуса и результатов.
POST /v1/payment/refund
поля элемента.