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

Возврат денег по инициативе продавца без участия покупателя (C2BRM_V2)

Данный сценарий описывает возврат денег по ранее проведенной оплате за товар или услугу, инициируемый поставщиком/продавцом без формирования соответствующего запроса со стороны покупателя.

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

Получателем возвращаемых денег является покупатель: первоначальный плательщик и отправитель денег по исходной платежной операции.

Покупатель не участвует в инициировании операции возврата и не формирует отдельный запрос на возврат денег.

Платежное сообщение на возврат денег (pacs.004) на основании исходного платежного поручения (pacs.008), по которому ранее была успешно выполнена оплата за товар или услугу. В сообщении pacs.004 указываются реквизиты исходной платежной операции, позволяющие однозначно установить связь между возвратом и первоначальной оплатой.

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

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

Схему успешного сценария процесса «Возврат денег по проведенной ранее оплате за товар/услугу по инициативе продавца без участия покупателя (C2BRM_V2)» отображает рисунок ниже.

Схема процесса «Возврат денег по проведенной ранее оплате за товар/услугу по инициативе продавца без участия покупателя (C2BRM_V2)»

Реализация процесса «Возврат денег по ранее проведенной оплате за товар/услугу по инициативе продавца без участия покупателя» (C2BRM_V2) осуществляется на основе процесса «Возврат денег по ранее проведенной оплате за товар/услугу» (C2BR_V2).

Основным отличием процесса C2BRM_V2 является отсутствие информационного обмена с покупателем, включая обмен сообщениями admi.009 и admi.010, поскольку операция возврата инициируется продавцом самостоятельно.

Основным отличием процесса C2BRM_V2 является отсутствие информационного обмена с покупателем, включая обмен сообщениями admi.009 и admi.010, поскольку операция возврата инициируется продавцом самостоятельно.

Для выполнения возврата используются сообщения pacs.004 и pacs.002, а также аналогичная логика их формирования и обработки как в процессе C2BR_V2. При этом в сообщениях указывается тип операции C2BRM_V2, позволяющий идентифицировать возврат, инициированный продавцом без участия покупателя.

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

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

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

Запрос возврата денег

(POST /v1/transfers/iso20022/pacs.004.001.12)

+

Статус обработки запроса перевода денег

(POST /v1/transfers/iso20022/pacs.002.001.13)

+

+

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

Процесс «Возврат денег по проведенной ранее оплате за товар/услугу по инициативе продавца без участия покупателя (C2BRM_V2)» построен на обмене сообщениями, основанными на стандарте ISO20022, которые логически связаны между собой.

Логическая схема взаимосвязи идентификаторов сообщений

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

Описание успешного сценария процесса «Возврат денег по проведенной ранее оплате за товар/услугу по инициативе продавца без участия покупателя (C2BRM_V2):

  1. Сотрудник мерчанта инициирует осуществление возврата денег по проведенной ранее оплате за товар/услугу.

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

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

Возможные неуспешные сценарии
  • Запрошена некорректная сумма возврата или отсутствуют данные о совершенной ранее оплате, по которой запрошен возврат:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • производит проверку, что сумма возврата не превышает суммы исходной транзакции с учетом возвратов по ней (выполненных и находящихся в обработке);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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. Процесс завершается неуспешно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Last updated