Skip to content

Коды ошибок ​

Любой ответ с ошибкой имеет одинаковую структуру:

json
{
  "result": null,
  "error": {
    "code": "insufficient_funds",
    "message": "There are insufficient funds on the card."
  }
}
  • error.code — стабильный машиночитаемый идентификатор в нижнем регистре. Проверяйте именно его в коде.
  • error.message — человекочитаемое описание (на английском). Только для отображения, не парсите его.
  • Некоторые ошибки содержат необязательный объект error.data с дополнительным контекстом (например, имя поля или метку blocked_until).

Важное изменение

Шлюз больше не возвращает сырые коды или текст процессинга (числовые коды UzCard/Humo/Paynet или сообщения провайдера). Одинаковая ситуация от разных провайдеров теперь приводится к единому error.code с понятным сообщением. Если раньше ваша интеграция проверяла processing_error плюс сырой код/текст в message/data, перейдите на проверку конкретного error.code ниже.

Ошибки карты ​

КодСообщениеКогда возникает
card_not_foundThe card was not found.Карта (id/токен) не существует или не принадлежит мерчанту.
card_expiredThe card has expired.Истёк срок действия карты (отказ провайдера).
card_is_blockedThe card is blocked.Карта заблокирована эмитентом.
card_is_blocked_in_processing_centerThe card is temporarily blocked. Please try again later.Процессинг временно заблокировал карту.
card_temporarily_blockedThe card is temporarily blocked. Please try again later.Блокировка анти-фродом. data.blocked_until, data.reason.
card_not_activeThe card is not active.Карта неактивна в процессинге или отключён SMS. data: is_active, status_message, sms_info.
card_is_not_supportedThis card is not supported.Тип/вендор карты не поддерживается.
card_is_already_activatedThe card is already active.Попытка повторной активации уже активной карты.
card_existsThe card is already added.Карта уже добавлена для этого пользователя.
invalid_cardThe card is invalid.Некорректные данные карты.
invalid_card_tokenThe card token is invalid.Некорректный токен карты.
pan_not_validThe card number is invalid.PAN не прошёл валидацию.
lost_cardThe card has been reported lost.Отказ провайдера: карта заявлена как утерянная.
stolen_cardThe card has been reported stolen.Отказ провайдера: карта заявлена как украденная.
card_capturedThe card cannot be used. Please contact your bank.Отказ провайдера: изъять карту.
restricted_cardOperations on this card are restricted.Отказ провайдера: карта ограничена.

Средства, лимиты и сумма ​

КодСообщениеКогда возникает
insufficient_fundsThere are insufficient funds on the card.Недостаточно средств на карте.
insufficient_depositThere is not enough deposit to complete the operation.Недостаточно депозита мерчанта/терминала (A2C, service payment).
invalid_amountThe amount is invalid.Сумма вне допустимого диапазона или некорректна.
limit_exceededThe card limit has been exceeded.Превышен лимит карты/терминала (отказ провайдера).
daily_limit_used_for_this_cardThe daily limit for this card has been reached.Достигнут дневной лимит карты.

Отказ / обработка транзакции ​

КодСообщениеКогда возникает
do_not_honorThe transaction was declined by the card issuer.Общий отказ эмитента (do not honor).
call_issuerThe transaction was declined. Please contact your bank.Эмитент просит связаться с банком.
transaction_not_permittedThis transaction is not permitted for the card.Операция не разрешена для этой карты.
duplicate_transactionA duplicate transaction was detected.Провайдер обнаружил дубликат.
issuer_unavailableThe card issuer is temporarily unavailable. Please try again later.Эмитент/хост временно недоступен.
invalid_merchantThe merchant configuration is invalid.Проблема конфигурации мерчанта/терминала.
processing_errorThe payment could not be processed. Please try again.Общий сбой обработки без конкретного кода.
transaction_not_foundThe transaction was not found.Нет транзакции с указанным id/externalId.
transaction_not_available_for_paymenttransaction_not_available_for_paymentТранзакция не в состоянии оплаты.
transaction_not_available_for_canceltransaction_not_available_for_cancelТранзакцию нельзя отменить.
error_at_payerror_at_payСбой подтверждения оплаты (общая обёртка).

Код подтверждения (OTP) и PIN ​

