Операція 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