Merchant API
Проверка…Песочница
Руководство
Markdown-версия

Ошибки

Формат ошибок, коды ответов и что с ними делать.

Все ответы — JSON. Успешные содержат "status": "success", ошибки — "status": "error" и message; у части ошибок есть машинный code.

JSON
{
  "status": "error",
  "code": "idempotency_key_reused",
  "message": "This idempotencyKey was already used for a different product"
}

Коды ответов

КодКогдаЧто делать
400Некорректный ID, тело или параметр.Исправить запрос.
401 / 403Нет ключа, неверный ключ, доступ отключён, покупки отключены.См. «Аутентификация».
402Недостаточно средств. Заказ не создан.Пополнить баланс, повторить с тем же ключом.
404Товар или заказ не найден.Проверить ID.
409Товар недоступен для покупки.Обновить каталог, проверить наличие.
413 / 415Тело больше 10 КБ или не JSON.Исправить запрос.
422idempotencyKey использован для другого товара.Новый ключ для новой покупки.
429Превышен лимит запросов.Подождать и повторить реже.
500Внутренняя ошибка или key_unavailable.Повторить с тем же idempotencyKey / запросить заказ позже.
502Поставщик не выполнил заказ (failed). Деньги возвращены.Можно купить снова с новым ключом.
503Временная недоступность или техработы (maintenance_mode).Повторить позже.

Причины отказа (failureReason)

Приходят в message ответа покупки и в поле failureReason заказа со статусом failed или cancelled.

failureReasonЗначение
insufficient_balanceНедостаточно средств.
purchase_disabledПокупки для клиента отключены.
product_unavailableТовар нельзя продать сейчас: нет в наличии или цена у поставщика вышла за допустимую.
fulfillment_failedПоставщик не выполнил заказ.
fulfillment_cancelledПоставщик отменил или вернул заказ.
client_not_foundКлиент не найден.

Список может пополняться: неизвестное значение обрабатывайте как общий отказ.