Перейти к содержимому

Коды ошибок

Все ошибки приходят одинаково: HTTP-код в статусе и машиночитаемый код в поле message. Разбирайте именно message — HTTP-код у одной и той же ошибки может отличаться в зависимости от метода.

{
"statusCode": 403,
"message": "NO_REQUISITE_FOUND_FOR_THIS_AMOUNT",
"error": "Forbidden"
}

Если запрос не прошёл проверку схемы, message будет массивом — по строке на каждое нарушенное правило:

{
"statusCode": 400,
"message": [
"amount must not be less than 1",
"requisite should not be empty"
],
"error": "Bad Request"
}
КодHTTPЧто произошло и что делать
INVALID_API_KEY401Заголовок X-Secure-Key отсутствует или ключ не найден. Проверьте ключ в кабинете и убедитесь, что не используется ключ другого контура
INVALID_TOKEN401Передан токен сессии вместо API-ключа либо токен просрочен. Для серверных интеграций используйте X-Secure-Key
IP_NOT_IN_WHITELIST403Ключ верный, но адрес запроса не в списке разрешённых. Согласуйте адрес с менеджером — см. IP Whitelist
CANT_CREATE_TRADE_MERCHANT_DISABLED403Создание сделок для кабинета выключено. Обратитесь к менеджеру

Ошибки этой группы не устраняются повтором запроса.

КодHTTPЧто произошло
INVALID_PARAMS400Передана недопустимая комбинация полей
MISSED_PARAMS400Не хватает обязательного параметра
BANK_REQUIRED400Для выбранного метода банк обязателен
SPECIFY_REQUISITES_OR_SBP_NUMBER400В requisite не передан ни номер карты, ни номер СБП
MIN_FIAT_AMOUNT_SHOULD_BE_MORE_THAN_<n>403Сумма меньше минимальной. Минимум подставляется в конец кода числом
QR_DAILY_LIMIT_USER_ID_REQUIRED400Для метода с суточным лимитом нужен payerInfo.userId
КодHTTPЧто произошло и что делать
NO_REQUISITE_FOUND_FOR_THIS_AMOUNT403Нет свободного реквизита под эту сумму и условия. Повторите позже или ослабьте условия — например, не указывайте bank
ORDER_WITH_SPECIFIED_MERCHANT_TRANSACTION_ID_ALREADY_EXISTS403merchantTransactionId уже использован. Сделка уже создана — запросите её вместо повторного создания
INSUFFICIENT_FUNDS403На балансе недостаточно средств для выплаты. Пополните баланс
RATE_NOT_SET_CONTACT_SUPPORT403Для валюты не задан курс. Обратитесь к менеджеру
INTEREST_RATE_NOT_FOUND_FOR_METHOD_OR_CURRENCY403Для пары метод + валюта нет ставки. Обратитесь к менеджеру
CURRENCY_UNAVAILABLE_CONTACT_SUPPORT403Валюта недоступна для кабинета. Обратитесь к менеджеру
COUNTERAGENT_BLACKLISTED403Контрагент в чёрном списке, реквизит выдан не будет
MATCHING_METHOD_NOT_ALLOWED400Метод не поддерживается в matching-сценарии — см. Matching

Все коды этой группы возвращаются с HTTP 403 и означают одно: метод не включён для вашего кабинета. Включение согласуется с менеджером.

КодМетод
CARD_METHOD_DISABLED_PLEASE_CONTACT_SUPPORTПеревод по карте
SBP_METHOD_DISABLED_PLEASE_CONTACT_SUPPORTСБП
ACCOUNT_METHOD_DISABLED_PLEASE_CONTACT_SUPPORTПеревод на счёт
QR_METHOD_DISABLED_PLEASE_CONTACT_SUPPORTQR
CROSS_BORDER_CARD_METHOD_DISABLED_PLEASE_CONTACT_SUPPORTТрансграничный перевод по карте
CROSS_BORDER_SBP_METHOD_DISABLED_PLEASE_CONTACT_SUPPORTТрансграничный СБП
КодHTTPЧто произошло
TRADE_NOT_FOUND400 / 403 / 404Сделка не найдена, принадлежит другому кабинету либо её статус не допускает эту операцию
TRADE_NOT_FOUND_FOR_UPDATE400 / 403Сделка найдена, но её текущий статус не позволяет изменение
TRADE_ALREADY_PROCESSING403Сделка уже обрабатывается, параллельное изменение отклонено
TRADE_TIMEOUT_DECLINED400Продление таймера отклонено — оно одноразовое
КодHTTPЧто произошло
MERCHANT_DISPUTE_CREATE_WINDOW_EXPIRED400Прошло больше 14 дней с создания сделки
MERCHANT_MAX_APPEALS_PER_TRADE_REACHED400Исчерпан лимит споров по этой сделке
FILE_MAX_5_MB400Файл больше 5 МБ
MIME_TYPE_NOT_SUPPORTED400Формат файла не поддерживается
КодHTTPЧто произошло
INVALID_PARAMS400В теле есть amount, isMatching, matchingTransactionId либо валюта не RUB
FAILED_TO_GENERATE_QR_NSPK403Не удалось получить данные QR
QR_USER_DAILY_TRADE_LIMIT_REACHED403Клиент исчерпал суточный лимит операций по QR
QR_DAILY_LIMIT_UNAVAILABLE503Проверка суточного лимита временно недоступна
КодHTTPЧто делать
INTERNAL_SERVER_ERROR403 / 500Повторить с задержкой. Если ошибка устойчива — обратиться в поддержку, указав merchantTransactionId
QR_DAILY_LIMIT_UNAVAILABLE503Повторить позже: сделка не создана

Повторять можно INTERNAL_SERVER_ERROR, QR_DAILY_LIMIT_UNAVAILABLE, сетевые тайм-ауты и NO_REQUISITE_FOUND_FOR_THIS_AMOUNT — с задержкой и ограниченным числом попыток.

Повторять бесполезно всё, что связано с авторизацией, настройками кабинета и валидацией: результат не изменится, пока вы не измените запрос или пока настройки не поменяет менеджер.

Повторять опасно запросы на создание сделки, если ответ не получен из-за тайм-аута. Сделка могла быть создана. Порядок действий в этом случае — в разделе Надёжность интеграции.