Info |
---|
Этот функционал будет активирован после вашего запроса в групповом чате. |
Содержание
Table of Contents | ||||||||
---|---|---|---|---|---|---|---|---|
|
Описание
Данный метод позволит разместить на вашем сайте или в приложении отдельную кнопку для оплаты Google Pay.
Демо
Iframe | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Чеклист интеграции
- Привести сайт / приложение к соответствию требованиям.
- Интегрировать 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. - Уведомить клиента об успешной / не успешной оплате.
Требования
Expand | ||
---|---|---|
| ||
У вашего сайта должен быть SSL сертификат. Для проверки валидности и срока действия вашего SSL сертификата рекомендуем воспользоваться сервисом по ссылке. |
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
В футере вашего сайта необходимо разместить логотипы платежных систем и PSP Platon. Скачайте подходящие под стиль вашего сайта варианты логотипов.
|
Expand | ||
---|---|---|
| ||
Необходима поддержка протокола TLS не ниже версии 1.2 |
Ограничения
Expand | ||
---|---|---|
| ||
На данный момент Google Pay работает в таких браузерах:
|
Expand | ||
---|---|---|
| ||
Для работы Google Pay в WebView необходимо следовать согласно документации Google https://developer.android.com/guide/webapps/webview?hl=ru#BindingJavaScript |
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)
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Если все сделано правильно - на своем сайте/приложении вы получите кнопку Google Pay и после выбора карты вам вернется набор данных с PaymentData.
С примером PaymentData можете ознакомиться ниже:
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Настройте отправку полученного значения параметра "token" POST запросом по API Platon, в параметре payment_token.
Предусловия:
Прежде чем вы получите доступ к платежной платформе, вы должны предоставить следующее данные администратору платежной платформы:
список ваших IP-адресов, с которых будут направляться запросы на платежную платформу;
callback URL - URL-адрес, на который будет отправляться уведомления о результатах обработки Вашего запроса через платежную платформу;
контактный E-mail разработчика.
Note |
---|
Callback url должен быть обязателен если вы работаете в асинхронном режиме и не должен превышать 255 символов. |
API параметры
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post/
Параметр | Значение | Описание | Особенности | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
| Код платежного метода | ||||||||||||||||||||||||||
|
|
| Включить асинхронный режим |
По умолчанию значение |
| ||||||||||||||||||||||||
| String | API ключ мерчанта | Ключ предоставляется на почту мерчанту |
| |||||||||||||||||||||||||
| String | Дополнительный платежный канал | Позволяет отправить платежи на другой банковский терминал |
| |||||||||||||||||||||||||
| String | API ключ мерчанта | Ключ предоставляется на почту мерчанту | ||||||||||||||||||||||||||
| String | ID платежа в системе мерчанта | Max 32 символа | ||||||||||||||||||||||||||
|
| Number | Сумма платежа |
| |||||||||||||||||||||||||
| Да |
|
|
| Валюта платежа |
| |||||||||||||||||||||||
| Да |
|
String
Описание платежа
Note |
---|
Для кириллических символов необходимо использовать формат UTF-8 |
Max 255 символов
payment_token
payment_token
Status | |||
---|---|---|---|
|
|
String
Токен, полученный мерчантом от Google
payer_ip
payer_middle_name
String
Отчество
Status | |||
---|---|---|---|
|
payer_first_name
String
Имя плательщика
Max 32 символа без пробелов
Status | ||||
---|---|---|---|---|
|
payer_last_name
String
Фамилия плательщика
Max 32 символа без пробелов
Status | ||||
---|---|---|---|---|
|
|
Number
IP-адрес плательщика
В формате "ХХХ.ХХХ.ХХХ.ХХХ"
Note |
---|
IPv6 на данный момент не поддерживается |
term_url_3ds
Status | ||||
---|---|---|---|---|
|
String
Ссылка по которой будет отправлен клиент после успешной оплаты при прохождении 3DS
Max 255 символов
hash
Status | ||||
---|---|---|---|---|
|
String
Контрольная подпись
Code Block | ||
---|---|---|
| ||
md5(
strtoupper(
strrev($payer_email).
$CLIENT_PASS.
strrev($payment_token)
)
) |
payer_first_name
Status | ||||
---|---|---|---|---|
|
String
Имя плательщика
Max 32 символа без пробелов
payer_last_name
Status | ||||
---|---|---|---|---|
|
String
Фамилия плательщика
Max 32 символа без пробелов
payer_middle_name
Status | |||
---|---|---|---|
|
|
String
Отчество плательщика
Max 32 символа без пробелов
payer_birth_date
Status | ||||
---|---|---|---|---|
|
String
Дата рождения плательщика
В формате “YYYY-MM-DD”
payer_address
Status | |||
---|---|---|---|
|
payer_address
|
String
Адрес плательщика
Max 256 символа
Укажите NA
, если нет данных
payer_country
Status | |||
---|---|---|---|
|
payer_country
|
String
Страна плательщика
Стандарт ISO 3166-1 alpha-2
В формате "ХХ"
2 символа
Укажите NA
, если нет данных
payer_state
payer_state
Status | |||
---|---|---|---|
|
|
String
Штат плательщика
Note |
---|
Обязательный параметр для стран US, CA, AU |
Стандарт ISO 3166-2
В формате "ХХ"
2 символа
Укажите NA
, если нет данных
payer_city
payer_city
Status | |||
---|---|---|---|
|
|
String
Город плательщика
Max 32 символа
Укажите NA
, если нет данных
payer_zip
Status | |||
---|---|---|---|
|
payer_zip
|
String
Почтовый индекс плательщика
Max 32 символа
Укажите NA
, если нет данных
payer_email
payer_email
Status | |||
---|---|---|---|
|
|
String
E-mail плательщика
Max 256 символа
payer_phone
payer_phone
Status | |||
---|---|---|---|
|
|
Number
Номер телефона плательщика
Note |
---|
Если ваше юр. лицо открыто в Приватбанк и вы передаете в запросе телефон плательщика, то:
|
ext1
, ext2
, ext3
, ext4
, ext5
, ext6
, ext7
, ext8
, ext9
, ext10
Status | |||
---|---|---|---|
|
payer_ip
Number
IP-адрес плательщика
В формате "ХХХ.ХХХ.ХХХ.ХХХ"
|
String
10 дополнительных полей
Max 1024 символа в каждом ext поле
channel_id
Max 255 символов
Status | |||
---|---|---|---|
|
term_url_3ds
String
Ссылка по которой будет отправлен клиент после успешной оплаты при прохождении 3DS
|
String
Дополнительный платежный канал
Позволяет отправить платежи на другой банковский терминал
async
Status | |||
---|---|---|---|
|
ext1-ext10
String
10 дополнительных полей
Max 1024 символа в каждом ext поле
|
Y
N
Включить асинхронный режим
Note |
---|
В асинхронном режиме обязательное использование коллбеков. |
По умолчанию значение N
.
auth
Status | |||
---|---|---|---|
|
auth
|
Y
N
По умолчанию N
req_token
req_token
Status | |||
---|---|---|---|
|
|
Y
N
Для получения card_token
По умолчанию N
Status | ||||
---|---|---|---|---|
|
hash
String
Контрольная подпись
Code Block | ||
---|---|---|
| ||
md5(
strtoupper(
strrev($payer_email).
$CLIENT_PASS.
strrev($payment_token)
)
) |
Примеры запроса
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Тестирование
Переведите environment в режим 'TEST’.
Используйте реальную карту подвязанную в Google Pay для оплаты.
При успешном тесте вы получите ответ о неуспешной транзакции (особенности тестового режима) и 'decline_reason' => 'Declined by processing'
Сообщите тех саппорту об успешном тесте и только после этого перейдите к активации бизнес-аккаунта Google.
Warning |
---|
Параметр environment в режим 'TEST’ оставить до указаний со стороны тех саппорта PSP Platon. |
Проверка платежей
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Callback и Response
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Синхронный режим:
Данный режим работает по умолчанию. Передавать async = N
не нужно.
Промежуточный редирект плательщика на 3DS (синхронный режим):
Expand | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||
|
Expand | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
|
При успешной оплате (синхронный режим):
Expand | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||
|
Expand | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||
|
При неуспешной оплате (синхронный режим):
Expand | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||
|
Expand | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
|
При ошибке в запросе (синхронный режим):
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Асинхронный режим:
Данный режим активируется при передаче async = Y
. В этом режиме обязательно необходимо принимать callback на ваш callback url.
Промежуточный ответ (асинхронный режим):
Expand | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||
|
Промежуточный редирект плательщика на 3DS (асинхронный режим):
Expand | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
|
При успешной оплате (асинхронный режим):
Expand | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||
|
При неуспешной оплате (асинхронный режим):
Expand | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
|
При ошибке в запросе (асинхронный режим):
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Ошибки запросов
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Боевой режим
Пройдите контрольный список интеграции:
После добавления кнопки на ваш сайт/мобильное приложение необходимо пройти контрольный список интеграции для проверки корректности работы 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 скринов процесса заказа и оплаты.
Сразу можете подавать заявку и для получения доступа с продовым доменом.
Note |
---|
Просьба обратить внимание, что в прод режиме 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