Крок 1: Створення cесії
...
Параметр | Опис | Тип | Чи обов'язковий це параметр? | Приклад |
---|---|---|---|---|
id | id картки в системі UAPAY | STRING | Так | "11389a5a-efb5-4e1d-85c1-068df5bb0357" |
panMasked | Маскований PAN картки | STRING | Так | "1111224444" |
panHashed | Хеш PAN картки | STRING | Так | "AwHkjhy32jz/9zF9J3koov8fTChboACkdYN+3Ye4=" |
...
LOOKUP
Для підтвердження платежу картою без 3DS захисту використовується lookup code.
Банк надсилає цей код в смс на номер, який закріплений за картою. Вам потрібно буде намалювати форму, в яку ваш користувач впише надісланий йому код.Далі відправляємо ці дані методом POST на /api/payments/ecom/confirm
Після створення замовлення та платежу (крок 3) потрібно підтвердити платіж для його проведення
Написання запиту
Напишемо запит на підтвердження платежу:
Code Block language xml { "params": { "sessionId": "28e3f909-8e3b-4ea6-82f8-9b7f57525e66", "id": "b56aa0fb-7811-4df3-839e-c409b1d0ad2f", "code": "111111", "key": "Fb9eM8mA5ukS5pGkoyXp1dNsQzmJM9KViDxNxyUdzBT5.jkuehx6121848551587" }, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsic2Vzc2lvbklkIjoiMjhlM2Y5MDktOGUzYi00ZWE2LTgyZjgtOWI3ZjU3NTI1ZTY2IiwiaWQiOiJiNTZhYTBmYi03ODExLTRkZjMtODM5ZS1jNDA5YjFkMGFkMmYiLCJjb2RlIjoiMTExMTExIiwia2V5IjoiRmI5ZU04bUE1dWtTNXBHa295WHAxZE5zUXptSk05S1ZpRHhOeHlVZHpCVDUuamt1ZWh4NjEyMTg0ODU1MTU4NyJ9LCJpYXQiOjE1MzQyOTMwODh9.IF2bE1PYB-BctwjYueeoiBdXr5AjamWyDEA8yhsEv_0" }
Де:
Параметр
Опис Тип Обов'язковий параметр чи ні? Приклад Параметри
sessionId
id сесії яку ми отримали після розшифровки підписаної відповіді попереднього запиту. Цей параметр взагалі треба передавати у всіх запитах
STRING Так "4bda7e34-a1c7-4587-b43b-06c506388ce7" id Id платежу (який було створено на 3 кроці) STRING Так "b56aa0fb-7811-4df3-839e-c409b1d0ad2f" code Код підтвердження платежу STRING Так "111111" key Ключ платежу, який було отримано на кроці створення платежу (2 3 крок) STRING Так "Fb9eM8mA5ukS5pGkoyXp1dNsQzmJM9KViDxNxyUdzBT5.jkuehx6121848551587" Підписання запиту
Підписуємо запит таким саме чином, як і запит на створення сесії. Тобто, за допомогою бібліотеки jwt та ключа який ми отримали у кабінеті алгоритмом HS256. І отримуємо token:
Code Block eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXJhbXMiOnsic2Vzc2lvbklkIjoiMjhlM2Y5MDktOGUzYi00ZWE2LTgyZjgtOWI3ZjU3NTI1ZTY2IiwiaWQiOiJiNTZhYTBmYi03ODExLTRkZjMtODM5ZS1jNDA5YjFkMGFkMmYiLCJjb2RlIjoiMTExMTExIiwia2V5IjoiRmI5ZU04bUE1dWtTNXBHa295WHAxZE5zUXptSk05S1ZpRHhOeHlVZHpCVDUuamt1ZWh4NjEyMTg0ODU1MTU4NyJ9LCJpYXQiOjE1MzQyOTMwODh9.IF2bE1PYB-BctwjYueeoiBdXr5AjamWyDEA8yhsEv_0
Відправлення запиту на сервер
Запит треба виконати методом POST, тіло запиту має бути у форматі application/json. Адреса https://api.demo.uapay.ua/api/payments/ecom/confirm
У відповідь ми отримаємо:
Code Block language xml { "status": 1, "data": {} }
Де:
Параметр
Опис Тип Приклад status Коротке повідомлення про успіх або помилку при виконанні запиту.
1 - запит виконано успішно,
0 - сталась помилка при виконанні запиту
INT 1 або 0
...