Тайм-ауты и логика повторных запросов
Примечание:
Приведенные в данном разделе временные ограничения являются предварительными, могут быть скорректированы до начала пилотного проекта с участием БВУ.
Ограничения по времени обработки (тайм-ауты)
На стороне Банка отправителя денег
На стороне Банка отправителя денег должен быть предусмотрен общий тайм-аут на проведение финансовой операции - 120 секунд. Отсчет времени тайм-аута начинается:
для процесса “Инициализация оплаты по QR-коду (C2B2)” - после успешной отправки сообщения admi.009 (запрос данных по QR-коду для оплаты);
для процесса “Инициализация оплаты по QR-коду в рамках электронной коммерции (C2B2E)” - после успешной отправки сообщенияadmi.009 (запрос данных по QR-коду для оплаты);
для процесса “Возврат денег по проведенной ранее оплате за товар/ услугу (C2BR)” - после получения сообщения admi.009 (запрос данных по QR-коду для возврата);
для процесса “Инициализация перевода денег от отправителя денег к другому ФЛ в приложении Банка отправителя денег (C2C2)” - после успешной отправки сообщения acmt.023 (Запрос верификации наличия счета клиента);
для процесса “Инициализация перевода денег между своими счетами в приложении Банка отправителя денег (M2M2)” - после успешной отправки сообщения pacs.008 (Запрос на перевод денег);
для процесса “Возврат полученного перевода (C2CR)” - после успешной отправки сообщения pacs.004 (Запрос возврата денег).
Если, успешно направив запрос на платеж/перевод денег (сообщение pacs.008), запрос возврата денег (сообщение pacs.004), Банк отправителя денег не получает сообщение о статусе платежа/перевода pacs.002 с финальным статусом транзакции (RJCT или ACSC) в течение 60 секунд, то он должен направить запрос статуса транзакции pacs.028 Платформе.
Если Банк отправителя денег получает сообщение о статусе платежа/перевода pacs.002 со статусом транзакции PDNG (т.е. транзакция была успешно начата и находится в обработке) – он не должен разблокировать средства самостоятельно до получения от Платформы сообщения pacs.002 с финальным статусом транзакции (RJCT или ACSC) или до истечения тайм-аута в 120 секунд.
На стороне Банка бенефициара
На стороне Банка бенефициара должен быть предусмотрен общий тайм-аут на проведение финансовой операции - 120 секунд. Отсчет времени тайм-аута начинается:
для процесса “Инициализация оплаты по QR-коду (C2B2)” - после получения сообщения admi.009 (запрос данных по QR-коду для оплаты);
для процесса “Инициализация оплаты по QR-коду в рамках электронной коммерции (C2B2E)” - после получения сообщения admi.009 (запрос данных по QR-коду для оплаты);
для процесса “Возврат денег по проведенной ранее оплате за товар/ услугу (C2BR)” - после успешной отправки сообщения admi.009 (запрос данных по QR-коду для возврата);
для процесса “Инициализация перевода денег от отправителя денег к другому ФЛ в приложении Банка отправителя денег (C2C2)” - после получения сообщения acmt.023 (Запрос верификации наличия счета клиента);
для процесса “Инициализация перевода денег между своими счетами в приложении Банка отправителя денег (M2M2)” - после получения сообщения pacs.008 (Запрос на перевод денег);
для процесса “Возврат полученного перевода (C2CR)” - после получения сообщения pacs.004 (Запрос возврата денег).
Если Банк бенефициара не получает от Платформы сообщение о статусе платежа/перевода pacs.002 с финальным статусом транзакции (RJCT или ACSC) в течение 120 сек, то он завершает транзакцию неуспешно (RJCT) по тайм-ауту, начисление денег бенефициару не производится.
Банку бенефициара следует соблюдать следующие рекомендованные временные ограничения обработки сообщений:
обработка полученного сообщения admi.009 и формирование ответного сообщения admi.010 - не более 3 секунд;
обработка полученного сообщения acmt.023 и формирование ответного сообщения acmt.024 - не более 3 секунд;
обработка полученного сообщения pacs.008 и формирование ответного сообщения pacs.002 - не более 5 секунд.
Отправка повторных запросов
Для всех запросов, кроме запроса статуса транзакции pacs.028, запроса выписки camt.053 (см. Получение выписки):
Если Получатель сообщения не отвечает или отвечает с HTTP статусом 500, то отправитель сообщения должен производит повторную отправку запроса через 3 секунды.
Общее количество повторных попыток отправки запроса может быть не более 2, после чего операция завершается неуспешно.
При подсчете попыток повторной отправки сообщения используется комбинация следующих полей: тип сообщения, сквозной идентификатор, идентификатор банка отправителя сообщения (идентификатор Платформы).
При превышении количества повторных попыток отправки сообщения будет возвращен HTTP-статус 429
Для запроса статуса транзакции pacs.028:
Если Платформа не отвечает, отвечает с HTTP статусом 500 или направляет сообщение о статусе платежа/перевода pacs.002 (со статусом транзакции PDNG), то отправитель сообщения направляет повторно запрос pacs.028:
первые две попытки – интервал 3 секунды;
третья и последующие попытки – интервал определяется отправителем сообщения, но не менее 10 секунд. Отправка повторных запросов производится до получения от Платформы сообщения pacs.002 с финальным статусом транзакции (RJCT или ACSC) или до истечения времени тайм-аута.
Получение выписки
В случае неполучения выписки по счету camt.053 по запросу camt.060, повторный запрос выписки camt.060 Платформе можно направлять не ранее, чем через 2 минуты после предыдущей попытки.
Информирование об ошибках
Ошибка направляется в ответе на запрос (синхронно), если она возникает при валидации запроса/
В случае возникновения ошибок при обработке сообщения, связанных с бизнес-процессом (контроль лимитов, антифрод и т.д.) на стороне Платформы, Платформа направляет соответствующие ответные сообщения (acmt.024, pacs.002, admi.010), в которых указывается информация о возникшей ошибке (причина неуспешности запроса).
В случае возникновения ошибок при обработке сообщения, связанных с бизнес-процессом (контроль лимитов, антифрод и т.д.) на стороне БВУ, БВУ направляет соответствующие ответные сообщения (acmt.024, pacs.002, admi.010), в которых указывается информация о возникшей ошибке (причина неуспешности запроса).
Last updated