Крок 1: Створення cесії
...
Параметр | Опис | Тип | Чи обов'язковий це параметр? | Приклад |
---|---|---|---|---|
id | id картки в системі UAPAY | STRING | Так | "11389a5a-efb5-4e1d-85c1-068df5bb0357" |
panMasked | Маскований PAN картки | STRING | Так | "1111224444" |
panHashed | Хеш PAN картки | STRING | Так | "AwHkjhy32jz/9zF9J3koov8fTChboACkdYN+3Ye4=" |
...
Code Block | ||
---|---|---|
| ||
{ "params":{ "id":"11389a5a-efb5-4e1d-85c1-068df5bb0357", "sessionId":"690f8123-3a12-4eef-bcac-2fb82a34bd11" , }, "datadevice": { "externalIdacceptHeader": "000004*/*", "secureCodeip":"123" "91.137.205.117", } } |
Де:
...
Параметр
...
Параметри
...
sessionId
...
id сесії яку ми отримали після розшифровки підписаної відповіді попереднього запиту. Цей параметр взагалі треба передавати у всіх запитах
...
Данні
...
Підписання запиту
Підписуємо запит таким саме чином, як і запит на створення сесії. Тобто, за допомогою бібліотеки jwt та ключа який ми отримали у кабінеті алгоритмом HS256. І отримуємо token:
Code Block |
---|
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsic2Vzc2lvbklkIjoiYjM4Y2VjZDMtMjhkYi00MWY0LTk5MzUtOWY0MTFhYzdhNWViIn0sImRhdGEiOnsidHlwZSI6IlNVQlNDUklCRSIsImV4dGVybmFsSWQiOiIwMDAwNSIsImRlc2NyaXB0aW9uIjoi0KLQtdGB0YLQvtCy0LjQuSDQv9C70LDRgtGW0LYg0LTQu9GPINGB0YLQstC-0YDQtdC90L3RjyDQv9GW0LTQv9C40YHQutC4IiwiYW1vdW50IjozMDAwLCJjdXJyZW5jeSI6OTgwLCJ1c2VyUmVkaXJlY3RVcmwiOiJodHRwczovL3VhcGF5LnVhIiwiY2FsbGJhY2tVcmwiOiJodHRwczovL3VhcGF5LnVhIiwiZXh0cmFJbmZvIjoie30iLCJyZWN1cnJpbmdJbnRlcnZhbCI6MzAsImV4cGlyZXNBdCI6IjIwMTgtMTItMzEiLCJjYXJkRnJvbSI6eyJpZCI6ImI0Y2EzZGI0LWI1MWEtNGYwZC1hZjY4LWE5OGRhZTA1OWMzYiIsInNlY3VyaXR5Q29kZSI6IjEyMyJ9fSwiaWF0IjoxNTM0ODY0MDI2fQ.cOap39IPpciFPUd0IpQ0VMp-Cejgo95QDD_Na6Up8Sw |
Code Block | ||
---|---|---|
| ||
{ "params":{ "colorDepth": 24, "javaEnabled": false, "language": "ua", "screenHeight": 864, "screenWidth": 1536, "windowHeight": 734, "windowWidth": 1479, "time": "2021-10-07T14:55:52.832Z", "timezoneOffset": -180, "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" } }, "data":{ "externalId":"000004", "secureCode":"123" } } |
Де:
Параметр | Опис | Тип | Обов'язковий параметр чи ні? | Приклад |
---|---|---|---|---|
Параметри | ||||
sessionId | id сесії яку ми отримали після розшифровки підписаної відповіді попереднього запиту. Цей параметр взагалі треба передавати у всіх запитах | STRING | Так | "4bda7e34-a1c7-4587-b43b-06c506388ce7" |
id | ИД картки | STRING | Так | "11389a5a-efb5-4e1d-85c1-068df5bb0357" |
device | Об'єкт з інформацією про браузер / пристрій платника | OBJECT | Так | {"acceptHeader":"*/*","ip":"91.137.205.117","colorDepth":24,"javaEnabled":false,"language":"ua","screenHeight":864,"screenWidth":1536,"windowHeight":734,"windowWidth":1479,"time":"2021-10-07T14:55:52.832Z","timezoneOffset":-180,"userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36"} |
Данні | ||||
externalId | Унікальний номер платежу у системі клієнта. За допомогою цього параметру ви будете знати до якого замовлення\кошика\клієнта віднесено ту чи іншу оплату | STRING | Так | "000004", "1", "123" |
secureCode | CVV | STRING | Так | "123" |
Підписання запиту
Підписуємо запит таким саме чином, як і запит на створення сесії. Тобто, за допомогою бібліотеки jwt та ключа який ми отримали у кабінеті алгоритмом HS256. І отримуємо token:
Code Block |
---|
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsiaWQiOiIxMTM4OWE1YS1lZmI1LTRlMWQtODVjMS0wNjhkZjViYjAzNTciLCJzZXNzaW9uSWQiOiI2OTBmODEyMy0zYTEyLTRlZWYtYmNhYy0yZmI4MmEzNGJkMTEiLCJkZXZpY2UiOnsiYWNjZXB0SGVhZGVyIjoiKi8qIiwiaXAiOiI5MS4xMzcuMjA1LjExNyIsImNvbG9yRGVwdGgiOjI0LCJqYXZhRW5hYmxlZCI6ZmFsc2UsImxhbmd1YWdlIjoidWEiLCJzY3JlZW5IZWlnaHQiOjg2NCwic2NyZWVuV2lkdGgiOjE1MzYsIndpbmRvd0hlaWdodCI6NzM0LCJ3aW5kb3dXaWR0aCI6MTQ3OSwidGltZSI6IjIwMjEtMTAtMDdUMTQ6NTU6NTIuODMyWiIsInRpbWV6b25lT2Zmc2V0IjotMTgwLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS85Mi4wLjQ1MTUuMTU5IFNhZmFyaS81MzcuMzYifX0sImRhdGEiOnsiZXh0ZXJuYWxJZCI6IjAwMDAwNCIsInNlY3VyZUNvZGUiOiIxMjMifSwiaWF0IjoxNTM0ODY0MDI2fQ.adRm-UP3gxwKdHWhrw4pZgUUlW25AXLpg_tQomyJO4g
|
Code Block | ||
---|---|---|
| ||
{ "params":{ "id":"11389a5a-efb5-4e1d-85c1-068df5bb0357", "sessionId":"690f8123-3a12-4eef-bcac-2fb82a34bd11", "device": { "acceptHeader": "*/*", "ip": "91.137.205.117", "colorDepth": 24, "javaEnabled": false, "language": "ua", "screenHeight": 864, "screenWidth": 1536, "windowHeight": 734, "windowWidth": 1479, "time": "2021-10-07T14:55:52.832Z", "timezoneOffset": -180, "iduserAgent":"11389a5a-efb5-4e1d-85c1-068df5bb0357", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" "sessionId":"690f8123-3a12-4eef-bcac-2fb82a34bd11"} }, "data":{ "externalId":"000004", "secureCode":"123" }, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsic2Vzc2lvbklkIjoiYjM4Y2VjZDMtMjhkYi00MWY0LTk5MzUtOWY0MTFhYzdhNWViIn0sImRhdGEiOnsidHlwZSI6IlNVQlNDUklCRSIsImV4dGVybmFsSWQiOiIwMDAwNSIsImRlc2NyaXB0aW9uIjoi0KLQtdGB0YLQvtCy0LjQuSDQv9C70LDRgtGW0LYg0LTQu9GPINGB0YLQstC-0YDQtdC90L3RjyDQv9GW0LTQv9C40YHQutC4IiwiYW1vdW50IjozMDAwLCJjdXJyZW5jeSI6OTgwLCJ1c2VyUmVkaXJlY3RVcmwiOiJodHRwczovL3VhcGF5LnVhIiwiY2FsbGJhY2tVcmwiOiJodHRwczovL3VhcGF5LnVhIiwiZXh0cmFJbmZvIjoie30iLCJyZWN1cnJpbmdJbnRlcnZhbCI6MzAsImV4cGlyZXNBdCI6IjIwMTgtMTItMzEiLCJjYXJkRnJvbSI6eyJpZCI6ImI0Y2EzZGI0LWI1MWEtNGYwZC1hZjY4LWE5OGRhZTA1OWMzYiIsInNlY3VyaXR5Q29kZSI6IjEyMyJ9fSwiaWF0IjoxNTM0ODY0MDI2fQeyJwYXJhbXMiOnsiaWQiOiIxMTM4OWE1YS1lZmI1LTRlMWQtODVjMS0wNjhkZjViYjAzNTciLCJzZXNzaW9uSWQiOiI2OTBmODEyMy0zYTEyLTRlZWYtYmNhYy0yZmI4MmEzNGJkMTEiLCJkZXZpY2UiOnsiYWNjZXB0SGVhZGVyIjoiKi8qIiwiaXAiOiI5MS4xMzcuMjA1LjExNyIsImNvbG9yRGVwdGgiOjI0LCJqYXZhRW5hYmxlZCI6ZmFsc2UsImxhbmd1YWdlIjoidWEiLCJzY3JlZW5IZWlnaHQiOjg2NCwic2NyZWVuV2lkdGgiOjE1MzYsIndpbmRvd0hlaWdodCI6NzM0LCJ3aW5kb3dXaWR0aCI6MTQ3OSwidGltZSI6IjIwMjEtMTAtMDdUMTQ6NTU6NTIuODMyWiIsInRpbWV6b25lT2Zmc2V0IjotMTgwLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS85Mi4wLjQ1MTUuMTU5IFNhZmFyaS81MzcuMzYifX0sImRhdGEiOnsiZXh0ZXJuYWxJZCI6IjAwMDAwNCIsInNlY3VyZUNvZGUiOiIxMjMifSwiaWF0IjoxNTM0ODY0MDI2fQ.cOap39IPpciFPUd0IpQ0VMpadRm-Cejgo95QDDUP3gxwKdHWhrw4pZgUUlW25AXLpg_Na6Up8SwtQomyJO4g" } |
Відправлення запиту на сервер
...
Code Block | ||
---|---|---|
| ||
{ "status": 1, "data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE5Y2M1ZTg0LTY0YWEtNDRiMC1iMjY2LTljNzI5OGQ2ODAwOSIsIm51bWJlciI6IjE0NjcxIiwia2V5IjoiNDE2Zk5MVnA0dXlkalRNMktSQVcxbVVuYUs4eXoyRkM5ZFZmaEZVTm40NHcuamwzdnB6ODg5MjM5ODc3MjcwNSIsIm9yZGVySWQiOiJiYjRiYzRiNi1mZWYxLTRjNjItOTVmZC03ZTU4MTVmNDMxY2QiLCJpYXQiOjE1MzQ4NjYyMjV9eyJzdGF0dXMiOjEsImRhdGEiOnsiaWQiOiJkMTMyMjBiNS1kZDY0LTQxNzUtYjFiNi04NjQ0ZjM1NzgwNjciLCJrZXkiOiJFR3l6Ylhrd00yVkw5bko4Q2d3MzhnR1dzU3hxcFI1ejFvYmRKUVhRdFZMNy5qYzBiY3RpZjc0Mzc3NTYwMzY2NCJ9LCJpYXQiOjE1MzQ4NjQwMjZ9.V6c7l5XoG0-mqYQ5SgeG-MUVnGjuDgvkcFEfqC5Hk0gi-HLZnu350_IvPs0q6_Y6v2KMQnR5aFi8ZB4iRp0z90" } } |
Де:
Параметр | Опис | Тип | Приклад |
---|---|---|---|
status | Коротке повідомлення про успіх або помилку при виконанні запиту. 1 - запит виконано успішно, 0 - сталась помилка при виконанні запиту | INT | 1 або 0 |
token | Токен для розшифровки | STRING | "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE5Y2M1ZTg0LTY0YWEtNDRiMC1iMjY2LTljNzI5OGQ2ODAwOSIsIm51bWJlciI6IjE0NjcxIiwia2V5IjoiNDE2Zk5MVnA0dXlkalRNMktSQVcxbVVuYUs4eXoyRkM5ZFZmaEZVTm40NHcuamwzdnB6ODg5MjM5ODc3MjcwNSIsIm9yZGVySWQiOiJiYjRiYzRiNi1mZWYxLTRjNjItOTVmZC03ZTU4MTVmNDMxY2QiLCJpYXQiOjE1MzQ4NjYyMjV9eyJzdGF0dXMiOjEsImRhdGEiOnsiaWQiOiJkMTMyMjBiNS1kZDY0LTQxNzUtYjFiNi04NjQ0ZjM1NzgwNjciLCJrZXkiOiJFR3l6Ylhrd00yVkw5bko4Q2d3MzhnR1dzU3hxcFI1ejFvYmRKUVhRdFZMNy5qYzBiY3RpZjc0Mzc3NTYwMzY2NCJ9LCJpYXQiOjE1MzQ4NjQwMjZ9.V6c7l5XoG0-mqYQ5SgeG-MUVnGjuDgvkcFEfqC5Hk0gi-HLZnu350_IvPs0q6_Y6v2KMQnR5aFi8ZB4iRp0z90" |
Розшифровка підписаної відповіді
...