# Платежи

Отправка запросов, если не указано иное, осуществляется с заголовком

«Content‑Type: application/x‑www‑form‑urlencoded».

Порядок следования параметров в запросах не важен.&#x20;

Регистр символов в url‑адресах и параметрах запросов — важен.

Ответ на запрос передается в формате JSON, кодировка UTF‑8.

{% hint style="warning" %}
Ответы API сервиса могут содержать незадокументированные поля. При обработке ответов такие поля должны игнорироваться клиентским кодом.
{% endhint %}

### StartSession

Запрос инициализации платежа. Выполняется перед перенаправлением пользователя на страницу платежного шлюза Payler.&#x20;

**URL запроса:** <mark style="color:blue;">https\://{host}.payler.com/gapi/StartSession</mark>

**Доступно для:** gapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="242.7149787501524"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта.<br>Выдается с параметрами доступа</td></tr><tr><td>type</td><td>A</td><td>R</td><td><p>Тип операции.<br>Определяет количество стадий платежа.</p><p>OneStep — одностадийный платеж;</p><p>TwoStep — двухстадийный платеж</p></td></tr><tr><td>session_type</td><td>N1</td><td>O</td><td><p>Тип сессии. Определяет режим сохранения<br>карточных данных. Если этот параметр равен 1, требуется передавать customer_id</p><p>0 — обычная страница оплаты; 1 — страница оплаты с возможностью выбора из сохраненных карт или ввода полных карточных данных для оплаты картой не из списка. При выборе сохраненной карты пользователю необходимо ввести только CVV. По умолчанию — 0</p></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Для каждого платежа (сессии) требуется использовать уникальный идентификатор. Только печатные ASCII-символы</td></tr><tr><td>customer_id</td><td>A..100</td><td>O</td><td><p>Идентификатор пользователя.</p><p>Определяет пользователя, чей список карт будет доступен для выбора (если session_type = 1), или за которым будет сохранена карта, используемая при оплате. Должен быть передан, если параметр session_type = 1. Пользователь создается автоматически, если данное поле пустое</p></td></tr><tr><td>currency</td><td>A3</td><td>O</td><td>Валюта платежа (см. <a href="/pages/zdMUbi6uAPWbyX3Hgd4y#podderzhivaemye-valyuty">Поддерживаемые валюты</a>). По умолчанию — RUB</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма в минимальной денежной единице (копейки, центы и т. д.)</td></tr><tr><td>product</td><td>A..256</td><td>O</td><td>Описание заказа, платежа.</td></tr><tr><td>template</td><td>A..100</td><td>O</td><td>Используемый шаблон страницы оплаты, заданный мерчантом. При отсутствии используется шаблон «по умолчанию».</td></tr><tr><td>lang</td><td>A2</td><td>O</td><td>Предпочитаемый язык платёжной формы.<br>en — английский; ru — русский.<br>По умолчанию — ru</td></tr><tr><td>userdata</td><td>A..1000</td><td>O</td><td>Пользовательские данные. Можно передать любую информацию, которую нужно сохранить вместе с платежом, а потом получить её с помощью метода <a href="/pages/BRQsfP0nwRNWD56Tfuwe#_getadvancedstatus">GetAdvancedStatus</a></td></tr><tr><td>recurrent</td><td>N1</td><td>O</td><td><p>Показывает, требуется ли создать шаблон рекуррентных платежей на основе текущего:</p><p>1 — требуется создать шаблон;</p><p>0 — шаблон создавать не требуется</p></td></tr><tr><td>pay_page_param_*</td><td>A..100</td><td>O</td><td>Параметры для отображения на странице оплаты. Можно передать любые параметры, начинающиеся с pay_page_param_, а потом отобразить их на странице оплаты. Для этого необходимо использовать шаблон страницы (см. параметр template)</td></tr><tr><td>pay_page_param_addtoreport3</td><td>A</td><td>O</td><td>При <a href="/pages/zdMUbi6uAPWbyX3Hgd4y#splitovanie-platezhei">сплитовании</a>: суммы зачисления для каждого получателя в минимальной денежной единице (копейки, центы и т. д.) через запятую</td></tr><tr><td>pay_page_param_addtoreport4</td><td>A</td><td>O</td><td>При сплитовании: ID получателей через запятую. Регистрируются через службу технической поддержки</td></tr><tr><td>antifraud_*</td><td>A..100</td><td>O</td><td>Дополнительные параметры для системы антифрод. Можно передать любые параметры, начинающиеся с antifraud_</td></tr><tr><td>payment_methods</td><td>A..500</td><td>O</td><td>Способы платежа для данной сессии. Если параметр не указан, то будут доступны все способы, разрешенные мерчанту. Через запятую перечислены способы платежа, доступные для сессии. Cм. <a href="/pages/zdMUbi6uAPWbyX3Hgd4y#sposoby-oplaty">Способы оплаты</a></td></tr><tr><td>email</td><td>A..100</td><td>R</td><td>Адрес электронной почты пользователя</td></tr><tr><td>return_url_success</td><td>A..1000</td><td>O</td><td>URL, на который будет перенаправлен пользователь в случае успешного прохождения платежа</td></tr><tr><td>return_url_decline</td><td>A..1000</td><td>O</td><td>URL, на который будет перенаправлен пользователь в случае неуспешного прохождения платежа</td></tr><tr><td>lifetime</td><td>N</td><td>O</td><td>Время жизни сессии в минутах, от 1 мин и более</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма в минимальной денежной единице (копейки, центы и т. д.)</td></tr><tr><td>session_id</td><td>A..100</td><td>R</td><td>Идентификатор платёжной сессии</td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
  "amount": 30000,
  "session_id": "FE6nrdcfw4Zy88CRki6sjc1mRxW9xcv7m7CS",
  "order_id": "d1434908-7260-483e-8254-fa43af1b835d"
}
```

### PayGate

Запрос списания средств с перенаправлением пользователя на страницу шлюза.\
Выполняется после команды [StartSession](#startsession). Результатом обработки запроса является списание денежных средств при одностадийной схеме проведения платежа, либо блокировка средств на карте пользователя при двухстадийной схеме проведения платежа.

**URL запроса:** <mark style="color:blue;">https\://{host}.payler.com/gapi/Pay</mark>

**Доступно для:** gapi

**Метод отправки запроса:** <mark style="color:purple;background-color:purple;">**`GET`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>session_id</td><td>A..100</td><td>R</td><td>Идентификатор платёжной сессии. Содержится в ответе на запрос <a href="#startsession">StartSession</a></td></tr></tbody></table>

После обработки запроса PayGate на стороне платежного шлюза пользователь будет перенаправлен на страницу с результатами платежа, а через 3 секунды возвращен на сайт мерчанта.

**Адрес возврата пользователя** (URL страницы) — указывается мерчантом заранее в виде URL. Пример адреса возврата:[ ](http://myshop.ru/complete?order_id=%7border_id)[http://myshop.ru/complete?order\_id={order\_id](http://myshop.ru/complete?order_id=%7border_id)}

Для получения результатов транзакции следует использовать данные, полученные в рамках запроса статуса транзакции [GetStatus](#_getstatus).

Нужно учесть, что возврат на указанный URL может быть сделан несколько раз, например, когда пользователь запутался, нажимал кнопку Back в браузере и несколько раз вводил карточные данные для оплаты. Если пользователь ошибочно попытается повторно оплатить заказ в рамках одной сессии, то ему будет показано сообщение о том, что оплата уже произведена, и сделано перенаправление на сайт мерчанта.

### FindSession <a href="#findsession" id="findsession"></a>

Поиск платёжной сессии по идентификатору платежа (*order\_id*).

**URL запроса:** [<mark style="color:blue;">https://{host}.payler.com/{api}/FindSession</mark>](about:blank)

**Доступно для:** gapi, mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта. Выдается с параметрами доступа</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа или перевода в системе мерчанта. Только печатные ASCII‑символы</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="198.3363832012793"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>id</td><td>A..100</td><td>R</td><td>Идентификатор платежной сессии</td></tr><tr><td>created</td><td>A</td><td>R</td><td>Время создания сессии в формате «yyyy-MM-dd HH:mm:ss»</td></tr><tr><td>valid_through</td><td>A</td><td>R</td><td>Время действия сессии в формате «yyyy-MM-dd HH:mm:ss»</td></tr><tr><td>type</td><td>A</td><td>R</td><td><p>Тип операции. Определяет количество стадий платежа. OneStep — одностадийный платеж;</p><p>TwoStep — двухстадийный платеж</p></td></tr><tr><td>customer_id</td><td>A..100</td><td>O</td><td>Идентификатор пользователя</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Только печатные ASCII-символы</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма платежа в минимальной денежной единице (копейки, центы и т. д.)</td></tr><tr><td>product</td><td>A..256</td><td>R</td><td>Наименование продукта.</td></tr><tr><td>currency</td><td>A..3</td><td>R</td><td>Валюта платежа (см. <a href="/pages/zdMUbi6uAPWbyX3Hgd4y#podderzhivaemye-valyuty">Поддерживаемые валюты</a>). По умолчанию — RUB</td></tr><tr><td>pay_page_params</td><td>D</td><td>R</td><td>Параметры для отображения на странице оплаты</td></tr><tr><td>userdata</td><td>A..10000</td><td>R</td><td>Пользовательские данные</td></tr><tr><td>lang</td><td>A2</td><td>R</td><td>Предпочитаемый язык платёжной формы.<br>en — английский, ru — русский</td></tr><tr><td>recurrent</td><td>B</td><td>R</td><td><p>Показывает, требуется ли создать шаблон рекуррентных платежей:</p><p>1 — шаблон создан,</p><p>0 — шаблон не требуется</p></td></tr><tr><td>session_type</td><td>A</td><td>R</td><td><p>Тип сессии. Определяет режим сохранения карточных данных. Если этот параметр равен 1, требуется передавать customer_id</p><p>0 — обычная страница оплаты;</p><p>1 — страница оплаты с возможностью выбора из сохраненных карт или ввода полных карточных данных для оплаты картой не из списка. При выборе сохраненной карты пользователю необходимо ввести только CVV</p></td></tr></tbody></table>

Пример ответа на успешный запрос (платёж):

```json
{
	"id": "VLaFQpI88NpCncTA1TkhlX6HtkhzwQAKhxvz",
	"created": "2015-10-26 17:11:30",
	"valid_through": "2015-10-26 17:11:30",
	"type": "OneStep",
	"order_id": "ad7ad8b4-d50e-4b68-72f4-ca1264a8fae4",
	"amount": 30000,
	"product": "el-ticket",
	"currency": "RUB",
	"pay_page_params": {"pay_page_param_phone": "+790012345678",       "pay_page_param_city":”Москва””},
	"userdata": "data",
	"lang": "RU",
	"recurrent": true,
	"customer_id": "kfRWk8nbT9LhO19sVYotkJ2gHSPs5E4Qph35",
	"session_type": "0"
}
```

### PayMerchant

Запрос выполняется в рамках одностадийной схемы проведения платежа.

Результат обработки запроса — списание денежных средств с карты пользователя.

**URL запроса:** <mark style="color:blue;">https\://{host}.payler.com/mapi/v1/Pay</mark>

**Доступно для:** mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

{% hint style="info" %}
Использование данного метода предполагает обязательное соответствие системы мерчанта требованиям [PCI DSS](/ru-api/obshie-svedeniya/vvedenie.md#pci-dss).
{% endhint %}

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="269.29714701819057"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта. Выдается с параметрами доступа</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Для каждого платежа нужен свой уникальный идентификатор. Только печатные ASCII‑символы</td></tr><tr><td>currency</td><td>A3</td><td>О</td><td>Валюта платежа (см. <a href="/pages/zdMUbi6uAPWbyX3Hgd4y#podderzhivaemye-valyuty">Поддерживаемые валюты</a>). По умолчанию — RUB</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма в минимальной денежной единице (копейки, центы и т. д.)</td></tr><tr><td>card_number</td><td>A..19</td><td>O</td><td>Номер карты. Десятичные цифры без разделителей [0–9]</td></tr><tr><td>card_holder</td><td>A..100</td><td>О</td><td>Имя владельца карты. Латинские символы, десятичные цифры или символ пробела [a-zA-Z0‑9]</td></tr><tr><td>expired_year</td><td>N2</td><td>O</td><td>Год окончания срока действия карты</td></tr><tr><td>expired_month</td><td>N2</td><td>O</td><td>Месяц окончания срока действия карты</td></tr><tr><td>secure_code</td><td>A</td><td>R</td><td>Код подлинности карты (CVC2/CVV2).<br>Десятичные цифры [0–9]</td></tr><tr><td>product</td><td>A..256</td><td>O</td><td>Описание заказа, платежа.</td></tr><tr><td>lang</td><td>A2</td><td>О</td><td><p>Предпочитаемый язык ответов сервера.</p><p>en — английский; ru — русский.</p><p>По умолчанию — ru</p></td></tr><tr><td>email</td><td>A..100</td><td>R</td><td>Адрес электронной почты пользователя</td></tr><tr><td>userdata</td><td>A..1000</td><td>О</td><td>Пользовательские данные. Можно передать в этой строке любую информацию, которую нужно сохранить вместе с платежом, а потом получить её с помощью метода GetAdvancedStatus</td></tr><tr><td>recurrent</td><td>N1</td><td>О</td><td><p>Показывает, требуется ли создать шаблон рекуррентных платежей на основе текущего.</p><p>1 — требуется создать шаблон;</p><p>0 — шаблон создавать не требуется</p></td></tr><tr><td>card_id</td><td>A..100</td><td>О</td><td>Идентификатор сохранённой карты. Если указан, то можно не указывать card_number, expired_year, expired_month, достаточно указать secure_code</td></tr><tr><td>save_card</td><td>B</td><td>О</td><td><p>Показывает, требуется ли сохранить данные карты. Если передан этот параметр, то нужно передавать также и customer_id.</p><p>1 — требуется сохранить карту;</p><p>0 — карту сохранять не требуется</p></td></tr><tr><td>customer_id</td><td>A..100</td><td>О</td><td>Идентификатор пользователя. Если передан параметр save_card равный true или 1, то показывает, для какого пользователя будет сохранена карта. Если передан параметр card_id, то показывает, какому пользователю принадлежит карта (значение должно совпадать с указанным при сохранении карты). Генерируется мерчантом</td></tr><tr><td>antifraud_*</td><td>A..100</td><td>О</td><td>Дополнительные параметры для системы антифрод. Можно передать любые параметры, начинающиеся с antifraud_</td></tr><tr><td>user_entered_*</td><td>A..100</td><td>О</td><td>Можно указать дополнительные поля для оплаты, начинающиеся с user_entered_. Затем все эти поля возвращаются в GetAdvancedStatus в поле ser_entered_params</td></tr><tr><td>payer_ip</td><td>A</td><td>R</td><td>IP-адрес браузера покупателя</td></tr><tr><td>browserAccept</td><td>A</td><td>R</td><td>Заголовок Accept из браузера покупателя</td></tr><tr><td>browserLanguage</td><td>A</td><td>R</td><td>Язык браузера устройства покупателя.<br>en — английский; ru — русский</td></tr><tr><td>browserUserAgent</td><td>A</td><td>R</td><td>Содержание заголовка User-Agent в браузере покупателя</td></tr><tr><td>browserJavaEnabled</td><td>B</td><td>R</td><td>Признак возможности выполнения Java в браузере устройства покупателя</td></tr><tr><td>browserJavascriptEnabled</td><td>B</td><td>O</td><td>Признак возможности выполнения JavaScript в браузере устройства покупателя.<br>По умолчанию — true</td></tr><tr><td>browserScreenHeight</td><td>A</td><td>R</td><td>Общая высота экрана устройства покупателя в пикселях</td></tr><tr><td>browserScreenWidth</td><td>A</td><td>R</td><td>Общая ширина экрана устройства покупателя в пикселях</td></tr><tr><td>browserColorDepth</td><td>A</td><td>R</td><td>Глубина цветопередачи в битах</td></tr><tr><td>browserTZ</td><td>A</td><td>R</td><td>Часовой пояс — разница (в минутах) во времени между временем по UTC и местным временем браузера на устройстве покупателя</td></tr><tr><td>threeDsNotificationUrl</td><td>A</td><td>R</td><td>URL получения результата 3DS challenge</td></tr><tr><td>pay_page_param_addtoreport3</td><td>A</td><td>O</td><td>При сплитовании: суммы зачисления для каждого получателя в минимальной денежной единице (копейки, центы и т. д.) через запятую</td></tr><tr><td>pay_page_param_addtoreport4</td><td>A</td><td>O</td><td>При сплитовании: ID получателей через запятую. Регистрируются через службу технической поддержки</td></tr><tr><td>fee</td><td>N</td><td>O</td><td>Комиссия в минимальной денежной единице (копейки, центы и т. д.)</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="239.49923195084486"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма в минимальной денежной единице (копейки, центы и т. д.). Соответствует переданной в запросе</td></tr><tr><td>auth_type</td><td>N1</td><td>R</td><td><p>Значение, указывающее, требуется ли дополнительная авторизации для осуществления платежа.</p><p>0 — дополнительная авторизация не требуется;</p><p>1 — авторизация с использованием 3D‑Secure</p></td></tr><tr><td>recurrent_template_id</td><td>A..100</td><td>О</td><td><p>Идентификатор шаблона рекуррентных платежей.</p><p>Присутствует, если в рамках текущей транзакции был создан шаблон рекуррентных платежей</p></td></tr><tr><td>card_id</td><td>A..100</td><td>О</td><td>Идентификатор сохранённой карты</td></tr><tr><td>card_status</td><td>A</td><td>О</td><td>Статус карты.<br>Saved — карта сохранена и готова к использованию.<br>Invalid — карта недействительна (например, истёк срок её действия)</td></tr><tr><td>card_number</td><td>A..19</td><td>R</td><td><p>Маскированный номер банковской карты, к которой привязан шаблон. Указывается при совершении первого платежа в серии рекуррентных платежей.</p><p>Десятичные цифры без разделителей [0–9] и маскировочный символ ‘x’</p></td></tr><tr><td>card_holder</td><td>A..100</td><td>R</td><td>Имя держателя карты</td></tr><tr><td>expired_month</td><td>N2</td><td>R</td><td>Месяц истечения срока действия карты</td></tr><tr><td>expired_year</td><td>N2</td><td>R</td><td>Год истечения срока действия карты</td></tr><tr><td>acs_url</td><td>A..*</td><td>O</td><td>URL для перенаправления пользователя для прохождения 3DS (Access Control Service)</td></tr><tr><td>md</td><td>A*</td><td>O</td><td>Номер транзакции в МПС для идентификации при прохождении 3DS 1.0 (Merchant Data)</td></tr><tr><td>pareq</td><td>A*</td><td>O</td><td>Данные по транзакции для прохождения 3DS 1.0 (Payment Authentication Request)</td></tr><tr><td>threeDS_server_transID</td><td>A</td><td>O</td><td>Уникальный идентификатор, присвоенный 3DS-сервером. Необходим вызов 3DSMethod</td></tr><tr><td>threeDS_method_url</td><td>A</td><td>O</td><td>Значение для передачи в запросе к 3DSMethod</td></tr><tr><td>creq</td><td>A</td><td>O</td><td>Данные для авторизации в 3DS 2.0 после прохождения Challenge</td></tr><tr><td>status</td><td>A</td><td>O</td><td>Статус операции</td></tr></tbody></table>

Примеры ответов на успешный запрос:

Если карта вовлечена в 3DS 2.0 и требуется вызов 3DSMethod:

```json
{
      "threeDS_server_transID":"9f7f012d-d6d0-38fe-9bfd-70a727c7473a",
      "threeDS_method_url":"https://someurl.com",
      "auth_type":1,
      "amount":2050,
      "order_id":"c8ebb763-5b75-4c5e-a731-2489220b4f2a"
}
```

Если карта вовлечена в 3DS 2.0 и требуется вызов СhallengeComplete:

```json
{
        "acs_url":"https://someurl.com",
    "creq":"eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImE3ZTYzZWRkLTYwYTgtMzE0Yi
04MzJlLTU3YTFhNzg2NTZjZSIsImFjc1RyYW5zSUQiOiJhM2MxMDQwYS05OGUxLTQ0
N2EtOTE4Ni0zYzY3N2MyODMxNmEiLCJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDUiLC
JtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=",
       "auth_type":1,
       "amount":2050,
       "card_number":"411111xxxxxx1111",
       "card_holder":"NONAME",
       "expired_year":20,
       "expired_month":12,
       "order_id":"201d6446-c351-4df6-8f46-8f5b24be76aa"
}

