# Инициализация оплаты по QR-коду (C2B2\_V2)

Данный сценарий описывает инициализацию проведения оплаты за товар/услугу посредством сканирования QR-кода в POS-терминале или посредством статического QR-кода.

В рамках данного сценария клиенту предоставляется возможность QR-оплаты из приложения одного банка (банка отправителя денег) через POS-терминал или статический QR-код другого банка (банка бенефициара).

{% hint style="warning" %}
*Важно! Если отсканированный QR-код выпущен самим Банком отправителя денег, то оплата производится внутри Банка отправителя денег без взаимодействия с Платформой. Т.е. если счет бенефициара, указанный в QR-коде, также обслуживается в данном банке, то производится внутрибанковская операция.*
{% endhint %}

## Методы API (endpoint), которые необходимо реализовать&#x20;

{% hint style="info" %}
При реализации участниками информационного взаимодействия данные API должны быть идемпотентны (получив повторный запрос с теми же параметрами, должен выдаваться в ответе результат исходного запроса).
{% endhint %}

Схему успешного сценария процесса «Инициализация оплаты по QR-коду (C2B2\_V2)» отображает рисунок ниже.

<figure><img src="https://3642634829-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoKJIIe9wXRYlANVFHqJE%2Fuploads%2FdLZ9F5WjpkfarapUwmtm%2FPrPayments%20-%20C2B2_V2%20(7).jpg?alt=media&#x26;token=e9eca97c-82a5-44fa-9ac0-556d330d6ba2" alt=""><figcaption><p>Схема процесса «Инициализация оплаты по QR-коду (C2B2_V2)»</p></figcaption></figure>

{% file src="<https://3642634829-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoKJIIe9wXRYlANVFHqJE%2Fuploads%2FxqVvFyoaa1hRFSVogN4k%2F%D0%A1%D1%85%D0%B5%D0%BC%D0%B0%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%B0%20%C2%AB%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D1%8B%20%D0%BF%D0%BE%20QR-%D0%BA%D0%BE%D0%B4%D1%83%20(C2B2_V2)%C2%BB.pdf?alt=media&token=fd62609f-c168-49df-ac21-19a22dc17cb8>" %}
Схематичное отображение процесса
{% endfile %}

