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

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

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

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

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

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

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

<figure><img src="https://3642634829-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoKJIIe9wXRYlANVFHqJE%2Fuploads%2F5r2qRtOpQXFFFJkfyepL%2FPrPayments%20-%202024-08-22T215859.614.jpg?alt=media&#x26;token=c3491009-2b34-4558-b12a-7836bcfcb016" alt=""><figcaption><p>Схема процесса «Инициализация оплаты по QR-коду (C2B2)»</p></figcaption></figure>

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

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

<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)» построен на обмене сообщениями, основанными на стандарте 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)»:

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

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

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

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

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

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

> В сообщении передается:
>
> * в теге \<Document:MsgId> – сгенерированный уникальный идентификатор нового сообщения
> * в теге \<Document:SplmtryData:PlcAndNm> с ключом END\_TO\_END\_ID – сгенерированный уникальный идентификатор, который будет выступать в качестве сквозного идентификатора для всей цепочки сообщений в рамках данной операции оплаты

<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. Платформа, получив запрос, проводит его валидацию, в том числе:

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

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

> В сообщении передается:
>
> * в теге \<Document:MsgId> – сгенерированный уникальный идентификатор нового сообщения
> * в теге \<Document:SplmtryData:PlcAndNm> с ключом END\_TO\_END\_ID –
>
> сквозной идентификатор из сообщения 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-кода

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

