Слід застосовувати тільки для торговців, які отримали PCIDSS.
Параметр | Тип | Опис | Приклад переданого мерчантом значення |
---|---|---|---|
order_id |
string(1024) | Ідентифікатор замовлення, що призначається мерчантом.
обов’язковий
|
ID1234 |
merchant_id |
integer(12) | Унікальний ідентифікатор мерчанта. Видається мертанту після реєстрації.
обов’язковий
|
1 |
order_desc |
string(1024) | Опис замовлення. Передається мерчантом завжди в кодуванні UTF-8
обов’язковий
|
Придбати квиток на поїзд № 1234 Київ – Львів |
signature |
string(40) | Підпис замовлення. Слугує для перевірки цілісності та автентичності запиту від мерчанта на стороні сервера платіжного шлюзу. Алгоритм формування підпису див. Генерація підписів запиту та відповіді
обов’язковий
|
1773cf135bd89656131134b98637894dad42f808
|
amount |
integer(12) | Сума замовлення в копійках / центах без роздільників
обов’язковий
|
1020 (USD) — означає 10 доларів 20 центів |
currency |
string(3) | Валюта замовлення. Допустимі значення: UAH — українська гривня USD — долар США EUR — євро GBP — фунт стерлінгів обов’язковий
|
USD |
version |
string(10) | Версія протоколу.
Значення за замовчуванням: 1.0.1
|
1.0.1 |
server_callback_url |
string(2048) | URL сторінки мерчанта, на яку буде надіслано відповідь про результат оплати через сервер-сервер з’єднання. Детальніше про серверні колбеки див. п. Отримання Callback |
http://site.com/callbackurl
|
lifetime |
integer(6) | Час життя замовлення в секундах. Після закінчення цього часу, замовленню буде присвоєно статус expired якщо клієнт його не оплатив
Значення за замовчуванням: 600
Максимально-допустиме значення: 69120000
|
600 |
merchant_data |
string(2048) | Будь-який довільний набір даних, який мерчант хоче отримати назад у відповіді на server_callback_url , а також у звітах |
|
preauth |
string(1) | Параметр застосовується тільки при оплаті карткою Visa/MasterCard N — сума списується з картки клієнта відразу і відшкодовується на рахунок мерчанта відповідно до регламенту зарахування. Y — сума блокується на картці клієнта і не списується доти, доки мерчант не надішле запит capture для підтвердження списання Значення за замовчуванням: N
|
N |
sender_email |
string(50) | Email платника | |
descriptor |
string(21) | Динамічний дескриптор | |
lang |
string(2) | Мова платіжної сторінки. Доступні значення: uk — українська en — англійська lv — латишська fr — французька cs — чеська ro — румунська it — італійська sk — словацька pl — польська es — іспанська hu — угорська ru — росіянська de — німецька |
|
product_id |
string(1024) | Ідентифікатор оплачуваного товару/послуги | |
verification |
string(1) | Y – буде зроблено автоматичний реверс платежу системою hutko, якщо платіж успішний
Значення за замовчуванням: N
|
Y |
card_number |
string(19) | Номер картки Visa/Mаstercard
обов’язковий
|
|
cvv2 |
string(4) | CVV2 / CVC-код картки
обов’язковий
|
|
expiry_date |
integer(4) | Термін дії картки у форматі MMYY
обов’язковий
|
|
client_ip |
integer(15) | IP клієнта
обов’язковий
|
|
container |
string | Google Pay / Apple Pay криптограма у форматі BASE64
|
ewogICJhcGlWZXJzaW9uTWlub3IiOiAwLAogICJhcGlWZXJzaW9uIjogMiw KICAicGF5bWVudE1ldGhvZERhdGEiOiB7CiAgICAiZGVzY3JpcHRpb24iOi AiVmlzYSDigKLigKLigKLigKIgMTExMSIsCiAgICAidG9rZW5pemF0aW9uR GF0YSI6IHsKICAgICAgInR5cGUiOiAiUEFZTUVOVF9HQVRFV0FZIiwKICAg ICAgInRva2VuIjogIntcInNpZ25hdHVyZVwiOlwiTUVRQ0lIZ0tDT2hldFh 5dVl4VXl4cE80NDFab2llR3A3U3duQlVXMjc2Um55S0s4dVM2UVxcdTAwM2 RcXHUwMDNkXCIsXCJwcm90b2NvbFZlcnNpb25cIjpcIkVDdjFcIixcInNpZ 25lZE1lc3NhZ2VcIjpcIntcXFwiZW5jcnlwdGVkTWVzc2FnZVxcXCI6XFxc IkZhbW9YZEhVZUdMNzUxRnFZbVJwVFNaeTN2aC9lQ1E0ZjNHckUvUFlJV3R SUnFXVTJZRFg4d3F3OHVXMm1KSi9Yb2VtcmN2SkdlVFJZeFV5eDgvVWVFdn pwQ0tsVnVqbDMrNHkrTEdmbGFFUWJZeFV5eFl4VXl4WXhVeXhZeFV5eFV5Z WxBbFRPVXFBSHpwMm5rVEZFY3AvczR2a0tEWm9QVFRjYnBNbC9xaW5qNW1s ai8ybEZtSmcyUTEydFNCREdaYXd0SG1KeitDNmxMUmZBdDhCOU15RDFJa0V Nd3JxOTBqMk5GY0dnQ29RbEtaR3hzSUlNcG5GV082TDZxcUsvcGxXNnlYZG taaDIrR09CREU3eHVSWlY2RkdtZGZ4eGVLWElWTFNsQ3AxdHRlUGR2VDZZT 0R5WXhVeXhZeFV5eFl4VXl4WXhVeXgvcUY0SUJZUTNqalBjRTM3d1h5UHhy MVhheTJPS0hFZTV4MTZURWdDcTU2QWRYL3hVcDNhVk9SWXhVeXhZeFV5eFl 4VXl4WWxzdlJvazhnb2pER053S2dcXFxcdTAwM2RcXFxcdTAwM2RcXFwiLF xcXCJlcGhlbWVyYWxQdWJsaWNLZXlcXFwiOlxcXCJCS3BjQWtNWTE1a1BuR zEwS1V5aGtGbE1qbFVTMFgwMVJ1Z3U1dlR5N1l4VXl4WXhVeXhZeFV5eDJ0 WjdwOTNUV1RTd1pFMDg0VkhHTHZ5aWMyT1VXdGpJNFZUelo4OFxcXFx1MDA zZFxcXCIsXFxcInRhZ1xcXCI6XFxcImU4Zk5ldVdIUGZiZ0U2dkdzTll4VX l4WXhVeXhZeFV5eEk2QVU1THZINTcxYzZHZ3NVSFVCa1xcXFx1MDAzZFxcX CJ9XCJ9IgogICAgfSwKICAgICJ0eXBlIjogIkNBUkQiLAogICAgImluZm8i OiB7CiAgICAgICJjYXJkTmV0d29yayI6ICJWSVNBIiwKICAgICAgImNhcmR EZXRhaWxzIjogIjExMTEiCiAgICB9CiAgfQp9 |
Якщо картка бере участь у сервісі 3D Secure, то відповідь буде повернуто в такому форматі:
Параметр | Тип | Опис | Приклад значення, що повертається |
---|---|---|---|
response_status |
string(50) | якщо не було помилки, завжди повертається success |
success |
acs_url |
string(2048) | URL сторінки, на яку мерчант повинен перенаправити клієнта для подальшого введення пароля 3D Secure |
https://pay.hutko.org/checkout?token=e0a5d4f331806d1e2feb80353b4c44bf6751fc8c
|
pareq |
string(20480) | Параметр, який необхідно передати на url acs_url емітента |
|
md |
string(1024) | Унікальний ідентифікатор запиту 3D Secure. Присвоюється платіжним сервісом hutko |
Мерчант, отримавши цю відповідь, повинен сформувати HTML-форму, і за допомогою неї перенаправити платника на адресу acs_url
. HTML-форма має бути такого змісту:
<form name="MPIform"action='${acs_url}'method="POST"> <input type="hidden"name="PaReq"value='${pareq}'> <input type="hidden"name="MD"value='${md}'> <input type="hidden"name="TermUrl"value='${TempUrl}'> </form>
де ${TempUrl}
– це URL мерчанта, на який клієнт буде перенаправлений після введення пароля 3D Secure
На URL TempUrl
після автентифікації платника на сайті банку-емітента повертаються такі параметри:
Параметр | Тип | Опис |
---|---|---|
pares |
string(20480) | Результат автентифікації платника на стороні емітента. Являє собою рядок BASE64 |
md |
string(1024) | Унікальний ідентифікатор запиту 3D Secure. Присвоюється платіжним сервісом hutko |
Якщо карта не бере участі, то відповідь буде повернуто у форматі п3.2 Параметри фінальної відповіді
Параметри, отримані в 4.2 Параметри відповіді (крок 1, картка бере участь у сервісі 3D Secure), мають бути передані на сервер hutko у форматі:
Параметр | Тип | Опис | Приклад переданого мерчантом значення |
---|---|---|---|
order_id |
string(1024) | Унікальний ідентифікатор замовлення. Призначається мерчантом.
обов’язковий
|
ID1234 |
merchant_id |
integer(12) | Унікальний ідентифікатор мерчанта. Видається мерчанту після реєстрації.
обов’язковий
|
1 |
pares |
string(20480) | Параметр, який повернув банк-емітнет на URL TempUrl
обов’язковий
|
|
md |
string(1024) | Унікальний ідентифікатор 3D Secure запиту. Присвоюється платіжним сервісом hutko
обов’язковий
|
|
version |
string(10) | Версія протоколу.
Значення за замовчуванням: 1.0
|
1.0 |
signature |
string(40) | Підпис замовлення. Слугує для перевірки цілісності та автентичності запиту від мерчанта на стороні сервера платіжного шлюзу.
обов’язковий
Алгоритм генерації підпису див. Генерація підписів запитів та відповідей |
1773cf135bd89656131134b98637894dad42f808 |
Відповідь буде повернута у форматі, описаному в Параметри фінальної відповіді
Відповідь буде повернуто у форматі п. Параметри відповіді в разі помилки
Запит покупки з номером картки на кроці 1 на сервер hutko завжди формується способом host-to-host на URL https://pay.hutko.org/api/3dsecure_step1/
Запит покупки з номером картки на кроці 2 на сервер hutko завжди формується способом host-to-host на URL https://pay.hutko.org/api/3dsecure_step2/
Host-to-host API підтримує такі текстові формати запитів:
У контексті запиту завжди повертається відповідь у тому ж форматі, що й запит. Тобто якщо запит був у форматі JSON, то і відповідь повернеться у форматі JSON.