*Примечание: На схеме темно-зелеными квадратами отображены методы (endpoint), которые должны быть реализованы на стороне соответствующего участника для реализации данного сценария. Описание методов приведено  в электронном формате в* [*https://transfers-openapi.npck.kz/*](https://transfers-openapi.npck.kz/)*.*

Методы API (endpoint), которые необходимо реализовать каждому участнику на своей стороне в рамках процесса «Инициализация оплаты по QR-коду (C2B2\_V2)», приведены в таблице ниже.

<table><thead><tr><th width="388">Метод API (endpoint)</th><th width="170">Банк отправителя денег</th><th>Банк бенефициара</th></tr></thead><tbody><tr><td><p>Запрос данных по QR-коду для оплаты</p><p>(POST /v1/transfers/iso20022/admi.009.001.02)</p></td><td><br></td><td>+</td></tr><tr><td><p>Данные для оплаты</p><p>(POST /v1/transfers/iso20022/admi.010.001.02)</p></td><td>+</td><td>+</td></tr><tr><td><p>Запрос на перевод денег </p><p> (POST /v1/transfers/iso20022/pacs.008.001.11)</p></td><td></td><td>+</td></tr><tr><td><p>Статус обработки запроса перевода денег </p><p>(POST /v1/transfers/iso20022/pacs.002.001.13)</p></td><td>+</td><td>+</td></tr></tbody></table>

## Взаимосвязь идентификаторов сообщений

Процесс «Инициализация оплаты по QR-коду (C2B2\_V2)» построен на обмене сообщениями, основанными на стандарте ISO20022, которые логически связаны между собой.

<figure><img src="https://3642634829-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoKJIIe9wXRYlANVFHqJE%2Fuploads%2F0DjTd0FCxDyykmDO8fpa%2FPrPayments%20-%202024-08-22T220441.789.jpg?alt=media&#x26;token=7a2c5b72-063b-4934-b29e-2833032f8721" alt=""><figcaption><p>Логическая схема взаимосвязи идентификаторов сообщений</p></figcaption></figure>

## Описание процесса

Описание успешного сценария процесса «Инициализация оплаты по QR-коду (C2B2\_V2)»:

***Генерация и считывание QR-кода для оплаты***

1. POS-терминал направляет данные о платеже в Банк бенефициара

> Для статического QR-кода данный шаг не применяется

2. Банк бенефициара формирует данные для QR-кода для оплаты
3. Отправитель денег в приложении Банка отправителя денег сканирует QR-код в POS-терминале или статический QR-код

{% hint style="warning" %}
*Важно! Если отсканированный QR-код выпущен самим Банком отправителя денег, то оплата производится внутри Банка отправителя денег без взаимодействия с Платформой. Т.е. если счет бенефициара, указанный в QR-коде, также обслуживается в данном банке, то производится внутрибанковская операция.*
{% endhint %}

4. Банк отправителя денег направляет Платформе запрос данных для оплаты (сообщение admi.009), на основе данных из QR-кода, подписав его своим ЭЦП

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Платформа не отвечает:**

1. Банк отправителя денег завершает процесс, не получив ответ в срок в соответствии с установленным регламентом (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).&#x20;
2. Процесс завершается неуспешно.

* **Валидация сообщения не прошла успешно:**

1. Валидация сообщения не проходит успешно, Платформа направляет Банку отправителя денег ответ с соответствующим ошибке HTTP статусом.&#x20;
2. Процесс завершается неуспешно.

</details>

4.1. Платформа, получив запрос, проводит его валидацию, в том числе:

* проверяет подпись Банка отправителя денег
* проверяет корректность заполнения полей

Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.

5. Платформа направляет в Банк бенефициара запрос данных для оплаты (сообщение admi.009), подписав его ЭЦП Платформы

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Банк бенефициара не отвечает:**

1. Если Банк бенефициара не направляет ответ,  то Платформа должна считать, что запрос не доставлен.
2. Платформа завершает процесс, не получив ответ в срок в соответствии с установленным регламентом (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).
3. Платформа направляет в Банк отправителя сообщение admi.010 с ошибкой.
4. Банк отправителя денег завершает процесс, получив сообщение с информацией об ошибке.&#x20;
5. Процесс завершается неуспешно.

* **Валидация сообщения не прошла успешно:**

1. Валидация сообщения не проходит успешно, Банк бенефициара направляет ответ Платформе с соответствующим ошибке HTTP статусом.
2. Платформа завершает процесс, получив сообщение с информацией об ошибке.
3. Платформа направляет в Банк отправителя сообщение admi.010 с ошибкой.
4. Банк отправителя денег завершает процесс, получив сообщение с информацией об ошибке.
5. Процесс завершается неуспешно.

</details>

5.1. Банк бенефициара, получив запрос, проводит его обработку, в том числе:

* проверяет подпись Платформы
* проверяет корректность заполнения полей
* выполняет поиск данных по идентификатору QR-кода

Если валидация запроса проходит успешно, Банк бенефициара направляет ответ с HTTP статусом 200.

6. Банк бенефициара направляет данные для оплаты Платформе (сообщение admi.010), подписав его своим ЭЦП

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Платформа не отвечает:**

1. Если Платформа не направляет ответ,  то Банк бенефициара должен считать, что запрос не доставлен.
2. Банк бенефициара выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).

* **Валидация сообщения не прошла успешно:**

1. Валидация сообщения не проходит успешно, Платформа направляет Банку бенефициара ответ с соответствующим ошибке HTTP статусом.&#x20;
2. Банк бенефициара завершается процесс с ошибкой.
3. Банк отправителя денег завершает процесс по тайм-ауту (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).&#x20;
4. Процесс завершается неуспешно.

</details>

6.1. Платформа, получив ответ, проводит его валидацию, в том числе:

* проверяет подпись Банка бенефициара
* проверяет корректность заполнения полей

Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.

7. Платформа направляет данные для оплаты в Банк отправителя денег (сообщение admi.010), подписав его ЭЦП Платформы

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Банк отправителя денег не отвечает:**

1. Если Банк отправителя денег не направляет ответ,  то Платформа должна считать, что запрос не доставлен.
2. Платформа выполняет попытку повторной отправки запроса в соответствии с установленным регламентом  (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).

</details>

7.1. Банк отправителя денег, получив ответ, проводит его валидацию, в том числе:

* проверяет подпись Платформы
* проверяет корректность заполнения полей

Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.

8. Отправителю денег в приложении Банка отправителя денег отображается информация о платеже, он выбирает счет для оплаты и подтверждает проведение оплаты.

