Блог

Внедрение эквайринга и оплат через Google Pay

Реализация бесконтактной оплаты на сайте

Срок реализации – если все материалы в распоряжении, хватит и пары дней.

Задачи

  1. Добавить на сайт возможность оплаты через Google Pay;
  2. Обойти основную платежную страницу.

Стэк

php, Bitrix, Angular

Решение

Крупный сервис в сфере негосударственного пенсионного страхования поручил нам сделать на сайте кнопку быстрого и удобного платежа. Как правило, на платежных страницах многих банков есть возможность выбора способа оплаты, однако сейчас задача состояла в обходе основного эквайринга.
Реализация тривиальная, но со своими нюансами. После нажатия чудо-кнопки «Google Pay» на frontend-части происходит получение у Гугла авторизационного токена, который содержит в себе некоторые данные вроде суммы платежа.
Далее отправляется запрос на endpoint, предоставленный банком. У большого красного банка, например, это /google/payment.do. Отправляем туда полученный токен, указываем merchant (имя продавца), сумму и другие мелочи.
В ответе приходит номер заказа. По нему запрашиваем статус - прошла ли  оплата или была какая-то ошибка (внезапно не хватило денег на карте). Другой вариант развития событий - у карты юзера есть 3D secure. В этом случае он попадает на страницу с смс-паролем для подтверждения.
В конечном счете пользователь оказывается на странице, с которой и пришел. На этом всё - счастливый пенсионер видит попап с уведомлением об успешном платеже.
Нам удалось подробно изучить процесс проведения гугл-платежей. У Google Pay и Apple Pay все очень похоже, но со своими особенностями. Полученный опыт позволит в короткие сроки воплотить такую задачу на любом проекте.
Анастасия, backend developer
Backend Frontend PHP Bitrix Angular JavaScript FinTech