Инициализация оплаты в рамках электронной коммерции
Данный сценарий описывает инициализацию проведения оплаты за товар/услугу посредством платежной ссылки в рамках электронной коммерции.
АО «НПК» по запросу Банка готово предоставить презентацию клиентского пути в рабочем порядке.
Методы API (endpoint), которые необходимо реализовать
Схему успешного сценария процесса «Инициализация оплаты в рамках электронной коммерции (C2B2E)» отображает рисунок ниже.

Методы API (endpoint), которые необходимо реализовать каждому участнику на своей стороне в рамках процесса «Инициализация оплаты в рамках электронной коммерции (C2B2E)», приведены в таблице ниже.
Запрос данных для оплаты
(POST /v1/transfers/iso20022/admi.009.001.02)
+
Данные для оплаты
(POST /v1/transfers/iso20022/admi.010.001.02)
+
+
Запрос на перевод денег
(POST /v1/transfers/iso20022/pacs.008.001.11)
+
Статус обработки запроса перевода денег
(POST /v1/transfers/iso20022/pacs.002.001.13)
+
+
Взаимосвязь идентификаторов сообщений
Процесс «Инициализация оплаты в рамках электронной коммерции (C2B2E)» построен на обмене сообщениями, основанными на стандарте ISO20022, которые логически связаны между собой.

