Block
https://{Environment}.payture.com/api/BlockКоманда Block позволяет блокировать денежные средства на карте Покупателя для последующего списания. Выполняется в рамках двухстадийной схемы проведения платежа.
Заблокированные средства далее могут быть списаны командой Charge или разблокированы командой Unblock.
Запрос
curl https://sandbox3.payture.com/api/Block \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d Amount=12480 \
-d OrderId=5f63838d-fb03-00c6-c890-c67cfc1c54ea \
--data-urlencode "PayInfo= \
PAN=4111111111100031; \
EMonth=12; \
EYear=22; \
CardHolder=Ivan Ivanov; \
SecureCode=123; \
OrderId=5f63838d-fb03-00c6-c890-c67cfc1c54ea; \
Amount=12480" \
--data-urlencode "CustomFields = \
IP=241.22.197.12; \
Product=Ticket" \В запросах наименования параметров чувствительны к регистру
| Параметр | Описание | Формат |
|---|---|---|
| Key | Наименование платежного Терминала Предоставляется с параметрами тестового/рабочего доступа | String Mandatory |
| OrderId | Уникальный идентификатор платежа в системе Продавца Рекомендуемый формат: GUID/UUID или Alphanumeric. Другие форматы могут вызвать сбои в работе банковских сервисов. | String [1..50] Mandatory |
| Amount | Сумма платежа в копейках (или другая минимальная единица валюты терминала) Цифры, не содержащие десятичных или других разделителей | Integer Mandatory |
| PayInfo | Параметры для совершения транзакции Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно) | String Mandatory |
| CustomFields | Дополнительные поля транзакции Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно) | String Optional |
| Cheque | Информация о чеке в формате JSON, закодированная в Base64 | String Optional |
Состав параметра PayInfo
Внимание! Параметры OrderId и Amount передаются дважды в одном запросе: в основных параметрах запроса и в параметре PayInfo.
| Параметр | Описание | Формат |
|---|---|---|
| PAN | Номер карты Цифры без пробелов | String [13..19] Mandatory |
| EMonth | Месяц истечения срока действия карты 2 цифры | Integer Mandatory |
| EYear | Год истечения срока действия карты Последние 2 цифры года | Integer Mandatory |
| OrderId | Уникальный идентификатор платежа в системе Продавца Рекомендуемый формат: GUID/UUID или Alphanumeric. Другие форматы могут вызвать сбои в работе банковских сервисов. | String [1..50] Mandatory |
| Amount | Сумма платежа в копейках (или другая минимальная единица валюты терминала) Цифры, не содержащие десятичных или других разделителей | Integer Mandatory |
| SecureCode | CVC2/CVV2 код 3 или 4 цифры. Обязательность передачи зависит от типа платежа и конфигурации платежного Терминала | Integer Optional |
| CardHolder | Фамилия и имя держателя карты Только латинские буквы и пробел | String [1..30] Optional |
Пример параметра PayInfo (decoded):
PAN=4111111111100031;
EMonth=12;
EYear=22;
CardHolder=Ivan Ivanov;
SecureCode=123;
OrderId=5f63838d-fb03-00c6-c890-c67cfc1c54ea;
Amount=12480Пример возможных ключей параметра CustomFields
| Параметр | Описание | Формат |
|---|---|---|
| IP | IP адрес Покупателя IPv4 или IPv6 | String Optional |
| Description | Дополнительное описание платежа | String Optional |
Пример параметра CustomFields (decoded):
IP=241.22.197.12;
Description=MyTestTransactionОтвет
Примеры ответов
<Block OrderId="5f63838d-fb03-00c6-c890-c67cfc1c54ea" Key="Merchant" Success="True" Amount="12492"/>XML строка с элементом Block.
| Параметр | Описание | Формат |
|---|---|---|
| Success | Признак успешности операции. Принимает значения:True — операция успешнаFalse — операция неуспешна3DS — необходима аутентификация 3‑D Secure | String Mandatory |
| OrderId | Идентификатор платежа в системе Продавца Соответствует переданному в запросе | String [1..50] Mandatory |
| Key | Наименование платежного Терминала Соответствует переданному в запросе | String Mandatory |
| Amount | Сумма платежа в копейках (или другая минимальная единица валюты терминала) Передается, если «Success=True» или «Success=3DS». Соответствует переданному в запросе | Integer Optional |
| ACSUrl | Адрес сервера аутентификации 3-D Secure Передается, если «Success=3DS» | String Optional |
| PaReq | Запрос на аутентификацию 3-D Secure Передается, если «Success=3DS» | String Optional |
| ThreeDSKey | Уникальный идентификатор транзакции (MD) Передается, если «Success=3DS» | String Optional |
| ThreeDSVersion | Версия протокола 3-D Secure: 1.0 — первая версия 2.1 — вторая версия Передается, если «Success=3DS» | String Optional |
| FinalTerminal | Конечный Терминал, на котором был выполнен платеж Передается, если было перенаправление на другой Терминал | String Optional |
| AddInfo | Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture Описание формата и возможных параметров доступно здесь | Object Optional |
| ErrCode | Код ошибки. См. коды ошибок Передается, если «Success=False» | String Optional |
Pay3DS
Команда Pay3DS предназначена для завершения списания средств с платежной карты, защищенной 3-D Secure. Выполняется после запроса Pay и получения результатов 3‑D Secure аутентификации от банка-эмитента.
Block3DS
Команда Block3DS предназначена для завершения блокирования средств на карте, защищенной 3-D Secure. Выполняется после запроса Block и получения результатов 3‑D Secure аутентификации от банка-эмитента.
