For the complete documentation index, see llms.txt. This page is also available as Markdown.

Инициализация оплаты в рамках электронной коммерции

Данный сценарий описывает инициализацию проведения оплаты за товар/услугу посредством платежной ссылки в рамках электронной коммерции.

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

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

Схему успешного сценария процесса «Инициализация оплаты в рамках электронной коммерции (C2B2E)» отображает рисунок ниже.

Схема процесса «Инициализация оплаты в рамках электронной коммерции (C2B2E)»
Схематичное отображение процесса

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

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

Метод API (endpoint)
Банк отправителя денег
Банк бенефициара

Запрос данных для оплаты

(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)»:

Поддерживаются два способа инициирования платежа:

  1. Выведение QR-кода на десктопе. Данный сценарий осуществляется в рамках процесса «Инициализация проведения платежей (по QR-коду) в рамках целевой модели (C2B2_V2)».

  2. Мобильная версия сайта/мобильное приложение торгово-сервисного предприятия (далее — Mobile App). Данный сценарий осуществляется по типу транзакции C2B2E.

При заказе через Mobile App:

  1. Отправитель денег (клиент) добавляет товар в корзину и подтверждает заказ в Mobile App.

  2. При подтверждении заказа в Mobile App отображается страница выбора способа оплаты.

  3. Отправитель денег (клиент) выбирает способ оплаты «Оплата посредством сервиса межбанковских QR-платежей Межбанковской системы мобильных платежей (МСМП)».

  4. Выполняется переход на страницу банка эквайера по ссылке https://{Страница_эквайера}.kz/ с вариантами выбора банковского приложения для осуществления оплаты. Каждый вариант содержит ссылку deep-link на мобильные приложения указанных в списке банков (например, https://{Домен эмитента}.kz/

    «{bank_base_domain}/{QR_ID}»).

  5. Отправитель денег (клиент) выбирает Банк для оплаты, из списка доступных на странице выбора банков в Mobile App.

  6. После выбора банка для выполнения транзакции выполняется открытие мобильного приложения по deep-link с заполненными полями для оплаты.

  7. Отправитель денег (клиент) инициирует оплату в МП Банка отправителя.

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

Возможные неуспешные сценарии
  • Платформа не отвечает:

  1. Банк отправителя денег завершает процесс, не получив ответ в срок в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

  2. Процесс завершается неуспешно.

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

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

  2. Процесс завершается неуспешно.

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

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

  • проверяет корректность заполнения полей

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

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

Возможные неуспешные сценарии
  • Банк бенефициара не отвечает:

  1. Если Банк бенефициара не направляет ответ, то Платформа должна считать, что запрос не доставлен.

  2. Платформа завершает процесс, не получив ответ в срок в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

  3. Платформа направляет в Банк отправителя сообщение admi.010 с ошибкой.

  4. Банк отправителя денег завершает процесс, получив сообщение с информацией об ошибке.

  5. Процесс завершается неуспешно.

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

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

  2. Платформа завершает процесс, получив сообщение с информацией об ошибке.

  3. Платформа направляет в Банк отправителя сообщение admi.010 с ошибкой.

  4. Банк отправителя денег завершает процесс, получив сообщение с информацией об ошибке.

  5. Процесс завершается неуспешно.

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

  • проверяет подпись Платформы

  • проверяет корректность заполнения полей

  • выполняет поиск данных по идентификатору QR-кода

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

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

Возможные неуспешные сценарии
  • Платформа не отвечает:

  1. Если Платформа не направляет ответ, то Банк бенефициара должен считать, что запрос не доставлен.

  2. Банк бенефициара выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

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

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

  2. Банк бенефициара завершается процесс с ошибкой.

  3. Банк отправителя денег завершает процесс по тайм-ауту (см. Тайм-ауты и логика повторных запросов).

  4. Процесс завершается неуспешно.

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

  • проверяет подпись Банка бенефициара

  • проверяет корректность заполнения полей

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

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

Возможные неуспешные сценарии
  • Банк отправителя денег не отвечает:

  1. Если Банк отправителя денег не направляет ответ, то Платформа должна считать, что запрос не доставлен.

  2. Платформа выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

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

  • проверяет подпись Платформы

  • проверяет корректность заполнения полей

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

  1. Отправитель денег на странице оплаты приложения Банка отправителя проверяет корректность данных по заказу (наименование поставщика товара, работы или услуги, итоговую сумму к оплате, полученные из сообщения admi.010) и подтверждает проведение оплаты нажатием кнопки «Оплатить».

Возможные неуспешные сценарии
  1. Клиент отменил операцию или операция отменена по иной причине на стороне Банка отправителя денег:

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

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

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

  • проверяет корректность заполнения полей

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


• Возможные неуспешные сценарии

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

  1. Если Платформа не направляет ответ, то Банк отправителя денег должен считать, что запрос не доставлен.

  2. Банк отправителя денег выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см.

    Тайм-ау ты и логика повторных запросов).

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

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

  2. Банк отправителя денег завершается процесс с ошибкой.

  3. Банк бенефициара завершает процесс по тайм-ауту (см. Тайм-ау ты и логика повторных запросов).

  4. Процесс завершается неуспешно


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


• Возможные неуспешные сценарии

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

  1. Если Банк бенефициара не направляет ответ, то Платформа должна считать, что запрос не доставлен.

  2. Платформа завершает процесс, не получив ответ в срок в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

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

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

  2. Платформа завершает процесс, получив сообщение с информацией об ошибке.

  3. Процесс завершается неуспешно.


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

  • проверяет подпись Платформы

  • проверяет корректность заполнения полей

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

