batch_id, а результат по каждому элементу забирается через
POST /v1/batch/info.
URL: https://api.oblodai.com/v1/payment/batch · Аутентификация: обязательна · Идемпотентность: заголовок Idempotency-Key (на весь батч) + order_id каждого элемента.
Примеры используют хелпер
call() и переменные $SECRET/$PUBLIC_ID — их определение см. в
Как подписать запрос. Проще не писать подпись руками, а взять
SDK.Параметры запроса
array
обязательно
Массив от 1 до 5000 элементов. Поля каждого элемента — ровно те же, что у
POST /v1/payment.string
по умолчанию:"continue"
Что делать при ошибке элемента:
continue (по умолчанию) — обрабатывать остальные; stop — прекратить обработку после первой ошибки.POST /v1/payment: те же проверки,
та же комиссия, та же идемпотентность по order_id. Задавайте order_id элементам — по нему потом
удобно сопоставлять результаты, и он же защищает от дублей при повторной отправке батча.
Пример запроса
Пример ответа
string
Идентификатор батча. С ним идите в
POST /v1/batch/info.string
Вид батча — здесь всегда
payment.int64
Сколько элементов принято в обработку.
string
Стартовый статус — всегда
pending.uuid,
address, url) появятся в items[].result ответа /v1/batch/info по мере
обработки.
Статусы батча
pending → processing → completed.
completed — это «обработка закончена», а НЕ «всё успешно». Батч, где часть счетов не создалась,
тоже приходит в completed. Смотрите на succeeded / failed и на items[].error в ответе
/v1/batch/info.Коды ошибок
Ошибки отдельных элементов сюда не попадают: батч принимается целиком, а ошибка конкретного
счёта приходит в
items[].error ответа /v1/batch/info.
Нюансы
- Асинхронность. Ответ приходит мгновенно, до фактического создания счетов. Не считайте счета
созданными по ответу на submit — поллите
/v1/batch/info. - Цена элемента может быть в фиате. В одном батче спокойно уживаются счета с ценой в
RUB,EUR,USDи в монетах — правила те же, что у одиночногоPOST /v1/payment. on_error: "stop". После первой ошибки остальные элементы не обрабатываются: они получаютstatus: "error"с сообщением"skipped: batch stopped after an earlier failure"и попадают в счётчикfailed. Разберитесь с причиной и отправьте остаток новым батчем.- Идемпотентность двухуровневая. Заголовок
Idempotency-Keyзащищает от повторной отправки всего батча;order_idвнутри элемента — от дубля конкретного счёта. - Лимит частоты. Батч — это один запрос в бюджете rate limit, сколько бы элементов в нём ни было.
Связанные страницы
POST /v1/batch/info
поллинг статуса и результатов.
POST /v1/payment
поля элемента.