[POST] Создание заявки на возврат
Описание запроса
POST /v1/order/[order id]/refund
Запрос позволяет создать заявку на возврат платежа.
Вы можете создать заявку на возврат, если платеж отвечает условиям:
- Статус равен paid
- Сумма платежа больше нуля
- По платежу не создано другой заявки на возврат, которая находится в статусах Новый или В обработке
После создания заявка будет обрабатываться индивидуально на нашей стороне. Если в результате обработки возврат будет выполнен, то вы получите webhook оповещение об этом событии (если подключено). Вы можете проверить состояние заявки через портал ESupport.
Этот запрос может быть использован также для создания заявки на возврат для заказа, созданного через Softline Checkout.
Данные для отправки запроса
- Endpoints URL:
- Метод: POST
- Формат: JSON
- Авторизация: с помощью токена
- Формат значения:
Bearer [token]
- Вместо [token] подставьте значение token, полученное в ответ на запрос к Authentication API.
Пример запроса
{
"description": "Тестовый платеж",
"email": "merchant@gmail.com"
}
Ответ на запрос
В ответ на запрос вы получите код ответа сервера, соответствующий результату обработки.
В зависимости от кода в теле ответа могут присутствовать дополнительные параметры.
Положительный ответ
При успешной обработке запроса вы получите код ответа сервера HTTP/1.1 200 OK.
Ответ об ошибке
В случае ошибки при обработке запроса вы получите код ответа сервера, соответствующий результату обработки.
В зависимости от кода в теле ответа могут присутствовать дополнительные параметры.
Справочник HTTP-кодов ответа сервера при ошибке
Код ответа сервера | Описание |
HTTP/1.1 400 Bad Request | Запрос не валиден (ошибка в параметрах; не переданы необходимые данные и т.п.). В теле ответа будет передан дополнительный код ошибки (один или несколько). |
HTTP/1.1 401 Unauthorized | Неуспешная аутентификация. В теле ответа будет передан дополнительный код ошибки (один или несколько). |
HTTP/1.1 404 Not found | Неверный URL запроса или платеж не найден. Проверьте адрес запроса. В теле ответа может быть передан дополнительный код ошибки. |
HTTP/1.1 500 Request Error | Ошибка на стороне сервера. Повторите запрос позднее или обратитесь в службу поддержки. |
Справочник дополнительных кодов ошибок для HTTP 400
Error | Message | Описание |
Если хотя бы одна ошибка из списка ниже найдена, то она возвращается в ответе на запрос, остальные ошибки не проверяются. | ||
110 | JSON is not valid. | Структура параметров запроса невалидна. Проверьте параметры в теле запроса на соответствие формату JSON. |
111 | Invalid data format (Content-type). | Неправильный заголовок запроса. Content-type должен быть равен application/json. |
15000 | Unable to identify your configuration for accessing this API. Please contact technical support. | При обработке не смогли однозначно определить настройки вашего аккаунта. Обратитесь в службу поддержки. |
15030 | Order refund is impossible. Order status is not equal to "paid". | Заявка на возврат не может быть принята. Статус платежа не paid. |
15040 | Order refund is impossible. Order price amount is equal to zero. | Заявка на возврат не может быть принята. Сумма платежа равна нулю. |
15050 | Order refund is impossible. Order refund request already exists. | Заявка на возврат не может быть принята. На текущий момент для платежа уже существует заявка на возврат в статусе Новый / В обработке. |
Если хотя бы одна ошибка из списка ниже найдена, то проверка запроса не прерывается. В ответе может быть возвращено несколько ошибок. |
||
15010 | Invalid field value: [наименование параметра] | Запрос не валиден, например, не заполнен обязательный параметр, передано неверное название параметра, тип или формат значения параметра неверны. В том числе ошибка будет возвращена, если в параметре передано null, и этот вариант значения не указан как допустимый. |
Справочник дополнительных кодов ошибок для HTTP 401
Справочник этих ошибок одинаковый для всех API, которые используют авторизацию по токену.
Справочник дополнительных кодов ошибок для HTTP 404
Error | Message | Описание |
15060 | Order refund is impossible. Order not found. | Запрос не может быть выполнен. Платеж с переданным id не найден или у вас нет доступа к нему. |
Пример ответа об ошибке
{
"errors": [{
"error": 15020,
"message": "Order not found."
}
]
}