КодСообщениеКогда возникает
invalid_otpThe confirmation code is incorrect.Неверный код OTP.
otp_expiredThe confirmation code has expired.Истёк срок действия OTP.
try_new_otpPlease request a new confirmation code.Проверка OTP не удалась; запросите новый.
otp_code_already_sentA confirmation code has already been sent. Please wait before requesting a new one.OTP уже был отправлен недавно.
incorrect_pinThe PIN is incorrect.Неверный PIN (отказ провайдера).
pin_attempts_exceededThe number of PIN attempts has been exceeded.Слишком много неверных попыток PIN.
too_many_attemptsToo many attempts. Please try again later.Сработала защита по числу попыток.

Телефон карты / SMS ​

КодСообщениеКогда возникает
sms_not_activeSMS notification is not active for this card.У карты нет активной SMS/OTP функции.
phone_not_matchThe phone number does not match the card.Переданный телефон не совпадает с телефоном карты.
card_phone_not_linkedNo phone number is linked to this card.К карте не привязан телефон.
card_has_no_phoneNo phone number is registered for this card.У карты нет зарегистрированного телефона.

MyID / PINFL (проверка личности) ​

Применяется, когда у мерчанта включены is_myid_required и/или is_pinfl_required (например, A2C).

КодHTTPКогда возникает
official_profile_required403Требуется MyID, но у пользователя нет официального профиля. Создайте через /userCard/createOfficialProfile/.
merchant_user_myid_not_verified400Пользователь мерчанта не существует / MyID не проверен.
pinfl_check_required403Требуется PINFL, но он не проверен для этой карты.
pinfl_not_match403Проверенный PINFL не совпадает с официальным профилем / картой.

Оплата услуг (Paynet / HGT / uzsuv / Hamkorbank / …) ​

Числовые коды и текст провайдера не возвращаются — они унифицированы ниже.

КодСообщениеКогда возникает
service_payment_errorThe payment could not be completed. Please try again.Общий сбой оплаты услуги.
account_not_foundThe account was not found.Абонент / счёт не найден у провайдера.
provider_unavailableThe service provider is temporarily unavailable. Please try again later.Провайдер недоступен / перегружен / отказал.
service_under_maintenanceThe service is under maintenance. Please try again later.Профилактика у провайдера.
payment_cancel_not_allowedThis payment cannot be cancelled.Отмена недоступна / истёк срок у провайдера.
service_not_foundThe service was not found.Услуга/товар не найдены.
service_not_availableThe service is temporarily unavailable. Please try again later.Услуга временно недоступна.
service_temporarily_not_accepting_paymentsservice_temporarily_not_accepting_paymentsУслуга сейчас не принимает платежи.
pinfl_check_requiredсм. вышеНекоторые услуги требуют проверенный PINFL перед оплатой.

OFD / фискализация ​

КодСообщениеКогда возникает
ofd_commitent_or_subcommission_not_activeofd_commitent_or_subcommission_not_activeУ комитента (TIN) или субкомиссии (PINFL) позиции чека нет активного договора в каталоге OFD. data: itemIndex, tin, pinfl.
ofd_check_already_generatedofd_check_already_generatedФискальный чек уже сформирован для этой транзакции.
ofd_too_many_requests_for_this_receiptofd_too_many_requests_for_this_receiptСлишком много запросов чека для этой транзакции.
ofd_check_not_foundofd_check_not_foundФискальный чек не найден.

Авторизация, валидация и общие ​

КодHTTPКогда возникает
permission_denied401 / 400Отсутствуют/неверны учётные данные, либо у мерчанта нет доступа к API (A2C, A2C-by-PAN, split, фискализация).
ip_not_allowed403IP вызывающего не в белом списке мерчанта/ключа.
validation_error400Некорректное тело/параметры запроса. data может содержать детали по полям.
field_required400Отсутствует обязательное поле. data.field.
field_not_valid400Некорректное значение поля. data.field.
not_found404Запрошенный ресурс не найден.
bank_not_found400Банк не найден.
terminal_does_not_exist400Нет доступного терминала для операции.
hold_not_found400Hold не найден.
gateway_not_working400Мерчант неактивен / не настроен для этого шлюза.
rate_limit_exceeded429Слишком много запросов.
payload_too_large413Тело запроса превышает лимит (64 КБ).
server_error500Непредвиденная ошибка сервера.
unknown_error400Произошла непредвиденная ошибка. Повторите попытку.

INFO

Список охватывает наиболее частые коды. Со временем могут появляться новые, поэтому всегда корректно обрабатывайте неизвестный error.code (как общий сбой).