Ошибки HTTP-ответов
KVELL возвращает ошибки API в едином JSON-формате. Один HTTP-статус может соответствовать нескольким кодам,
поэтому при обработке ответа учитывайте значение errors[].code.
Формат ответа
Параметры ответа
| Параметр | Тип | Описание |
|---|---|---|
errors |
array | Список ошибок. |
errors[].code |
integer | Код ошибки. |
errors[].message |
string | Описание ошибки. |
Список ошибок
Что входит в справочник
Ниже перечислены стандартные ошибки. Банковские причины отклонения
транзакции передаются в поле error_code и описаны отдельно
в разделе «Коды ошибок транзакции».
HTTP 400 — ошибка выполнения запроса
| Код | Сообщение | Что означает и что делать |
|---|---|---|
20001 |
Неверный api-key | Проверьте значение ключа и контур запроса. |
20002 |
Неверная подпись | Подпишите точное тело отправляемого запроса и повторите запрос. |
20003 |
Payment/Payout профиль не привязан к магазину | Обратитесь к менеджеру KVELL для настройки требуемого профиля. |
20004 |
Сессия не найдена | Сессия отсутствует или истекла. Создайте новый сценарий операции. |
20005 |
Ошибка от PSP сервиса | Платёжный сервис или банк вернул ошибку обработки после создания операции. |
20007 |
Транзакция совершалась прежде | Операция с таким transaction уже существует. Запросите её статус, не создавайте дубликат. |
20008 |
Не обработанный статус для проведения платежа | Получен статус, который нельзя обработать в текущем сценарии. Запросите актуальный статус операции. |
20010 |
Неверный формат email | Исправьте email и повторите запрос. |
20011 |
Неверная дата истечения срока счета | Исправьте дату истечения счёта и повторите запрос. |
20012 |
Заказ не завершен | Дождитесь финального статуса заказа перед следующей операцией. |
20013 |
Заказ не является платежом | Проверьте тип исходной операции. |
20014 |
Ошибка при отправке email | Проверьте адрес получателя и повторите отправку позднее. |
20015 |
Недостаточно средств | Операция с исходным transaction отменена. Пополните баланс и создайте новую попытку с новым transaction. |
20016 |
Аккаунт не найден | Проверьте настройки аккаунта или обратитесь в поддержку. |
20018 |
Необходимо выбрать один способ сохранения карты на стороне банка | Оставьте в запросе только один способ сохранения карты. |
20019 |
Превышен лимит выплат по магазину | Уменьшите сумму или измените лимит, затем повторите запрос. |
20022 |
Не удалось получить настройки терминала для проверки токена ТБанк | Проверьте настройки терминала или обратитесь в поддержку. |
20023 |
Невозможно вернуть средства за незавершенную операцию | Дождитесь завершения исходной операции. |
20024 |
Ошибка возврата средств | Проверьте статус исходной операции и возврата перед повтором. |
20025 |
Сумма возврата превышает сумму заказа | Уменьшите сумму возврата. |
20026 |
Невозможно сделать отмену в незавершенной операции | Дождитесь завершения исходной операции. |
20027 |
Ошибка отмены предавторизации | Проверьте статус операции и обратитесь в поддержку при повторении ошибки. |
20028 |
Невозможно сделать подтверждение незавершенной операции | Дождитесь статуса, допускающего подтверждение. |
20029 |
Ошибка подтверждения предавторизации | Проверьте статус операции и обратитесь в поддержку при повторении ошибки. |
20030 |
Сумма подтверждения превышает сумму заказа | Уменьшите сумму подтверждения. |
20039 |
Sber профиль не привязан к магазину | Обратитесь к менеджеру KVELL для настройки Sber-профиля. |
HTTP 401 — ошибка авторизации
| Код | Сообщение | Что означает и что делать |
|---|---|---|
20032 |
Неверный ключ | Проверьте ключ доступа и повторите запрос. |
HTTP 403 — доступ запрещён
| Код | Сообщение | Что означает и что делать |
|---|---|---|
20037 |
Доступ запрещен | Убедитесь, что магазин активен и ему разрешён доступ к API. |
20038 |
Некорректный номер черновика | У магазина нет доступа к указанному черновику выплаты. |
HTTP 404 — данные не найдены
| Код | Сообщение | Что означает и что делать |
|---|---|---|
20006 |
Магазин не найден | Проверьте X-Api-Key и контур запроса. |
20009 |
Заказ не найден | Проверьте transaction и магазин, от имени которого выполняется запрос. |
20031 |
Данные по ключу не найдены в кэше | Данные отсутствуют или истекли. Повторите исходный сценарий их создания. |
20033 |
Задача по получению справки не найдена | Проверьте идентификатор задачи. |
20036 |
Договор не найден | Проверьте идентификатор договора. |
20040 |
Черновик выплаты не найден | Проверьте идентификатор черновика и магазин. |
HTTP 422 — ошибка валидации
| Код | Сообщение | Что означает и что делать |
|---|---|---|
20017 |
customer_key не задан | Передайте customer_key в сценарии, где он обязателен. |
20020 |
Получатель не задан | Передайте данные получателя. |
20021 |
Необходимо заполнить хотя бы одно поле | Передайте хотя бы одно изменяемое поле. |
20041 |
Итоговое поле description превышает допустимую длину |
Сократите description, сформируйте новую подпись и повторите запрос. |
20042 |
Данные из выплаты и черновика выплаты не совпадают | Приведите данные запроса в соответствие с черновиком. |
20098 |
Ошибка валидации поля | Исправьте поле, указанное в начале message, сформируйте новую подпись и повторите запрос. |
HTTP 5XX — внутренняя ошибка
| Код | Сообщение | Что означает и что делать |
|---|---|---|
20000 |
Неизвестная ошибка | Результат операции неизвестен. Используйте алгоритм обработки технических ошибок ниже. |
Технические ошибки и отсутствие ответа
Ответ 5xx, таймаут и разрыв соединения означают, что результат операции неизвестен: запрос мог быть обработан,
даже если клиент не получил ответ.
- Оставьте операцию в своей системе в состоянии «обрабатывается».
- Запросите её статус по исходному
transaction. - Не создавайте повторную операцию с новым
transaction, пока результат исходной операции не установлен. - Если запросы статуса продолжают завершаться ошибкой, обратитесь в поддержку и передайте
transaction.