> В сообщении передается:
>
> * в теге \<Document:MsgId> – сгенерированный уникальный идентификатор нового сообщения
> * в теге \<Document:RptDtls:ReqRef> – сквозной идентификатор из тега \<Document::SplmtryData:PlcAndNm> с ключом END\_TO\_END\_ID исходного запроса (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")).

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

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. Платформа, получив ответ, проводит его валидацию, в том числе:

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

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

> В сообщении передается:
>
> * в теге \<Document:MsgId> – сгенерированный уникальный идентификатор нового сообщения
> * в теге \<Document:RptDtls:ReqRef> – сквозной идентификатор из тега \<Document::SplmtryData:PlcAndNm> с ключом END\_TO\_END\_ID исходного запроса (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")).

</details>

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

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

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

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

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

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

<details>

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

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

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

</details>

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

> В сообщении передается:
>
> * в теге \<Document::GrpHdr:MsgId> – сгенерированный уникальный идентификатор нового сообщения
> * в теге \<Document::PmtId:EndToEndId> – сгенерированный уникальный сквозной идентификатор&#x20;
> * в поле \<Document::PmtId:TxId> – сгенерированный уникальный идентификатор новой транзакции
> * указывается  IBAN для счета Отправителя денег
> * указывается  IBAN для счета Бенефициара

<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;

* выполняет проверку лимитов;
* выполняет блокирование средств для проведения транзакции.

<details>

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

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

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

</details>

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

> В сообщении передается:
>
> * в теге \<Document::GrpHdr:MsgId> – сгенерированный уникальный идентификатор нового сообщения
> * в теге \<Document::PmtId:EndToEndId> – сквозной идентификатор из тега \<EndToEndId> сообщения pacs.008 Банка отправителя денег
> * в поле \<Document::PmtId:TxId> – идентификатор транзакции из тега \<TxId> из сообщения pacs.008 Банка отправителя денег
> * указывается  IBAN для счета Отправителя денег из сообщения pacs.008 Банка отправителя денег
> * указывается  IBAN для счета Бенефициара из сообщения 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. Банк бенефициара направляет информацию о том, что qr-код считан на POS-терминал
15. Банк бенефициара проверяет счет бенефициара на возможность зачисления денег
16. Банк бенефициара направляет статус обработки запроса проведения оплаты Платформе (сообщение pacs.002), подписав его своим ЭЦП.

> В сообщении передается:
>
> * \<Document::OrgnlEndToEndId> – сквозной идентификатор из тега \<EndToEndId> исходного запроса (pacs.008)
> * \<Document::OrgnlTxId> – идентификатор  транзакции из тега \<TxId> исходного запроса (из pacs.008)
> * Статус транзакции PDNG (в обработке)

<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>

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

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

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

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

> В сообщении передается:
>
> * в теге \<Document::OrgnlEndToEndId> – сквозной идентификатор из тега \<EndToEndId> исходного запроса (pacs.008)
> * в теге \<Document::OrgnlTxId> – идентификатор  транзакции из тега \<TxId> исходного запроса (из pacs.008)
> * Статус транзакции PDNG (в обработке)

<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>

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

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

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

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

18. Платформа успешно завершает транзакцию (commit transaction).
19. Платформа направляет в качестве уведомления об успешной транзакции в Банк бенефициара сообщение pacs.002 со статусом транзакции ACSC, подписав его ЭЦП Платформы.

<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>

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

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

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

{% hint style="warning" %}
*Примечание: Если Платформа направляет в Банк бенефициара сообщение pacs.002 со статусом транзакции ACSC, и им уже был получен такой же запрос (повторно отправлен pacs.002), то дополнительных действий Банк бенефициара не производит (не производит повторное зачисление денег на счет бенефициара и т.д.), а лишь отправляет ответ  с HTTP статусом 200*
{% endhint %}

<details>

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

* **Банк бенефициара не получил сообщение pacs.002 с финальным статусом транзакции (ACSC или RJCT):**

1. Банк бенефициара ожидает получение сообщения pacs.002 с финальным статусом транзакции (ACSC или RJCT) в соответствии с установленным регламентом (см. [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 с финальным статусом транзакции (ACSC или RJCT), Банк бенефициара в соответствии с установленным регламентом (см. [taim-auty-i-logika-povtornykh-zaprosov](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/taim-auty-i-logika-povtornykh-zaprosov "mention")) завершает транзакцию неуспешно (RJCT) по тайм-ауту, зачисление средств бенефициару не производится. Платформа производит откат транзакции, устанавливает статус транзакции - RJCT (неуспешно). Банк отправителя денег, получив статус транзакции RJCT (неуспешно), разблокирует средства Отправителя денег, списание средств не производится.

*Примечание: перед завершением транзакции Банк бенефициара может проверить статус транзакции на Платформе, отравив сообщение pacs.028 (см.* [servis-polucheniya-statusa-obrabotki-tranzakcii](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/servis-polucheniya-statusa-obrabotki-tranzakcii "mention")*)*

* **Банк бенефициара отклонил pacs.002:**

1. Если банк-бенефициар отклонил pacs.002 со статусом ACSC, то Платформа должна отправить банку отправителю денег pacs.002 со статусом RJCT и кодом ошибки `PACS_002_SENDING_TO_CREDITOR_ERROR` .

</details>

19.2. Банк бенефициара производит зачисление денег на счет бенефициара и направляет информацию об этом на POS-терминал.

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

<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>

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

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

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

{% hint style="warning" %}
*Примечание: Если Платформа направляет в Банк отправителя денег сообщение pacs.002 со статусом транзакции ACSC, и им уже был получен такой же запрос (повторно отправлен pacs.002), то дополнительных действий Банк отправителя денег не производит (не производит повторное списание денег со счета отправителя денег и т.д.), а лишь отправляет ответ с HTTP статусом 200*
{% endhint %}

<details>

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

* **Банк отправителя денег не получил сообщение pacs.002 с финальным статусом транзакции (ACSC или RJCT):**

1. Банк отправителя денег ожидает получение сообщения pacs.002 с финальным статусом транзакции (ACSC или RJCT) в соответствии с установленным регламентом(см. [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 с финальным статусом транзакции (ACSC или RJCT), Банк отправителя денег  направляет запрос статуса транзакции Платформе (сообщение pacs.028, см. [servis-polucheniya-statusa-obrabotki-tranzakcii](https://docs.npck.kz/mezhbankovskaya-sistema-perevodov-i-platezhei/servis-polucheniya-statusa-obrabotki-tranzakcii "mention")), подписав его своим ЭЦП.
3. Платформа, успешно выполнив обработку запроса, направляет ответ с HTTP статусом 200.
4. Платформа направляет в Банк отправителя денег сообщение pacs.002 со статусом транзакции, подписав его ЭЦП Платформы.

</details>

20.2. Банк отправителя денег производит списание денег со счета отправителя денег и уведомляет его о завершении операции.<br>
