Операция 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) | Причина отказа | Parameter `amount` is mandatory |
Запрос подтверждения на сервер 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