Цей функціонал буде активовано після вашого запиту в груповому чаті.
Зміст
Опис
Цей метод дозволить розмістити на вашому сайті або додатку окрему кнопку оплати 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.
Проверка платежей
Callback и Response
Синхронный режим:
Данный режим работает по умолчанию. Передавать async = N
не нужно.
Асинхронный режим:
Данный режим активируется при передаче async = Y
. В этом режиме обязательно необходимо принимать callback на ваш callback url.
При оплаті з 3DS СИНХРОННИЙ РЕЖИМ
Промежуточный редирект плательщика на 3DS СИНХРОННИЙ РЕЖИМ
При успішній оплаті з 3DS СИНХРОННИЙ РЕЖИМ
Response про фінальний статус при оплаті з 3DS відсутній.
При неуспешной оплате з 3DS СИНХРОННИЙ РЕЖИМ
Response про фінальний статус при оплаті з 3DS відсутній.
При оплаті з 3DS АСИНХРОННИЙ РЕЖИМ
Промежуточный ответ АСИНХРОННИЙ РЕЖИМ
Промежуточный редирект плательщика на 3DS АСИНХРОННИЙ РЕЖИМ
При успешной оплате АСИНХРОННИЙ РЕЖИМ
При неуспешной оплате з 3DS АСИНХРОННИЙ РЕЖИМ
При ошибке в запросе
При оплаті без 3DS СИНХРОННИЙ РЕЖИМ
При успешной оплате СИНХРОННИЙ РЕЖИМ
При неуспешной оплате СИНХРОННИЙ РЕЖИМ
При оплаті без 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