Каскадное проведение платежей
Оплаты с прямым использованием карт
Общая информация
По различным причинам проведение платежей может прерываться. Например, на стороне провайдеров или банков причинами могут служить технические сбои, задержки в обработке платежа или же достижение лимитов, заданных для пользователя на стороне какого-либо провайдера.
Для таких случаев в платформе ecommpay поддерживается возможность каскадного проведения платежей. Каскадное проведение включает в себя последовательные дополнительные попытки проведения платежа через резервных провайдеров без изменения платёжного метода. При работе с прямым использованием карт эта возможность доступна только для разовых оплат в одну или две стадии как с поддержкой, так и без поддержки протокола 3‑D Secure.
При работе с прямым использованием карт допускается только однократное списание средств, поэтому инициирование дополнительных попыток осуществляется на стороне платёжной платформы.
Для поддержки такой возможности на стороне веб-сервиса требуются доработки относительно реализации стандартного проведении разовых оплат. Подробная информация о настройке веб-сервиса и схеме взаимодействия с платёжной платформой представлена далее.
Подключение и настройка
Чтобы подключить каскадное проведение платежей и настроить взаимодействие с платёжной платформой, со стороны мерчанта необходимо:
- Решить организационные вопросы, согласовав с курирующим менеджером ecommpay подключение этой возможности и необходимые доработки веб-сервиса.
- Доработать веб-сервис для использования каскадного проведения платежей.
- Дополнить платёжный интерфейс новыми элементами взаимодействия с пользователем.
При проведении повторной аутентификации 3‑D Secure рекомендуется уведомлять пользователя об отказе в проведении текущей попытки оплаты и получать согласие пользователя на повторную аутентификацию с использованием данных карты, введённых при проведении исходной попытки. Для этого можно использовать уведомление и кнопку. Также при исчерпанном лимите на дополнительные попытки рекомендуется предложить пользователю вернуться в веб-сервис и начать оплату заново с новым идентификатором платежа (
payment_id
). - Поддержать неоднократную аутентификацию 3‑D Secure без внесения изменений в данные карты, введённые при выполнении первой попытки.
Для этого требуется принимать от платёжной платформы промежуточные оповещения с данными для перенаправления пользователя при каждом проведении повторной аутентификации. А также следует учесть, что в этом случае в набор параметров таких оповещений входит дополнительный параметр
cascading_with_redirect
. Затем с согласия пользователя необходимо повторно выполнить перенаправление на страницу аутентификации без внесения изменений в данные, введённые ранее.
- Дополнить платёжный интерфейс новыми элементами взаимодействия с пользователем.
- Отладить и протестировать возможность каскадного проведения оплат совместно с сотрудниками технической поддержки ecommpay.
Схема проведения
Каскадное проведение платежа начинается стандартно: от веб-сервиса к платёжной платформе отправляется запрос на оплату. Далее при необходимости выполняется аутентификация пользователя по протоколу 3‑D Secure. Если эта попытка завершается списанием средств, то от платёжной платформы к веб-сервису отправляется оповещение с итоговым статусом платежа — success
, а иначе продолжается каскадное проведение платежа.
Далее, пока ни одна из выполненных попыток не привела к успешному списанию и дополнительные попытки ещё не исчерпаны, на стороне платёжной платформы инициируется выполнение новой попытки списать средства. Если в рамках дополнительной попытки не требуется аутентификация 3‑D Secure, то она выполняется без взаимодействия с пользователем и веб-сервисом. Если требуется аутентификация, то от платёжной платформы к веб-сервису отправляется оповещение с данными для перенаправления пользователя, и затем с согласия пользователя продолжается выполнение этой оплаты с повторной аутентификацией. Статусу платежа присваивается одно из промежуточных значений awaiting_3ds_result
, awaiting_redirect_result
или processing
).
Каскадное проведение платежа заканчивается стандартно: от платёжной платформы к веб-сервису отправляется оповещение с одним из итоговых статусов платежа: success
, если одна из выполненных попыток привела к списанию средств, или decline
, если ни одна из выполненных попыток не привела к списанию и лимит на дополнительные попытки исчерпан.
Далее представлена схема каскадного проведения оплаты в контексте оплаты в одну стадию с возможной аутентификацией 3‑D Secure.
* В качестве провайдера может выступать ecommpay.
Формат оповещений
При каскадном проведении оплат с применением платёжных карт используются итоговые оповещения стандартного формата, описание которого представлено в разделе Оповещения, и промежуточные оповещения стандартного формата для перенаправления пользователя на страницу аутентификации, описание этих форматов представлено в разделе Аутентификация 3‑D Secure. К особенностям промежуточных оповещений в этом случае можно отнести наличие параметра cascading_with_redirect
, который может принимать одно из следующих значений:
true
— если требуется получить подтверждение пользователя на дополнительную попытку проведения оплаты, так как в одной из предыдущих попыток выполнялась аутентификация 3‑D Secure;false
— если не требуется получить подтверждение пользователя на дополнительную попытку, так как ни в одной из предыдущих попыток не выполнялась аутентификация 3‑D Secure.
Причина отказа в выполнении попытки проведения оплаты может быть указана в параметре message
объекта operations
.
Далее представлен пример набора данных в оповещении для случая, когда на стороне веб-сервиса не требуется получать согласие пользователя на дополнительную попытку проведения оплаты.