Skip to content

Интеграция Apple / Google Pay в мобильное приложение на базе Битрикса

Notifications You must be signed in to change notification settings

vottiv/sber_apple_google_pay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Интеграция Apple Pay и Google Pay в мобильное приложение

Вводная часть

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

Обзавелись merchant ID, login и password, как для тестовой среды, так и для прода. Если вся эта подготовительная часть сделана, то идём дальше.

Описание используемых методов

В классе всего три метода, этого нам хватит, чтобы настроить оплату в приложении.

  1. google_pay - метод для оплаты заказа в платежной системе Google Pay
  2. apple_pay - метод для оплаты заказа в платежной системе Apple Pay

Тело запроса для двух методов:

token - токен пользователя
orderNumber - идентификатор заказа в системе магазина
paymentToken - токен полученный при регистрации заказа
  1. get_order_status - метод для проверки статуса оплаты

Принимает следующие параметры:

orderNumber - идентификатор заказа в системе магазина
orderId - номер заказа в платежной системе

Описание интеграции со стороны сайта

  1. Нужно выяснить со стороны бизнеса: при достижении какого статуса заказ должен иметь возможность оплаты
  2. Используем ID заказа для регистрации в банковской системе (со стороны приложения)
  3. После регистрации заказа с приложения передаем полученный ответ в методы оплаты google_pay или apple_pay. На стороне сайта идёт обработка полученного paymentToken (важно, чтобы он был кодирован по Base64) с запросом на оплату и изменение заказа по orderNumber, в случае успешно проведенной транзакции. Ответом будет либо статус success или расшифровка полученной ошибки.
  4. После проведенной оплаты получаем статус заказа, выполняя методя get_order_status

Наиболее частые вопросы

  1. Для работы Google Pay не нужен сертификат. Для Apple Pay обязателен.
  2. Версия ЛК Сбербанка по словам специалиста ТП никак не влияет на генерацию подписей и сертификатов.
  3. У Google/Apple/Samsung Pay оплата заказа проходит через метод payment.do
  4. Основное отличие тестовой среды от боевой в том, что не происходит списание денежных средств, в остальном апи работает идентично.
  5. Для тестирования нужно прекреплять тестовые карты.

Карты для Apple Pay можно взять здесь:

Для Google Pay прикрепляется боевая карта, но если будет указана тестовая среда при обращении в Google Pay, то Google под капотом автоматически подставит тестовые данные для совершения платежа.

  1. Merchant ID это логин мерчанта. Может отличаться для боевой и тестовой среды.
  2. Самая распространенная ошибка при статусе ответа "Расшифровка переданных данных неуспешна" - это использование сертификатов из тестового личного кабинета в боевом и на оборот. Важно: по тестовым данным генерация сертификата происходит в тестовом ЛК сбера, для боя - в боевом.
  3. Со стороны платежного шлюза Сбера отсутствует тестовая карта для проведения оплат GOOGLE_PAY. Рекомендуется проводить оплаты на боевой среде.
  4. При тестировании Google Pay в тестовой среде использовать токенизированную карту - подробности тут. Параметр pan должен быть "pan": "4895370012003478", а не "pan": "4111111111111111". При не соблюдении данного условия в ответе будут прилетать данные для acs авторизации, чего не может быть в боевых условиях, так в боевом режиме Google будет направлять "токен" карты с устройства. Токен на устройстве это электронный номер карты отличающийся от реального номера карты. Пример у Apple можно посмотреть в приложении Wallet.

About

Интеграция Apple / Google Pay в мобильное приложение на базе Битрикса

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages