Описание клиентского пути
Для интеграции с WebSDK есть несколько ограничений:
WebSDK не поддерживает списание Спасибо, реализация данного функционала запланирована на Q4
WebSDK не поддерживает iFrame и WebView, реализация функционала запланирована на Q3
Решение предоставляет возможность провести оплату на сайте партнера вне мобильного приложения (МП) СБОЛ. Для этого пользователю требуется разово пройти авторизацию в МП СБОЛ при совершении оплаты, после чего, начинаю со второй покупки, клиенту не требуется проходит авторизацию в МП СБОЛ. Сам процесс оплаты в том числе для совершения первого сценария оплаты происходит вне МП СБОЛ.
Процесс авторизации
Для удобства процесса авторизации пользователям iOS устройств в сценарии mWeb реализован выбор МП СБОЛ, которым пользователь предпочитает авторизоваться.
Экран авторизации для iOS:
Авторизация на Android в сценарии mWeb реализована через поднятие deeplink на актуальную версию МП СБОЛ на устройстве клиента. Авторизация в сценарии desktop для всех версий браузеров реализована через считывание QR-кода камерой МП СБОЛ:
Сценарий оплаты отличается в зависимости от того, в каком канале происходит открытие страницы: для mWeb - это редирект в отдельный таб, для desktop – шторка iFrame для всех шагов. Главный экран после авторизации:
Для канала mWeb:
Для канала desktop:
Если покупатель совершает вторую и далее покупку с устройства, где уже была совершена оплата, и сумма покупки меньше 5 тыс.руб., то клиенту не нужно авторизовываться в МП СБОЛ для совершения оплаты. Если сумма при это больше 5 тыс.руб., то клиенту для подтверждения оплаты требуется ввести СМС-код, отправленный ему на номер телефона.
Для канала mWeb:
Для desktop:
После выбора карты для списания и отображения финального статуса внутри WebSDK происходит возврат пользователя по sberpay.backurl, полученному от партнера и указанном в запросе на регистрацию заказа. В конце ссылки указывается статус операции путем передачи дополнительного параметра '&state=@{BankResultState}':
- success – оплата успешно прошла, требуется отправить на успешный экран
- return – в сценарии произошла ошибка, требуется отправить на неуспешный экран.
- cancel – клиент нажал на кнопку «Отменить». Актуально только для мобильной версии. В десктопной версии виджет закрывается, операция помечается статусом 'cancel'.