Google Pay™ — це зручний інструмент для безконтактної оплати, що дозволяє проводити транзакції з картки без необхідності кожного разу вводити її реквізити. Усі платіжні дані надійно зберігаються в системі Google. Цей спосіб оплати доступний на всіх типах пристроїв — смартфонах і комп’ютерах — незалежно від того, яку операційну систему чи браузер ви використовуєте.
Наш E-com протокол надає можливість легко використовувати Google Pay для прийому платежів від клієнтів. Для цього необхідно:
Звертаємо увагу: наразі E-com протокол не підтримує передачу адреси доставки чи рахунку через Google Pay — доступна лише інформація про картку.
Для використання платіжного фрейму вам не потрібно мати сертифікат відповідності стандарту PCI DSS: жодних чутливих даних в запитах. Все що вам потрібно - зареєструвати заявку на платіж та перенаправити клієнта на сторінку платіжного фрейму. Все інше ми зробимо за вас!
Для розробників мобільних додатків:
Для розробників сайтів:
Документація для інтеграції з Google Pay™ API
Для виконання запитів IsReadyToPayRequest та PaymentDataRequest використовуйте такі значення параметрів:
Для PAN_ONLY 3DS включено за замовченням.
Розробнику не потрібно надавати платіжну адресу для підтвердження адреси.
Після уcпішної інтеграції на Вашому web сайті/у додатку буде доступна кнопка оплати Google Pay™. При натисканні на кнопку з'явиться форма для вибору картки прив'язаної до облікового запису Google.
Якщо всі етапи інтеграції виконано правильно, при виборі карти ви отримаєте токен для оплати (зашифровані платіжні дані).
Використовуйте метод
POST <BASE URL>/ts/googlePurchase
Headers:
Параметр | Тип | Опис |
merchantTransactionId | string (64) | ID транзакції в базі даних Мерчанта |
amount | number (10) | Сума оплати вказана в копійках. |
surcharge | number (10) | Розмір комісії торговця (додається до суми) в копійках. |
currency | number (3) | Цифровий код валюти платежу за стандартом ISO 4217 (для P2P тільки 980). |
no3ds | boolean | Не виконуйте аутентифікацію 3DS. Типове значення: false. |
callbackUrl | string (256) | URL, на який буде надіслано результат платежу. Його використовують, коли необхідно виконати 3ds-челендж. |
browser.acceptHeader | string | Вміст HTTP-заголовків accept, відправлених з браузера Власника картки. |
browser.useragentHeader | string | Вміст HTTP-заголовка user-agent відправляється з браузера Власника картки. |
browser.language | string () | Мова інтерфейсу браузера власника картки |
browser.javascriptEnabled | boolean | Підтримка JavaScript у браузері Mapholder |
browser.colorDepth | number | Глибина кольору екрану браузера. Допустимі значення: 1, 4, 8, 15, 16, 24, 32, 48. |
browser.screenHeight | number | Висота екрану браузера власника картки в пікселях. |
browser.screenWidth | number | Ширина екрану браузера власника картки в пікселях. |
browser.TZ | number | Різниця в часі між часом UTC і місцевим часом браузера власника картки в хвилинах. |
googletoken. protocolVersion | string | data from token protocolVersion |
googletoken. signature | string | data from token signature |
googletoken. intermediateSigningKey. signedKey | String | data from token intermediateSigningKey. signedKey |
googletoken. intermediateSigningKey. signatures | string | data from token intermediateSigningKey. signatures |
googletoken.signedMessage | number (2) | data from token signedMessage |
{
"merchantTransactionId": 125461,
"amount": 505,
"surcharge": 50,
"currency": 980,
"callbackUrl": "https://merchant.com/api/callback",
"browser": {
"acceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"useragentHeader": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Firefox/47.0",
"javascriptEnabled": true,
"language": "ua",
"colorDepth": 48,
"screenHeight": 1080,
"screenWidth": 1920,
"TZ": 120
},
"googletoken":{
"signature":"****",
"intermediateSigningKey":{
"signedKey":"{\"******\"}",
"signatures":["*****"]
},
"protocolVersion":"ECv2",
"signedMessage":"***"
}
}
Параметр | Тип | Опис |
status | string | Статус результату запиту. Якщо запит виконано успішно, значення "OK" |
data.operationId | number | Id транзакції купівлі, створеної в Сервісі e-com |
data.pan | string | Номер картки платника в масці |
data.status | string |
Статус операції
CREATED - операція створена 3DS_CHALLENGE - операція на етапі 3DS верифікації |
data.amount | number | Сума платежу в копійках |
data.surcharge | number | Розмір комісії купця в копійках |
data.currency | number | ISO 4217 Числовий код валюти платежу |
data.authorization.rrn | number | Ідентифікатор транзакції в МПС (RRN) |
data.authorization.approvalCode | string | Код авторизації |
data.authorization.stan | string | Системний код авторизації |
data.createdUTC | string | Дата і час створення операції в UTC |
data.updatedUTC | string | Дата й час останньої зміни операції в UTC |
{
"status": "OK",
"data": {
"operationId": 850,
"pan": "4123********0000",
"amount": 99900,
"surcharge": 500,
"currency": 980,
"status": "3DS_CHALLENGE",
"authorization": {
"rrn": 504317967020,
"approvalCode": "045167",
"stan": "967020"
},
"createdUTC": "2025-02-12 15:26:02",
"updatedUTC": "2025-02-12 16:51:22"
}
}
Параметр | Тип | Опис |
status | string | Статус результату запиту. Якщо запит виконано успішно, значення OK. |
data.operationId | number | Ідентифікатор транзакції покупки, створений в сервісі e-comm. |
data.creq | object | Зміст челенджу |
{
"status": "OK",
"data": {
"operationid": 123456,
"creq": {
"threeDSServerTransID": "f3ab2a21-c5db-42da-b30a-271b24ea15a9",
"acsTransID": "c83afa81-faba-432e-8c9e-2eb8ee11a716",
"dsTransID": "1b0256de-ab33-4265-8c1f-dc1925fc57b8",
"transStatus": "C",
"eci": "00",
"xid": "VGnMqa+1jNBTSnCnoh3K8PuiVZQ=",
"protocolVersion": "2.1.0",
"authenticationType": "02",
"acsChallengeMandated": "Y",
"acsURL": "https://acs.com/v2.1.0/acs/",
"html": "<html><form action=https://acs.com/v2.1.0/acs/ method=post>\n<inputname=creq\nvalue=eyJhY3N..."
}
}
}
Параметр |
Тип |
Опис |
status | string | Статус результату запиту. Якщо запит виконано з помилкою, значення "FAILED". |
error.code | number | Код помилки. |
error.message | string | Текст помилки. |
{
"status": "FAILED",
"error": {
"code": 123,
"message": "3DS authentication of the payer's card is required"
}
}
Для розшифровки токену Google рекомендує використовувати бібліотеку Tink
Інструкція з використання бібліотеки Tink
Переконайтеся, що всі етапи інтеграції виконано вірно для
Після того, як всі етапи інтеграції виконано відповідно до контрольного списку інтеграції, необхідно запросити доступ до продуктивного середовища у спеціалістів Google.