Ограничения
Note |
---|
Ваш сайт должен работать по схеме HTTPS и поддерживать протокол TLS 1.2. |
Note |
---|
Google Pay работает в: Chrome, Safari, UC Browser, Firefox, Opera, Microsoft Edge, Android. |
Note |
---|
Для работы в webview необходимо следовать инструкциям: https://developer.android.com/guide/webapps/webview?hl=ru#BindingJavaScript |
Демо
Iframe | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Требования к брендированию
Для сайтов: https://developers.google.com/pay/api/web/guides/brand-guidelines
Для мобильных приложений: https://developers.google.com/pay/api/android/guides/brand-guidelines
Документация по интеграции 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 (выдается сотрудником компании Platon)
Если все сделано правильно - на своем сайте/приложении вы получите кнопку GooglePay и после выбора карты вам вернется набор данных с PaymentData.
Для просмотра примера раскройте список
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Настройте отправку полученного значения параметра "token" POST запросом по API Platon, в параметре payment_token
Предусловия
Прежде чем вы получите доступ к платежной платформе, вы должны предоставить следующее данные администратору платежной платформы:
список ваших IP-адресов, с которых будут направляться запросы на платежную платформу;
callback URL - URL-адрес, на который будет отправляться уведомления о результатах обработки Вашего запроса через платежную платформу;
контактный E-mail разработчика.
Note |
---|
Callback url должен быть обязателен если вы работаете в асинхронном режиме и не должен превышать 255 символов. |
Краткое описание взаимодействия с платежной платформой
Для транзакций вы должны отправлять POST-запрос сервер на сервер HTTPS с помощью полей, перечисленные ниже, на PAYMENT_URL.
Если мерчант поддерживает 3D-Secure тогда платежная платформа вернет ссылку на сервер управления безопасностью для выполнения 3D-Secure проверки. В этом случае вам необходимо перенаправить держателя карты на эту ссылку. Если есть иные параметры, которые отдаются ссылкой необходимо перенаправить владельца карты по этой ссылке вместе с параметрами, используя метод передачи данных, указанный в том же самом результате.
В случае 3D-Secure после проверки на стороне сервера 3D-Secure Владелец кредитной карты вернется на ваш сайт, используя ссылку, указанную в запросе и платежная система вернет результат обработки транзакции на указанный CALLBACK URL.
API параметры запроса
HTTP METHOD:
Status | ||||
---|---|---|---|---|
|
API ENDPOINT: https://secure.platononline.com/post/
...
Параметр
...
Значение
...
Описание
...
Особенности
...
Обязательно
...
action
...
GOOGLEPAY
...
Код платежного метода
...
Status | ||||
---|---|---|---|---|
|
...
async
...
Y
N
...
Включить асинхронный режим
...
В асинхронном режиме обязательное использование коллбеков.
По умолчанию значение N
...
Status | ||||
---|---|---|---|---|
|
...
client_key
...
String
...
API ключ мерчанта
...
Ключ предоставляется на почту мерчанту
...
Status | ||||
---|---|---|---|---|
|
...
channel_id
...
String
...
Дополнительный платежный канал
...
Позволяет отправить платежи на другой банковский терминал
...
Status | ||||
---|---|---|---|---|
|
...
order_id
...
String
...
ID платежа в системе мерчанта
...
Max 32 символа
...
Status | ||||
---|---|---|---|---|
|
...
order_amount
...
Number
...
Сумма платежа
...
Tip |
---|
Верный вариант 1000.00 |
Warning |
---|
Неверные варианты 1000 |
...
Status | ||||
---|---|---|---|---|
|
...
order_currency
...
UAH
...
Валюта платежа
...
Info |
---|
Оплата возможна только в национальной валюте гривне |
...
Status | ||||
---|---|---|---|---|
|
...
order_description
...
String
...
Описание платежа
...
Note |
---|
Для кириллических символов необходимо использовать формат UTF-8 |
Max 255 символов
...
Status | ||||
---|---|---|---|---|
|
...
payment_token
...
String
...
Токен, полученный мерчантом от Google
...
Status | ||||
---|---|---|---|---|
|
...
payer_first_name
...
String
...
Имя плательщика
...
Max 32 символа без пробелов
...
Status | ||||
---|---|---|---|---|
|
...
payer_last_name
...
String
...
Фамилия плательщика
...
Max 32 символа без пробелов
...
Status | ||||
---|---|---|---|---|
|
...
payer_middle_name
...
String
...
Отчество плательщика
...
Max 32 символа без пробелов
...
Status | ||||
---|---|---|---|---|
|
...
payer_birth_date
...
String
...
Дата рождения плательщика
...
В формате “YYYY-MM-DD”
...
Status | ||||
---|---|---|---|---|
|
...
payer_address
...
String
...
Адрес плательщика
...
Max 256 символа
Укажите NA
, если нет данных
...
Status | ||||
---|---|---|---|---|
|
...
payer_country
...
String
...
Страна плательщика
...
Стандарт ISO 3166-1 alpha-2
В формате "ХХ"
2 символа
Укажите NA
, если нет данных
...
Status | ||||
---|---|---|---|---|
|
...
payer_state
...
String
...
Штат плательщика
...
Note |
---|
Обязательный параметр для стран US, CA, AU |
Стандарт ISO 3166-2
В формате "ХХ"
2 символа
Укажите NA
, если нет данных
...
Status | ||||
---|---|---|---|---|
|
...
payer_city
...
String
...
Город плательщика
...
Max 32 символа
Укажите NA
, если нет данных
...
Status | ||||
---|---|---|---|---|
|
...
payer_zip
...
String
...
Почтовый индекс плательщика
...
Max 32 символа
Укажите NA
, если нет данных
...
Status | ||||
---|---|---|---|---|
|
...
payer_email
...
String
...
E-mail плательщика
...
Max 256 символа
...
Status | ||||
---|---|---|---|---|
|
...
payer_phone
...
Number
...
Номер телефона плательщика
...
Note |
---|
Если ваше юр. лицо открыто в Приватбанк и вы передаете в запросе телефон плательщика, то:
|
...
Status | ||||
---|---|---|---|---|
|
...
payer_ip
...
Number
...
IP-адрес плательщика
...
В формате "ХХХ.ХХХ.ХХХ.ХХХ"
Note |
---|
IPv6 на данный момент не поддерживается |
...
Status | ||||
---|---|---|---|---|
|
...
term_url_3ds
...
String
...
Ссылка по которой будет отправлен клиент после успешной оплаты при прохождении 3DS
...
Max 255 символов
...
Status | ||||
---|---|---|---|---|
|
...
ext1-ext10
...
String
...
10 дополнительных полей
...
Max 1024 символа в каждом ext поле
...
Status | ||||
---|---|---|---|---|
|
...
auth
...
Y
N
...
Холдирование средств на карте плательщика
...
По умолчанию N
...
Status | ||||
---|---|---|---|---|
|
...
req_token
...
Y
N
...
Для получения card_token
...
По умолчанию N
...
Status | ||||
---|---|---|---|---|
|
...
hash
...
String
...
Контрольная подпись
...
Code Block | ||
---|---|---|
| ||
md5(
strtoupper(
strrev($payer_email).
$CLIENT_PASS.
strrev($payment_token)
)
) |
...
Status | ||||
---|---|---|---|---|
|
Примеры запроса:
Для просмотра примера раскройте список
...
title | Пример запроса на PHP |
---|
...
language | php |
---|
...
Info |
---|
Цей функціонал буде активовано після вашого запиту в груповому чаті. |
Зміст
Table of Contents | ||||||||
---|---|---|---|---|---|---|---|---|
|
Опис
Цей метод дозволить розмістити на вашому сайті або додатку окрему кнопку оплати Google Pay.
Демо
Iframe | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Чекліст інтеграції
- Привести сайт / додаток до відповідності вимогам.
- Інтегрувати API Google Pay.
- Вказати
environment
в режиміTEST
. - Передати тех підтримці PSP Platon посилання для Callback.
- Повідомити тех підтримці PSP Platon ваші IP адреси серверів сайта або про те, що буде використовуватить додаток (в цьому випадку обмеження по IP будуть зняті).
- Провести запит по API Google Pay для отримання кнопки Google Pay.
- Після авторизації користувача та вибору реальної картки в гаманці Google Pay вам повернуться зашифровані дані PaymentData.
- З отриманих шифрованих даних PaymentData необхідно витянути
token
та відформатувати його відповідно до вимогам і прикладу вказаному в цій документації. - Провести запит відповідно 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. - Відобразити клиенту інформаію про успішну / невдалу оплату.
Вимоги
Include Page | ||||
---|---|---|---|---|
|
Обмеження
Expand | ||
---|---|---|
| ||
На даний момент Google Pay працює в таких браузерах:
|
Expand | ||
---|---|---|
| ||
Google забороняє використовувати Google Pay в WebView. |
Google Business Console
Активація Google Pay в Business Console
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Google Pay API
Для сайта:
Для Android додатку:
Відео від Google про імплементацію Google Pay API для Android додатку.
Документація Google Pay API для інтеграції в Android додаток.
Контрольний список інтеграції Google Pay API для Android додатку.
Розгортання робочого середовища Google Pay в 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.
Expand | |||||
---|---|---|---|---|---|
| |||||
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
Ознайомтесь з прикладом token
з PaymentData нижче:
Expand | |||||
---|---|---|---|---|---|
| |||||
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
Работа с Callback
Info |
---|
Рекомендуем ознакомиться с разделами: |
Callback и Response (Синхронный режим)
Для просмотра примера раскройте список
...
title | Промежуточный Response при наличии 3DS проверки |
---|
Code Block | ||
---|---|---|
| ||
{
"action": "SALE",
"result": "REDIRECT",
"status": "3DS",
"trans_id": "03346-89225-87891",
"order_id": "ORDER-12345",
"trans_date": "2012-04-0316:02:02",
"redirect_url": "https://server_3ds.com/3ds.php",
"redirect_params": {
"PaReq": "bc5865698ae46de4eba4c51f0359a714",
"MD": "111111111111111111111",
"TermUrl": "https://term_url.com/3ds/67c14e5?trans_id=03346-89225-87891&hash=8b98db60fb3c24c14a6d7075241da38b"
},
"redirect_method": "POST"
} |
...
Параметры
...
Описание
...
action
...
GOOGLEPAY
...
result
...
REDIRECT
...
status
...
3DS
...
order_id
...
ID транзакции в системе мерчанта
...
trans_id
...
ID транзакции в платежной системе
...
trans_date
...
Дата транзакции в платежной системе. Время UTC
...
redirect_url
...
URL, на который должен быть перенаправлен плательщик
...
redirect_params
...
Массив определенных параметров 3DS
...
redirect_method
...
Метод передачи параметров (POST/GET)
...
title | Промежуточный Callback при наличии проверки 3DS |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'REDIRECT',
'status' => '3DS',
'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b',
'trans_id' => '28738-47774-55067',
'trans_date' => '2020-04-20 12:12:57',
'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp',
'redirect_params' =>
array (
'PaReq' => 'eJxVUllu2zAQvYqg/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx/VlRvw8ID7YRhFYcgDHrmeF/KQc8apG/jcFjCP0U/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK/U3fDV/0nf4x3OL7b7jRf/Uv/dvS//Uf/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=',
'TermUrl' => 'https://secure.platononline.com/3ds/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=***************************************************
),
'redirect_method' => 'POST',
'hash' => '********************************',
) |
...
Параметры
...
Описание
...
action
...
SALE
...
result
...
REDIRECT
...
status
...
3DS
...
order_id
...
ID транзакции в системе мерчанта
...
trans_id
...
ID транзакции в платежной системе
...
trans_date
...
Дата транзакции в платежной системе. Время UTC
...
redirect_url
...
URL, на который должен быть перенаправлен плательщик
...
redirect_params
...
Строка параметров
...
redirect_method
...
Метод передачи параметров (POST/GET)
...
hash
...
Зашифрованная подпись для проверки достоверности коллбека
Code Block | ||
---|---|---|
| ||
md5(
strtoupper(
strrev(email).
CLIENT_PASS.
strrev(payment_token)
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
...
title | Response при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
{
"action": "SALE",
"result": "SUCCESS",
"status": "SETTLED",
"trans_id": "03346-89217-70541",
"order_id": "ORDER-12345",
"descriptor": "test",
"trans_date": "2012-04-03 16:02:01"
} |
...
Параметры
...
Описание
...
action
...
GOOGLEPAY
...
result
...
SUCCESS
...
status
...
PENDING/SETTLED; статус PENDING только когда было указано "auth=Y"
...
order_id
...
ID транзакции в системе мерчанта
...
trans_id
...
ID транзакции в платежной системе
...
trans_date
...
Дата транзакции в платежной системе. Время UTC
...
descriptor
...
Это строка, которую владелец кредитной карты увидит в выписка из банка.
В большинстве случаев это веб-сайт поддержки клиентов.
...
amount
...
Сумма транзакции
...
currency
...
Валюта операции
...
title | Callback при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'SUCCESS',
'status' => 'SETTLED',
'order_id' => '1_691201',
'trans_id' => '31176-65336-00444',
'trans_date' => '2021-01-27 16:55:33',
'descriptor' => NULL,
'auth_code' => '990647',
'hash' => '********************************',
) |
...
Параметры
...
Описание
...
action
...
SALE
...
result
...
SUCCESS
...
status
...
PENDING/SETTLED; статус PENDING только когда было указано "auth=Y"
...
order_id
...
ID транзакции в системе мерчанта
...
trans_id
...
ID транзакции в платежной системе
...
trans_date
...
Дата транзакции в платежной системе. Время UTC
...
descriptor
...
Это строка, которую владелец кредитной карты увидит в выписка из банка.
В большинстве случаев это веб-сайт поддержки клиентов.
...
auth_code
...
Код авторизации от банка
...
ext1-ext10
...
Дополнительные поля от 1 до 10
Info |
---|
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения. |
...
hash
...
Зашифрованная подпись для проверки достоверности коллбека
Code Block | ||
---|---|---|
| ||
md5(
strtoupper(
strrev($payer_email).
$CLIENT_PASS.
strrev($payment_token)
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
...
title | Response при неуспешном списании |
---|
Code Block | ||
---|---|---|
| ||
{
"action": "SALE",
"result": "DECLINED",
"status": "DECLINED",
"trans_id": "03346-89214-54141",
"order_id": "ORDER-12345",
"trans_date": "2012-04-0316:02:01",
"decline_reason": "Declined by processing"
} |
...
Параметры
...
Описание
...
action
...
GOOGLEPAY
...
result
...
DECLINED
...
status
...
DECLINED
...
order_id
...
ID транзакции в системе мерчанта
...
trans_id
...
ID транзакции в платежной системе
...
trans_date
...
Дата транзакции в платежной системе. Время UTC
...
decline_reason
...
Причина, по которой транзакция была отклонена
...
title | Callback при неуспешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'DECLINED',
'status' => 'DECLINED',
'order_id' => '1_691201',
'trans_id' => '31176-65336-00444',
'trans_date' => '2021-01-27 16:55:33',
'decline_reason' => 'Declined by processing',
'hash' => '********************************',
) |
...
Параметры
...
Описание
...
action
...
SALE
...
result
...
DECLINED
...
status
...
DECLINED
...
order_id
...
ID транзакции в системе мерчанта
...
trans_id
...
ID транзакции в платежной системе
...
trans_date
...
Дата транзакции в платежной системе. Время UTC
...
decline_reason
...
Причина, по которой транзакция была отклонена
...
hash
...
Зашифрованная подпись для проверки достоверности коллбека
Code Block | ||
---|---|---|
| ||
md5(
strtoupper(
strrev(email).
CLIENT_PASS.
strrev(payment_token)
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Callback и Response (Асинхронный режим)
Данный режим активируется при передаче async = Y
. В этом режиме обязательно необходимо принимать callback на ваш callback url.
Для просмотра примера раскройте список
...
title | Response о принятии запроса в обработку |
---|
Code Block | ||
---|---|---|
| ||
{
"action": "SALE",
"result": "ACCEPTED",
"trans_id": "03346-89211-86461",
"order_id": "ORDER-12345",
"trans_date": "2012-04-03 16:02:01"
} |
...
Параметры
...
Описание
...
action
...
GOOGLEPAY
...
result
...
ACCEPTED
...
order_id
...
ID транзакции в системе мерчанта
...
trans_id
...
ID транзакции в платежной системе
...
trans_date
...
Дата транзакции в платежной системе. Время UTC
Expand | |||||
---|---|---|---|---|---|
| |||||
|
...
title | Callback при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'SUCCESS',
'status' => 'SETTLED',
'order_id' => '1_691201',
'trans_id' => '31176-65336-00444',
'trans_date' => '2021-01-27 16:55:33',
'descriptor' => NULL,
'auth_code' => '990647',
'hash' => '********************************',
) |
...
Параметры
...
Описание
...
action
...
SALE
...
result
...
SUCCESS
...
status
...
PENDING/SETTLED; статус PENDING только когда было указано "auth=Y"
...
order_id
...
ID транзакции в системе мерчанта
...
trans_id
...
ID транзакции в платежной системе
...
trans_date
...
Дата транзакции в платежной системе. Время UTC
...
descriptor
...
Это строка, которую владелец кредитной карты увидит в выписка из банка.
В большинстве случаев это веб-сайт поддержки клиентов.
...
auth_code
...
Код авторизации от банка
...
ext1-ext10
...
Дополнительные поля от 1 до 10
Info |
---|
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения. |
...
hash
...
Зашифрованная подпись для проверки достоверности коллбека
Code Block | ||
---|---|---|
| ||
md5(
strtoupper(
strrev($payer_email).
$CLIENT_PASS.
strrev($payment_token)
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
...
title | Callback при неуспешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'DECLINED',
'status' => 'DECLINED',
'order_id' => '1_691201',
'trans_id' => '31176-65336-00444',
'trans_date' => '2021-01-27 16:55:33',
'decline_reason' => 'Declined by processing',
'hash' => '********************************',
) |
...
Параметры
...
Описание
...
action
...
SALE
...
result
...
DECLINED
...
status
...
DECLINED
...
order_id
...
ID транзакции в системе мерчанта
...
trans_id
...
ID транзакции в платежной системе
...
trans_date
...
Дата транзакции в платежной системе. Время UTC
...
decline_reason
...
Причина, по которой транзакция была отклонена
...
hash
...
Зашифрованная подпись для проверки достоверности коллбека
Code Block | ||
---|---|---|
| ||
md5(
strtoupper(
strrev(email).
CLIENT_PASS.
strrev(payment_token)
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
...
title | Промежуточный Callback при наличии проверки 3DS |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'REDIRECT',
'status' => '3DS',
'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b',
'trans_id' => '28738-47774-55067',
'trans_date' => '2020-04-20 12:12:57',
'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp',
'redirect_params' =>
array (
'PaReq' => 'eJxVUllu2zAQvYqg/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx/VlRvw8ID7YRhFYcgDHrmeF/KQc8apG/jcFjCP0U/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK/U3fDV/0nf4x3OL7b7jRf/Uv/dvS//Uf/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=',
'TermUrl' => 'https://secure.platononline.com/3ds/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=***************************************************
),
'redirect_method' => 'POST',
'hash' => '********************************',
) |
...
Параметры
...
Описание
...
action
...
SALE
...
result
...
REDIRECT
...
status
...
3DS
...
order_id
...
ID транзакции в системе мерчанта
...
trans_id
...
ID транзакции в платежной системе
...
trans_date
...
Дата транзакции в платежной системе. Время UTC
...
redirect_url
...
URL, на который должен быть перенаправлен плательщик
...
redirect_params
...
Строка параметров
...
redirect_method
...
Метод передачи параметров (POST/GET)
...
hash
...
Зашифрованная подпись для проверки достоверности коллбека
Code Block | ||
---|---|---|
| ||
md5(
strtoupper(
strrev(email).
CLIENT_PASS.
strrev(payment_token)
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
Пройдите контрольный список интеграции:
После добавления кнопки на ваш сайт/мобильное приложение необходимо пройти контрольный список интеграции для проверки корректности работы Google Pay API:
Для сайтов: https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist
...
|
Налаштуйте відправку отриманого значення token
в параметрі payment_token
у відповідному форматі вказаному нижче:
Expand | ||
---|---|---|
| ||
|
API параметри
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post/
Параметр | Значення | Опис | Особливості | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Код платіжного метода | ||||||||||||
| String | API ключ мерчанта | Ключ надається на пошту мерчанта | |||||||||||
| String | ID оплати в системі мерчанта | Max 255 символи | |||||||||||
| Number | Сума оплати |
| |||||||||||
|
| Валюта |
| |||||||||||
| String | Опис |
Max 255 символів | |||||||||||
| String | Токен отриманий від Google | Токен необхідно відформатувати відповідно до прикладу вказаного вище. | |||||||||||
| Number | IP-адреса платника | В форматі "ХХХ.ХХХ.ХХХ.ХХХ"
| |||||||||||
| String | E-mail платника |
Max 256 символів | |||||||||||
| Number | Номер телефона платника |
| |||||||||||
| String | Посилання куди буде відправлено платника після спроби оплати | Max 255 символів | |||||||||||
| String | Контрольний підпис |
| |||||||||||
| String | Ім'я платника | Max 32 символи без пробілів | |||||||||||
| String | Прізвище платника | Max 32 символи без пробілів | |||||||||||
| String | Отчество плательщика | Max 32 символи без пробілів | |||||||||||
| String | Дата народження платника | В форматі “YYYY-MM-DD” | |||||||||||
| String | Адреса платника | Max 256 символів | |||||||||||
| String | Країна платника | Стандарт ISO 3166-1 alpha-2 | |||||||||||
| String | Штат платника | Стандарт ISO 3166-2 | |||||||||||
| String | Місто платника | Max 32 символи | |||||||||||
| String | Поштовий індекс платника | Max 32 символи | |||||||||||
| String | 10 додаткових полів | Max 1024 символи в кажному ext полі | |||||||||||
| String | Додатковий платіжний канал | Дозволяє перенаправляти платежі на інший банківський термінал | |||||||||||
|
| Включити асинхронний режим |
Стандартне значення | |||||||||||
|
| Стандартне значення | ||||||||||||
|
| Для отримання | Стандартне значення |
Приклад запиту
Expand | |||||||
---|---|---|---|---|---|---|---|
| |||||||
|
Info |
---|
Тестовий режим
Переведіть environment в режим 'TEST’.
Використайте реальну картку підв'язану в Google Pay для оплати.
При успішному тесті ви отримаєте відповідь про невдалу транзакцію (особливість тествого режиму) 'decline_reason' => 'Declined by processing'
Повідомте тех підтримці про успішний тест і тільки після цього можете переходити до активаціх в Google бізнес акаунті.
Warning |
---|
Параметр environment в режимі 'TEST’ залишити до вказівок з боку тех підтримки PSP Platon. |
Боєвий режим
Пройдіть контрольний список інтеграції:
Після додавання кнопки на ваш сайт / мобільний додаток необхідно пройти контрольний список інтеграції для перевірки коректності роботи 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 |
---|
Зверніть увагу, що в прод режимі буде працювали лише проапрувлений домен. |
https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access
Отримання доступу займає 2-3 дні. Якщо у співробітників Google будуть зауваження - вони відправлять вам лист під яким ви реєструвались.
Після цього вам треба переключитись на Production в інтеграції з Google Pay:
Для цього: https://developers.google.com/pay/api/web/guides/test-and-deploy/deploy-production-environment
Встановіть environment: ‘PRODUCTION' замість 'TEST’
Вкажіть значення merchantId з бізнес акаунта Google Pay (правий верхній куток)
І повідомте по готовності про переключення налаштувань з вашого боку.
Додатково для мобільного додатку на Android:
Рекомендуємо подавати заявку в бізнес консоль з того ж акаунта під яким ви зареєстровані в Google Play і з якого викладали додаток.
Якщо подавати заявку з іншого акаунта - додатково треба буде зв'язати акаунти. Інструкція як зв'язати акаунти https://support.google.com/googleplay/android-developer/answer/2528691
Для інтеграції з мобільним додатком необхідно буде підписати додаток релізними ключами коли отримаєте доступ в прод і будете переключатися https://developers.google.com/pay/api/android/guides/test-and-deploy/
...
Запросите доступ к рабочей версии Google Pay API:
Для возможности начать принимать реальные платежи необходимо запросить доступ в рабочей версии:
https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access
Подпишите ваше приложение:
Если вы интегрируете Google Pay в свое мобильное приложение - необходимо дополнительно его подписать, следуя инструкциям:
...
Перевірка оплат
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Callback & Response
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Синхроний режим:
Стандартний режим роботи. Передавати async = N
не потрібно.
Асинхронний режим:
Цей режим активується при передачі async = Y
.
Include Page | ||||
---|---|---|---|---|
|
Include Page | ||||
---|---|---|---|---|
|
Помилки запитів
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|