Формат ответа ЮKassa
Ответ на запрос содержит код ответа (состояния) HTTP, стандартные заголовки и при необходимости тело ответа.
Тело ответа при успехе
Основная сущность API ЮKassa — это объект. Например, для проведения платежа нужен объект платежа, а для проведения выплаты — объект выплаты. Каждый запрос в API ЮKassa связан с выполнением определенного действия над объектом, например создание объекта, получение информации о нём.
При успешной обработке запроса (HTTP 200) ЮKassa возвращает в теле ответа созданный, измененный или запрошенный объект или список объектов. Формат тела ответа — JSON. Параметры тела ответа зависят от запроса.
Пример тела ответа
JSON
{
  "id": "23d93cac-000f-5000-8000-126628f15141",
  "status": "pending",
  "paid": false,
  "amount": {
    "value": "100.00",
    "currency": "RUB"
  },
  "confirmation": {
    "type": "redirect",
    "confirmation_url": "https://yoomoney.ru/api-pages/v2/payment-confirm/epl?orderId=23d93cac-000f-5000-8000-126628f15141"
  },
  "created_at": "2019-01-22T14:30:45.129Z",
  "description": "Заказ №1",
  "metadata": {},
  "recipient": {
    "account_id": "100500",
    "gateway_id": "100700"
  },
  "refundable": false,
  "test": false
}
Тело ответа при ошибке
Если с запросом что-то не так (код ответа HTTP, отличный от 200), то для кодов ответа HTTP 400, 401, 403, 404, 429 и 500 вернется тело ответа в формате JSON с описанием ошибки.
ПараметрТипОписание
typestring
Тип объекта. Фиксированное значение —
error
.
Обязательный параметр
idstring
Идентификатор ошибки. Используйте его, если вам необходимо обратиться в техническую поддержку.
Обязательный параметр
codestring
Код ошибки. Возможные значения:
  • invalid_request
     — неправильный запрос, например ошибка в значении параметра или нарушение логики проведения операции (HTTP 400);
  • invalid_credentials
     — некорректные данные для аутентификации запросов (HTTP 401);
  • forbidden
     — не хватает прав для выполнения операции (HTTP 403);
  • not_found
     — запрашиваемый ресурс не найден (HTTP 404);
  • too_many_requests
     — превышен лимит запросов в единицу времени (HTTP 429);
  • internal_server_error
     — технические неполадки на стороне ЮKassa (HTTP 500).
Обязательный параметр
descriptionstring
Описание ошибки на английском языке.
Необязательный параметр
parameterstring
Название заголовка или параметра тела ответа, из-за которого произошла ошибка.
Необязательный параметр
Пример тела ответа при ошибке
JSON
{
  "type" : "error",
  "id" : "e65a8f85-f8b7-4f4f-9fd3-bfef99aacbbb",
  "code" : "invalid_request",
  "description" : "Idempotence key is too long. Send the value in accordance with the documentation",
  "parameter" : "Idempotence-Key"
}
У ответов с другими кодами HTTP (405, 415) тело отсутствует. Для этих ответов причина возникновения ошибки указывается в заголовках (например, в заголовке
Reason-Phrase
).
Подробнее об ответах при ошибке — в описании кодов ответа HTTP.

Есть вопросы или замечания по документации?

Можем созвониться и обсудить их лично: мы поможем вам разобраться, а вы нам — понять, что тут нужно улучшить. Для этого оставьте свои контакты и выберите время.
Да, хочу обсудить
Что почитать еще
Общие рекомендации по обработке ответовИспользование SDKТестирование платежей