API hutkoВерсия 1.0

Правильна послідовність виконання стадій операції capture

Операція capture призначена для списання заздалегідь заблокованої на картці суми на підставі попереднього запиту на передавторизацію з параметром preauth = Y.

Ця операція також називається двостадійною схемою оплати. Перша стадія – операція купівлі з попереднім блокуванням суми. Друга стадія – безпосередньо списання (capture) заблокованої суми. 

Списання може бути виконано як на повну суму, так і на часткову.

Примітка!

  • Операція передавторизації та capture доступні тільки за платіжним методом card. Решта платіжних методів не підтримують ці операції й автоматично відбуватиметься повне списання суми за одностадійною схемою:
  • Якщо операція capture ще не була виконана, то при поверненні коштів платнику, комісія Hutko не стягується. За фактом відбувається миттєве скасування заблокованої суми і жодних рухів фінансових коштів не відбувається;
  • Якщо операція capture ще не була виконана, то доступне тільки скасування повної суми блокування через операцію reverse;
  • Якщо виконано операцію часткового capture, то залишок суми автоматично повернеться на картку платника і додатково операцію реверсу виконувати вже не потрібно.
    Наприклад, якщо сума передавторизації 1000 і клієнту потрібно повернути 200, то необхідно виконати capture на суму 800. Реверс на суму 200 виконувати не потрібно, інакше відбудеться повторне повернення суми 200;
  • За однією операцією передавторизації доступний тільки один повний/частковий capture;
  • За однією операцією завершеної купівлі доступно кілька послідовних часткових реверсів;

 

Параметри запиту

Параметр Тип Опис Приклад переданого мерчантом значення
order_id string(1024) Унікальний ідентифікатор замовлення. Призначається мерчантом.

обов’язковий
ID1234
merchant_id integer(12) Унікальний ідентифікатор мерчанта. Видається торговцю після реєстрації.

обов’язковий
1
signature string(40) Підпис замовлення. Слугує для перевірки цілісності та автентичності запиту на стороні сервера платіжного шлюзу

обов’язковий
1773cf135bd89656131134b98637894dad42f808
version string(10) Версія протоколу.

Значення за замовчуванням: 1.0
1.0
amount integer(12) Сума підтвердження

обов’язковий
1020 (USD) — означає 10 доларів 20 центів
currency string(3) Валюта замовлення. Допустимі значення:
UAH — українська гривня
USD — доллар США
EUR — євро
GBP — фунт стерлінгів

обов’язковий
USD

Параметри відповіді

Параметр Тип Опис Приклад відповіді
order_id string(1024) Унікальний ідентифікатор замовлення. Призначається мерчантом. ID1234
merchant_id integer(12) Унікальний ідентифікатор мерчанта. Видається торговцю після реєстрації. 1
capture_status string(50) Статус обробки підтвердження. Може містити такі значення:
hold — запит на підтвердження відхилено платіжним шлюзом Hutko, зовнішньою платіжною системою або банком-еквайєром
captured — запит на підтвердження успішно здійснено
approved
response_status string(50) Статус обробки запиту. Якщо виникла помилка під час валідації переданих, то повертається failure, інакше success  
signature string(40) Підпис замовлення. Слугує для перевірки цілісності та автентичності запиту на стороні сервера платіжного шлюзу
1773cf135bd89656131134b98637894dad42f808
response_code integer(4) Збій коду 1008
response_description string(1024) Причина відмови Параметр `amount` є обов’язковим

Параметри відповіді в разі помилки

Див. Параметри відповіді в разі помилки

Формування запиту

Запит підтвердження на сервер Hutko завжди формується способом host-to-host на URL https://pay.hutko.org/api/capture/order_id

Приклад host-to-host JSON

Content Type: application/json

Запит

{
   "request":{
      "order_id":"test7926651365",
      "currency":"UAH",
      "amount":"1",
      "merchant_id":"1700002",
      "signature":"b1ed592ff76ddca287503b11c1aad70bb1c67f37"
   }
}

Нормальна відповідь

{
   "response":{
      "order_id":"test309906285",
      "response_status":"success",
      "response_code":"",
      "capture_status":"captured",
      "response_description":"",
      "merchant_id":"1700002"
   }
}

Відповідь у разі помилки

{
   "response":{
      "response_status":"failure",
      "error_message":"Order Not Found",
      "error_code":"1018"
   }
}

Хочу приймати платежі з Hutko!