1.3. Предавторизация, Capture и Cancel сервер-сервер
Введение
Preauth (предавторизация) — это тип транзакции, при котором банк блокирует указанную сумму на карточном счёте Плательщика и не позволяет держателю карты использовать заблокированные средства. Важно отметить, что блокировка сохраняется в течение определённого периода времени, зависящего от типа карты — дебетовая или кредитная (обычно максимальный срок блокировки составляет 7 дней для дебетовых карт и 28 дней для кредитных). В сценарии Server-to-server Preauth данные карты передаются непосредственно в инициирующем запросе.
См. определения терминов (Присоединяющаяся Сторона, 3DS Method и т.д.) в Глоссарии.
Capture — транзакция, следующая за Preauth, которая списывает заблокированную сумму с карты Плательщика.
Cancel — операция, обратная Capture, которая отменяет списание и возвращает заблокированную сумму на карту Плательщика.
Сценарий Preauth
(2) Для реализации запроса на преавторизацию см. /api/v2/preauth/. По умолчанию 3DS инициируется и выполняется платежным шлюзом через Упрощенную схему аутентификации. См. Схему принятия решения по 3DS.
(5) Для реализации обратного вызова с обработкой финального статуса см. Обратный вызов Присоединяющейся Стороны.
(7) Для реализации запроса статуса заказа см. /api/v2/status/. Статус следует запрашивать несколько раз с интервалом 3-5 секунд, пока в ответе не будет получен финальный статус.
Схема прохождения 3DS
Присоединяющаяся сторона должна реализовать все шаги, отмеченные зелёным и фиолетовым цветом. Ниже приведены описания шагов со ссылками на API-команды в соответствии с номером шага.
(1) Для реализации запроса статуса заказа см. /api/v2/status/. Статус следует запрашивать несколько раз с интервалом 3-5 секунд до получения финального статуса в ответе.
(4) Если присутствуют поля html и redirect-to, см. Simplified authentication flow with html page.
(5) То же, что и пункт (1).
Примечание
«Схема принятия решения по 3DS демонстрирует процесс инициирования и выполнения 3DS платежным шлюзом. Для ознакомления с другими сценариями реализации 3DS, пожалуйста, изучите Обзор 3DS и свяжитесь с менеджером поддержки».
Сценарий без 3DS
Оплата считается проведённой без прохождения 3DS (без 3DS аутентификации) при нижеприведённых условиях:
1. были выполнены шаги 1-2-(5)-6 из 3DS decision making schema.
2. Отсутствие параметров tds_status, html и redirect-to.
3. Транзакция получила финальный статус (approved, declined, error, filtered).
Примечание
Транзакции со статусом «unknown» могут показываться как транзакции, прошедшие 3DS, так и как транзакции без прохождения 3DS. Детальнее о статусах транзакций см. Статусы.
Упрощённый процесс аутентификации
(1) и (2). Для имплементации запроса статуса заказа, см. /api/v2/status/.
(9) Для инициации финального перенаправления см. Финальное перенаправление.
(10) HTML-страница ожидания в контуре Присоединяющейся Стороны может иметь произвольный дизайн и должна взаимодействовать с сервером Присоединяющейся Стороны в соответствии с диаграммой.
(15) и (16) то же, что и (1) и (2).
Сценарий списания
(1) Списание может быть инициировано Присоединяющейся Стороной в соответствии с бизнес-моделью или по запросу Плательщика.
(2) Для имплементации запроса на списание см. /api/v2/capture/.
(5) Обратный вызов по списанию будет отправлен только в случае, если notify_url был предоставлен в инициирующем запросе предавторизации или дополнительный обратный вызов установлен на предоставленный URL для списаний на уровне терминала. Если в запросе предавторизации был предоставлен server_callback_url, обратный вызов по списанию не будет отправлен. Для обработки обратных вызовов см. Обратный вызов Присоединяющейся Стороны.
(7) Для реализации запроса статуса заказа см. /api/v2/status/. Статус следует запрашивать несколько раз с интервалом 3-5 секунд, пока в ответе не будет получен финальный статус.
(9) Конечный статус может быть предоставлен Присоединяющейся Стороной в соответствии с бизнес-моделью или по запросу Плательщика.
Сценарий отмены
(1) Отмена предавторизации может быть вызвана Присоединяющейся Стороной в соответствии с бизнес-моделью или по запросу Плательщика.
(2) Для имплементации запроса на отмену см. /api/v2/return/.
(5) Обратный вызов по отмене будет отправлен только в случае, если notify_url был предоставлен в инициирующем запросе предавторизации или дополнительный обратный вызов установлен на предоставленный URL для отмен на уровне терминала. Если в запросе предавторизации был предоставлен server_callback_url, обратный вызов по отмене не будет отправлен. Для обработки обратных вызовов см. Обратный вызов Присоединяющейся Стороны.
(7) Для реализации запроса статуса заказа см. /api/v2/status/. Статус следует запрашивать несколько раз с интервалом 3-5 секунд, пока в ответе не будет получен финальный статус.
(9) Конечный статус может быть предоставлен Присоединяющейся Стороной в соответствии с бизнес-моделью или по запросу Плательщика.