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