Інтеграція з GooglePay: відмінності між версіями
Немає опису редагування |
Немає опису редагування |
||
(Не показано 14 проміжних версій цього користувача) | |||
Рядок 20: | Рядок 20: | ||
== Отримання токена GooglePay для оплати == | == Отримання токена GooglePay для оплати == | ||
<nowiki>*</nowiki>Використовуйте бойове середовище GooglePay для отримання PaymentData | ----<nowiki>*</nowiki>Використовуйте бойове середовище GooglePay для отримання PaymentData | ||
Для отримання PaymentData. Як параметри скрипта вкажіть: | Для отримання PaymentData. Як параметри скрипта вкажіть: | ||
Рядок 28: | Рядок 28: | ||
# Параметр gateway: easypay; | # Параметр gateway: easypay; | ||
# Параметр gateway MerchantId: Ваш бойовий merchantAccount от Google, який повідомляє в EasyPay. | # Параметр gateway MerchantId: Ваш бойовий merchantAccount от Google, який повідомляє в EasyPay. | ||
<br> | |||
Якщо з вашого боку інтеграція виконана правильно, Ви на своєму сайті/додатку отримаєте кнопку | Якщо з вашого боку інтеграція виконана правильно, Ви на своєму сайті/додатку отримаєте кнопку | ||
Після натискання кнопки на пристрої з підключеним Google Pay з'явиться спливаюче вікно або форма вибору прив'язаної картки. | Після натискання кнопки на пристрої з підключеним Google Pay з'явиться спливаюче вікно або форма вибору прив'язаної картки. | ||
'''Приклад відповіді від GooglePay Api'''<syntaxhighlight lang="json"> | |||
{ | |||
"apiVersionMinor":0, | |||
"apiVersion":2, | |||
"paymentMethodData":{ | |||
"description":"Mastercard •••• 1164", | |||
"tokenizationData":{ | |||
"type":"PAYMENT_GATEWAY", | |||
"token":"{"signature":"MEUCeretMPEQPUMnvMOnDAgZsOLVnFnfjmo5ALe/1D6o7hdzAiEA94L1GfNWW84kbUdHHn+l6B6n18VgIA3sdkPqKL36tqk\u003d","intermediateSigningKey":{"signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEem3biYxltOBuMV+Dd9g+ZhV3VEzP2vAlFXvb9tJoYGLtetxDYWTUqnXPvKGDeAnSNrkPo8hu5kLtxN0QXCYkqQ\\u003d\\u003d\",\"keyExpiration\":\"1551385212256\"}","signatures":["MEYCIQD/TWKunZJhG/u3iL2H5P3i9r0rCbpw1/+z9dr/yGytvwIhAPfV2zF5cqP/L+42W+JKv6fgQKBEc67HTtfderefdghJ"]},"protocolVersion":"ECv2","signedMessage":"{\"encryptedMessage\":\"OidSptk8w+I3FnR1VFmiVswXaZ7ADnmMP1MQelp6GSg0/3aVpAXeLRH/fT1wN7gpxNPy7tFITeQenrJm3QG19tAPuVhcAVM26DMU6LAmZPyPXALktpnYrUj6etCjvWWM/1LkhjDBSjtkmpWRiHIyqj5aud/j8rxFEk06GhwqPWbnJwdCgNf32LJP7bSpUWvHOioaZIV1vdeV6d7iQ6EDWWAS/z9pXWkqpW//M/TVTrcKFXh4C2TI2O+qyBD9VzK3TqU6wS5VsYL69W9/4xzV5L5irpp/wzNfPHkJd8QIwcsIPuNWBtGm3v+JCaqIA3oK9Sw/5o/gZp/pnOhUdax0VjGEvmbGXs2+ufBChCkh+/BpobbpzVS9T/DZSlUO2FLANMjSaEQzh74ymtDgP4x9O64RAdySW+V7lVZMa7FVZ3PFnTfa8W89pzIgo6ocSGHQPBFnExTmSbDpUU0L12wzHkAcZSyngPAljqg\\u003d\",\"ephemeralPublicKey\":\"BBKgbSbykNy1111QYRmGJEhnCorkt+VoDYlYbAlg0a5WO2uV/M50XqOSG0uxWAvUqrZolQuEX6yZ+dvvufLEZtI\\u003d\",\"tag\":\"p9ItvOfsQVTzhTPHq6ycYjKX1TtozP/yym4QWWVRVCk\\u003d\"}"}" | |||
}, | |||
"type":"CARD", | |||
"info":{ | |||
"cardNetwork":"MASTERCARD", | |||
"cardDetails":"1164", | |||
"billingAddress":{ | |||
"phoneNumber":"+380 93 000 00 11", | |||
"address3":"", | |||
"sortingCode":"", | |||
"address2":"", | |||
"countryCode":"UA", | |||
"address1":"ул. ", | |||
"postalCode":"49107", | |||
"name":"Super 1", | |||
"locality":"Київ", | |||
"administrativeArea":"Київська область" | |||
} | |||
} | |||
}, | |||
"email":"[email protected]" | |||
} | |||
</syntaxhighlight> | |||
== Передача токена для оплати == | |||
Надішліть дані з поля token з відповіді від GooglePay Api у поле userPaymentInstrument/token у Easypay (розділ [[MerchantAPI#Створення замовлення|Створення замовлення]]) | |||
Перед цим потрібно викликати метод EasyPayApi [[MerchantAPI#Реєстрація точки та створення сесії|createApp.]] | |||
'''Приклад запиту''' | |||
<p style="border: 1px solid #9ACD32; background-color: rgba(144, 238, 144, 0.5); padding: 10px; border-radius: 8px; font-family: Arial, sans-serif; font-size: 14px; font-weight: normal; position: relative; padding-left: 80px;"> | |||
<span style="position: absolute; top: 10px; left: 10px; background-color: #006400; color: white; padding: 2px 12px; border-radius: 4px; font-size: 14px; font-weight: bold;">POST</span> | |||
<span style="margin-left: 5px; font-weight: bold; font-size: 16px;">/api/merchant/createOrder</span><syntaxhighlight lang="json" line="1"> | |||
{ | |||
"order":{ | |||
"serviceKey":"MERCHANT-TEST", | |||
"orderId":"test_20210000-171148", | |||
"description":"Test payment", | |||
"amount":"1" | |||
}, | |||
"userPaymentInstrument":{ | |||
"instrumentType":"GooglePay", | |||
"token":"{\"signature\":\"MEQCIFTFadYw15Cqfk7+YiM9pp5zEvyTI7oWVZCNFKr1cMthAiAFMv+nt0PWOEhj6LmmMNTByP9E4OhGrSoE7rDvzLDIZw\\u003d\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsrkMsOBN8N0xL8AsTVUIETODhCva5PpGFxvPm56pWmI5MG2HKKHXjsdhdvcP6N3d40x90E0rZzDrxBC2ywERXg\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1618591579000\\\"}\",\"signatures\":[\"MEUCIHX0SawuKctPUEjdFu2sDiE81aSSdf8i0KNvdg1dlsWoAiEAye8TEWpPk4sp7EjTovN7DichK6YxY1DajYN9/ArHDYI\\u003d\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"vlLmhIBndM4a/GWFsvbFZrZOygjAwUao/NlvlJlhAQ3kdprI3gubAcQxAau8L74dkzGJh8w7AD2E77XOHycdwG91NUvsJ0xiXuMCXHJ9NPMhp7k49OUIJjOpJG+RqUM9/SPBgx69eDD7skhG+axZYr/m36LFjIlk5WhmumQgIrfojm02uRm0nOcZ2wbvrwQKZyL1IeTv/txqcYMuQqYWzs/FPkIEbiQ80z6dRhVszrEXcHLKcfBmNmcn/Vk90ArXCotOD52V0JS/Q+Mf9mCoe9G2bABo9R9PAYT/FrKIEOQEhzLCI7m4/vyIlCMf69d6PjigP3AOGxykbS0Kvsxqoh+HYRFCSLCd+8O2Us2wCYD09/OBqcQi78/fs2vwyg4nrWQQJ6ZGwTKHHxVRY8VGAUUnMFr18HPsN1BQNuz08M4t6Qx6X0nEZ3hseSIcUMVcBm+NyvL2T/XSWqTh2poDuQ4B+UJ59gMrsPapzouxk2iC/+vS1Bs/2sSf77Nsqr7BhE7SMgnZ/a2LF+Shx2aOKSIGflMz+MjVSzpMg2AUh43pbcsi8g\\\\u003d\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BDJpYzoN9XPVKrHIxwNes83HbR0/AOUPpQgAwi3fTzR+TIB8/VAc9CdI9guWX8Pjvii/T+WxwcByuo9pzJC7518\\\\u003d\\\",\\\"tag\\\":\\\"LFOOTwd5Crtn60KnT0J6MHuFlGE0+EYL3D7IrWrPsRA\\\\u003d\\\"}\"}", | |||
} | |||
} | |||
</syntaxhighlight> | |||
<div style="width: 100%; display: flex; justify-content: space-between; gap: 16px; box-sizing: border-box; padding: 8px 0;"> | |||
<!-- Ліва кнопка --> | |||
<div style=" | |||
position: relative; | |||
flex: 1; | |||
min-width: 150px; | |||
background: rgba(135, 206, 250, 0.1); | |||
padding: 8px 14px; | |||
border-radius: 8px; | |||
border: 1px solid #007BFF; | |||
color: #007BFF; | |||
font-weight: bold; | |||
font-size: 1em; /* пропорційний розмір */ | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
text-align: center; | |||
cursor: pointer; | |||
"> | |||
<!-- Текст у кутку --><span style="position: absolute; top: 6px; left: 8px;">← Назад</span> | |||
<!-- Основний текст --> | |||
<br> | |||
[[Інтеграція з ApplePay]] | |||
</div> | |||
<!-- Права кнопка --> | |||
<div style=" | |||
position: relative; | |||
flex: 1; | |||
min-width: 150px; | |||
background: rgba(135, 206, 250, 0.1); | |||
padding: 8px 14px; | |||
border-radius: 8px; | |||
border: 1px solid #007BFF; | |||
color: #007BFF; | |||
font-weight: bold; | |||
font-size: 1em; /* пропорційний розмір */ | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
text-align: center; | |||
cursor: pointer; | |||
"> | |||
<span style="position: absolute; top: 6px; right: 8px;">Далі →</span> | |||
<!-- Основний текст --> | |||
[[Створення підпису]] | |||
</div> | |||
</div> |
Поточна версія на 12:45, 14 серпня 2025
Загальні вимоги
- Ваш сайт повинен працювати за схемою HTTPS та підтримувати протокол TLS 1.2.
- Потрібно погодитися з умовами надання послуг GooglePay.
- Необхідно укласти договір із Easypay.ua.
Документація
Вимоги щодо брендування
Оплата з платіжної сторінки Easypay
При такому способі підключення немає потреби у додаткових інтеграціях. Кнопка GooglePay відображається на сторінці оплати EasyPay.
Отримання токена GooglePay для оплати
*Використовуйте бойове середовище GooglePay для отримання PaymentData
Для отримання PaymentData. Як параметри скрипта вкажіть:
- Доступні методи платежу:
var allowedPaymentMethods = ['CARD', 'TOKENIZED_CARD']
; - Тип токенізації -
PAYMENT_GATEWAY: tokenizationType: 'PAYMENT_GATEWAY'
; - Параметр gateway: easypay;
- Параметр gateway MerchantId: Ваш бойовий merchantAccount от Google, який повідомляє в EasyPay.
Якщо з вашого боку інтеграція виконана правильно, Ви на своєму сайті/додатку отримаєте кнопку
Після натискання кнопки на пристрої з підключеним Google Pay з'явиться спливаюче вікно або форма вибору прив'язаної картки.
Приклад відповіді від GooglePay Api
{
"apiVersionMinor":0,
"apiVersion":2,
"paymentMethodData":{
"description":"Mastercard •••• 1164",
"tokenizationData":{
"type":"PAYMENT_GATEWAY",
"token":"{"signature":"MEUCeretMPEQPUMnvMOnDAgZsOLVnFnfjmo5ALe/1D6o7hdzAiEA94L1GfNWW84kbUdHHn+l6B6n18VgIA3sdkPqKL36tqk\u003d","intermediateSigningKey":{"signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEem3biYxltOBuMV+Dd9g+ZhV3VEzP2vAlFXvb9tJoYGLtetxDYWTUqnXPvKGDeAnSNrkPo8hu5kLtxN0QXCYkqQ\\u003d\\u003d\",\"keyExpiration\":\"1551385212256\"}","signatures":["MEYCIQD/TWKunZJhG/u3iL2H5P3i9r0rCbpw1/+z9dr/yGytvwIhAPfV2zF5cqP/L+42W+JKv6fgQKBEc67HTtfderefdghJ"]},"protocolVersion":"ECv2","signedMessage":"{\"encryptedMessage\":\"OidSptk8w+I3FnR1VFmiVswXaZ7ADnmMP1MQelp6GSg0/3aVpAXeLRH/fT1wN7gpxNPy7tFITeQenrJm3QG19tAPuVhcAVM26DMU6LAmZPyPXALktpnYrUj6etCjvWWM/1LkhjDBSjtkmpWRiHIyqj5aud/j8rxFEk06GhwqPWbnJwdCgNf32LJP7bSpUWvHOioaZIV1vdeV6d7iQ6EDWWAS/z9pXWkqpW//M/TVTrcKFXh4C2TI2O+qyBD9VzK3TqU6wS5VsYL69W9/4xzV5L5irpp/wzNfPHkJd8QIwcsIPuNWBtGm3v+JCaqIA3oK9Sw/5o/gZp/pnOhUdax0VjGEvmbGXs2+ufBChCkh+/BpobbpzVS9T/DZSlUO2FLANMjSaEQzh74ymtDgP4x9O64RAdySW+V7lVZMa7FVZ3PFnTfa8W89pzIgo6ocSGHQPBFnExTmSbDpUU0L12wzHkAcZSyngPAljqg\\u003d\",\"ephemeralPublicKey\":\"BBKgbSbykNy1111QYRmGJEhnCorkt+VoDYlYbAlg0a5WO2uV/M50XqOSG0uxWAvUqrZolQuEX6yZ+dvvufLEZtI\\u003d\",\"tag\":\"p9ItvOfsQVTzhTPHq6ycYjKX1TtozP/yym4QWWVRVCk\\u003d\"}"}"
},
"type":"CARD",
"info":{
"cardNetwork":"MASTERCARD",
"cardDetails":"1164",
"billingAddress":{
"phoneNumber":"+380 93 000 00 11",
"address3":"",
"sortingCode":"",
"address2":"",
"countryCode":"UA",
"address1":"ул. ",
"postalCode":"49107",
"name":"Super 1",
"locality":"Київ",
"administrativeArea":"Київська область"
}
}
},
"email":"test@easypay.ua"
}
Передача токена для оплати
Надішліть дані з поля token з відповіді від GooglePay Api у поле userPaymentInstrument/token у Easypay (розділ Створення замовлення)
Перед цим потрібно викликати метод EasyPayApi createApp.
Приклад запиту
POST /api/merchant/createOrder
{
"order":{
"serviceKey":"MERCHANT-TEST",
"orderId":"test_20210000-171148",
"description":"Test payment",
"amount":"1"
},
"userPaymentInstrument":{
"instrumentType":"GooglePay",
"token":"{\"signature\":\"MEQCIFTFadYw15Cqfk7+YiM9pp5zEvyTI7oWVZCNFKr1cMthAiAFMv+nt0PWOEhj6LmmMNTByP9E4OhGrSoE7rDvzLDIZw\\u003d\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsrkMsOBN8N0xL8AsTVUIETODhCva5PpGFxvPm56pWmI5MG2HKKHXjsdhdvcP6N3d40x90E0rZzDrxBC2ywERXg\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1618591579000\\\"}\",\"signatures\":[\"MEUCIHX0SawuKctPUEjdFu2sDiE81aSSdf8i0KNvdg1dlsWoAiEAye8TEWpPk4sp7EjTovN7DichK6YxY1DajYN9/ArHDYI\\u003d\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"vlLmhIBndM4a/GWFsvbFZrZOygjAwUao/NlvlJlhAQ3kdprI3gubAcQxAau8L74dkzGJh8w7AD2E77XOHycdwG91NUvsJ0xiXuMCXHJ9NPMhp7k49OUIJjOpJG+RqUM9/SPBgx69eDD7skhG+axZYr/m36LFjIlk5WhmumQgIrfojm02uRm0nOcZ2wbvrwQKZyL1IeTv/txqcYMuQqYWzs/FPkIEbiQ80z6dRhVszrEXcHLKcfBmNmcn/Vk90ArXCotOD52V0JS/Q+Mf9mCoe9G2bABo9R9PAYT/FrKIEOQEhzLCI7m4/vyIlCMf69d6PjigP3AOGxykbS0Kvsxqoh+HYRFCSLCd+8O2Us2wCYD09/OBqcQi78/fs2vwyg4nrWQQJ6ZGwTKHHxVRY8VGAUUnMFr18HPsN1BQNuz08M4t6Qx6X0nEZ3hseSIcUMVcBm+NyvL2T/XSWqTh2poDuQ4B+UJ59gMrsPapzouxk2iC/+vS1Bs/2sSf77Nsqr7BhE7SMgnZ/a2LF+Shx2aOKSIGflMz+MjVSzpMg2AUh43pbcsi8g\\\\u003d\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BDJpYzoN9XPVKrHIxwNes83HbR0/AOUPpQgAwi3fTzR+TIB8/VAc9CdI9guWX8Pjvii/T+WxwcByuo9pzJC7518\\\\u003d\\\",\\\"tag\\\":\\\"LFOOTwd5Crtn60KnT0J6MHuFlGE0+EYL3D7IrWrPsRA\\\\u003d\\\"}\"}",
}
}
← Назад
Інтеграція з ApplePay
Далі →
Створення підпису