Цей функціонал буде активовано після вашого запиту в груповому чаті.
Зміст
Опис
Цей метод дозволить розмістити на вашому сайті або додатку окрему кнопку оплати Google Pay.
Демо
Чекліст інтеграції
- Привести сайт / додаток до відповідності вимогам.
- Інтегрувати 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. - Відобразити клиенту інформаію про успішну / невдалу оплату.
Вимоги
Обмеження
Google Business Console
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)
Якщо все зробити правильно - на вашому сайті / додатку відобразиться кнопка Google Pay та після вибору картки вам повернеться набір даних з PaymentData.
Ознайомтесь з прикладом token
з PaymentData нижче:
Налаштуйте відправку отриманого значення token
в параметрі payment_token
у відповідному форматі вказаному нижче:
API параметри
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post/
Параметр | Значення | Опис | Особливості |
---|---|---|---|
|
| Код платіжного метода | |
| String | API ключ мерчанта | Ключ надається на пошту мерчанта |
| String | ID оплати в системі мерчанта | Max 255 символи |
| Number | Сума оплати | Вірний варіант 1000.00 Невалідні варіанти 1000 |
|
| Валюта | Оплата можлива лише в національній валюті гривні |
| String | Опис | Для кириличних символів необхідно використовувати формат UTF-8 Max 255 символів |
| String | Токен отриманий від Google | Токен необхідно відформатувати відповідно до прикладу вказаного вище. |
| Number | IP-адреса платника | В форматі "ХХХ.ХХХ.ХХХ.ХХХ" IPv6 на даний момент не підтримується та при передачі поверне помилку |
| String | E-mail платника | Обов'язково валідна пошта. Відсутність пробілів. Max 256 символів |
| Number | Номер телефона платника | Обов'язковий формат телефону 380… |
| String | Посилання куди буде відправлено платника після спроби оплати | 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 | Штат платника | Стандарт ISO 3166-2 |
| String | Місто платника | Max 32 символи |
| String | Поштовий індекс платника | Max 32 символи |
| String | 10 додаткових полів | Max 1024 символи в кажному ext полі |
| String | Додатковий платіжний канал | Дозволяє перенаправляти платежі на інший банківський термінал |
|
| Включити асинхронний режим | В асинхронному режимі обов'язкове використання коллбеків. Стандартне значення |
|
| Стандартне значення | |
|
| Для отримання | Стандартне значення |
Приклад запиту
Тестування
Переведите environment в режим 'TEST’.
Используйте реальную карту подвязанную в Google Pay для оплаты.
При успешном тесте вы получите ответ о неуспешной транзакции (особенности тестового режима) и 'decline_reason' => 'Declined by processing'
Сообщите тех саппорту об успешном тесте и только после этого перейдите к активации бизнес-аккаунта Google.
Параметр 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 скринов процесса заказа и оплаты.
Сразу можете подавать заявку и для получения доступа с продовым доменом.
Зверніть увагу, що в прод режимі буде працювали лише проапрувлений домен.
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/deploy-your-application
Перевірка оплат
Callback & Response
Синхроний режим:
Стандартний режим роботи. Передавати async = N
не потрібно.
Асинхронний режим:
Цей режим активується при передачі async = Y
.
При оплаті з 3DS СИНХРОННИЙ РЕЖИМ
Промежуточный редирект плательщика на 3DS СИНХРОННИЙ РЕЖИМ
При успішній оплаті з 3DS СИНХРОННИЙ РЕЖИМ
Response про фінальний статус при оплаті з 3DS відсутній.
При неуспешной оплате з 3DS СИНХРОННИЙ РЕЖИМ
Response про фінальний статус при оплаті з 3DS відсутній.