```

Если карта вовлечена в 3DS 1.0:

```json
{
         "acs_url": "https://web.rbsuat.com/acs/auth/start.do",
         "pareq": "eJxVUdluwjAQ/BWU9+ADhwBajNICAlUBWkKl9i3HFlKRAxMq4OtrByhU8sPMejRjz8LgmG0bP6j2aZH3LdakVgPzuEjSfN23VsHY7lgDCcFGIQ6XGB8USvBxvw/X2EiTvvXluOi6HWFjRIUtusyxIx4Lm1FkPBKUJu3IkrDw3nAn4RokdU6TA7lR7ajiTZhXEsJ49zSdScHdNqVArhQyVNOhZLwlnLYL5EIhDzOUZXjaogJSE4iLQ16pk2yLFpAbgYPayk1VlT1CLvJmXGRAzBjIPXxxMGivbY5pIv3g9eyf13wejNjs2xezs8f84ciZD70+EKOAJKxQcsq61OWtBu30uD4MSD2HMDP50qk/csFQmgjv4eJxALpfpeu/Pf/GAI9lkaNW6NL+MJD7e58nprq40q2UbiZoNFpUbjUOJi/55/sqGe/Ws6WHH6bQWmQcU90M67KLpSFAjA257opc16zRv/X/Aj0Rt1Q=",
         "md": "949cdebb-b7a7-46b0-874e-bd11f410992c",
         "auth_type": 1,
         "amount": 500,
         "card_number": "411111xxxxxx1111",
         "card_holder": "IVAN",
         "expired_year": 19,
         "expired_month": 12,
  	"order_id": "test_example_002"
}
```

Если карта не вовлечена в 3DS или аутентификация успешно прошла по frictionless flow и выполнение 3DSMethod не требовалось:

```json
{
         "auth_type": 0,
         "amount": 500,
         "recurrent_template_id": "rec-pay-42301e79-b92d-4753-b248-b92ad552fdfd",
         "card_number": "555555xxxxxx5599",
         "card_holder": "IVAN",
         "expired_year": 19,
         "expired_month": 12,
         "order_id": "test_example_003",
         "status": "Charged"
}
```

{% hint style="warning" %}
**Внимание**

Если в запросе в качестве значения параметра recurrent было указано true, транзакция была выполнена успешно, но в ответе не вернулся идентификатор шаблона, то транзакция прошла по обычной схеме, без создания шаблона рекуррентных платежей.

После совершения запроса [PayMerchant](#paymerchant) требуется вызвать запрос [GetStatus](#_getstatus) для получения актуального статуса операции.
{% endhint %}

{% hint style="info" %}
**Карты Maestro**

Правила МПС запрещают проводить рекуррентные платежи по картам Maestro.\
Мы можем настроить ваш аккаунт так, чтобы при попытке оплаты платежной сессии с созданием рекуррентного платежа (в запросе в качестве значения параметра recurrent указано true) платеж отклонялся, а пользователь получал сообщение, что данный тип карт не поддерживается.
{% endhint %}

### Block

Запрос выполняется в рамках двухстадийной схемы проведения платежа.

Результат обработки запроса — блокировка денежных средств на карте пользователя.

**URL запроса:** <mark style="color:blue;">https\://{host}.payler.com/mapi/v1/Block</mark>

**Доступно для:** mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

{% hint style="info" %}
Использование данного метода предполагает обязательное соответствие системы мерчанта требованиям [PCI DSS](/ru-api/obshie-svedeniya/vvedenie.md#pci-dss).
{% endhint %}

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="228.71428571428567"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td><p>Идентификатор мерчанта.</p><p>Выдается с параметрами доступа</p></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Для каждого платежа нужен свой уникальный идентификатор. Только печатные ASCII-символы</td></tr><tr><td>currency</td><td>A3</td><td>О</td><td><p>Валюта платежа (RUB, USD, EUR, GBP, PLN, TJS, KGS).</p><p>По умолчанию — RUB</p></td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма в минимальной денежной единице (копейки, центы и т. д.)</td></tr><tr><td>card_number</td><td>A..19</td><td>O</td><td>Номер карты. Десятичные цифры без разделителей [0–9]</td></tr><tr><td>card_holder</td><td>A..100</td><td>О</td><td>Имя владельца карты. Латинские символы, десятичные цифры или символ пробела [a-zA-Z0-9]</td></tr><tr><td>expired_year</td><td>N2</td><td>O</td><td>Год окончания срока действия карты</td></tr><tr><td>expired_month</td><td>N2</td><td>O</td><td>Месяц окончания срока действия карты. Целое двухзначное число в формате с лидирующим нулем</td></tr><tr><td>secure_code</td><td>A</td><td>R</td><td>Код подлинности карты (CVC2/CVV2).<br>Десятичные цифры [0–9]</td></tr><tr><td>product</td><td>A..256</td><td>O</td><td>Описание заказа, платежа.</td></tr><tr><td>email</td><td>A..100</td><td>R</td><td>Адрес электронной почты пользователя</td></tr><tr><td>lang</td><td>A2</td><td>О</td><td><p>Предпочитаемый язык ответов сервера.</p><p>en — английский; ru — русский.</p><p>По умолчанию — ru</p></td></tr><tr><td>userdata</td><td>A..*</td><td>О</td><td>Пользовательские данные. Можно передать в этой строке любую информацию, которую нужно сохранить вместе с платежом, а потом получить её с помощью метода <a href="#_getadvancedstatus">GetAdvancedStatus</a></td></tr><tr><td>recurrent</td><td>A..100</td><td>О</td><td><p>Показывает, требуется ли создать шаблон рекуррентных платежей на основе текущего.</p><p>1 — требуется создать шаблон;</p><p>0 — шаблон создавать не требуется</p></td></tr><tr><td>card_id</td><td>A..100</td><td>О</td><td>Идентификатор ранее сохранённой карты. Если указан, то можно не указывать card_number, expired_year, expired_month, достаточно указать secure_code</td></tr><tr><td>save_card</td><td>N1</td><td>О</td><td><p>Показывает, требуется ли сохранить данные карты. Если передано 1, то нужно передавать customer_id</p><p>1 — требуется сохранить карту;</p><p>0 — карту сохранять не требуется</p></td></tr><tr><td>customer_id</td><td>A..100</td><td>О</td><td>Идентификатор пользователя. Если передан параметр save_card, равный true или 1, то показывает для какого пользователя будет сохранена карта. Если передан параметр card_id, то показывает, какому пользователю принадлежит карта (значение должно совпадать с указанным при сохранении карты). Генерируется мерчантом</td></tr><tr><td>user_entered_*</td><td>A..100</td><td>О</td><td>Можно указать дополнительные поля для оплаты, начинающиеся с user_entered_. Затем все эти поля возвращаются в <a href="#_getadvancedstatus">GetAdvancedStatus</a> в поле user_entered_params</td></tr><tr><td>pay_page_param_addtoreport3</td><td>A</td><td>O</td><td>При сплитовании: суммы зачисления для каждого получателя в минимальной денежной единице (копейки, центы и т. д.) через запятую</td></tr><tr><td>pay_page_param_addtoreport4</td><td>A</td><td>O</td><td>При сплитовании: ID получателей через запятую. Регистрируются через службу технической поддержки</td></tr><tr><td>antifraud_*</td><td>A..100</td><td>O</td><td>Дополнительные параметры для системы антифрод. Можно передать любые параметры, начинающиеся с antifraud_</td></tr><tr><td>payer_ip</td><td>A</td><td>R</td><td>IP-адрес браузера покупателя</td></tr><tr><td>browserAccept</td><td>A</td><td>R</td><td>Заголовок Accept из браузера покупателя</td></tr><tr><td>browserLanguage</td><td>A</td><td>R</td><td>Язык браузера устройства покупателя.<br>en — английский; ru — русский</td></tr><tr><td>browserUserAgent</td><td>A</td><td>R</td><td>Содержание заголовка User-Agent в браузере покупателя </td></tr><tr><td>browserJavaEnabled</td><td>B</td><td>R</td><td>Признак возможности выполнения Java в браузере устройства покупателя</td></tr><tr><td>browserJavascriptEnabled</td><td>B</td><td>O</td><td>Признак возможности выполнения JavaScript в браузере устройства покупателя.<br>По умолчанию — true</td></tr><tr><td>browserScreenHeight</td><td>A</td><td>R</td><td>Общая высота экрана устройства покупателя в пикселях</td></tr><tr><td>browserScreenWidth</td><td>A</td><td>R</td><td>Общая ширина экрана устройства покупателя в пикселях</td></tr><tr><td>browserColorDepth</td><td>A</td><td>R</td><td>Глубина цветопередачи в битах</td></tr><tr><td>browserTZ</td><td>A</td><td>R</td><td>Часовой пояс — разница (в минутах) во времени между временем по UTC и местным временем браузера на устройстве покупателя</td></tr><tr><td>threeDsNotificationUrl</td><td>A</td><td>R</td><td>URL получения результата 3DS challenge</td></tr><tr><td>fee</td><td>N</td><td>O</td><td>Комиссия в минимальной денежной единице (копейки, центы и т. д.)</td></tr></tbody></table>

**Параметры ответа:**

Формат ответа совпадает форматом ответа [PayMerchant](#paymerchant)**.**

{% hint style="warning" %}
**Внимание**

Если в запросе в качестве значения параметра recurrent было указано true, транзакция была выполнена успешно, но в ответе не вернулся идентификатор шаблона, то транзакция прошла по обычной схеме, без создания шаблона рекуррентных платежей.
{% endhint %}

### 3DSMethod <a href="#toc64642115" id="toc64642115"></a>

Данный метод вызывается на стороне банка-эмитента карты, если в ответе [PayMerchant](#paymerchant),  [Block](#block) или [PaySaveCard](/ru-api/metody-api/sokhranenie-dannykh-kart.md#_d1dbbfw5cib1) вернулись значения *threeDS\_server\_transID* и *threeDS\_method\_url*.

Мерчанту необходимо добавить на страницу пользователя javascript — iframe с html-формой\
с threeDSMethodData. Javascript выполняет submit этой формы, выполняя POST-запрос на *threeDSmethodUrl (*&#x441;м. значение *threeDS\_method\_url в ответе* [*PayMerchant*](https://payler.atlassian.net/wiki/spaces/PAYL/pages/16285869/Payler+API+1.1#PayMerchant-%E2%80%94-%D1%81%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2-%D1%81-%D0%BA%D0%B0%D1%80%D1%82%D1%8B)*,* [*Block*](https://payler.atlassian.net/wiki/spaces/PAYL/pages/16285869/Payler+API+1.1#Block) *или* [*PaySaveCard*](https://payler.atlassian.net/wiki/spaces/PAYL/pages/16285869/Payler+API+1.1#PaySaveCard)*).*&#x20;

Пример содержимого iframe:

```html
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>3DS Method</title>
    <script type="text/javascript"
        language="javascript">function moveWindow() { document.returnform.submit(); } /script>