Описание процесса
Описание успешного сценария процесса «Инициализация оплаты в рамках электронной коммерции (C2B2E)»:
Поддерживаются два способа инициирования платежа:
Выведение QR-кода на десктопе. Данный сценарий осуществляется в рамках процесса «Инициализация проведения платежей (по QR-коду) в рамках целевой модели (C2B2_V2)».
Мобильная версия сайта/мобильное приложение торгово-сервисного предприятия (далее — Mobile App). Данный сценарий осуществляется по типу транзакции C2B2E.
При заказе через Mobile App:
Отправитель денег (клиент) добавляет товар в корзину и подтверждает заказ в Mobile App.
При подтверждении заказа в Mobile App отображается страница выбора способа оплаты.
Отправитель денег (клиент) выбирает способ оплаты «Оплата посредством сервиса межбанковских QR-платежей Межбанковской системы мобильных платежей (МСМП)».
Выполняется переход на страницу банка эквайера по ссылке https://{Страница_эквайера}.kz/ с вариантами выбора банковского приложения для осуществления оплаты. Каждый вариант содержит ссылку deep-link на мобильные приложения указанных в списке банков (например, https://{Домен эмитента}.kz/
«{bank_base_domain}/{QR_ID}»).
Отправитель денег (клиент) выбирает Банк для оплаты, из списка доступных на странице выбора банков в Mobile App.
После выбора банка для выполнения транзакции выполняется открытие мобильного приложения по deep-link с заполненными полями для оплаты.
Отправитель денег (клиент) инициирует оплату в МП Банка отправителя.
Банк отправителя денег направляет Платформе запрос данных для оплаты (сообщение admi.009) по ссылке, подписав его своим ЭЦП
8.1. Платформа, получив запрос, проводит его валидацию, в том числе:
проверяет подпись Банка отправителя денег
проверяет корректность заполнения полей
Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.
Платформа направляет в Банк бенефициара запрос данных для оплаты (сообщение admi.009), подписав его ЭЦП Платформы
9.1. Банк бенефициара, получив запрос, проводит его обработку, в том числе:
проверяет подпись Платформы
проверяет корректность заполнения полей
выполняет поиск данных по идентификатору QR-кода
Если валидация запроса проходит успешно, Банк бенефициара направляет ответ с HTTP статусом 200.
Банк бенефициара направляет данные для оплаты Платформе (сообщение admi.010), подписав его своим ЭЦП
10.1. Платформа, получив ответ, проводит его валидацию, в том числе:
проверяет подпись Банка бенефициара
проверяет корректность заполнения полей
Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.
Платформа направляет данные для оплаты в Банк отправителя денег (сообщение admi.010), подписав его ЭЦП Платформы
11.1. Банк отправителя денег, получив ответ, проводит его валидацию, в том числе:
проверяет подпись Платформы
проверяет корректность заполнения полей
Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.
Отправитель денег на странице оплаты приложения Банка отправителя проверяет корректность данных по заказу (наименование поставщика товара, работы или услуги, итоговую сумму к оплате, полученные из сообщения admi.010) и подтверждает проведение оплаты нажатием кнопки «Оплатить».
Банк отправителя денег проводит проверку счета клиента на:
валидность статуса для его дебетования
отсутствие наложенного ПТП/ РПРО/ ареста и т.п.
достаточности средств для списания суммы операции
Банк отправителя денег проверяет возможность транзакции по счету клиента и формирует платежное поручение (pacs.008), предварительно блокирует сумму операции по счету клиента.
Банк отправителя денег направляет Платформе запрос на проведение оплаты (сообщение pacs.008), подписав его своим ЭЦП.
15.1. Платформа, получив запрос, проводит его валидацию, в том числе:
проверяет подпись Банка отправителя денег
проверяет корректность заполнения полей
Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.
Платформа обрабатывает запрос на проведение оплаты (сообщение pacs.008), в том числе:
выполняет проверку позиций участников и лимитов;
выполняет блокирование средств для проведения транзакции.
осуществляет проверку чистой позиции - при достижении лимита чистой позиции направляет в Банк отправителя и Банк бенефициара сообщение pacs.002 со статусом RJCT и кодом ошибки PACS_002_NET_POSITION_LIMIT_REACHED.
Платформа направляет в Банк бенефициара запрос на проведение оплаты (сообщение pacs.008), подписав его ЭЦП Платформы.
17.1. Банк бенефициара, получив запрос, проводит его обработку, в том числе:
проверяет подпись Платформы;
проверяет корректность заполнения полей.
Если валидация запроса проходит успешно, Банк бенефициара направляет ответ с HTTP статусом 200.
Банк бенефициара проверяет счет бенефициара на возможность зачисления денег.
Банк бенефициара направляет статус обработки запроса проведения оплаты Платформе (сообщение pacs.002), подписав его своим ЭЦП.
19.1. Платформа, получив запрос, проводит его валидацию, в том числе:
проверяет подпись Банка бенефициара;
проверяет корректность заполнения полей.
Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.
Платформа направляет статус обработки запроса проведения оплаты в Банк отправителя денег (сообщение pacs.002), подписав его ЭЦП Платформы.
20.1. Банк отправителя денег, получив запрос, проводит его валидацию, в том числе:
проверяет подпись Платформы;
проверяет корректность заполнения полей.
Если валидация запроса проходит успешно, Банк отправителя денег направляет ответ с HTTP статусом 200.
Банк отправителя денег направляет в качестве уведомления об успешной транзакции в Платформу сообщение pacs.002 со статусом транзакции ACSC, подписав его своим ЭЦП.
21.1. Платформа, получив запрос, проводит его валидацию, в том числе:
проверяет подпись Банка отправителя денег;
проверяет корректность заполнения полей.
Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.
Платформа направляет в качестве уведомления сообщение pacs.002 со статусом ACSC в Банк бенефициара, подписав его ЭЦП Платформы.
22.1. Банк бенефициара, получив сообщение pacs.002 со статусом транзакции, проводит его валидацию, в том числе:
проверяет подпись Платформы;
проверяет корректность заполнения полей.
Если валидация запроса проходит успешно, Банк бенефициара направляет ответ с HTTP статусом 200.
Банк бенефициара производит зачисление денег на счет бенефициара и направляет информацию об этом на мобильное приложение ЮЛ/ЛК ЮЛ.
Банк бенефициара направляет в качестве уведомления об успешной транзакции в Платформу сообщение pacs.002 со статусом транзакции ACSC, подписав его своим ЭЦП.
24.1. Платформа, получив запрос, проводит его валидацию, в том числе:
проверяет подпись Банка бенефициара;
проверяет корректность заполнения полей.
Если валидация запроса проходит успешно, Платформа направляет ответ с HTTP статусом 200.
Платформа успешно завершает транзакцию (commit transaction).
Платформа направляет уведомление pacs.002 со статусом ACSC до Банка отправителя денег с информацией о дате обработки транзакции (Processing Date) и информацией о размерах комиссий, подписав его ЭЦП Платформы.
Банк отправителя завершает транзакцию и уведомляет клиента о завершении операции.
Last updated