Операція capture призначена для списання заздалегідь заблокованої на картці суми на підставі попереднього запиту на передавторизацію з параметром preauth = Y
.
Ця операція також називається двостадійною схемою оплати. Перша стадія – операція купівлі з попереднім блокуванням суми. Друга стадія – безпосередньо списання (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 — запит на підтвердження відхилено платіжним шлюзом FONDY, зовнішньою платіжною системою або банком-еквайєром captured — запит на підтвердження успішно здійснено | approved |
response_status | string(50) | Статус обробки запиту. Якщо виникла помилка під час валідації переданих, то повертається failure, інакше success | |
signature | string(40) | Підпис замовлення. Слугує для перевірки цілісності та автентичності запиту на стороні сервера платіжного шлюзу | 1773cf135bd89656131134b98637894dad42f808 |
response_code | integer(4) | Збій коду | 1008 |
response_description | string(1024) | Причина відмови | Параметр `amount` є обов’язковим |
Запит підтвердження на сервер FONDY завжди формується способом host-to-host на URL https://pay.fondy.eu/api/capture/order_id
Host-to-host АПІ підтримує такі текстові формати запитів:
У контексті запиту завжди повертається відповідь у тому ж форматі, що й запит. Тобто якщо запит був у форматі JSON, то і відповідь повернеться у форматі JSON.
Content Type: application/json
Запит
{
"request":{
"order_id":"test7926651365",
"currency":"USD",
"amount":"1",
"merchant_id":"1",
"signature":"b1ed592ff76ddca287503b11c1aad70bb1c67f37"
}
}
Нормальна відповідь
{
"response":{
"order_id":"test309906285",
"response_status":"success",
"response_code":"",
"capture_status":"captured",
"response_description":"",
"merchant_id":"1"
}
}
Відповідь у разі помилки
{
"response":{
"response_status":"failure",
"error_message":"Order Not Found",
"error_code":"1018"
}
}
Content Type: application/xml
Запит
<?xml version="1.0" encoding="UTF-8"?>
<reqest>
<order_id>test7926651365</order_id>
<currency>USD</currency>
<amount>1</amount>
<merchant_id>1</merchant_id>
<signature>b1ed592ff76ddca287503b11c1aad70bb1c67f37</signature>
</request>
Нормальна відповідь
<?xml version="1.0" encoding="UTF-8"?>
<response>
<order_id>test6622534987</order_id>
<response_status>success</response_status>
<response_code />
<capture_status>captured</capture_status>
<response_description />
<merchant_id>1</merchant_id>
</response>
Відповідь у разі помилки
<?xml version="1.0" encoding="UTF-8"?>
<response>
<response_status>failure</response_status>
<error_message>Order Not Found</error_message>
<error_code>1018</error_code>
</response>
Content Type: application/x-www-form-urlencoded
Запит
order_id=test6622534987¤cy=USD&amount=1&merchant_id=1
&signature=6ccbfeb82894b5c51855e032da1e7a3bee65f3a3
Нормальна відповідь
order_id=test7101250216&response_status=success&response_code=
&capture_status=captured&response_description=&merchant_id=1
Відповідь у разі помилки
response_status=failure&error_message=Order+Not+Found&error_code=1018