Этот функционал будет активирован после вашего запроса в групповом чате.
Содержание
Описание
Данный метод позволит разместить на вашем сайте или в приложении отдельную кнопку для оплаты Google Pay.
Демо
Чеклист интеграции
- Привести сайт / приложение к соответствию требованиям.
- Интегрировать API Google Pay.
- Указать
environment
в режимTEST
. - Передать тех поддержке PSP Platon ссылку для Callback.
- Сообщить в тех поддержке PSP Platon ваши IP адреса сервера сайта или о том, что будет использоваться приложение (в этом случае ограничения по IP будут сняты).
- Провести запрос для получения зашифрованных данных согласно API Google Pay.
- После авторизации пользователя и выбора реальной карты в кошельке Google Pay вернет зашифрованные данные.
- Провести запрос согласно API PSP Platon используя зашифрованные данные от Google Pay.
- Получить Response или Callback для редиректа плательщика на 3DS проверку.
- Отправить клиента на 3DS проверку.
- Получить Response или Callback со статусом платежа
DECLINED
от PSP Platon. - Отправить запрос в Google Business Console для активации аккаунта.
- Сообщить в тех поддержке PSP Platon об активации аккаунта.
- Указать
environment
в режимPRODUCTION
. - Провести запрос с получение успешного Response или Callback со статусом платежа
SUCCESS
от PSP Platon. - Уведомить клиента об успешной / не успешной оплате.
Требования
Ограничения
Google Pay API
Для сайта: https://developers.google.com/pay/api/web
Для мобильных приложений: https://developers.google.com/pay/api/android
Интегрируйте Google Pay API следуя документации выше для получения PaymentData.
Параметры:
allowPaymentMethods : CARD
tokenizationSpecification = { "type": "PAYMENT_GATEWAY"}
allowedCardNetworks = ['MASTERCARD', 'VISA'];
allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];
gateway = platon
gatewayMerchantId = CLIENT_KEY (API ключ выдается сотрудником компании PSP Platon)
Если все сделано правильно - на своем сайте/приложении вы получите кнопку Google Pay и после выбора карты вам вернется набор данных с PaymentData.
С примером PaymentData можете ознакомиться ниже:
Настройте отправку полученного значения параметра "token" POST запросом по API Platon, в параметре payment_token.
Предусловия:
Прежде чем вы получите доступ к платежной платформе, вы должны предоставить следующее данные администратору платежной платформы:
список ваших IP-адресов, с которых будут направляться запросы на платежную платформу;
callback URL - URL-адрес, на который будет отправляться уведомления о результатах обработки Вашего запроса через платежную платформу;
контактный E-mail разработчика.
Callback url должен быть обязателен если вы работаете в асинхронном режиме и не должен превышать 255 символов.
API параметры
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post/
Параметр | Значение | Описание | Особенности |
---|---|---|---|
|
| Код платежного метода | |
| String | API ключ мерчанта | Ключ предоставляется на почту мерчанту |
| String | ID платежа в системе мерчанта | Max 32 символа |
| Number | Сумма платежа | Верный вариант 1000.00 Неверные варианты 1000 |
|
| Валюта платежа | Оплата возможна только в национальной валюте гривне |
| String | Описание платежа | Для кириллических символов необходимо использовать формат UTF-8 Max 255 символов |
| String | Токен, полученный мерчантом от Google | |
| Number | IP-адрес плательщика | В формате "ХХХ.ХХХ.ХХХ.ХХХ" IPv6 на данный момент не поддерживается |
| String | Ссылка по которой будет отправлен клиент после успешной оплаты при прохождении 3DS | Max 255 символов |
| String | Контрольная подпись | md5( strtoupper( strrev($payer_email). $CLIENT_PASS. strrev($payment_token) ) ) |
| String | Имя плательщика | Max 32 символа без пробелов |
| String | Фамилия плательщика | Max 32 символа без пробелов |
| String | Отчество плательщика | Max 32 символа без пробелов |
| String | Дата рождения плательщика | В формате “YYYY-MM-DD” |
| String | Адрес плательщика | Max 256 символа |
| String | Страна плательщика | Стандарт ISO 3166-1 alpha-2 |
| String | Штат плательщика | Обязательный параметр для стран US, CA, AU Стандарт ISO 3166-2 |
| String | Город плательщика | Max 32 символа |
| String | Почтовый индекс плательщика | Max 32 символа |
| String | E-mail плательщика | Max 256 символа |
| Number | Номер телефона плательщика | Если ваше юр. лицо открыто в Приватбанк и вы передаете в запросе телефон плательщика, то:
|
| String | 10 дополнительных полей | Max 1024 символа в каждом ext поле |
| String | Дополнительный платежный канал | Позволяет отправить платежи на другой банковский терминал |
|
| Включить асинхронный режим | В асинхронном режиме обязательное использование коллбеков. По умолчанию значение |
|
| По умолчанию | |
|
| Для получения card_token | По умолчанию |
Примеры запроса
Тестирование
Переведите environment в режим 'TEST’.
Используйте реальную карту подвязанную в Google Pay для оплаты.
При успешном тесте вы получите ответ о неуспешной транзакции (особенности тестового режима) и 'decline_reason' => 'Declined by processing'
Сообщите тех саппорту об успешном тесте и только после этого перейдите к активации бизнес-аккаунта Google.
Параметр environment в режим 'TEST’ оставить до указаний со стороны тех саппорта PSP Platon.
Проверка платежей
Callback и Response
Синхронный режим:
Данный режим работает по умолчанию. Передавать async = N
не нужно.
Промежуточный редирект плательщика на 3DS (синхронный режим):
При успешной оплате (синхронный режим):
При неуспешной оплате (синхронный режим):
При ошибке в запросе (синхронный режим):
Асинхронный режим:
Данный режим активируется при передаче async = Y
. В этом режиме обязательно необходимо принимать callback на ваш callback url.
Промежуточный ответ (асинхронный режим):
Промежуточный редирект плательщика на 3DS (асинхронный режим):
При успешной оплате (асинхронный режим):
При неуспешной оплате (асинхронный режим):
При ошибке в запросе (асинхронный режим):
Ошибки запросов
Боевой режим
Пройдите контрольный список интеграции:
После добавления кнопки на ваш сайт/мобильное приложение необходимо пройти контрольный список интеграции для проверки корректности работы Google Pay API:
Для сайтов: https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist
Для мобильных приложений: https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist
Запросите доступ к рабочей версии Google Pay API:
Для возможности начать принимать реальные платежи необходимо запросить доступ в рабочей версии:
https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access
Получите доступ на Production в Google Pay:
https://developers.google.com/pay/api/android/guides
Для этого необходимо создать учетную запись в https://pay.google.com/business/console/ (используя гугл аккаунт, желательно корпоративный и общий)
Заполните информацию о компании.
В интеграциях выбрать Сайт, заполнить домен (пока домен тестового сайта), указать тип PaymentGateway и вложить 5 скринов процесса заказа и оплаты.
Сразу можете подавать заявку и для получения доступа с продовым доменом.
Просьба обратить внимание, что в прод режиме Google Pay будет работать только на проаппрувленых гуглом доменах.
https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access
Получение доступа занимает 2-3 дня. Если у сотрудников Google будут замечания - они отправят письмо на мейл, под которым вы зарегистируетесь.
После этого с вашей стороны необходимо переключиться на Production в интеграции с GooglePay:
Для этого: https://developers.google.com/pay/api/web/guides/test-and-deploy/deploy-production-environment
Установить environment: ‘PRODUCTION' вместо 'TEST’
Указать значение merchantId из бизнес аккаунта GooglePay (правый верхний угол)
И сообщить нам по готовности для переключения настроек с нашей стороны.
Дополнительно для мобильного приложения Android:
Рекомендуем подавать заявку в бизнес консоли с Google аккаунта, под которым вы зарегистрированы в Google Play и выкладываете приложения.
Если будете подавать заявку с другого аккаунта - дополнительно нужно будет связать аккаунты. Инструкция как связать https://support.google.com/googleplay/android-developer/answer/2528691
Для интеграции в моб приложении необходимо будет подписать приложение релизными ключами когда получите доступ на прод и будете преключаться https://developers.google.com/pay/api/android/guides/test-and-deploy/deploy-your-application