Обработка ошибок
В этом разделе описаны формат ошибок, возвращаемых API Love&Pay, а также приведена таблица кодов HTTP и их значений. Мы также рассмотрим типичные причины ошибок и дадим рекомендации по повторным попыткам и идемпотентности.
Формат ошибки#
Ошибки API Love&Pay возвращаются в формате JSON. Пример ответа с ошибкой:
json
{
"error": {
"code": "invalid_request_error",
"message": "Invalid API key provided",
"type": "authentication_error"
}
}
Поля ошибки#
code: Код ошибки, указывающий на конкретный тип ошибки.message: Сообщение об ошибке, предоставляющее более детальную информацию.type: Категория ошибки, например,authentication_errorилиinvalid_request_error.
Таблица кодов HTTP#
| Код HTTP | Значение | Описание |
|---|---|---|
| 200 | OK | Запрос успешно обработан. |
| 400 | Bad Request | Неверный запрос. Проверьте параметры и формат запроса. |
| 401 | Unauthorized | Ошибка аутентификации. Проверьте ключи API. |
| 403 | Forbidden | Доступ запрещён. Проверьте права доступа или IP-адреса. |
| 404 | Not Found | Ресурс не найден. Проверьте правильность URL и идентификаторов. |
| 409 | Conflict | Конфликт. Обычно возникает при идемпотентных запросах. |
| 500 | Internal Server Error | Внутренняя ошибка сервера. Повторите попытку позже. |
| 503 | Service Unavailable | Сервис временно недоступен. Повторите попытку позже. |
Типичные причины ошибок#
- 400 Bad Request: Неверные параметры запроса или их отсутствие.
- 401 Unauthorized: Неправильные или отсутствующие ключи API.
- 403 Forbidden: Запрос с IP-адреса, не включённого в белый список.
- 404 Not Found: Неправильный путь или идентификатор ресурса.
- 409 Conflict: Повторный идемпотентный запрос с изменённым телом.
- 500 Internal Server Error: Проблемы на стороне сервера.
- 503 Service Unavailable: Временная недоступность сервиса из-за перегрузки или технических работ.
Рекомендации по повторным попыткам и идемпотентности#
Повторные попытки#
- При получении ошибок 500 или 503 рекомендуется повторить запрос через некоторое время.
- Используйте экспоненциальную задержку (например, 1, 2, 4, 8 секунд) между повторными попытками.
Идемпотентность#
- Для платёжных запросов используйте заголовок
Idempotency-Key, чтобы избежать двойного списания. - При повторном запросе с тем же
Idempotency-Keyи телом вы получите тот же результат. - Если тело запроса изменилось, используйте новый
Idempotency-Key, чтобы избежать конфликтов (409 Conflict).
Была ли страница полезна?
Обновлено 21 сентября 2026 г.