</head>
<body onLoad="javascript:moveWindow()">
    <form name="returnform" action="' + threeDsMethodUrl + '" method="POST">
        <input type="hidden" name="threeDSMethodData" value="' + threeDSMethodData + '" />
        <noscript>
            <center>Please click the submit button below.<br /><input type="submit" name="submit" value="Submit" />
            </center>
        </noscript>
    </form>
</body>
</html>
```

**Сценарий выполнения:**

1. Система мерчанта в скрытом iframe отправляет методом POST на ThreeDSMethodURL параметр *threeDSMethodData*. На данном шаге *threeDSMethodData* — это закодированный в base64url объект json с полями:
   * **threeDSMethodNotificationURL** — адрес, на который ACS отправит POST-запрос  после того, как соберет информацию о браузере клиента;
   * **threeDSServerTransID** — значение параметра *threeDS\_server\_transID*.
2. ACS отправляет страницу со скриптом для сбора информации о браузере на стороне пользователя;
3. ACS собирает информацию о браузере пользователя;
4. Собранная информация о браузере отправляется на ACS;
5. ACS отправляет POST-запрос на адрес threeDSMethodNotificationURL.\
   В запросе передает параметр *threeDSMethodData*. На данном шаге *threeDSMethodData* — это закодированный в base64url объект json с полем threeDSServerTransID.

После получения от ACS POST-запроса на адрес threeDSMethodNotificationURL или, если в течение предусмотренного протоколом таймаута (10 сек) запрос не был получен, система мерчанта выполняет запрос [ThreeDsMethodComplete](#threedsmethodcomplete).

### ThreeDsMethodComplete

Завершение аутентификации по протоколу 3DS 2.0. Выполняется после вызова [3DSMethod](#_toc64642115).

**Формат запроса:** <mark style="color:blue;">https\://{host}.payler.com/{api}/v1/ThreeDsMethodComplete</mark>\
**Доступно для:** gapi, mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="238.83805304420449"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>threeDs_comp_ind</td><td>A1</td><td>R</td><td>Результат прохождения аутентификации 3DS 2.0. Возможные значения:<br>Y — успех (callback от ACS был получен),<br>N — отклонение (callback от ACS не был получен)</td></tr><tr><td>key</td><td>A</td><td>R</td><td>Платёжный ключ мерчанта</td></tr><tr><td>threeDS_server_transID</td><td>A</td><td>R</td><td>Значение threeDSServerTransI, полученное в ответе на запрос <a href="#paymerchant">PayMerchant</a>, <a href="#block">Block</a> или <a href="/pages/F9MF7urJT4UG2br531HA#_d1dbbfw5cib1">PaySaveCard</a></td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="231.7142857142857"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>acs_url</td><td>A</td><td>O</td><td>URL перенаправления пользователя для прохождения 3DS</td></tr><tr><td>creq</td><td>A</td><td>O</td><td>Данные для авторизации в 3DS 2.0 после Challenge</td></tr><tr><td>auth_type</td><td>N1</td><td>R</td><td><p>Значение, указывающее, требуется ли дополнительная авторизации для осуществления платежа.</p><p>0 — дополнительная авторизация не требуется;</p><p>1 — авторизация с использованием 3D‑Secure</p></td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма в минимальной денежной единице (копейки, центы и т. д.). Соответствует переданной в запросе</td></tr><tr><td>recurrent_template_id</td><td>A..100</td><td>О</td><td><p>Идентификатор шаблона рекуррентных платежей.</p><p>Присутствует, если в рамках текущей транзакции был создан шаблон рекуррентных платежей</p></td></tr><tr><td>card_number</td><td>A..19</td><td>R</td><td>Маскированный номер банковской карты, к которой привязан шаблон. Указывается при совершении первого платежа в серии рекуррентных платежей. Десятичные цифры без разделителей [0–9] и маскировочный символ ‘x’</td></tr><tr><td>card_holder</td><td>A..100</td><td>R</td><td>Имя держателя карты</td></tr><tr><td>expired_year</td><td>N2</td><td>R</td><td>Год истечения срока действия карты</td></tr><tr><td>expired_month</td><td>N2</td><td>R</td><td>Месяц истечения срока действия карты</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе</td></tr><tr><td>status</td><td>A</td><td>O</td><td>Статус операции</td></tr></tbody></table>

Примеры ответов на успешный запрос:

Если карта вовлечена в 3DS 2.0 и требуется вызов [СhallengeComplete](#challengecomplete):

```json
{
       "acs_url":"https://someurl.com",
    "creq":"eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImE3ZTYzZWRkLTYwYTgtMzE0Yi
04MzJlLTU3YTFhNzg2NTZjZSIsImFjc1RyYW5zSUQiOiJhM2MxMDQwYS05OGUxLTQ0
N2EtOTE4Ni0zYzY3N2MyODMxNmEiLCJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDUiLC
JtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=",
       "auth_type":1,
       "amount":2050,
       "card_number":"411111xxxxxx1111",
       "card_holder":"NONAME",
       "expired_year":20,
       "expired_month":12,
       "order_id":"201d6446-c351-4df6-8f46-8f5b24be76aa"
}
```

Если карта не вовлечена в 3DS или аутентификация успешно прошла по frictionless flow:

```json
{
        "auth_type": 0,
        "amount": 500,
        "recurrent_template_id": "rec-pay-42301e79-b92d-4753-b248-b92ad552fdfd",
        "card_number": "555555xxxxxx5599",
        "card_holder": "IVAN",
        "expired_year": 19,
        "expired_month": 12,
        "order_id": "test_example_003",
        "status": "Charged"
}
```

### ChallengeComplete

Прохождение дополнительного этапа для проверки подлинности платежа 3D-Secure 2.0 при блокировке или списании средств со счёта карты.

Сценарий:

1. Если требуется дополнительный этап выполнения проверки подлинности платежа 3D-Secure 2.0, то в ответе метода [PayMerchant](#paymerchant), [Block](#block), [PaySaveCard](/ru-api/metody-api/sokhranenie-dannykh-kart.md#_d1dbbfw5cib1) или [ThreeDsMethodComplete](#threedsmethodcomplete) присутствуют строковые параметры acs\_url и creq.&#x20;
2. После получения ответа от шлюза мерчант перенаправляет пользователя на сайт банка-эмитента для дополнительной аутентификации.\
   **Формат перенаправления:** POST-запрос по адресу, указанному в значении параметра acs\_url. **Параметр:** creq.

**Формат ответа в результате перенаправления:** возврат пользователя POST-запросом по адресу, указанному в параметре threeDsNotificationUrl запроса [PayMerchant](#paymerchant), [Block](#block) или [PaySaveCard](/ru-api/metody-api/sokhranenie-dannykh-kart.md#_d1dbbfw5cib1). **Параметр**: cres.

**Формат запроса:** <mark style="color:blue;">https\://{host}.payler.com/mapi/v1/ChallengeComplete</mark>

**Доступно для:** mapi

{% hint style="warning" %}
Использование данного метода предполагает обязательное соответствие системы мерчанта требованиям [PCI DSS](/ru-api/obshie-svedeniya/vvedenie.md#pci-dss).
{% endhint %}

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="151.7142857142857"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>cres</td><td>A</td><td>R</td><td>Значение cres, полученное от банка-эмитента на threeDsNotificationUrl (передается в запросах <a href="#paymerchant">PayMerchant</a>, <a href="#block">Block</a>, <a href="/pages/F9MF7urJT4UG2br531HA#_d1dbbfw5cib1">PaySaveCard</a>) </td></tr><tr><td>key</td><td>A</td><td>R</td><td>Платёжный ключ мерчанта</td></tr></tbody></table>

**Параметры ответа:**

Формат ответа совпадает форматом ответа [Send3DS](#_toc98799434)

### Send3DS <a href="#toc98799434" id="toc98799434"></a>

Прохождение аутентификации 3D‑Secure 1.0 при блокировке или списании средств с карты.

**Сценарий:**

1. Если карта пользователя задействована в механизме аутентификации 3D‑Secure, значение параметра *auth\_type* в ответе на запрос [PayMerchant](#paymerchant), [Block](#block) или [PaySaveCard](/ru-api/metody-api/sokhranenie-dannykh-kart.md#_d1dbbfw5cib1) становится равным *ThreeDS (1)*. В этом случае в ответе также присутствуют строковые параметры *acs\_url, pareq* и *md*.
2. После получения ответа от шлюза мерчант перенаправляет пользователя на сайт банка-эмитента для дополнительной аутентификации.\
   **Формат перенаправления:** POST‑запрос по адресу, указанному в значении параметра acs\_url. **Параметры:** *PaReq, TermUrl, MD*.\
   **Формат ответа в результате перенаправления:**\
   Возврат пользователя POST‑запросом по адресу, указанному в значении атрибута *TermUrl*. **Параметры:** *PaRes, MD*.
3. После получения результатов аутентификации от банка-эмитента для завершения блокировки или платежа мерчант выполняет дополнительный запрос к шлюзу Payler.

**Формат запроса:** <mark style="color:blue;">https\://{host}.payler.com/mapi/v1/Send3DS</mark>

**Доступно для:** mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

{% hint style="info" %}
Использование данного метода предполагает обязательное соответствие системы мерчанта требованиям [PCI DSS](/ru-api/obshie-svedeniya/vvedenie.md#pci-dss).
{% endhint %}

**Параметры запроса:**

<table data-header-hidden><thead><tr><th></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>PaRes</td><td>A</td><td>R</td><td>Значение, полученное страницей TermUrl от банка-эмитента</td></tr><tr><td>MD</td><td>A</td><td>R</td><td>Значение, полученное при ответе на запрос <a href="#paymerchant">PayMerchant</a>, <a href="#block">Block</a> или <a href="/pages/F9MF7urJT4UG2br531HA#_d1dbbfw5cib1">PaySaveCard</a></td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="225.76730052930796"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>auth_type</td><td>N1</td><td>R</td><td><p>Значение, указывающее, требуется ли дополнительная авторизации для осуществления платежа.</p><p>0 — дополнительная авторизация не требуется;</p><p>1 — авторизация с использованием 3D‑Secure</p></td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма в минимальной денежной единице (копейки, центы и т. д.). Соответствует переданной в запросе</td></tr><tr><td>recurrent_template_id</td><td>A..100</td><td>О</td><td><p>Идентификатор шаблона рекуррентных платежей.</p><p>Присутствует, если в рамках текущей транзакции был создан шаблон рекуррентных платежей</p></td></tr><tr><td>card_number</td><td>A..19</td><td>R</td><td>Маскированный номер банковской карты, к которой привязан шаблон. Указывается при совершении первого платежа в серии рекуррентных платежей. Десятичные цифры без разделителей [0–9] и маскировочный символ ‘x’</td></tr><tr><td>card_holder</td><td>A..100</td><td>R</td><td>Имя держателя карты</td></tr><tr><td>expired_year</td><td>N2</td><td>R</td><td>Год истечения срока действия карты</td></tr><tr><td>expired_month</td><td>N2</td><td>R</td><td>Месяц истечения срока действия карты</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе</td></tr><tr><td>status</td><td>A</td><td>O</td><td>Статус операции</td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
        "auth_type": 0,
        "amount": 500,
        "recurrent_template_id": "rec-pay-42301e79-b92d-4753-b248-b92ad552fdfd",
        "card_number": "555555xxxxxx5599",
        "card_holder": "IVAN",
        "expired_year": 19,
        "expired_month": 12,
        "order_id": "test_example_003",
        "status": "Charged"
}
```

