IA оплата Google Pay™

Цей функціонал буде активовано після вашого запиту в груповому чаті.


Зміст

 

 


Опис

 

Цей метод дозволить розмістити на вашому сайті або додатку окрему кнопку оплати 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 Pay працює в таких браузерах:

  • Chrome

  • Safari

  • UC Browser

  • Firefox

  • Opera

  • Microsoft Edge

  • Android

Google забороняє використовувати Google Pay в WebView.


 

Активація Google Pay в Business Console


 

Для сайта:

Для 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)

{ "apiVersion": 2, "apiVersionMinor": 0, "allowedPaymentMethods": [ { "type": "CARD", "parameters": { "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"], "allowedCardNetworks": ["VISA", "MASTERCARD"] }, "tokenizationSpecification": { "type": "PAYMENT_GATEWAY", "parameters": { "gateway": "platon", //фіксований ідентифікатор PSP Platon "gatewayMerchantId": "RJ9AE5Y7GX" //API ключ PSP Platon } } } ], "merchantInfo": { "merchantId": "00986993593073708917", //ваші дані з Google Business Console "merchantName": "Name" //ваші дані з Google Business Console }, "transactionInfo": { "totalPriceStatus": "FINAL", "totalPriceLabel": "Total", "totalPrice": "5.00", "currencyCode": "UAH", "countryCode": "UA" } }

Якщо все зробити правильно - на вашому сайті / додатку відобразиться кнопка Google Pay та після вибору картки вам повернеться набір даних з PaymentData.

{ "apiVersionMinor": 0, "apiVersion": 2, "paymentMethodData": { "description": "Mastercard •••• 5179", "tokenizationData": { "type": "PAYMENT_GATEWAY", "token": { "signature": "MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur", "intermediateSigningKey": { "signedKey": "{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhRrvGB0kZ1248MEJAPwX0YfrQInhyyRM7nyGFjQuzGSViZG3QC9NMvXR9Zd6uVcVzAz+6K/+NEGIWbX8zbk6A\\u003d\\u003d\",\"keyExpiration\":\"1571208568000\"}", "signatures": [ "MEUCIQCR6vIEiyHB8qmlho4/tLd7W8CIGrZDJlCI48CBHeFPvQIgLZJIe4cZv6pYtYYa56QCI/vvg1GqXTP3bTBjO49r5mI=" ] }, "protocolVersion": "ECv2", "signedMessage": "{\"encryptedMessage\":\"k85CGUMmd5PaGmQlHFqHc0HrDZmjM1yG82rFB/p31ZyUleN5nihzjOZif/BKXwg3XA2oLXqBSSWcAdfZwXxCEOqvAQE+kpTC7qVO4wTPip6RruraT6vO9M9FtIf0kcqzYSAN7pl1SUA5jC9rHrqucPoh0/FSspup78SWBt8TnmVKC9O3sQhIZ3SMoGOG4mdjtIrgCwWH2cbrxUH0dHAqOe5ANGOY/mII4nTEp7xaKu41hK/kFE15zVyqgPJXP9bPxzMVk/ozEZSfhSzVTS+9stjkU/kT5EibKB3O1bbxyybKcGQ5vxBOtNOBKKd/NuqNmN2eEK3UbSKb1M3gv45gT9cCeEvlzO7Wg0N100vUBp9RPDN9TH4tj4w578sWFKfTi6FsSrZB27SGWcU0EaKHO9buo94mRBY5yqffF3bKg5mAMPzjDhyHSujqWKAs9C5fBzMEuEr2z7A23kfLqBceH5uS9LJMiZ/yVKCwfpY9u2XyCjKdp7I\\u003d\",\"ephemeralPublicKey\":\"BAMDAtfgcPNuzItrwGLigGj3rtxmyHhZLwx1B4RJZ2oo11jpFf3SA6a3utryCMmlCEcqLfLn6WDH2ArrNBGn+Ew\\u003d\",\"tag\":\"T/qhZ/XY5/3Fe4QBKafm6NqS6EzwVeiKXhRlp8NeWrA\\u003d\"}" } }, "type": "CARD", "info": { "cardNetwork": "MASTERCARD", "cardDetails": "5179" } } }

Ознайомтесь з прикладом token з PaymentData нижче:

Налаштуйте відправку отриманого значення token в параметрі payment_token у відповідному форматі вказаному нижче:


 

HTTP METHOD: POST

API ENDPOINT: https://secure.platononline.com/post/

Параметр

Значення

Опис

Особливості

Параметр

Значення

Опис

Особливості

action
Обов'язковий

GOOGLEPAY

Код платіжного метода

 

client_key
Обов'язковий

String

API ключ мерчанта

Ключ надається на пошту мерчанта

order_id
Обов'язковий

String

ID оплати в системі мерчанта

Max 255 символи

order_amount
Обов'язковий

Number

Сума оплати

order_currency
Обов'язковий

UAH

Валюта

order_description
Обов'язковий

String

Опис

Max 255 символів

payment_token
Обов'язковий

String

Токен отриманий від Google

Токен необхідно відформатувати відповідно до прикладу вказаного вище.

payer_ip
Обов'язковий

Number

IP-адреса платника

В форматі "ХХХ.ХХХ.ХХХ.ХХХ"

payer_email
Обов'язковий

String

E-mail платника

Max 256 символів

payer_phone
Обов'язковий

Number

Номер телефона платника

term_url_3ds
Обов'язковий

String

Посилання куди буде відправлено платника після спроби оплати

Max 255 символів

hash
Обов'язковий

String

Контрольний підпис

md5( strtoupper( strrev($payer_email). $CLIENT_PASS. strrev($payment_token) ) )

payer_first_name
не обов'язковий

String

Ім'я платника

Max 32 символи без пробілів

payer_last_name
не обов'язковий

String

Прізвище платника

Max 32 символи без пробілів

payer_middle_name
не обов'язковий

String

Отчество плательщика

Max 32 символи без пробілів

payer_birth_date
не обов'язковий

String

Дата народження платника

В форматі “YYYY-MM-DD”

payer_address
не обов'язковий

String

Адреса платника

Max 256 символів
Вкажіть NA, якщо немає даних

payer_country
не обов'язковий

String

Країна платника

Стандарт ISO 3166-1 alpha-2
В форматі "ХХ"
2 символа
Вкажіть NA, якщо немає даних

payer_state
не обов'язковий

String

Штат платника

Стандарт ISO 3166-2
В форматі "ХХ"
2 символа
Вкажіть NA, якщо немає даних

payer_city
не обов'язковий

String

Місто платника

Max 32 символи
Вкажіть NA, якщо немає даних

payer_zip
не обов'язковий

String

Поштовий індекс платника

Max 32 символи
Вкажіть NA, якщо немає даних

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
не обов'язковий

String

10 додаткових полів

Max 1024 символи в кажному ext полі

channel_id
не обов'язковий

String

Додатковий платіжний канал

Дозволяє перенаправляти платежі на інший банківський термінал

async
не обов'язковий

Y
N

Включити асинхронний режим

Стандартне значення N.

auth
не обов'язковий

Y
N

HOLD коштів на картці платника

Стандартне значення N.

req_token
не обов'язковий

Y
N

Для отримання card_token

Стандартне значення N.


 


 

Переведіть environment в режим 'TEST’.

Використайте реальну картку підв'язану в Google Pay для оплати.

При успішному тесті ви отримаєте відповідь про невдалу транзакцію (особливість тествого режиму) 'decline_reason' => 'Declined by processing'

Повідомте тех підтримці про успішний тест і тільки після цього можете переходити до активаціх в Google бізнес акаунті.


 

Пройдіть контрольний список інтеграції:

Після додавання кнопки на ваш сайт / мобільний додаток необхідно пройти контрольний список інтеграції для перевірки коректності роботи 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

  1. Встановіть environment: ‘PRODUCTION' замість 'TEST’

  2. Вкажіть значення 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


 


 


Синхроний режим:

Стандартний режим роботи. Передавати async = N не потрібно.


Асинхронний режим:

Цей режим активується при передачі async = Y.