Каскадное проведение платежей
Общая информация
По различным причинам проведение платежей может прерываться. Например, на стороне провайдеров или банков причинами могут служить технические сбои, задержки в обработке платежа или же достижение лимитов, заданных для пользователя на стороне какого-либо провайдера.
Для таких случаев в платформе JetPay поддерживается возможность каскадного проведения платежей. Каскадное проведение включает в себя последовательные дополнительные попытки проведения платежа через резервных провайдеровЭта возможность доступна только для разовых оплат в одну или две стадии как с поддержкой, так и без поддержки протокола 3‑D Secure.
Для поддержки такой возможности на стороне веб-сервиса не требуются какие-либо технические доработки относительно реализации стандартного проведении разовых оплат. Подробная информация о подключении и схеме каскадного проведения оплат представлена далее.
Подключение и настройка
Чтобы подключить каскадное проведение платежей, со стороны мерчанта необходимо согласовать с курирующим менеджером JetPay подключение этой возможности и протестировать каскадное проведение оплат совместно с сотрудниками технической поддержки JetPay.
Схема проведения
Каскадное проведение платежа начинается стандартно: от веб-сервиса к платежной платформе отправляется запрос на оплату через Payment Page, после приема и обработки которого пользователю отображается платежная форма для ввода данных карты, а затем осуществляется первая попытка проведения оплаты через одного из провайдеров, при необходимости включая аутентификацию пользователя по протоколу 3‑D Secure. Если эта попытка завершается списанием средств, то от платежной платформы к веб-сервису отправляется оповещение с итоговым статусом платежа — success, а иначе продолжается каскадное проведение платежа.
Далее, пока ни одна из выполненных попыток не привела к успешному списанию и дополнительные попытки еще не исчерпаны, на стороне платежной платформы инициируется выполнение новой попытки. Если в рамках дополнительной попытки не требуется аутентификация 3‑D Secure, то попытка выполняется без взаимодействия с пользователем. Если требуется аутентификация, то на Payment Page отображаются сообщение об ошибке, введенные ранее данные карты и кнопка Повторить попытку. Затем с согласия пользователя продолжается выполнение этой оплаты с повторной аутентификацией. Статусу платежа присваивается одно из промежуточных значений awaiting_3ds_result, awaiting_redirect_result или processing).
Каскадное проведение платежа заканчивается стандартно: от платежной платформы к веб-сервису отправляется оповещение с одним из итоговых статусов платежа: success, если одна из выполненных попыток привела к списанию средств, или decline, если ни одна из выполненных попыток не привела к списанию и лимит на дополнительные попытки исчерпан.
Далее представлена схема каскадного проведения оплаты в контексте оплаты в одну стадию с возможной аутентификацией 3‑D Secure 1.
Рис.: Каскадное проведение оплаты с поддержкой 3‑D Secure 1
- Платежная платформа направляет в сервис провайдера запрос на проведение платежа.
- Сервис провайдера проверяет необходимость аутентификации пользователя. Если требуется аутентификация, то сервис провайдера направляет к платежной платформе оповещение с данными для перенаправления пользователя. Если аутентификация не требуется, игнорируйте шаги 3‒8 и переходите сразу к шагу 9.
- Если это первичная аутентификация, переходите к шагу 4. Если это повторная аутентификация:
- платежная платформа отображает пользователю ранее введенные данные карты, сообщение об ошибке и предложение повторить попытку оплаты;
- пользователь соглашается на повторную попытку.
- Пользователь перенаправляется на страницу аутентификации (ACS URL) эмитента.
- Пользователь переходит на страницу аутентификации и выполняет необходимые действия.
- Эмитент выполняет аутентификацию и направляет платежной платформе данные о результате аутентификации.
- Пользователь перенаправляется на страницу оплаты.
- Платежная платформа передает в сервис провайдера запрос на продолжение проведения платежа.
- Сервис провайдера обрабатывает запрос и осуществляет одно из следующих действий:
- если платеж отклоняется, сервис провайдера отправляет платежной платформе уведомление об отказе, после чего платежная платформа инициирует повторную попытку провести платеж;
- сервис провайдера отправляет запрос на проведение оплаты эмитенту, после чего платеж проводится как обычно.
Формат оповещений
При каскадном проведении оплат с прямым использованием платежных карт от платежной платформы к веб-сервису отправляются только итоговые оповещения стандартного формата, описание которого представлено в разделе Оповещения (callbacks) в Payment Page.