<details>

<summary><strong>Возможные неуспешные сценарии</strong></summary>

1. *Клиент отменил операцию или операция отменена по иной причине на стороне Банка отправителя денег*:

* Банк отправителя денег направляет Платформе уведомление об отмене операции (сообщение admi.010), подписав его своим ЭЦП.

1.1. Платформа, получив запрос, проводит его валидацию, в том числе

* проверяет подпись Банка отправителя денег
* проверяет корректность заполнения полей

Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.

***

<mark style="color:$info;">**• Возможные неуспешные сценарии**</mark>

<mark style="color:$info;">**• Платформа не отвечает**</mark>

1. <mark style="color:$info;">Если Платформа не направляет ответ, то Банк отправителя денег должен считать, что запрос не доставлен.</mark>
2. <mark style="color:$info;">Банк отправителя денег выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см.</mark>

   &#x20;[<mark style="color:$info;">Тайм-ау ты и логика повторных запросов</mark>](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov)<mark style="color:$info;">).</mark>

<mark style="color:$info;">**•    Валидация сообщения не прошла успешно:**</mark>

1. <mark style="color:$info;">Валидация сообщения не проходит успешно, Платформа направляет Банку отправителя денег ответ с соответствующим ошибке HTTP статусом.</mark>
2. <mark style="color:$info;">Банк отправителя денег завершается процесс с ошибкой.</mark>
3. <mark style="color:$info;">Банк бенефициара завершает процесс по тайм-ауту (см.</mark> [ <mark style="color:$info;">Тайм-ау ты и логика повторных запросов</mark>](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov)<mark style="color:$info;">).</mark>
4. <mark style="color:$info;">Процесс завершается неуспешно</mark>

***

1.2. Платформа направляет в Банк бенефициара уведомление об отмене операции (сообщение admi.010), подписав его ЭЦП Платформы.&#x20;

***

<mark style="color:$info;">**• Возможные неуспешные сценарии**</mark>

<mark style="color:$info;">**• Банк бенефициара не отвечает**</mark>

1. <mark style="color:$info;">Если Банк бенефициара не направляет ответ, то Платформа должна считать, что запрос не доставлен.</mark>
2. <mark style="color:$info;">Платформа завершает процесс, не получив ответ в срок в соответствии с установленным регламентом (см.</mark> [<mark style="color:$info;">Тайм-ауты и логика повторных запросов</mark>](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov)<mark style="color:$info;">).</mark>

<mark style="color:$info;">**•    Валидация сообщения не прошла успешно:**</mark>

1. <mark style="color:$info;">Валидация сообщения не проходит успешно, Банк бенефициара направляет ответ Платформе с соответствующим ошибке HTTP статусом.</mark>
2. <mark style="color:$info;">Платформа завершает процесс, получив сообщение с информацией об ошибке.</mark>
3. <mark style="color:$info;">Процесс завершается неуспешно.</mark>

***

1.3. Банк бенефициара, получив запрос, проводит его обработку, в том числе:

* проверяет подпись Платформы
* проверяет корректность заполнения полей

Если валидация запроса проходит успешно, Банк бенефициара направляет ответ с HTTP статусом 200.

1.4. На POS-терминале выводится информация о том, что операция отменена клиентом, и процесс завершается.

</details>

***

***Транзакция по проведению платежа***

9. Банк отправителя денег проводит проверку счета клиента на:&#x20;

* валидность статуса для его дебетования&#x20;
* отсутствие наложенного ПТП/ РПРО/ ареста и т.п.&#x20;
* достаточности средств для списания суммы операции

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Проверка счета не прошла успешно:**

1. Банк отправителя денег уведомляет клиента о невозможности проведения операции.&#x20;
2. Процесс завершается неуспешно

</details>

10. Банк отправителя денег проверяет возможность транзакции по счету клиента и формирует платежное поручение (pacs.008), предварительно блокирует сумму операции по счету клиента.
11. Банк отправителя денег направляет Платформе запрос на проведение оплаты (сообщение pacs.008), подписав его своим ЭЦП.

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Платформа не отвечает:**

1. Если Платформа не направляет ответ, то Банк отправителя денег должен считать, что запрос не доставлен.
2. Банк отправителя денег выполняет попытку повторной отправки корректного запроса в соответствии с установленным регламентом (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).&#x20;

