> For the complete documentation index, see [llms.txt](https://docs.npck.kz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.npck.kz/mezhbankovskaya-sistema-mobilnykh-platezhei-msmp/mezhbankovskaya-sistema-mobilnykh-platezhei-msmp/kody-oshibok.md).

# Коды ошибок

## 1. Ошибки, при валидации запроса&#x20;

Если при валидации запроса происходит одна из приведенных ниже ошибок, то сведения о возникшей ошибке направляются в ответе (синхронно).

Используемые HTTP-статусы ответа для ошибок:

<pre data-title="HTTP response status" data-overflow="wrap"><code> - 400 - некорректный запрос.
 - 401 - авторизация не пройдена (например, не прошла проверка подписи сообщения ЭЦП банка). 
<strong> - 403 - используется для обозначения того, что клиент не имеет необходимых разрешений для ресурса или запрос понятен серверу, но сервер отказывается его авторизовать.
</strong> - 404 - запрошен ресурс, который не реализован, или ресурс, который не определен в спецификации.
 - 405 - попытка получить доступ к ресурсу с помощью метода, который не поддерживается
 - 406 - указывает на то, что сервер не может выдать ответ, соответствующий списку допустимых значений, определенному в заголовках запроса.
 - 408 - превышено время обратботки запроса.
 - 429 - превышен лимит запросов.
 - 500 - внутренняя ошибка сервера.
</code></pre>

Коды ошибок, используемые для HTTP-статуса 400:

{% code title="HTTP 400" overflow="wrap" %}

```
 - `FIELD_INVALID` - указано некорректное значение параметра.
 - `HEADER_MISSING` - отсутствует обязательный заголовок запроса.
 - `HEADER_INVALID` - указано некорректное значение в заголовке запроса.
 - `DEBTOR_BLOCKED` - банк отправителя денег заблокирован.
 - `CREDITOR_BLOCKED` - банк получателя денег заблокирован.
 - `DEBTOR_NOT_ACTIVE` - банк отправителя денег неактивен.
 - `CREDITOR_NOT_ACTIVE` - банк получателя денег неактивен.
 - `BANK_NOT_FOUND` - данные по банку не найдены. 
 - `INVALID_DEBTOR_DATA` - некорректные данные отправителя денег.
 - `INVALID_TRANSACTION_TYPE` - некорректный тип транзакции.
 - `INVALID_TRANSACTION_STATUS`- некорректный статус транзакции.
 - `INVALID_TRANSACTION_MESSAGE_STATUS`- неверный статус сообщения.
 - `BUSINESS_DAY_CLOSED` - операционный день закрыт.
 - `POSSIBLE_FRAUD_DETECTED` - зафиксирована подозрительная активность (фрод).
 - `NET_POSITION_LIMIT_REACHED` - превышен лимит баланса банка.
 - `TRANSFER_LIMIT_AMOUNT_EXCEEDED` - превышение лимита: платеж превышает установленный лимит для отправителя или получателя.
 - `REFUND_AMOUNT_EXCEEDED` - превышена сумма, доступная для возврата.
 - `OPERATION_NOT_ALLOWED` - операция не разрешена.
 - `PARTIAL_REFUND_NOT_ALLOWED` - операция не разрешена, не разрешен частичный возврат суммы.
 - `UNKNOWN_ERROR` - возникла непредвиденная ошибка.
```

{% endcode %}

{% hint style="warning" %}
Не используется, сохранено для обратной совместимости:

* `DEBTOR_NOT_FOUND` - данные по банку отправителя денег не найдены.
* `CREDITOR_NOT_FOUND` - данные по банку получателя денег не найдены.
  {% endhint %}

{% hint style="info" %}
Ниже приведено соответствие кодов ошибок, возвращаемых с HTTP-кодом ответа 400, и кодов ошибок, возвращаемых в сообщении pacs.002 при запросе их посредством отправки pacs.028 (*т.е. если при отправке запроса получен HTTP-код ответа 400 с одним из следующих кодов, то при запросе pacs.028 возвращается pacs.002 с соответствующей ошибкой*):

* POSSIBLE\_FRAUD\_DETECTED -> PACS\_002\_POSSIBLE\_FRAUD\_DETECTED
* NET\_POSITION\_LIMIT\_REACHED -> PACS\_002\_NET\_POSITION\_LIMIT\_REACHED
* TRANSFER\_LIMIT\_AMOUNT\_EXCEEDED -> PACS\_002\_LIMIT\_AMOUNT\_EXCEEDED
* REFUND\_AMOUNT\_EXCEEDED -> PACS\_002\_REFUND\_AMOUNT\_EXCEEDED
* OPERATION\_NOT\_ALLOWED -> PACS\_002\_OPERATION\_NOT\_ALLOWED
* PARTIAL\_REFUND\_NOT\_ALLOWED -> PACS\_002\_PARTIAL\_REFUND\_NOT\_ALLOWED
* INVALID\_TRANSACTION\_STATUS, INVALID\_TRANSACTION\_MESSAGE\_STATUS, BUSINESS\_DAY\_CLOSED, UNKNOWN\_ERROR -> PACS\_002\_UNEXPECTED\_ERROR
* FIELD\_INVALID -> PACS\_002\_FIELD\_INVALID&#x20;
* HEADER\_INVALID -> PACS\_002\_HEADER\_INVALID&#x20;
* HEADER\_MISSING -> PACS\_002\_HEADER\_MISSING&#x20;
* DEBTOR\_BLOCKED -> PACS\_002\_DEBTOR\_BLOCKED&#x20;
* CREDITOR\_BLOCKED -> PACS\_002\_CREDITOR\_BLOCKED&#x20;
* DEBTOR\_NOT\_ACTIVE -> PACS\_002\_DEBTOR\_NOT\_ACTIVE&#x20;
* CREDITOR\_NOT\_ACTIVE -> PACS\_002\_CREDITOR\_NOT\_ACTIVE
  {% endhint %}

Коды ошибок, используемые для HTTP-статуса 408:

{% code title="HTTP 408" overflow="wrap" %}

```
- TRANSACTION_TIMEOUT_EXCEEDED - превышено время обработки операции.
```

{% endcode %}

Коды ошибок, используемые для HTTP-статуса 500:

{% code title="HTTP 500" overflow="wrap" %}

```
- INTERNAL_ERROR - внутренняя ошибка сервера.
```

{% endcode %}

## 2. Ошибки, передаваемые в финансовых сообщениях

### 2.1. Сообщение ACMT.024 - Код причины неуспешности верификации

Коды причины неуспешности верификации, используемые в сообщении acmt.024:

<pre data-title="ACMT.024" data-overflow="wrap"><code><strong>  - 'ACMT_023_SENDING_TO_DEBTOR_ERROR' сообщение acmt.023 не доставлено в банк отправителя.
</strong>  - `ACMT_023_SENDING_TO_CREDITOR_ERROR` - сообщение acmt.023 не доставлено в банк бенефициара.
<strong> - `ACMT_024_ACCOUNT_NOT_FOUND` - информация о счете клиента не найдена.
</strong><strong> - `ACMT_024_ACCOUNT_INVALID` - некорректный номер счета.
</strong> - `ACMT_024_ACCOUNT_CLOSED` - счет закрыт. Указывает, что операция не может быть выполнена, поскольку указанный счет был закрыт.
 - `ACMT_024_ACCOUNT_BLOCKED` - счет заблокирован: средства или счет получателя заблокирован.
 - `ACMT_024_OPERATION_NOT_ALLOWED` - операция не разрешена.
 - `ACMT_024_POSSIBLE_FRAUD_DETECTED` - зафиксирована подозрительная активность (фрод).
 - `ACMT_024_UNEXPECTED_ERROR` - возникла непредвиденная ошибка.
</code></pre>

### 2.2. Сообщение PACS.002 - Код причины отклонения транзакции

Коды причины отклонения транзакции, используемые в сообщении pacs.002:

{% code title="PACS.002" overflow="wrap" %}

```
 - `PACS_004_SENDING_TO_CREDITOR_ERROR` - сообщение pacs.004 не доставлено в банк бенефициара.
 - `PACS_008_SENDING_TO_CREDITOR_ERROR` - сообщение pacs.008 не доставлено в банк бенефициара.
 - `PACS_002_SENDING_TO_CREDITOR_ERROR` - сообщение pacs.002 не доставлено в банк бенефициара.
 - `PACS_002_SENDING_TO_DEBTOR_ERROR` - сообщение pacs.002 не доставлено в банк отправителя денег.
 - `PACS_002_POSSIBLE_FRAUD_DETECTED` - зафиксирована подозрительная активность (фрод).
 - `PACS_002_INVALID_ACCOUNT_NUMBER` - неверный номер счета: указанный номер счета недействителен или ошибочен.
 - `PACS_002_LIMIT_AMOUNT_EXCEEDED` - превышение лимита: платеж превышает установленный лимит для отправителя или получателя.
 - `PACS_002_REFUND_AMOUNT_EXCEEDED` - превышена сумма, доступная для возврата.
 - `PACS_002_LIMIT_OPERATIONS_EXCEEDED` - превышен лимит операций.
 - `PACS_002_INVALID_BENEFICIARY_DTLS` - неверные реквизиты получателя: данные получателя некорректны или неполны.
 - `PACS_002_REGULATORY_COMPLIANCE` - несоответствие регулятивным требованиям: платеж не соответствует требованиям регулирующих органов.
 - `PACS_002_OPERATION_NOT_ALLOWED` - операция не разрешена.
 - `PACS_002_PARTIAL_REFUND_NOT_ALLOWED` - операция не разрешена, не разрешен частичный возврат суммы.
 - `PACS_002_NET_POSITION_LIMIT_REACHED` - превышен лимит баланса банка.
 - `PACS_002_UNEXPECTED_ERROR` - возникла непредвиденная ошибка.
 - `PACS_002_FIELD_INVALID` - указано некорректное значение параметра.
 - `PACS_002_HEADER_INVALID` - указано некорректное значение в заголовке запроса.
 - `PACS_002_HEADER_MISSING` - отсутствует обязательный заголовок запроса.
 - `PACS_002_DEBTOR_BLOCKED` - банк отправителя денег заблокирован.
 - `PACS_002_CREDITOR_BLOCKED` - банк получателя денег заблокирован.
 - `PACS_002_DEBTOR_NOT_ACTIVE` - банк отправителя денег неактивен.
 - `PACS_002_CREDITOR_NOT_ACTIVE` - банк получателя денег неактивен.
 - `PACS_002_TIMEOUT_EXCEEDED` - превышено время обработки операции: для процесса “Инициализация оплаты по QR-коду (C2B2_V2)” и для процесса “ Возврат денег по проведенной ранее оплате за товар/ услугу (C2BR__V2)”.
 - `ACMT_023_SENDING_TO_CREDITOR_ERROR` - сообщение acmt.023 не доставлено в банк бенефициара.
 - `ACMT_024_SENDING_TO_DEBTOR_ERROR` - сообщение acmt.024 не доставлено в банк отправителя денег. 
 - `ACMT_024_ACCOUNT_NOT_FOUND` - информация о счете клиента не найдена.
 - `ACMT_024_ACCOUNT_INVALID` - некорректный номер счета.
 - `ACMT_024_ACCOUNT_CLOSED` - счет закрыт. Указывает, что операция не может быть выполнена, поскольку указанный счет был закрыт.
 - `ACMT_024_ACCOUNT_BLOCKED` - счет заблокирован: средства или счет получателя заблокирован.
 - `ACMT_024_OPERATION_NOT_ALLOWED` - операция не разрешена.
 - `ACMT_024_POSSIBLE_FRAUD_DETECTED` - зафиксирована подозрительная активность (фрод).
 - `ACMT_024_UNEXPECTED_ERROR` - возникла непредвиденная ошибка.
 - `ADMI_010_SENDING_ERROR` - сообщение admi.010 не доставлено.
 - `ADMI_009_SENDING_ERROR` - сообщение admi.009 не доставлено.
 - `ADMI_010_DATA_NOT_FOUND` - сведения не найдены.
 - `ADMI_010_UNEXPECTED_ERROR` - возникла непредвиденная ошибка.
 - `ADMI_010_OPERATION_REJECTED`- операция отменена клиентом (для процесса “Инициализация оплаты по QR-коду (C2B2_V2)”.
  - `ADMI_010_POSSIBLE_FRAUD_DETECTED`- зафиксирована подозрительная активность (фрод). (для процесса “Инициализация оплаты по QR-коду (C2B2_V2)".
 - `PAIN_013_SENDING_TO_DEBTOR_ERROR` - сообщение pain.013 не доставлено в банк 
отправителя денег.
 - `PAIN_014_REQUEST_REJECTED` – запрос отклонен.
 - `PAIN_014_SENDING_TO_CREDITOR_ERROR` - сообщение pain.014 не доставлено в банк бенефициара.
 - `PAIN_014_UNEXPECTED_ERROR` - возникла непредвиденная ошибка.

```

{% endcode %}

### 2.3. Сообщение ADMI.010 - Информация об ошибке

Коды ошибки, используемые в сообщении admi.010:

<pre data-title="ADMI.010" data-overflow="wrap"><code> - `ADMI_009_SENDING_ERROR` - сообщение admi.009 не доставлено.
<strong> - `ADMI_010_DATA_NOT_FOUND` - сведения не найдены.
</strong> - `ADMI_010_UNEXPECTED_ERROR` - возникла непредвиденная ошибка.
 - `ADMI_010_OPERATION_REJECTED`- операция отменена клиентом (для процесса “Инициализация оплаты по QR-коду (C2B2_V2)”.
  - `ADMI_010_POSSIBLE_FRAUD_DETECTED`- зафиксирована подозрительная активность (фрод). (для процесса “Инициализация оплаты по QR-коду (C2B2_V2)”.
</code></pre>

{% hint style="warning" %}
Не используется, сохранено для обратной совместимости:

* `ADMI_009_SENDING_TO_CREDITOR_ERROR` - сообщение admi.009 не доставлено в банк бенефициара.
* `ADMI_009_SENDING_TO_DEBTOR_ERROR` - сообщение admi.009 не доставлено в банк отправителя денег.
* `ADMI_010_SENDING_TO_CREDITOR_ERROR` - не используется, сохранено для обратной совместимостисообщение admi.010 не доставлено в банк бенефициара.
* `ADMI_010_SENDING_TO_CREDITOR_ERROR` - сообщение admi.010 не доставлено в банк бенефициара.
  {% endhint %}

### 2.4. Сообщение PAIN.014 - Информация об ошибке

Коды ошибки, используемые в сообщении pain.014:

<pre data-title="PAIN.014" data-overflow="wrap"><code> - `PAIN_013_SENDING_TO_DEBTOR_ERROR` - сообщение pain.013 не доставлено в банк отправителя денег.
<strong> - `PAIN_014_REQUEST_REJECTED ` - запрос отклонен.
</strong> - `PAIN_014_UNEXPECTED_ERROR ` - возникла непредвиденная ошибка.
  - `PAIN_014_ OPERATION_NOT_ALLOWED ` - операция не разрешена.
</code></pre>