### Charge

Запрос выполняется для списания предварительно заблокированной суммы с карты пользователя.

Запрос выполняется после успешной команды [PayGate](#paygate) или [Block](#block) при двухстадийной схеме проведения платежа. Статус платежа должен быть «Authorized». Также, для схемы Gate, в запросе [StartSession](#startsession), параметр *type* должен иметь значение «TwoStep».

**URL запроса:** [https://{host}.payler.com/{api}/Charge](about:blank)

**Доступно для:** gapi, mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта. Выдается с параметрами доступа</td></tr><tr><td>password</td><td>A..100</td><td>R</td><td>Пароль мерчанта для проведения операций.<br>Выдается с параметрами доступа</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор заказа в системе мерчанта. Должен соответствовать order_id операции <a href="#startsession">StartSession</a> или <a href="#block">Block</a></td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма списания в минимальной денежной единице (копейки, центы и т. д.). Должна точно совпадать с суммой заблокированных средств</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td>Тип</td><td>R/O</td><td>Описание</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Списанная сумма в минимальной денежной единице (копейки, центы и т. д.)</td></tr><tr><td>status</td><td>A</td><td>R</td><td>Статус операции</td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
         "amount": 3457500,
         "order_id": "sk-d97b9c351818d820fdd3d5d33e6c1edf",
         "status": "Charged"
}
```

### Retrieve <a href="#id-6u9e88fu71pn" id="id-6u9e88fu71pn"></a>

Запрос выполняется после успешной команды [PayGate](#paygate) или [Block](#block) при двухстадийной схеме проведения платежа. Статус платежа должен быть «Authorized».

Результатом обработки запроса является разблокировка (частичная или полная) денежных средств на карте пользователя.

**URL запроса:** [https://{host}.payler.com/{api}/Retrieve](about:blank)

**Доступно для:** gapi, mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта. Выдается с параметрами доступа</td></tr><tr><td>password</td><td>A..100</td><td>R</td><td>Пароль мерчанта для проведения операций.<br>Выдается с параметрами доступа</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор заказа в системе мерчанта. Должен соответствовать order_id операции <a href="#startsession">StartSession</a> или <a href="#block">Block</a></td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма в минимальной денежной единице (копейки, центы и т. д.), которую следует вернуть. Не должна превышать значение, указанное в запросе <a href="#startsession">StartSession</a> или <a href="#paymerchant">PayMerchant</a></td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе</td></tr><tr><td>new_amount</td><td>N</td><td>R</td><td>Новая величина суммы платежа в копейках</td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
         "new_amount": 10000,
         "order_id": "4c1552c5-11bb-465f-8564-62ac933ae15d"
}
```

### Refund

Запрос выполняется после успешной команды [PayGate](#paygate) или [PayMerchant](#paymerchant) при одностадийной схеме, либо после успешной команды Charge при двухстадийной схеме.\
Статус платежа должен быть «Charged». Результатом обработки запроса является возврат (полный или частичный) списанных денежных средств на карту пользователя.

**Формат запроса:** [https://{host}.payler.com/{api}/Refund](about:blank)

**Доступно для:** gapi, mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта. Выдается с параметрами доступа</td></tr><tr><td>password</td><td>A..100</td><td>R</td><td>Пароль мерчанта для проведения операций.<br>Выдается с параметрами доступа</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор заказа в системе мерчанта. Должен соответствовать order_id операции <a href="#startsession">StartSession</a>, <a href="#paymerchant">PayMerchant</a> или <a href="#block">Block</a></td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма в минимальной денежной единице (копейки, центы и т. д.), которую следует вернуть</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Остаток списанной суммы в минимальной денежной единице (копейки, центы и т. д.)</td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
         "amount": 0,
         "order_id": "4c1552c5-11bb-465f-8564-62ac933ae15d"
}
```

### RepeatPay <a href="#repeatpay" id="repeatpay"></a>

Запрос осуществления повторного платежа в рамках серии рекуррентных платежей. Результатом обработки запроса является списание денежных средств без указания пользователем карточных данных.

**Формат запроса:** <mark style="color:blue;">https\://{host}.payler.com/{api}/v1/RepeatPay</mark>

**Доступно для:** gapi, mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="226.6153846153846"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта.<br>Выдается с параметрами доступа</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Для каждого платежа (сессии) требуется использовать уникальный идентификатор.<br>Только печатные ASCII‑символы</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма платежа в минимальной денежной единице (копейки, центы и т. д.). Может отличаться от суммы платежа, осуществленного в рамках транзакции, на основе которой был создан шаблон рекуррентных платежей</td></tr><tr><td>product</td><td>A..256</td><td>O</td><td>Описание заказа, платежа.</td></tr><tr><td>recurrent_template_id</td><td>A..100</td><td>R</td><td>Идентификатор шаблона рекуррентных платежей, полученный в callback</td></tr><tr><td>currency</td><td>A3</td><td>О</td><td><p>Валюта платежа (RUB, USD, EUR, GBP, PLN, TJS, KGS).</p><p>По умолчанию — RUB</p></td></tr><tr><td>userdata</td><td>A..1000</td><td>О</td><td>Пользовательские данные. Можно передать в этой строке любую информацию, которую нужно сохранить вместе с платежом, а потом получить её с помощью метода <a href="#_getadvancedstatus">GetAdvancedStatus</a></td></tr></tbody></table>

{% hint style="info" %}
**Параметр currency**

Если мерчант использует при расчетах более одной валюты, параметр\
currency является обязательным!\
Например, если шаблон рекуррентного платежа был создан по платежу, осуществленному в USD, то при повторном списании необходимо указывать USD.\
В противном случае платеж пройдет по рублевому терминалу, с конвертацией валюты и начислением дополнительной комиссии.
{% endhint %}

&#x20;**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплаченного заказа в системе мерчанта. Соответствует переданному в запросе</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма в минимальной денежной единице (копейки, центы и т. д.)</td></tr><tr><td>status</td><td>A</td><td>R</td><td>Статус операции</td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
         "amount": 50000,
         "order_id": "3e31f52f-84bd-4a98-b798-8aafd325a229",
         "status": "Charged"
}
```

{% hint style="info" %}
**Карты Maestro**

Правила МПС запрещают проводить рекуррентные платежи по картам Maestro.\
Мы можем настроить аккаунт в Payler так, чтобы при попытке оплаты платежной сессии с созданием рекуррентного платежа (в запросе [StartSession](#startsession) в качестве значения параметра recurrent было указано true) платеж отклонялся,\
а пользователь получил сообщение, что данный тип карт не поддерживается.
{% endhint %}

### GetTemplate <a href="#gettemplate" id="gettemplate"></a>

Запрос получения информации о шаблоне рекуррентных платежей. Рекомендуется использовать для получения полной информации о зарегистрированном шаблоне рекуррентных платежей.

**Формат запроса:** [https://{host}.payler.com/{api}/GetTemplate](about:blank)

**Доступно для:** gapi, mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="231.7142857142857"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта. Выдается с параметрами доступа</td></tr><tr><td>recurrent_template_id</td><td>A..100</td><td>R</td><td>Идентификатор шаблона рекуррентных платежей, полученный в callback</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="226"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>recurrent_template_id</td><td>A..100</td><td>R</td><td>Идентификатор шаблона рекуррентных платежей</td></tr><tr><td>created</td><td>A</td><td>R</td><td>Дата и время регистрации шаблона рекуррентных платежей в формате «yyyy-MM-dd HH:mm:ss»</td></tr><tr><td>card_holder</td><td>A..100</td><td>R</td><td>Имя держателя карты, к которой привязан шаблон. Указывается при совершении первого платежа в серии рекуррентных платежей</td></tr><tr><td>card_number</td><td>A..19</td><td>R</td><td><p>Маскированный номер банковской карты, к которой привязан шаблон. Указывается при совершении первого платежа в серии рекуррентных платежей.</p><p>Десятичные цифры без разделителей [0–9] и маскировочный символ ‘x’</p></td></tr><tr><td>expiry</td><td>A..5</td><td>R</td><td><p>Срок действия шаблона рекуррентных платежей.</p><p>Месяц и год в формате «MM/yy»</p></td></tr><tr><td>active</td><td>B</td><td>R</td><td><p>Показывает, активен ли шаблон.</p><p>1 — шаблон активен;</p><p>0 — шаблон неактивен</p></td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
         "recurrent_template_id": "rec-pay-2160e16c-849d-42c5-a224-19f302ce4806",
         "created": "2014-08-21 18:22:03",
         "card_holder": "TEST USER",
         "card_number": "510047xxxxxx0401",
         "expiry": "03/15",
         "active": true
}
```

### ActivateTemplate <a href="#id-48njrtxzoycy" id="id-48njrtxzoycy"></a>

Запрос активации/деактивации шаблона рекуррентных платежей.\
Используется для временного отключения возможности совершать платежи по шаблону.

**Формат запроса:** <mark style="color:blue;">https\://{host}.payler.com/{api}/ActivateTemplate</mark>

**Доступно для:** gapi, mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="229"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта. Выдается с параметрами доступа</td></tr><tr><td>recurrent_template_id</td><td>A..100</td><td>R</td><td>Идентификатор шаблона рекуррентных платежей</td></tr><tr><td>active</td><td>B</td><td>R</td><td><p>Показывает, требуется ли активировать или деактивировать шаблон рекуррентных платежей.</p><p>1 — шаблон требуется активировать;</p><p>0 — шаблон требуется деактивировать</p></td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="225"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>recurrent_template_id</td><td>A..100</td><td>R</td><td><p>Идентификатор шаблона рекуррентных платежей.</p><p>Соответствует переданному в запросе</p></td></tr><tr><td>created</td><td>A</td><td>R</td><td>Дата и время регистрации шаблона рекуррентных платежей в формате «yyyy-MM-dd HH:mm:ss»</td></tr><tr><td>card_holder</td><td>A..100</td><td>R</td><td>Имя держателя карты, к которой привязан шаблон. Указывается при совершении первого платежа в серии рекуррентных платежей</td></tr><tr><td>card_number</td><td>A..19</td><td>R</td><td>Маскированный номер банковской карты, к которой привязан шаблон. Указывается при совершении первого платежа в серии рекуррентных платежей. Десятичные цифры без разделителей [0–9] и маскировочный символ ‘x’</td></tr><tr><td>expiry</td><td>A..5</td><td>R</td><td>Срок действия шаблона рекуррентных платежей в формате «MM/yy»</td></tr><tr><td>active</td><td>B</td><td>R</td><td><p>Показывает, активен ли шаблон.</p><p>1 — шаблон активен; 0 — шаблон неактивен</p></td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
         "recurrent_template_id": "rec-pay-2160e16c-849d-42c5-a224-19f302ce4806",
         "created": "2014-08-21 18:22:03",
         "card_holder": "TEST USER",
         "card_number": "510047xxxxxx0401",
         "expiry": "03/15",
         "active": true
}
```

### GetStatus <a href="#getstatus" id="getstatus"></a>

Результатом выполнения запроса является получение актуального статуса операции. Рекомендуется использовать в случае неполучения ответа от шлюза Payler при проведении других запросов по платежу.

**Формат запроса:** [https://{host}.payler.com/{api}/GetStatus](about:blank)

**Доступно для:** gapi, mapi, cgapi, cmapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="232.6153846153846"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта. Выдается с параметрами доступа</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор операции в системе мерчанта</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="231.6153846153846"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор платежа в системе мерчанта. Соответствует переданному в запросе</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма платежа в минимальной денежной единице (копейки, центы и т. д.)</td></tr><tr><td>status</td><td>A</td><td>R</td><td>Состояние платежа. См. <a href="/pages/zdMUbi6uAPWbyX3Hgd4y#statusy-operacii">Статусы операций</a></td></tr><tr><td>recurrent_template_id</td><td>A..100</td><td>O</td><td>Идентификатор шаблона рекуррентных платежей. Присутствует, если в рамках текущей транзакции был создан шаблон рекуррентных платежей или она была осуществлена по шаблону</td></tr><tr><td>payment_type</td><td>A</td><td>O</td><td>Способ оплаты. См. <a href="/pages/zdMUbi6uAPWbyX3Hgd4y#sposoby-oplaty">Способы оплаты</a></td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
         "status": "Charged",
         "amount": 30000,
         "recurrent_template_id": "rec-pay-02e20707-eed4-4cb4-9a45-03b5465f8e92",
         "order_id": "a0c799a6-a3df-47cc-b452-63b19d95bb59",
         "payment_type": "Card"
}
```

{% hint style="info" %}
&#x20;Если статус операции имеет значение «Pending», то запрос статуса\
следует повторять до изменения статуса. Частоту запроса изменять в геометрической прогрессии.
{% endhint %}

{% hint style="warning" %}
Если в запросе [StartSession](#startsession), [Block](#block) или [PayMerchant](#paymerchant) в качестве значения параметра recurrent было указано true, транзакция была выполнена успешно, но в ответе на запрос [GetStatus](#_getstatus) не вернулся идентификатор шаблона, то транзакция прошла по обычной схеме, без создания шаблона рекуррентных платежей.
{% endhint %}

### GetAdvancedStatus <a href="#getadvancedstatus" id="getadvancedstatus"></a>

Результатом выполнения запроса является получение расширенного статуса операции. Используется для получения детальной информации в том случае, если ответа на запрос [GetStatus](#_getstatus) недостаточно для решения бизнес‑задач.

**Формат запроса:** [https://{host}.payler.com/{api}/GetAdvancedStatus](about:blank)

**Доступно для:** gapi, mapi, cgapi, cmapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="227.15084511533962"></th><th width="194.30085896716932"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта. Выдается с параметрами доступа</td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор операции в системе мерчанта</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="224.27934621099556"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор платежа в системе мерчанта. Соответствует переданному в запросе</td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма платежа в минимальной денежной единице (копейки, центы и т. д.)</td></tr><tr><td>status</td><td>A</td><td>R</td><td>Состояние платежа. См. <a href="/pages/zdMUbi6uAPWbyX3Hgd4y#statusy-operacii">Статусы операций</a></td></tr><tr><td>product</td><td>A..256</td><td>O</td><td>Описание операции</td></tr><tr><td>recurrent_template_id</td><td>A..100</td><td>O</td><td><p>Идентификатор шаблона рекуррентных платежей.</p><p>Присутствует, если в рамках текущей транзакции был создан шаблон рекуррентных платежей или она была осуществлена по шаблону</p></td></tr><tr><td>card_number</td><td>A..19</td><td>R</td><td>Маскированный номер карты, с которой сделан платеж</td></tr><tr><td>card_holder</td><td>A..100</td><td>R</td><td>Имя держателя карты, с  которой осуществлен платеж</td></tr><tr><td>dt</td><td>A</td><td>R</td><td>Время регистрации транзакции в системе Payler в формате «yyyy-MM-dd HH:mm:ss»</td></tr><tr><td>from</td><td>A</td><td>O</td><td>IP‑адрес, с которого выполнен запрос платежа</td></tr><tr><td>approval_code</td><td>A..6</td><td>O</td><td>Буквенно-цифровой код, присвоенный банком‑эмитентом для удостоверения подтверждения запроса авторизации</td></tr><tr><td>rrn</td><td>A..6</td><td>O</td><td>Номер, присвоенный транзакции в платежной системе</td></tr><tr><td>userdata</td><td>A..1000</td><td>O</td><td>Значение параметра userdata, переданного в методе <a href="#startsession">StartSession</a>, <a href="#paymerchant">PayMerchant</a> или <a href="#block">Block</a></td></tr><tr><td>type</td><td>A..7</td><td>O</td><td><p>Определяет количество стадий платежа.</p><p>OneStep — одностадийный платеж;</p><p>TwoStep — двухстадийный платеж</p></td></tr><tr><td>processing</td><td>A</td><td>O</td><td>Название процессинга, обрабатывающего платёж</td></tr><tr><td>processing_order_id</td><td>A</td><td>O</td><td>Идентификатор платежа в процессинговом центре</td></tr><tr><td>card_bankname</td><td>A</td><td>R</td><td>Название банка. Может быть пустым значением</td></tr><tr><td>card_paymentsystem</td><td>A</td><td>R</td><td>Платежная система. Может быть пустым значением</td></tr><tr><td>card_product</td><td>A</td><td>R</td><td>Тип карты. Может быть пустым значением</td></tr><tr><td>card_id</td><td>A..100</td><td>O</td><td>Идентификатор карты, с помощью которой была произведена оплата. Отсутствует, если оплата производилась не по сохранённой карте</td></tr><tr><td>card_status</td><td>A..10</td><td>O</td><td><p>Статус карты:</p><p>Saved — карта сохранена и готова к использованию;</p><p>Invalid — карта недействительна (например, истёк срок её действия)</p></td></tr><tr><td>user_entered_params</td><td>D</td><td>R</td><td>При оплате можно указать дополнительные поля для ввода, начинающиеся с user_entered_. Максимальная длина каждого параметра — 100 символов.<br>Затем все эти поля возвращаются в <a href="#_getadvancedstatus">GetAdvancedStatus</a> в поле user_entered_params</td></tr></tbody></table>

Пример ответа на успешный запрос (платёж):

```json
{
   "card_number": "554781xxxxxx4672",
   "card_holder": "NO NAME",
   "expired_year": 22,
   "expired_month": 3,
   "dt": "2019-06-26 12:59:05",
   "from": "127.0.0.1",
   "approval_code": "598101",
   "rrn": "917791485893",
   "processing": "PSB",
   "currency": "RUB",
   "user_entered_params":
   {
       "user_entered_documentSeria": "1500",
       "user_entered_documentNumbers": "aB"
   },
   "type": "OneStep",
   "card_bankname": "PUBLIC JOINT STOCK COMPANY PROMSVYAZBANK",
   "card_paymentsystem": "MASTERCARD",
   "card_product": "GOLD",
   "card_country_code": "RU",
   "processing_order_id": "1561543145757000",
   "status": "Charged",
   "amount": 500,
   "recurrent_template_id": "rec-pay-da24a6e3-8b9e-4bf2-8fa5-45e5365f5222",
   "payment_type": "Card",
   "order_id": "Dr24ake3-875e-4bf2-8fa5-45e5365f6773"
}
```

### GetAdvancedStatusBulk <a href="#getadvancedstatus" id="getadvancedstatus"></a>

Результатом выполнения запроса является получение расширенного статуса по нескольким операциям. Используется для проведения сверок и массовых повторных запросов.

**Формат запроса:** <https://{host}.payler.com/{api}/GetAdvancedStatusBulk>

**Доступно для:** gapi, mapi, cgapi, cmapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="143"></th><th width="86"></th><th width="64"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A..100</td><td>R</td><td>Идентификатор мерчанта. Выдается с параметрами доступа</td></tr><tr><td>order_id</td><td>Ar</td><td>R</td><td><p>Массив со списком идентификаторов в системе мерчанта.</p><p></p><p><strong>Ограничение:</strong> не более 100 идентификаторов в одном запросе</p></td></tr></tbody></table>

**Параметры ответа:**

В ответе отправляется массив “orders”, содержащий модель, аналогичную ответу на вызов [GetAdvancedStatus](#_getadvancedstatus).

Параметр ответа на успешный запрос:

```json
{
    "orders": [
        {
            "card_number": "557805xxxxxx3717",
            "card_holder": "NONAME",
            "expired_year": 22,
            "expired_month": 12,
            "dt": "2022-11-16 22:41:39",
            "processing": "SNGB2",
            "currency": "RUB",
            "user_entered_params": {},
            "type": "TwoStep",
            "card_bankname": "JOINT STOCK COMPANY SURGUTNEFTEGASBANK",
            "card_paymentsystem": "MASTERCARD",
            "card_product": "GOLD",
            "card_country_code": "US",
            "processing_order_id": "a32da2ec-bce9-4518-a9d7-ed6a34742ee1",
            "card_id": "vmGRYqk7cPiJj2COqnxPcUSNqJiy5ybq09bd",
            "card_status": "Saved",
            "status": "Charged",
            "amount": 100,
            "recurrent_template_id": "rec-pay-3e996e77-77e4-4cfb-ae68-531f36cb25c8",
            "payment_type": "Card",
            "order_id": "5211e525-fdbc-444e-b5dc-ba685f258b7b",
            "from": "192.168.0.104",
            "userdata": ""
        },
        {
            "card_number": "557805xxxxxx3717",
            "card_holder": "NONAME",
            "expired_year": 22,
            "expired_month": 12,
            "dt": "2022-11-18 09:39:49",
            "processing": "SNGB2",
            "currency": "RUB",
            "user_entered_params": {},
            "type": "TwoStep",
            "card_bankname": "JOINT STOCK COMPANY SURGUTNEFTEGASBANK",
            "card_paymentsystem": "MASTERCARD",
            "card_product": "GOLD",
            "card_country_code": "US",
            "processing_order_id": "0c15078e-70a2-4809-9cfe-a24d60200686",
            "status": "Rejected",
            "amount": 100,
            "payment_type": "Card",
            "order_id": "862a643b-1edf-4b7e-b8b9-2ac429a3e2e2",
            "from": "192.168.0.104",
            "userdata": "",
            "error_code": "THREE_DS_FAIL",
            "error_message": "Payment Confirmation on the side of the bank issuing the card canceled or it's impossible to perform due to an error."
        },
        {
            "card_number": "220058xxxxxx0913",
            "card_holder": "NONAME",
            "expired_year": 22,
            "expired_month": 9,
            "dt": "2022-11-18 14:14:22",
            "rrn": "130930416142",
            "processing": "SNGB2",
            "currency": "RUB",
            "user_entered_params": {},
            "type": "OneStep",
            "card_bankname": "",
            "card_paymentsystem": "NSPK MIR",
            "card_product": "",
            "card_country_code": "RU",
            "processing_order_id": "93e522a8-a8db-4ca8-ae54-b29be699bc9a",
            "card_id": "mSkjBEsCRDM97LJyx1a0z6HumKuA59k4dG5S",
            "card_status": "Deleted",
            "status": "Credited",
            "amount": 100,
            "payment_type": "Card",
            "order_id": "f120c06b-8390-4eef-8f30-17d0a2b8fe2c",
            "from": "51.250.11.77",
            "userdata": ""
        }
    ]
}
```

### AppleValidateMerchant

Валидация мерчанта в Apple.

**URL запроса:** [https://{host}.payler.com/{gapi}/applevalidatemerchant](about:blank)

**Content-Type:** application/json

**Доступно для:** gapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="242.7142857142857"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>key</td><td>A</td><td>R</td><td>Платежный ключ мерчанта</td></tr><tr><td>apple_pay_validation_url</td><td>A</td><td>R</td><td>Url валидации мерчанта, полученный обработчиком события <a href="https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778021-onvalidatemerchant">onvalidatemerchant</a></td></tr><tr><td>apple_pay_type</td><td>N1</td><td>R</td><td>Тип оплаты. 3 — кнопка Apple Pay на сайте мерчанта</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>validation_object</td><td>A</td><td>R</td><td>Объект, полученный от Apple. Его необходимо передать в метод <a href="https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778015-completemerchantvalidation">completeMerchantValidation</a>.</td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
  "validation_object": "..."
}
```

### ApplePay

Проведение платежа с помощью Apple Pay через мобильное приложение или на web‑сайте мерчанта с использованием зашифрованных платежных данных. Результатом обработки запроса является списание или блокировка денежных средств на карте пользователя.

**URL запроса:** <mark style="color:blue;">https\://{host}.payler.com/{api}/ApplePay</mark>

**Content-Type:** application/json

**Доступно для:** gapi, mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="230"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>session_id</td><td>A..100</td><td>R</td><td>Идентификатор сессии, полученный с помощью вызова <a href="#startsession">StartSession</a></td></tr><tr><td>apple_payment_data</td><td>A</td><td>R</td><td>Зашифрованные платежные данные из параметра<a href="https://developer.apple.com/reference/passkit/pkpaymenttoken/1617000-paymentdata"> </a><a href="https://developer.apple.com/reference/passkit/pkpaymenttoken/1617000-paymentdata">paymentData</a> объекта<a href="https://developer.apple.com/reference/passkit/pkpaymenttoken"> </a><a href="https://developer.apple.com/documentation/passkit/pkpaymenttoken">PKPaymentToken</a></td></tr><tr><td>email</td><td>A..100</td><td>R</td><td>Адрес электронной почты плательщика</td></tr><tr><td>apple_pay_type</td><td>N1</td><td>R</td><td>Тип оплаты. Возможные значения:<br>1 — оплата из приложения,<br>3 — кнопка Apple Pay на сайте мерчанта</td></tr><tr><td>payer_ip</td><td>A</td><td>O</td><td>IP-адрес пользователя</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="236.6153846153846"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе <a href="#startsession">StartSession</a></td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма платежа в минимальной денежной единице (копейки, центы и т. д.)</td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
         "amount": 30000,
         "order_id": "d1434908-7260-483e-8254-fa43af1b835d",
}
```

### ApplePayDecrypted <a href="#applepaydecrypted" id="applepaydecrypted"></a>

Проведение платежа с помощью Apple Pay через мобильное приложение или на web‑сайте мерчанта с использованием расшифрованных платежных данных. Результатом обработки запроса является списание или блокировка денежных средств на карте пользователя.

**URL запроса:** [https://{host}.payler.com/{api}/ApplePay/Decrypted](https://%7bhost%7d.payler.com/%7bapi%7d/ApplePay/Decrypted)

**Content-Type:** application/json

**Доступно для:** mapi

{% hint style="warning" %}
Использование данного метода предполагает обязательное соответствие системы мерчанта требованиям [PCI DSS](/ru-api/obshie-svedeniya/vvedenie.md#pci-dss).
{% endhint %}

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="213"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>session_id</td><td>A..100</td><td>R</td><td>Идентификатор сессии, полученный с помощью вызова <a href="#startsession">StartSession</a></td></tr><tr><td>apple_pay_payload</td><td>A</td><td>R</td><td>Расшифрованные платежные данные из параметра<a href="https://developer.apple.com/reference/passkit/pkpaymenttoken/1617000-paymentdata"> </a><a href="https://developer.apple.com/reference/passkit/pkpaymenttoken/1617000-paymentdata">paymentData</a> объекта<a href="https://developer.apple.com/reference/passkit/pkpaymenttoken"> </a><a href="https://developer.apple.com/documentation/passkit/pkpaymenttoken">PKPaymentToken</a></td></tr><tr><td>email</td><td>A..100</td><td>R</td><td>Адрес электронной почты плательщика</td></tr><tr><td>apple_pay_type</td><td>N1</td><td>R</td><td>Тип оплаты. Возможные значения:<br>1 — оплата из приложения,<br>3 — кнопка Apple Pay на сайте мерчанта</td></tr><tr><td>payer_ip</td><td>A</td><td>O</td><td>IP-адрес пользователя</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе <a href="#startsession">StartSession</a></td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма платежа в минимальной денежной единице (копейки, центы и т. д.)</td></tr></tbody></table>

Пример ответа на успешный запрос:

```json
{
         "amount": 30000,
         "order_id": "d1434908-7260-483e-8254-fa43af1b835d",
}
```

### GooglePay <a href="#googlepay" id="googlepay"></a>

Проведение платежа с помощью Google Pay через мобильное приложение или на web‑сайте мерчанта с использованием зашифрованных платежных данных. Результатом обработки запроса является списание или блокировка денежных средств на карте пользователя.

Для использования метода GooglePay мерчанту требуется предварительно выполнить настройку Google Pay API. Информацию по настройке см. в разделе [Платежи GooglePay](/ru-api/obshie-svedeniya/obshaya-informaciya.md#platezhi-googlepay).

**URL запроса:** [https://{host}.payler.com/{api}/GooglePay](about:blank)

**Content-Type:** application/json

**Доступно для:** gapi, mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

**Параметры запроса:**

<table data-header-hidden><thead><tr><th width="199.77800365928033"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>session_id</td><td>A..100</td><td>R</td><td>Идентификатор сессии, полученный с помощью вызова <a href="#startsession">StartSession</a></td></tr><tr><td>google_pay_token</td><td>A</td><td>R</td><td>Зашифрованные платежные данные "paymentMethodData", "tokenizationData", "token" из полученного от Google объекта <a href="https://developers.google.com/pay/api/android/reference/object#PaymentData">PaymentData</a> (можно получить в методе handlePaymentSuccess) вызовом paymentData, getPaymentMethodToken, getToken</td></tr><tr><td>email</td><td>A..100</td><td>O</td><td>Адрес электронной почты плательщика</td></tr><tr><td>payer_ip</td><td>A</td><td>O</td><td>IP-адрес пользователя</td></tr></tbody></table>

**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе <a href="#startsession">StartSession</a></td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма платежа в минимальной денежной единице (копейки, центы и т. д.)</td></tr></tbody></table>

&#x20;Пример ответа на успешный запрос:

```json
{
         "amount": 30000,
         "order_id": "d1434908-7260-483e-8254-fa43af1b835d",
}
```

### GooglePayDecrypted <a href="#googlepaydecrypted" id="googlepaydecrypted"></a>

Проведение платежа с помощью Google Pay через мобильное приложение или на web‑сайте мерчанта с использованием расшифрованных платежных данных. Результатом обработки запроса является списание или блокировка денежных средств на карте пользователя.

Для использования метода GooglePay мерчанту требуется предварительно выполнить настройку Google Pay API. Информацию по настройке см. в разделе [Платежи GooglePay](/ru-api/obshie-svedeniya/obshaya-informaciya.md#platezhi-googlepay).

**URL запроса:** [https://{host}.payler.com/mapi/GooglePay/Decrypted](https://%7bhost%7d.payler.com/mapi/GooglePay/Decrypted)

**Content-Type:** application/json

**Доступно для:** mapi

**Метод отправки запроса:** <mark style="color:green;background-color:green;">**`POST`**</mark>

{% hint style="info" %}
Использование данного метода предполагает обязательное соответствие системы мерчанта требованиям [PCI DSS](/ru-api/obshie-svedeniya/vvedenie.md#pci-dss).
{% endhint %}

**Параметры запроса:**

<table data-header-hidden><thead><tr><th></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>session_id</td><td>A..100</td><td>R</td><td>Идентификатор сессии, полученный с помощью вызова <a href="#startsession">StartSession</a></td></tr><tr><td>google_pay_payload</td><td>A</td><td>R</td><td><p>Расшифрованные платежные данные "encryptedMessage" из полученного от Google объекта <a href="https://developers.google.com/pay/api/android/reference/object#PaymentData">PaymentData</a> (можно получить в методе handlePaymentSuccess) вызовом paymentData, getPaymentMethodToken, getToken.</p><p>Поддерживается только "CRYPTOGRAM_3DS", как метод аутентификации (свойство "authMethod")</p></td></tr><tr><td>email</td><td>A..100</td><td>O</td><td>Адрес электронной почты плательщика</td></tr><tr><td>payer_ip</td><td>A</td><td>O</td><td>IP-адрес пользователя</td></tr></tbody></table>

&#x20;**Параметры ответа:**

<table data-header-hidden><thead><tr><th width="150"></th><th width="150"></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Название</strong></td><td><strong>Тип</strong></td><td><strong>R/O</strong></td><td><strong>Описание</strong></td></tr><tr><td>order_id</td><td>A..100</td><td>R</td><td>Идентификатор оплачиваемого заказа в системе мерчанта. Соответствует переданному в запросе <a href="#startsession">StartSession</a></td></tr><tr><td>amount</td><td>N</td><td>R</td><td>Сумма платежа в минимальной денежной единице (копейки, центы и т. д.)</td></tr></tbody></table>

&#x20;Пример ответа на успешный запрос:

```json
{
         "amount": 30000,
         "order_id": "d1434908-7260-483e-8254-fa43af1b835d",
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payler.com/ru-api/metody-api/platezhi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
