УПС! Что-то пошло не так

Произошла неизвестная ошибка на нашей стороне. Скоро мы всё починим.

Повторите вашу попытку позже.

Леруа Мерлен: подключение платежных систем Apple Pay и Google Pay

«Леруа Мерлен» — международная компания-ритейлер, специализирующаяся на продаже товаров для строительства, отделки и обустройства дома, дачи и сада.

https://leroymerlin.ru/

Запрос

Заказчик обратился к команде AWG за внедрением мобильных платежных систем Apple Pay и Google Pay. Компания теряла клиентов из-за того, что пользователи сайта регулярно сталкивались с трудностями при оплате заказа: возникали проблемы в шлюзе «Сбербанка», что делало невозможным проведение части транзакций. «Леруа Мерлен» хотела реализовать быстрый, понятный и безопасный способ покупки для пользователей — без необходимости ввода дополнительных данных по карте, возможных сбоев и задержек в проведении платежа. Кроме того, значительная часть потребителей уже перешла на использование систем mobile pay. И, согласно аналитическим данным, с подключением мобильных платежей конверсия сайта увеличивается в среднем от 7%, так как оплата происходит быстрее.

Цели и задачи

Цель проекта — подключить все популярные мобильные кошельки:

  • Apple Pay
  • Google Pay
  • Samsung Pay

В задачи команды AWG вошли:

  1. Первичная оценка систем архитекторами.
  2. Выделение команды и руководителя проекта.
  3. Нарезка требований на задачи (front и mobile).
  4. Выполнение задач со стороны mobile.
  5. Выполнение задач со стороны front.

Реализация

Учитывая необходимость одновременного подключения двух платежных систем, работа AWG была построена таким образом, чтобы оптимизировать все процессы и максимально сократить время на реализацию такого масштабного проекта. Во многом работа была завязана на необходимости учета особенностей подключения каждой системы, тестирования их работы, разбора нюансов документации, предоставленной от вендоров платежных систем.

Подключение Apple Pay

Для ускорения реализации задачи было принято решение начать разработку одновременно с аналитикой. Аналитика позволила выявить, что первичная архитектура была не совсем корректной. Потребовались доработки одного из микрофронтендов и внесение еще одного сервиса и этапа. Особое внимание было уделено изучению документации. Одна из проблем — все запросы, их обработка и исправление ошибок были возможны только с Mac-устройств и iPhone. Команде AWG потребовалось искать исходный код наработок, чтобы адаптировать работу системы под другие устройства. Далее специалисты следовали алгоритму:

  • выполняли отдельный этап работы;
  • получали ответ от сервиса;
  • для каждого этапа искали решение проблемы.

Другая проблема заключалась в выпуске сертификатов для оплаты.
Для оплаты требуются:

  • сертификат магазина
  • верифицированный домен
  • сертификат продавца.

Эти сертификаты генерируются также только на Mac-устройствах.
И для каждого магазина нужен свой набор сертификатов. Чтобы снизить нагрузку на backend- и frontend-систем, в проект Apple Pay был включена программа Vault для хранения сертификатов. Ее основные преимущества:

  • все данные хранятся в зашифрованном «контейнере», и получение самого контейнера не раскрывает данные;
  • поддержка шифрования-дешифрования данных без их сохранения.

Доступ к хранилищу в Vault осуществляется исключительно через API. Наша команда согласовала доработку API-платформы для возможности создавать подписанные сертификатом запросы.
Также специалистами AWG была создана новая дефиниция для связки Front — Back — Front — Middle — Apple Pay для получения payment-сессии, благодаря чему была снижена нагрузка на backend-разработку.

Подключение Google Pay

В этой части проекта с реализацией практически не возникло проблем. Единственное затруднение вызвали сертификаты. Google не предполагал, что сертификат нужен для каждого магазина, и поэтому ограничил их количество — выпуск был возможен не более, чем для 10 магазинов. Наши специалисты связались с головным офисом Google и договорились о снятии ограничения.

Команде AWG необходимо было решить проблему, связанную с тестированием. Google и Apple не предоставляют тестовые аккаунты и тестовые карты, поэтому для разработки специалисты использовали свои аккаунты и карты с «живыми» деньгами. Для ручного, автоматического тестирования и тестирования на QA, команда решила эмулировать ответы от Google и от Apple и отдавать их в виде mock-данных.

Команда

  • Технический Архитектор (способствовал доработке Payment, API-платформы, помогал настраивать стенды и оказывал поддержку во всех сферах проекта).
  • Архитектор.
  • Команда Payment (занималась доработкой backend-системы для общения: Payment (leroymerlin) — Sberbank — Apple Pay / GPay, а также настройками на стороне «Сбербанка»).
  • Команда API-платформы (занималась доработкой на своей стороне для возможности создавать безопасные, подписанные сертификатом, запросы).
  • Команда Tunnel (занималась доработкой своих методов для правильной интеграции frontend’а и payment-системы).
  • Команда PUZ (занималась доработкой своей системы для правильной обработки заказов, оплаченных мобильными кошельками).
  • Команда PUZ2 (занималась доработкой своей системы для правильной обработки заказов, оплаченных мобильными кошельками).
  • Команда Communication (занималась доработкой исключений для правильной коммуникации при оплате мобильными кошельками).
  • Команда TransIT (проводила основную аналитику, занималась разработкой frontend части, дефиниций на базе API-платформы, описанием инструкций).

Результат

На данный момент наша команда выполнила все необходимые задачи по разработке и настройке платежных систем. В течение реализации всего проекта специалисты AWG синхронизировали работу участников проекта, планировали процессы разработки каждого подразделения на всех этапах, занимались описанием документации.

После внесения в релиз Apple Pay были описаны все шаги для настройки Apple Pay и Google Pay, а также созданы инструкции. Данные знания были переданы команде Payment, ответственной за подключение систем. В будущем наши специалисты планируют принять участие в настройке платежной системы Samsung Pay для заказчика.