* **Валидация сообщения не прошла успешно:**

1. Валидация сообщения не проходит успешно, Платформа направляет Банку отправителя денег ответ с соответствующим ошибке HTTP статусом.&#x20;
2. Процесс завершается неуспешно.

</details>

11.1. Платформа, получив запрос, проводит его валидацию, в том числе:

* проверяет подпись Банка отправителя денег
* проверяет корректность заполнения полей

Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.

12. Платформа обрабатывает  запрос на проведение оплаты (сообщение pacs.008), в том числе:&#x20;

* выполняет проверку лимитов;
* выполняет блокирование средств для проведения транзакции;
* осуществляет проверку чистой позиции - при достижении лимита чистой позиции направляет в Банк отправителя и Банк бенефициара сообщение pacs.002 со статусом RJCT и кодом ошибки `PACS_002_NET_POSITION_LIMIT_REACHED.`

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Обработка запроса на перевод денег pacs.008 Платформой не проходит успешно:**

1. Платформа направляет статус обработки запроса на проведение оплаты в Банк отправителя денег (сообщение pacs.002), подписав его ЭЦП Платформы, со статусом транзакции RJCT (отклонена).&#x20;
2. Процесс завершается неуспешно.

</details>

13. Платформа направляет в Банк бенефициара запрос на проведение оплаты (сообщение pacs.008), подписав его ЭЦП Платформы.

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Банк бенефициара не отвечает:**

1. Если Банк бенефициара не направляет ответ,  то Платформа должна считать, что запрос не доставлен.
2. Платформа выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).
3. Платформа завершает процесс, не получив ответ в срок в соответствии с установленным регламентом (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).
4. Платформа направляет в Банк отправителя сообщение pacs.002 с ошибкой.
5. Банк отправителя денег завершает процесс, получив сообщение с информацией об ошибке.&#x20;
6. Процесс завершается неуспешно.

* **Валидация сообщения не прошла успешно:**

1. Валидация сообщения не проходит успешно, Банк бенефициара направляет ответ Платформе с соответствующим ошибке HTTP статусом.
2. Платформа устанавливает статус транзакции RJCT (отклонена).&#x20;
3. Платформа направляет в Банк отправителя сообщение pacs.002 с ошибкой.
4. Банк отправителя денег завершает процесс, получив сообщение с информацией об ошибке, устанавливает статус транзакции RJCT (отклонена).&#x20;
5. Процесс завершается неуспешно.

</details>

13.1. Банк бенефициара, получив запрос, проводит его обработку, в том числе:

* проверяет подпись Платформы;
* проверяет корректность заполнения полей.

Если валидация запроса проходит успешно, Банк бенефициара направляет ответ с HTTP статусом 200.

14. Банк бенефициара проверяет счет бенефициара на возможность зачисления денег.
15. Банк бенефициара направляет статус обработки запроса проведения оплаты Платформе (сообщение pacs.002), подписав его своим ЭЦП.

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Платформа не отвечает:**

1. Если Платформа не направляет ответ,  то Банк бенефициара должен считать, что запрос не доставлен.
2. Банк бенефициара выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).

* **Валидация сообщения не прошла успешно:**

