Для проведення платежів з карти платника з підтвердженням за допомогою технології 3DS 2 потрібно обов'язково передавати інформацію про пристрій платника в метод оплати / створення платежу. Ця інформація збирається з браузера / пристрою / запиту в момент натискання платником кнопки "Оплатити" (у вас може бути інша назва) і відправляється в параметрі device в відповідний метод (залежить від реалізації). Приклад такого методу - Створення платежу по інвойсу (Invoices payments create), в разі реалізації оплати інвойсів за допомогою власної платіжної сторінки.
Параметри об'єкту device:
Ключ | Опис | Тип | Обов'язковість | Приклад |
---|---|---|---|---|
acceptHeader | вміст HTTP-заголовка Accept, відправленого з браузера | string | так | "*/*" |
ip | IP-адреса браузера | string | так | "91.137.205.117" |
colorDepth | глибина кольору екрану | integer | так | 24 |
javaEnabled | можливість виконання Java в браузері | boolean | так | false |
language | мова браузера | string | так | "ua" |
screenHeight | загальна висота екрану в пікселях | integer | так | 864 |
screenWidth | загальна ширина екрану в пікселях | integer | так | 1536 |
windowHeight | висота вікна браузера в пікселях, в якому відображається сторінка сайту клієнта, або висота області в якій, в разі чого, буде відображена ACS-сторінка емітента для підтвердження платежу | integer | так | 734 |
windowWidth | ширина вікна браузера в пікселях, в якому відображається сторінка сайту клієнта, або ширина області в якій, в разі чого, буде відображена ACS сторінка емітента для підтвердження платежу | integer | так | 1479 |
time | час збору інформації | string | так | "2021-10-07T14:55:52.832Z" |
timezoneOffset | часовий пояс браузера в хвилинах (різниця між часом по UTC і місцевим часом браузера) | number | так | -180 |
userAgent | вміст HTTP-заголовка User-Agent, відправленого з браузера клієнта | string | так | "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" |
Параметри acceptHeader, ip и userAgent клієнт бере із запиту зробленого з браузера / пристрою платника до свого вебсервера, а інші параметри бере в браузері платника за допомогою JavaScript, наприклад так:
{ colorDepth: screen && screen.colorDepth, javaEnabled: navigator && navigator.javaEnabled(), language: navigator && navigator.language, screenHeight: screen && screen.height, screenWidth: screen && screen.width, windowHeight: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight, windowWidth: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, time: new Date(), timezoneOffset: new Date().getTimezoneOffset() }
Приклад об'єкту:
{ "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" }