UAPAY - національний платіжний сервіс
Створення картки з механізмом авторизації
Крок 1: Створення cесії
Для того, щоб створити запит на створення сесії потрібно:
Написати запит на створення сесії
Підписати його за допомогою бібліотеки jwt
Виконати запит на створення сесії
Отримати відповідь і розшифрувати її, там ми отрмаємо id сесії
Запит на URL /api/sessions/create методом POST
Для початку роботи з системою потрібно створити сесію для свого магазину, від імені якої будуть виконуватись всі подальші дії
Створювати сесію перед кожним платежем не обов'язково, але ми рекомендуємо оновлювати сесію хоча б раз в день
Створення сесії
Написання запиту
Для початку, напишемо наш запит:
{
"params":{
"clientId":"636"
},
"iat": "1534862833"
}
де:
Параметр | Опис | Тип | Чи обов'язковий це параметр? | Приклад |
|---|---|---|---|---|
clientid | id користувача (можна отримати в кабінеті компанії) | INT | Так | 1 |
iat | International Atomic Time. В нашій ситуації це "UNIX-час", тобто, кількість секунд, яка пройшла з 1 січня 1970 р. до моменту виконання запиту | INT | Так | 1534862833 |
Підписання запиту
Підпишемо наш запит за допомогою jwt та алгоритму HS256. Сам процес підписання може мати відмінності в залежності від того, яку реалізацію бібліотеки ви оберете. Але, після нього ви отримаєте рядок, в якому буде зашифровано ваш запит:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsiY2xpZW50SWQiOiI2MzYifSwiaWF0IjoiMTUzNDg2MjgzMyJ9.msXU79dd1DcVo4gwIUqBF_2PSLg0eFNEVCzRTiOvkfwФормування запиту для відправлення на сервер
У запиті потрібно передавати і запит у незашифровану вигляді, а також, у підписаному (зашифрованому), у вигляді змінної "token". Тобто, наш запит буде виглядати так:
{
"params": {
"clientId": "636"
},
"iat": 1534862833,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsiY2xpZW50SWQiOiI2MzYifSwiaWF0IjoiMTUzNDg2MjgzMyJ9.msXU79dd1DcVo4gwIUqBF_2PSLg0eFNEVCzRTiOvkfw"
}де:
Параметр | Опис | Тип | Чи обов'язковий це параметр? | Приклад |
|---|---|---|---|---|
clientid | id користувача (можна отримати в кабінеті компанії) | INT | Так | 1 |
iat | International Atomic Time. В нашій ситуації це "UNIX-час", тобто, кількість секунд, яка пройшла з 1 січня 1970 р. до моменту виконання запиту | INT | Так | 1534862833 |
token | Той самий запит, але який вже попередньо зашифрований за допомогою бібліотеки jwt секретним ключем методом HS256 | STRING | Так | "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsiY2xpZW50SWQiOiIxMzIifSwiaWF0IjoxNTI5OTI3NTUyfQ.I3Ap79vaShIxuBFjbB-8gs1d2j1EoEVchf0DP0DGICg" |
Відправлення запиту
Запит треба виконати методом POST, тіло запиту має бути у форматі application/json. Адреса https://api.demo.uapay.ua/api/sessions/create .
У відповідь ми отримаємо:
{
"status": 1,
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImIzOGNlY2QzLTI4ZGItNDFmNC05OTM1LTlmNDExYWM3YTVlYiIsImlhdCI6MTUzNDg2Mjg0Mn0.cXRUNzI75I3HKlE25Uzy3N-CmGDfVE4K5de98sGJmAg"
}
}Де:
Параметр | Опис | Тип | Приклад |
|---|---|---|---|
status | Коротке повідомлення про успіх або помилку при виконанні запиту. 1 - запит виконано успішно, 0 - сталась помилка при виконанні запиту | INT | 1 або 0 |
token | Підписана UAPAY відповідь яка містить id сесії. | STRING | "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImIzOGNlY2QzLTI4ZGItNDFmNC05OTM1LTlmNDExYWM3YTVlYiIsImlhdCI6MTUzNDg2Mjg0Mn0.cXRUNzI75I3HKlE25Uzy3N-CmGDfVE4K5de98sGJmAg" |
Розшифровка відповіді
Тепер ми можемо розшифрувати відповідь. Для цього треба застосувати функцію decode бібліотеки jwt, передати їй ваш секретний ключ, параметр алгоритму (HS256) та рядок який ви отримали у відповіді після запиту у параметрі "token". В результаті ви отримаєте
{
"id": "b38cecd3-28db-41f4-9935-9f411ac7a5eb",
"iat": 1534862842
}Де:
Параметр | Опис | Тип | Приклад |
|---|---|---|---|
status | Коротке повідомлення про успіх або помилку при виконанні запиту. 1 - запит виконано успішно, 0 - сталась помилка при виконанні запиту | INT | 1 або 0 |
id | id сесії | STRING | "b38cecd3-28db-41f4-9935-9f411ac7a5eb" |
iat | International Atomic Time. В нашій ситуації це "UNIX-час", тобто, кількість секунд, яка пройшла з 1 січня 1970 р. до моменту виконання запиту | INT | 1534862842 |
Крок 2: Створення картки
Запит для створення картки.
URL: https://api.demo.uapay.ua/api/cards/create
{
"data":{
"pan":"1111222233334444",
"expiresAt":"2020-01"
},
"params":{
"sessionId":"690f8123-3a12-4eef-bcac-2fb82a34bd11"
}
}
де:
Параметр | Опис | Тип | Чи обов'язковий це параметр? | Приклад |
|---|---|---|---|---|
data.pan | Номер картки (16 знаків) | STRING | Так | "1111222233334444" |
data.expiresAt | Термін дії картки | STRING | Ні | "2020-01" |
params.sessionId | ID сессіії | STRING | Так | "690f8123-3a12-4eef-bcac-2fb82a34bd11" |
Підписання запиту
Підпишемо наш запит за допомогою jwt та алгоритму HS256. Сам процес підписання може мати відмінності в залежності від того, яку реалізацію бібліотеки ви оберете. Але, після нього ви отримаєте рядок, в якому буде зашифровано ваш запит:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsiY2xpZW50SWQiOiI2MzYifSwiaWF0IjoiMTUzNDg2MjgzMyJ9.msXU79dd1DcVo4gwIUqBF_2PSLg0eFNEVCzRTiOvkfwФормування запиту для відправлення на сервер
Потрібно передавати запит у незашифровану вигляді, а також, у підписаному (зашифрованому), у вигляді змінної "token". Тобто, наш запит на створення сесії буде виглядати приблизно так:
{
"data":{
"pan":"1111222233334444",
"expiresAt":"2020-01"
},
"params":{
"sessionId":"690f8123-3a12-4eef-bcac-2fb82a34bd11"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsiY2xpZW50SWQiOiI2MzYifSwiaWF0IjoiMTUzNDg2MjgzMyJ9.msXU79dd1DcVo4gwIUqBF_2PSLg0eFNEVCzRTiOvkfw"
}Розшифровка відповіді від серверу
Тепер ми можемо розшифрувати відповідь. Для цього треба застосувати функцію decode бібліотеки jwt, передати їй ваш секретний ключ, параметр алгоритму (HS256) та рядок який ви отримали у відповіді після запиту у параметрі "token". В результаті ви отримаєте
{
"status": 1,
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImIzOGNlY2QzLTI4ZGItNDFmNC05OTM1LTlmNDExYWM3YTVlYiIsImlhdCI6MTUzNDg2Mjg0Mn0.cXRUNzI75I3HKlE25Uzy3N-CmGDfVE4K5de98sGJmAg"
}
}Де:
Параметр | Опис | Тип | Приклад |
|---|---|---|---|
status | Коротке повідомлення про успіх або помилку при виконанні запиту. 1 - запит виконано успішно, 0 - сталась помилка при виконанні запиту | INT | 1 або 0 |
token | Підписана UAPAY відповідь яка містить id картки. | STRING | "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImIzOGNlY2QzLTI4ZGItNDFmNC05OTM1LTlmNDExYWM3YTVlYiIsImlhdCI6MTUzNDg2Mjg0Mn0.cXRUNzI75I3HKlE25Uzy3N-CmGDfVE4K5de98sGJmAg" |
Розшифрована відповідь
{
"id":"11389a5a-efb5-4e1d-85c1-068df5bb0357",
"panMasked":"1111224444",
"panHashed":"AwHkjhy32jz/9zF9J3koov8fTChboACkdYN+3Ye4="
}
де:
Параметр | Опис | Тип | Чи обов'язковий це параметр? | Приклад |
|---|---|---|---|---|
id | id картки в системі UAPAY | STRING | Так | "11389a5a-efb5-4e1d-85c1-068df5bb0357" |
panMasked | Маскований PAN картки | STRING | Так | "1111224444" |
panHashed | Хеш PAN картки | STRING | Так | "AwHkjhy32jz/9zF9J3koov8fTChboACkdYN+3Ye4=" |
Крок 3: Запит на підтвердження карти
Перед створенням платежу є обов'язковим наявніть сесії, якщо її немає, треба створити як описано на кроці 1.
На цьому кроці ми створюємо платіж. Для цього потрібно виконати такі дії:
Написати запит на створення платежу, додати в нього id сесії
Підписати його за допомогою бібліотеки jwt
Виконати запит на створення платежу
Отримати відповідь та розшифрувати її. У відповіді будуть номер замовлення, номер платежу, id платежу та ключ платежу. Останні два потрібні для наступного кроку (підтвердження платежу).
Написання запиту
Запит треба виконати методом POST, тіло запиту має бути у форматі application/json. Адреса https://api.demo.uapay.ua/api/cards/confirm
Напишемо запит на створення платежу (замовлення):
{
"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": "en-US",
"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":"en-US","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:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsiaWQiOiIxMTM4OWE1YS1lZmI1LTRlMWQtODVjMS0wNjhkZjViYjAzNTciLCJzZXNzaW9uSWQiOiI2OTBmODEyMy0zYTEyLTRlZWYtYmNhYy0yZmI4MmEzNGJkMTEiLCJkZXZpY2UiOnsiYWNjZXB0SGVhZGVyIjoiKi8qIiwiaXAiOiI5MS4xMzcuMjA1LjExNyIsImNvbG9yRGVwdGgiOjI0LCJqYXZhRW5hYmxlZCI6ZmFsc2UsImxhbmd1YWdlIjoiZW4tVVMiLCJzY3JlZW5IZWlnaHQiOjg2NCwic2NyZWVuV2lkdGgiOjE1MzYsIndpbmRvd0hlaWdodCI6NzM0LCJ3aW5kb3dXaWR0aCI6MTQ3OSwidGltZSI6IjIwMjEtMTAtMDdUMTQ6NTU6NTIuODMyWiIsInRpbWV6b25lT2Zmc2V0IjotMTgwLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS85Mi4wLjQ1MTUuMTU5IFNhZmFyaS81MzcuMzYifX0sImRhdGEiOnsiZXh0ZXJuYWxJZCI6IjAwMDAwNCIsInNlY3VyZUNvZGUiOiIxMjMifSwiaWF0IjoxNTM0ODY0MDI2fQ.May9uR8JQofJjmcUoD3pwhfUEtXhSzLuYtetPxzwsuc{
"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": "en-US",
"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"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsiaWQiOiIxMTM4OWE1YS1lZmI1LTRlMWQtODVjMS0wNjhkZjViYjAzNTciLCJzZXNzaW9uSWQiOiI2OTBmODEyMy0zYTEyLTRlZWYtYmNhYy0yZmI4MmEzNGJkMTEiLCJkZXZpY2UiOnsiYWNjZXB0SGVhZGVyIjoiKi8qIiwiaXAiOiI5MS4xMzcuMjA1LjExNyIsImNvbG9yRGVwdGgiOjI0LCJqYXZhRW5hYmxlZCI6ZmFsc2UsImxhbmd1YWdlIjoiZW4tVVMiLCJzY3JlZW5IZWlnaHQiOjg2NCwic2NyZWVuV2lkdGgiOjE1MzYsIndpbmRvd0hlaWdodCI6NzM0LCJ3aW5kb3dXaWR0aCI6MTQ3OSwidGltZSI6IjIwMjEtMTAtMDdUMTQ6NTU6NTIuODMyWiIsInRpbWV6b25lT2Zmc2V0IjotMTgwLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS85Mi4wLjQ1MTUuMTU5IFNhZmFyaS81MzcuMzYifX0sImRhdGEiOnsiZXh0ZXJuYWxJZCI6IjAwMDAwNCIsInNlY3VyZUNvZGUiOiIxMjMifSwiaWF0IjoxNTM0ODY0MDI2fQ.May9uR8JQofJjmcUoD3pwhfUEtXhSzLuYtetPxzwsuc"
}Відправлення запиту на сервер
У відповідь ми отримаємо:
{
"status": 1,
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdGF0dXMiOjEsImRhdGEiOnsiaWQiOiJkMTMyMjBiNS1kZDY0LTQxNzUtYjFiNi04NjQ0ZjM1NzgwNjciLCJrZXkiOiJFR3l6Ylhrd00yVkw5bko4Q2d3MzhnR1dzU3hxcFI1ejFvYmRKUVhRdFZMNy5qYzBiY3RpZjc0Mzc3NTYwMzY2NCJ9LCJpYXQiOjE1MzQ4NjQwMjZ9.i-HLZnu350_IvPs0q6_Y6v2KMQnR5aFi8ZB4iRp0z90"
}
}Де:
Параметр | Опис | Тип | Приклад |
|---|---|---|---|
status | Коротке повідомлення про успіх або помилку при виконанні запиту. 1 - запит виконано успішно, 0 - сталась помилка при виконанні запиту | INT | 1 або 0 |
token | Токен для розшифровки | STRING | "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdGF0dXMiOjEsImRhdGEiOnsiaWQiOiJkMTMyMjBiNS1kZDY0LTQxNzUtYjFiNi04NjQ0ZjM1NzgwNjciLCJrZXkiOiJFR3l6Ylhrd00yVkw5bko4Q2d3MzhnR1dzU3hxcFI1ejFvYmRKUVhRdFZMNy5qYzBiY3RpZjc0Mzc3NTYwMzY2NCJ9LCJpYXQiOjE1MzQ4NjQwMjZ9.i-HLZnu350_IvPs0q6_Y6v2KMQnR5aFi8ZB4iRp0z90" |
Розшифровка підписаної відповіді
Тепер ми можемо розшифрувати відповідь. Для цього треба застосувати функцію decode бібліотеки jwt, передати їй ваш секретний ключ, параметр алгоритму (HS256) та рядок який ви отримали у відповіді після запиту у параметрі "token". В результаті ви отримаєте:
{
"status":1,
"data":{
"id":"d13220b5-dd64-4175-b1b6-8644f3578067",
"key":"EGyzbXkwM2VL9nJ8Cgw38gGWsSxqpR5z1obdJQXQtVL7.jc0bctif743775603664"
}
}Де:
Параметр | Опис | Тип | Приклад |
|---|---|---|---|
status | Коротке повідомлення про успіх або помилку при виконанні запиту. 1 - запит виконано успішно, 0 - сталась помилка при виконанні запиту | INT | 1 або 0 |
id | ІД платежу | STRING | "d13220b5-dd64-4175-b1b6-8644f3578067" |
key | Ключ для підписання запиту | STRING | "EGyzbXkwM2VL9nJ8Cgw38gGWsSxqpR5z1obdJQXQtVL7.jc0bctif743775603664" |
Крок 4: Перевірка статусу платежу
Після створення платежу
Тепер наш платіж знаходиться в одному з п'яти статусів. І нам потрібно з'ясувати в якому, бо від цього залежать наші подальші дії. Для початку виконаємо запит на /api/payments/ecom/show.
Про метод "show"
До цього методу нам потрібно буде звертатись кожного разу після виконання запиту для будь якої активної дії: спроби зняти гроші, спроби зарахувати гроші та спроби повторити транзакцію.
Написання запиту
{
"params": {
"sessionId":"b38cecd3-28db-41f4-9935-9f411ac7a5eb",
"id": "a9cc5e84-64aa-44b0-b266-9c7298d68009"
}
}Де:
Параметр | Опис | Тип | Приклад |
|---|---|---|---|
sessionId | id сесії яку ми отримали після розшифровки підписаної відповіді запиту на створення сесії. Цей параметр взагалі треба передавати у всіх запитах | STRING | "b38cecd3-28db-41f4-9935-9f411ac7a5eb" |
id | id платежу | STRING | "a9cc5e84-64aa-44b0-b266-9c7298d68009" |
Підписання запиту
Підписуємо запит таким саме чином, як і запит на створення сесії. Тобто, за допомогою бібліотеки jwt та ключа який ми отримали у кабінеті алгоритмом HS256. І отримуємо token:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsic2Vzc2lvbklkIjoiYjM4Y2VjZDMtMjhkYi00MWY0LTk5MzUtOWY0MTFhYzdhNWViIiwiaWQiOiI3ODZkNDE0Ni03M2NiLTQ1NGItOTMyMi01ZjNjYzMyYzMwOTAifSwiaWF0IjoxNTM0ODY1NjEyfQ.bg_9TYgktD9bMuDqoSWsPY5c__MnfnK69W83cycVP20{
"status": 1,
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE5Y2M1ZTg0LTY0YWEtNDRiMC1iMjY2LTljNzI5OGQ2ODAwOSIsInN0YXR1cyI6Ik5FRURTX0NPTkZJUk1BVElPTiIsImFtb3VudCI6MzAwMCwicGx1Z2luSWQiOjIsImNvbmZpcm1hdGlvbiI6eyJ0eXBlIjoiTE9PS1VQIiwiY29uZmlybWF0aW9uc0xlZnQiOjN9LCJpYXQiOjE1MzQ4NjYzMzJ9.uJkPdPtLpxAnXBBpJV7uqw26lRz_gu6hNjr_Os8deDU"
}
}Розшифровка підписаної відповіді
Тепер ми можемо розшифрувати відповідь. Для цього треба застосувати функцію decode бібліотеки jwt, передати їй ваш секретний ключ, параметр алгоритму (HS256) та рядок який ви отримали у відповіді після запиту у параметрі "token". В результаті ви отримаєте:
У відповідь ми отримаємо статус платежу (для LOOKUP):
{
"id": "a9cc5e84-64aa-44b0-b266-9c7298d68009",
"status": "NEEDS_CONFIRMATION",
"amount": 3000,
"pluginId": 2,
"confirmation": {
"type": "LOOKUP",
"confirmationsLeft": 3
},
"iat": 1534866332
}Або отримаємо статус платежу (для 3Ds):
{
"status": 1,
"data": {
"id": "a9cc5e84-64aa-44b0-b266-9c7298d68009",
"status": "NEEDS_CONFIRMATION",
"amount": 100,
"pluginId": 1,
"key": "C3ZwPKsoCkDbo6ryHDsicCtJBpwBa72ruQ7JKeTDgKRw.jp8j8up5583950198087",
"confirmation": {
"type": "3DS",
"url": "https://3ds.ukrsotsbank.com:443/way4acs/pa?id=XAVajg551ggIMco69PYLaQ",
"form": {
"PaReq": "eJxVUm1v4jAM/sy/qPYDyEtpKSiLxK3aDena6zam0+7LqSoedIxQkvbG+PWzU5hYpKq2nyd2/NhqsbYA6SNUnQWtMnCuXEFQL6+vitkD7P+JaBQm0WgcjkIRX+mB8mE9GKj/YF29M1oM+VAqdnYRaUqjo2icCD4WMuZxJMNEMYoimIGt1qVp0R6ostr/mOc6kvEkFoqdXEK2YOep5v2R/Q8ZfZgIptyCXoBrg3PGYFG6X7XZBIp5kFjVrjOt/dAJHyl2dgjo7Jtet20zZUzIMbbAh2Ia4mFZMWcP4JqdcVDYXYWS1GY1fHWNYnQLL7OLJlTRke36eod6qbPFE8+OK5Gn1TFPs0P+OnvPUv9dK0YMYi7LFrTkIhGSh4FIpqGcCnykj3tttvRckpejMr1D8YbqzU4gYZcB33NnLZjqQ08SRL88guCAbQHycGBfNjV00YS6uTvNpmpR69nz4Ub8Ld5/vzxNnv+83f7Mbc3v95v7zd2RJuZJp9w1iismPPHJa6+0YpQOC/i1IeX8hqH1bfM+AdjVwPU="
}
},
"redirect": {
"url": "https://api.demo.uapay.ua/api/payments/ecom/confirm",
"params": {
"id": "2128d32f-0358-4a69-8566-9415a9ba02e1"
},
"directAcs": null
}
},
"iat": 1534866332
}Де:
Параметр | Опис | Тип | Приклад |
|---|---|---|---|
status | Статус виконання операції перегляду статусу платежу. 1 - запит виконано успішно, 0 - сталась помилка при виконанні запиту | INT | 1 або 0 |
Тіло відповіді | |||
Id | id платежу в системі UAPAY | STRING | "a9cc5e84-64aa-44b0-b266-9c7298d68009" |
status | Статус платежу. Може набувати одного з таких значень: "NEW" - нове замовлення, по ньому не було здійснено оплату "FINISHED" - завершене замовлення. Наш улюблений статус. Гроші було знято та зараховано на рахунки UAPAY, скоро ви отримаєте гроші на розрахунковий рахунок, який було вказано в налаштуваннях магазину "REJECTED" - платіж по замовленню не був здійснений по технічним причинам. Наприклад, платіж був відмінений банком через те, що картку платника було вкрадено. Або, можливо, злі тхори перегризли всі дроти в дата-центрах Amazon і ми впродовж довгого часу не змогли провести платіж, через що банк відмінив транзакцію. "NEEDS_CONFIRMATION" - платіж потребує підтвердження | STRING | "NEEDS_CONFIRMATION" |
amount | Сума переказу в копійках | INT | 3000 |
Інформація про підтвердження переказу (зараз ми зрозуміємо як цей переказ підтвердити для банку) | |||
confirmation.url | Адреса для переадресації користувача на сторінку підтвердження його банку. Саме сюди ми будемо відправляти користувача для підтвердження переказу. | STRING | |
UAPAY - національний платіжний сервіс
pay@uapay.ua