1. Валидация сообщения не проходит успешно, Платформа направляет ответ Банку бенефициара с соответствующим ошибке HTTP статусом. Банк бенефициара устанавливает статус транзакции RJCT (отклонена).
2. Платформа устанавливает статус транзакции RJCT (отклонена).&#x20;
3. Банк отправителя денег, не получив ответ в срок в соответствии с установленным регламентом (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")), устанавливает статус транзакции RJCT (отклонена).&#x20;
4. Процесс завершается неуспешно.

* **Транзакция отклонена (статус транзакции RJCT):**

1. Банк бенефициара направляет Платформе статус обработки запроса проведения оплаты (сообщение pacs.002) - RJCT (отклонена).
2. Платформа направляет статус обработки запроса проведения оплаты в Банк отправителя денег (сообщение pacs.002), подписав его ЭЦП Платформы, со статусом транзакции RJCT (отклонена).&#x20;
3. Процесс завершается неуспешно.

</details>

15.1. Платформа, получив запрос, проводит его валидацию, в том числе:

* проверяет подпись Банка бенефициара;&#x20;
* проверяет корректность заполнения полей.

Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.

16. Платформа направляет статус обработки запроса проведения оплаты в Банк отправителя денег (сообщение pacs.002), подписав его ЭЦП Платформы.

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Банк отправителя денег не отвечает:**

1. Если Банк отправителя денег не направляет ответ,  то Платформа должна считать, что запрос не доставлен.
2. Платформа выполняет попытку повторной отправки запроса в соответствии с установленным регламентом  (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).

</details>

16.1. Банк отправителя денег, получив запрос, проводит его валидацию, в том числе:

* проверяет подпись Платформы;
* проверяет корректность заполнения полей.

Если валидация запроса проходит успешно, Банк отправителя денег направляет ответ с HTTP статусом 200.

17. Банк отправителя денег направляет в качестве уведомления об успешной транзакции в Платформу сообщение pacs.002 со статусом транзакции ACSC, подписав его своим ЭЦП.

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Платформа не отвечает:**

1. При отсутствии ответа от Платформы, Банк отправителя денег осуществляет повторную отправку запроса с интервалом 3 секунды до тех пор, пока не будет получен ответ HTTP 200.

</details>

17.1. Платформа, получив запрос, проводит его валидацию, в том числе:

* проверяет подпись Банка отправителя денег;
* проверяет корректность заполнения полей.

Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Не получен pacs.002 ACSC от Банка отправителя денег:**

1. Если Платформа в течение 30 секунд не получает сообщение pacs.002 (ACSC) от Банка отправителя денег, то транзакция завершается со статусом RJCT и при получении pacs.002 ACSC от Банка отправителя денег будет возвращен HTTP 408.

</details>

18. Платформа направляет в качестве уведомления сообщение pacs.002 со статусом ACSC в Банк бенефициара, подписав его ЭЦП Платформы.

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Банк бенефициара не отвечает:**

1. Платформа выполняет попытку повторной отправки запроса в соответствии с установленным регламентом  (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).
2. Если Банк бенефициара не направляет ответ, то Платформа считает запрос не доставленным, при этом транзакция не отклоняется и остается в состоянии ожидания сообщения pacs.002 с финальным статусом от Банка бенефициара.
3. Банк бенефициара не получив ответ от платформы в соответствии с установленным регламентом  (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")), завершает транзакцию с ошибкой и направляет в Платформу pacs.002 со статусом RJCT с интервалом 3 секунды до тех пор, пока не будет получен ответ HTTP 200.

</details>

18.1. Банк бенефициара, получив сообщение pacs.002 со статусом транзакции, проводит его валидацию, в том числе:

* проверяет подпись Платформы;
* проверяет корректность заполнения полей.

Если валидация запроса проходит успешно, Банк бенефициара направляет ответ с HTTP статусом 200.

19. Банк бенефициара производит зачисление денег на счет бенефициара и направляет информацию об этом на POS-терминал.
20. Банк бенефициара направляет в качестве уведомления об успешной транзакции в Платформу сообщение pacs.002 со статусом транзакции ACSC, подписав его своим ЭЦП.

<details>

<summary>Возможные неуспешные сценарии</summary>

* **Платформа не отвечает:**

1. При отсутствии ответа от Платформы, Банк отправителя денег осуществляет повторную отправку запроса с интервалом 3 секунды до тех пор, пока не будет получен ответ HTTP 200.

</details>

20.1. Платформа, получив запрос, проводит его валидацию, в том числе:

* проверяет подпись Банка бенефициара
* проверяет корректность заполнения полей.

Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.

21. Платформа успешно завершает транзакцию (commit transaction).
22. Платформа направляет уведомление pacs.002 со статусом ACSC до Банка отправителя денег с информацией о дате обработки транзакции (Processing Date) и информацией о размерах комиссий, подписав его ЭЦП Платформы.
23. Банк отправителя завершает транзакцию и уведомляет клиента о завершении операции.

<details>

<summary>Возможные неуспешные сценарии</summary>

1. Банк отправителя денег не получил финальное уведомление от платформы pacs.002 со статусом ACSC с информацией о дате обработки транзакции (Processing Date) и информацией о размерах комиссий.
2. Банк отправителя денег отправляет запрос на получение статуса обработки транзакции (pacs.028) в соответствии с установленным регламентом (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")).

</details>

{% hint style="info" %}
*Рекомендуется: Банку отправителя денег начинать направлять запрос статуса обработки транзакции (pacs.028) через 5 секунд после успешной отправки pacs.002.*
{% endhint %}