1.4. В МП ЮЛ/ЛК ЮЛ выводится информация о том, что операция отменена клиентом, и процесс завершается.

  1. Банк отправителя денег проводит проверку счета клиента на:

  • валидность статуса для его дебетования

  • отсутствие наложенного ПТП/ РПРО/ ареста и т.п.

  • достаточности средств для списания суммы операции

Возможные неуспешные сценарии
  • Проверка счета не прошла успешно:

  1. Банк отправителя денег уведомляет клиента о невозможности проведения операции.

  2. Процесс завершается неуспешно

  1. Банк отправителя денег проверяет возможность транзакции по счету клиента и формирует платежное поручение (pacs.008), предварительно блокирует сумму операции по счету клиента.

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

Возможные неуспешные сценарии
  • Платформа не отвечает:

  1. Если Платформа не направляет ответ, то Банк отправителя денег должен считать, что запрос не доставлен.

  2. Банк отправителя денег выполняет попытку повторной отправки корректного запроса в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

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

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

  2. Процесс завершается неуспешно.

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

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

  • проверяет корректность заполнения полей

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

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

  • выполняет проверку позиций участников и лимитов;

  • выполняет блокирование средств для проведения транзакции.

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

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

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

  2. Процесс завершается неуспешно.

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

Возможные неуспешные сценарии
  • Банк бенефициара не отвечает:

  1. Если Банк бенефициара не направляет ответ, то Платформа должна считать, что запрос не доставлен.

  2. Платформа выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

  3. Платформа завершает процесс, не получив ответ в срок в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

  4. Платформа направляет в Банк отправителя сообщение pacs.002 с ошибкой.

  5. Банк отправителя денег завершает процесс, получив сообщение с информацией об ошибке.

  6. Процесс завершается неуспешно.

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

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

  2. Платформа устанавливает статус транзакции RJCT (отклонена).

  3. Платформа направляет в Банк отправителя сообщение pacs.002 с ошибкой.

  4. Банк отправителя денег завершает процесс, получив сообщение с информацией об ошибке, устанавливает статус транзакции RJCT (отклонена).

  5. Процесс завершается неуспешно.

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

  • проверяет подпись Платформы;

  • проверяет корректность заполнения полей.

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

  1. Банк бенефициара проверяет счет бенефициара на возможность зачисления денег.

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

Возможные неуспешные сценарии
  • Платформа не отвечает:

  1. Если Платформа не направляет ответ, то Банк бенефициара должен считать, что запрос не доставлен.

  2. Банк бенефициара выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

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

  1. Валидация сообщения не проходит успешно, Платформа направляет ответ Банку бенефициара с соответствующим ошибке HTTP статусом. Банк бенефициара устанавливает статус транзакции RJCT (отклонена).

  2. Платформа устанавливает статус транзакции RJCT (отклонена).

  3. Банк отправителя денег, не получив ответ в срок в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов), устанавливает статус транзакции RJCT (отклонена).

  4. Процесс завершается неуспешно.

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

  1. Банк бенефициара направляет Платформе статус обработки запроса проведения оплаты (сообщение pacs.002) - RJCT (отклонена).

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

  3. Процесс завершается неуспешно.

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

  • проверяет подпись Банка бенефициара;

  • проверяет корректность заполнения полей.

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

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

Возможные неуспешные сценарии
  • Банк отправителя денег не отвечает:

  1. Если Банк отправителя денег не направляет ответ, то Платформа должна считать, что запрос не доставлен.

  2. Платформа выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

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

  • проверяет подпись Платформы;

  • проверяет корректность заполнения полей.

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

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

Возможные неуспешные сценарии
  • Платформа не отвечает:

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

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

  • проверяет подпись Банка отправителя денег;

  • проверяет корректность заполнения полей.

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

Возможные неуспешные сценарии
  • Не получен pacs.002 ACSC от Банка отправителя денег:

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

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

Возможные неуспешные сценарии
  • Банк бенефициара не отвечает:

  1. Платформа выполняет попытку повторной отправки запроса в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

  2. Если Банк бенефициара не направляет ответ, то Платформа считает запрос не доставленным, при этом транзакция не отклоняется и остается в состоянии ожидания сообщения pacs.002 с финальным статусом от Банка бенефициара.

  3. Банк бенефициара не получив ответ от платформы в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов), завершает транзакцию с ошибкой и направляет в Платформу pacs.002 со статусом RJCT с интервалом 3 секунды до тех пор, пока не будет получен ответ HTTP 200.

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

  • проверяет подпись Платформы;

  • проверяет корректность заполнения полей.

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

  1. Банк бенефициара производит зачисление денег на счет бенефициара и направляет информацию об этом на мобильное приложение ЮЛ/ЛК ЮЛ.

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

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

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

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

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

  • проверяет подпись Банка бенефициара;

  • проверяет корректность заполнения полей.

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

  1. Платформа успешно завершает транзакцию (commit transaction).

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

  3. Банк отправителя завершает транзакцию и уведомляет клиента о завершении операции.

Возможные неуспешные сценарии
  1. Банк отправителя денег не получил финальное уведомление от платформы pacs.002 со статусом ACSC с информацией о дате обработки транзакции (Processing Date) и информацией о размерах комиссий.

  2. Банк отправителя денег отправляет запрос на получение статуса обработки транзакции (pacs.028) в соответствии с установленным регламентом (см. Тайм-ауты и логика повторных запросов).

Рекомендуется: Банку отправителя денег начинать направлять запрос статуса обработки транзакции (pacs.028) через 5 секунд после успешной отправки pacs.002.

Last updated