Интерфейс на Web-Service

Использование функций или функциональности системы описанных в wsdl, но не описанных в настоящем документе не допустимо.

Запрос регистрации заказа (WS)

Запрос регистрации заказа называется registerOrder, он описан в WSDL сервиса (см. раздел Координаты подключения).
Параметры запроса:

Название Тип Обязательно Описание
merchantOrderNumber ANS..32 да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы
description ANS..512 нет Описание заказа в свободной форме
amount N..20 да Сумма платежа в минимальных единицах валюты
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли).
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
pageView ANS..20 нет

По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:

  • DESKTOP – для загрузки страниц, вёрстка которых предназначена для отображения на экранах ПК (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями payment_<locale>.html и errors_<locale>.html );
  • MOBILE – для загрузки страниц, вёрстка которых предназначена для отображения на экранах мобильных устройств (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями mobile_payment_<locale>.html и mobile_errors_<locale>.html );
  • Если магазин создал страницы платёжного интерфейса, добавив в название файлов страниц произвольные префиксы, передайте значение нужного префикса в параметре pageView для загрузки соответствующей страницы. Например, при передаче значения iphone в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями iphone_payment_<locale>.html и iphone_error_<locale>.html.
    где:

    • locale – язык страницы в кодировке ISO 639-1. Например, ru для русского или en для английского.

Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP.

sessionTimeoutSecs N...9 нет Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
bindingId AN..255 no Идентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
expirationDate ANS нет Дата и время окончания жизни заказа. Формат: yyyy-MM-dd'T'HH:mm:ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs .
returnUrl AN..512 да Адрес, на который надо перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrl AN..512 нет Адрес, на который надо перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
params - нет

Тэг с атрибутами для передачи дополнительных параметров мерчанта.

Поля дополнительной информации для последующего хранения. Для передачи N параметров, в запросе должно находиться N тэгов params, где атрибут name содержит название, а атрибут value содержит значение:

Название Тип Обязательно Описание
name AN..20 да Название дополнительного параметра
value AN..1024 да Значение дополнительного параметра

Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данного функционала возможно по согласованию с банком в период интеграции.
Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом тэге в параметре с именем email.

clientId AN..255 нет

Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок.

Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен.

merchantLogin AN..255 нет Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре.
features ANS..255 нет

Контейнер для параметра feature, в котором возможно передать следующие значения:

  • AUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей.

По умолчанию в процессинг банка передаются поля:

  • orderNumber – номер заказа в системе магазина;
  • description – описание заказа.

Передаваемые в процессинг поля должны быть не более 99 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n.
Если в заказе передать дополнительный параметр с именем merchantOrderId, то именно его значение будет передано в процессинг в качестве номера заказа (вместо значения поля orderNumber).

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

Название Тип Обязательно Описание
orderId ANS36 нет Номер заказа в платёжной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа на удалась по причине ошибки, детализированной в errorCode.
formUrl AN..512 нет URL платёжной формы, на который надо перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.
errorCode N3 нет Код ошибки.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре language в запросе.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 Неверный номер заказа
1 Заказ с таким номером уже обработан
3 Неизвестная валюта
4 Отсутствует сумма
4 Номер заказа не может быть пуст
4 URL возврата не может быть пуст
5 Неверно значение одного из параметров
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка
13 Использование обоих значений Features FORCETDS/FORCESSL и AUTO_PAYMENT недопустимо
13 Мерчант не имеет привилегии выполнять AUTO платежи
13 Мерчант не имеет привилегии выполнять проверочные платежи
14 Features указаны некорректно


Пример запроса:

html
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
  <soapenv:Header/> 
  	<soapenv:Body> 
      <mer:registerOrder> 
        <order merchantOrderNumber="78ds901234567890" description=" " amount="15000" currency=" " language=" " pageView="MOBILE" sessionTimeoutSecs=" " bindingId=" " expirationDate="2014-09-08T14:14:14"> 
          <returnUrl>https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html</returnUrl> 
          <params name="param1" value="valueParam1"/>
          <params name="param2" value="valueParam2"/> 
          <clientId>666</clientId> 
          <merchantLogin> </merchantLogin>
          <features>
            <feature>AUTO_PAYMENT</feature>
          </features>
        </order> 
      </mer:registerOrder> 
  	</soapenv:Body> 
</soapenv:Envelope>
    

Пример ответа:

html
        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
  <soap:Body> 
    <ns1:registerOrderResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
      <return orderId="05fcbc62-7ee6-4f1a-b3d5-6ca41a982283" errorCode="0" errorMessage="Успешно"> 
        <formUrl> https://alfa.rbsuat.com/payment/merchants/ecom2/mobile_payment_ru.html?mdOrder=05fcbc62-7ee6-4f1a-b3d5-6ca41a982283 </formUrl> 
      </return> 
    </ns1:registerOrderResponse> 
    

Запрос регистрации заказа с предавторизацией (WS)

Запрос предавторизации заказа называется registerOrderPreAuth (см. раздел Координаты подключения). Он используется для регистрации заказа в случае двухстадийной схемы оплаты.

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

Название Тип Обязательно Описание
merchantOrderNumber ANS..32 да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы
description ANS..512 нет Описание заказа в свободной форме
amount N..20 да Сумма платежа в копейках (или центах)
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language).
pageView ANS..20 нет

По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:

  • DESKTOP – для загрузки страниц, вёрстка которых предназначена для отображения на экранах ПК (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями payment_<locale>.html и errors_<locale>.html );
  • MOBILE – для загрузки страниц, вёрстка которых предназначена для отображения на экранах мобильных устройств (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями mobile_payment_<locale>.html и mobile_errors_<locale>.html );
  • Если магазин создал страницы платёжного интерфейса, добавив в название файлов страниц произвольные префиксы, передайте значение нужного префикса в параметре pageView для загрузки соответствующей страницы. Например, при передаче значения iphone в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями iphone_payment_<locale>.html и iphone_error_<locale>.html.
    где:

    • locale – язык страницы в кодировке ISO 639-1. Например, ru для русского или en для английского.

Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP.

sessionTimeoutSecs N...9 нет Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
bindingId AN..255 no Идентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
expirationDate ANS нет Дата и время окончания жизни заказа. Формат: yyyy-MM-dd'T'HH:mm:ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs .
returnUrl AN..512 да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrl AN..512 нет Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
params - нет

Тэг с атрибутами для передачи дополнительных параметров мерчанта.

Поля дополнительной информации для последующего хранения. Для передачи N параметров, в запросе должно находиться N тэгов params, где атрибут name содержит название, а атрибут value содержит значение:

Название Тип Обязательно Описание
name AN..20 да Название дополнительного параметра
value AN..1024 да Значение дополнительного параметра

Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данного функционала возможно по согласованию с банком в период интеграции.
Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом тэге в параметре с именем email.

clientId AN..255 нет

Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок.

Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен.

merchantLogin AN..255 нет Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре.
features ANS..255 нет

Контейнер для параметра feature, в котором возможно передать следующие значения:

  • AUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей.

По умолчанию в процессинг банка передаются поля:

  • orderNumber – номер заказа в системе магазина;
  • description – описание заказа.

Передаваемые в процессинг поля должны быть не более 99 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n.
Если в заказе передать дополнительный параметр с именем merchantOrderId, то именно его значение будет передано в процессинг в качестве номера заказа (вместо значения поля orderNumber).

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

Название Тип Обязательно Описание
orderId ANS36 нет Номер заказа в платёжной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа на удалась по причине ошибки, детализированной в errorCode.
formUrl AN..512 нет URL платёжной формы, на который надо перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.
errorCode N3 нет Код ошибки.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре language в запросе.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 Неверный номер заказа
1 Заказ с таким номером уже обработан
3 Неизвестная валюта
4 Отсутствует сумма
4 Номер заказа не может быть пуст
4 URL возврата не может быть пуст
5 Платежи с предавторизацией не разрешены
5 Неверно указано значение одного из параметров
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка
13 Использование обоих значений Features FORCETDS/FORCESSL и AUTO_PAYMENT недопустимо
13 Мерчант не имеет привилегии выполнять AUTO платежи
13 Мерчант не имеет привилегии выполнять проверочные платежи
14 Features указаны некорректно


Пример запроса:


html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:registerOrderPreAuth> 
          <order merchantOrderNumber="asuaakdfadsfasdfasdd5" description=" " amount="10000" currency=" " language="ru" pageView="DESKTOP" bindingId=" " sessionTimeoutSecs=" "> 
             <returnUrl>https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html</returnUrl> 
             <params name="param1" value="paramValue1"/> 
             <params name="param2" value="paramValue2"/> 
             <clientId>7777</clientId> 
             <merchantLogin> </merchantLogin>
             <features>
                   <feature>AUTO_PAYMENT</feature>
             </features>
          </order> 
       </mer:registerOrderPreAuth> 
    </soapenv:Body>
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
       <ns1:registerOrderPreAuthResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
          <return orderId="5e5dc6bd-dee3-4c96-849a-09f3f575f4b6" errorCode="0" errorMessage="Успешно"> 
             <formUrl> https://alfa.rbsuat.com/payment/merchants/ecom2/payment_ru.html?mdOrder=5e5dc6bd-dee3-4c96-849a-09f3f575f4b6 </formUrl> 
          </return> 
    

Запрос завершения оплаты заказа (WS)

Для запроса списания ранее предавторизованного заказа используется запрос depositOrder (см. раздел Координаты подключения). Данную операцию можно осуществлять, если есть соответствующие права в системе.

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

Название Тип Обязательно Описание
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
depositAmount N..5 да Сумма списания в валюте заказа. Может быть меньше или равна сумме преавторизации. Не может быть меньше 1 рубля.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.

Внимание!!!
Если не указать параметр "depositAmount", завершение произойдёт на всю предавторизованную сумму.

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

Название Тип Обязательно Описание
errorCode N3 нет Код ошибки.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре Language в запросе.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Сумма депозита превышает захолдированную сумму
5 Сумма депозита должна быть больше нуля или не менее одного рубля
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
6 Неверный номер заказа
6 orderId не задан
7 Платёж должен быть в корректном состоянии
7 Системная ошибка

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:depositOrder> 
          <order language="ru" orderId="4302d369-a5e8-4432-a5e5-42acfab52c86" depositAmount="30000"> 
             <!- Zero or more repetitions: -> 
             <params name="?" value="?"/> 
          </order> 
       </mer:depositOrder> 
    </soapenv:Body> 
    </soapenv:Envelope>
    

Пример ответа:

            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
       <ns1:depositOrderResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
          <return errorCode="6" errorMessage="Неверный номер заказа"/> 
       </ns1:depositOrderResponse> 
    </soap:Body>
    </soap:Envelope>
    

Запрос состояния заказа (WS)

Для запроса состояния зарегистрированного заказа используется запрос getOrderStatus (см. раздел Координаты подключения).
Cтатус заказа необходимо определять по значению параметра orderStatus. Поле authCode является устаревшим.

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

Название Тип Обязательно Описание
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.

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

Название Тип Обязательно Описание
orderStatus N2 нет По значению этого параметра определяется состояние заказа в платёжной системе. Список возможных значений приведён в таблице ниже. Отсутствует, если заказ не был найден.
errorCode N3 нет Код ошибки.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре Language в запросе.
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина
pan N..19 нет Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.
expiration N6 нет Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа.
cardholderName A..64 нет Имя держателя карты. Указан только после оплаты заказа.
amount N..20 да Сумма платежа в копейках (или центах)
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли).
approvalCode AN6 нет Код авторизации МПС. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы.
authCode N3 нет Это поле является устаревшим. Его значение всегда равно "2", независимо от состояния заказа и кода авторизации процессинговой системы.
ip NS..15 нет IP адрес пользователя, который оплачивал заказ
date ANS да Дата регистрации заказа
orderDesctiption AN..512 да Описание заказа, переданное при его регистрации
actionCodeDesctiption AN..512 да Расшифровка кода ответа на языке, переданном в параметре language в запросе.
clientId AN..255 нет Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок.
bindingId AN..255 нет Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.

Поле orderStatus может принимать следующие значения:

Номер состояния Описание
0 Заказ зарегистрирован, но не оплачен
1 Предавторизованная сумма захолдирована (для двухстадийных платежей)
2 Проведена полная авторизация суммы заказа
3 Авторизация отменена
4 По транзакции была проведена операция возврата
5 Инициирована авторизация через ACS банка-эмитента
6 Авторизация отклонена

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
2 Платёж отклонён
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
5 orderId не указан
6 Неизвестный номер заказа
7 Системная ошибка

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:getOrderStatus> 
          <order orderId="b1221b79-5703-42c9-a4b1-ed0d0f36493e" language="ru"/> 
       </mer:getOrderStatus> 
    </soapenv:Body> 
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
       <ns1:getOrderStatusResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
          <return orderStatus="2" errorCode="0" orderNumber="456789012345678" pan="411111**1111" expiration="201512" cardholderName="Ivan" amount="15000" currency="810" approvalCode="123456" uthCode="2" ip="212.5.125.194" date="2013-09-03T16:48:52.459+04:00" orderDescription=" " actionCodeDescription="Запрос успешно обработан" clientId="666" bindingId="df0b1801-a754-4576-b174-c2485d98bc9b"/> 
       </ns1:getOrderStatusResponse> 
    </soap:Body> 
    </soap:Envelope>
    

Расширенный запрос состояния заказа (WS)

Для запроса состояния зарегистрированного заказа используется запрос getOrderStatusExtended (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
orderId ANS36 да* Номер заказа в платёжной системе. Уникален в пределах системы
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.
merchantOrderNumber ANS..32 да* Номер (идентификатор) заказа в системе магазина.

В запросе необходимо передать или параметр orderId, или merchantOrderNumber. Если в запросе передаются оба параметра, приоритет orderId выше.
Существует несколько наборов параметров ответа. Какие именно наборы параметров будут возвращены, завит от версии getOrderStatusExtended, указанной в настройках продавца.

Название Тип Обязательно Описание Версия getOrderStatusExtended
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина. Все версии.
orderStatus N2 нет

По значению этого параметра определяется состояние заказа в платёжной системе. Список возможных значений:

  • '0' Заказ зарегистрирован, но не оплачен;
  • '1' Предавторизованная сумма захолдирована (для двухстадийных платежей);
  • '2' Проведена полная авторизация суммы заказа;
  • '3' Авторизация отменена;
  • '4' По транзакции была проведена операция возврата;
  • '5' Инициирована авторизация через ACS банка-эмитента;
  • '6' Авторизация отклонена.

Отсутствует, если заказ не был найден.

Все версии.
actionCode N3 да Код ответа. Все версии.
actionCodeDescription AN..512 да Расшифровка кода ответа на языке, переданном в параметре language в запросе. Все версии.
errorCode N3 нет

Код ошибки. Возможны следующие варианты:

  • '0' Обработка запроса прошла без системных ошибок;
  • '1' Ожидается orderId или orderNumber;
  • '5' Доступ запрещён;
  • '5' Пользователь должен сменить свой пароль;
  • '6' Заказ не найден;
  • '7' Системная ошибка.
Все версии.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре language в запросе. Все версии.
amount N..20 да Сумма платежа в копейках (или центах) Все версии.
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли). Все версии.
date ANS да Дата регистрации заказа. Все версии.
orderDescription AN..512 нет Описание заказа, переданное при его регистрации Все версии.
ip AN..20 да IP-адрес покупателя. Все версии.

Элемент merchantOrderParams – присутствует в ответе, если в заказе содержатся дополнительные параметры продавца. Каждый дополнительный параметр заказа представлен в отдельном элементе merchantOrderParams.

Название Тип Обязательно Описание Версия getOrderStatusExtended
name AN..20 нет Название дополнительного параметра Все версии.
value AN..1024 нет Значение дополнительного параметра Все версии.

Элемент cardAuthInfo – в элементе лежит структура, состоящая из списка элемента secureAuthInfo и следующих параметров:

Название Тип Обязательно Описание Версия getOrderStatusExtended
maskedPan N..19 нет Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа. Все версии.
expiration N6 нет Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа. Все версии.
cardholderName A..64 нет Имя держателя карты. Указан только после оплаты заказа. Все версии.
approvalCode AN6 нет Код авторизации платежа. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. Указан только после оплаты заказа. Все версии.
chargeback A..5 нет Были ли средства принудительно возвращены покупателю банком. Возможны следующие значения: true (истина), false (ложь). 06 и выше.
paymentSystem N..10 да Наименование платёжной системы. Доступны следующие варианты: VISA, MASTERCARD, AMEX, JCB, CUP, MIR. 08 и выше.
product AN..255 да Дополнительные сведения о корпоративных картах. Эти сведения заполняются службой технической поддержки в консоли управления. Если такие сведения отсутствуют, возвращается пустое значение. 08 и выше.
paymentWay AS..14 да Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.). 09 и выше.

Элемент secureAuthInfo (элемент состоит из элемента eci и элемента threeDSInfo, являющимся списком параметров cavv и xid):

Название Тип Обязательно Описание Версия getOrderStatusExtended
eci N..4 нет Электронный коммерческий индикатор. Указан только после оплаты заказа и в случае соответствующего разрешения. Все версии.
cavv ANS..200 нет Значение проверки аутентификации владельца карты. Указан только после оплаты заказа и в случае соответствующего разрешения. Все версии.
xid ANS..80 нет Электронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае соответствующего разрешения. Все версии.

Элемент bindingInfo состоит из параметров:

Название Тип Обязательно Описание Версия getOrderStatusExtended
clientId AN..255 нет Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок. Все версии.
bindingId AN..255 нет Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. Все версии.
authDateTime ANS нет Дата/время авторизации. 02 и выше.
authRefNum AN..24 нет Reference number. 02 и выше.
terminalId AN..10 нет Id терминала. 02 и выше.

Элемент paymentAmountInfo состоит из параметров:

Название Тип Обязательно Описание Версия getOrderStatusExtended
approvedAmount N..20 нет Сумма, захолдированная на карте (используется только при двухстадийных платежах). 03 и выше.
depositedAmount N..20 нет Сумма, подтверждённая для списания с карты. 03 и выше.
refundedAmount N..20 нет Сумма возврата. 03 и выше.
paymentState A..10 нет Состояние заказа. 03 и выше.
feeAmount N..20 нет Сумма комиссии. 11 и выше.

Элемент bankInfo состоит из параметров:

Название Тип Обязательно Описание Версия getOrderStatusExtended
bankName AN..200 нет Наименование банка-эмитента. 03 и выше.
bankCountryCode AN..4 нет Код страны банка-эмитента. 03 и выше.
bankCountryName AN..160 нет Наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан. 03 и выше.

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:getOrderStatusExtended> 
          <order orderId="942e8534-ac73-4e3c-96c6-f6cc448018f7" language="ru"> 
             <!--Optional:--> 
             <merchantOrderNumber> </merchantOrderNumber> 
            </order> 
       </mer:getOrderStatusExtended> 
    </soapenv:Body> 
    </soapenv:Envelope >
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:getOrderStatusExtendedResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return orderNumber="00000123" orderStatus="2" actionCode="0" actionCodeDescription="" amount="10000" currency="810" date="2016-12-20T18:48:49.590+03:00" ip="10.7.5.21" errorCode="0" errorMessage="Успешно">
            <attributes name="mdOrder" value="08c87ec5-399d-49d0-85ed-85c94bb26675"/>
            <cardAuthInfo maskedPan="555555**5599" expiration="201912" cardholderName="asd asd" approvalCode="123456" paymentSystem="MASTERCARD" product="DEBIT">
               <secureAuthInfo>
                  <eci>1</eci>
               </secureAuthInfo>
            </cardAuthInfo>
            <authDateTime>2016-12-20T18:52:16.276+03:00</authDateTime>
            <terminalId>000001</terminalId>
            <authRefNum>111111111111</authRefNum>
            <paymentAmountInfo paymentState="DEPOSITED" approvedAmount="10000" depositedAmount="10000" refundedAmount="0"/>
            <bankInfo bankName="Unated State Bank of Atlanta" bankCountryCode="US" bankCountryName="Соединенные Штаты Америки"/>
            <chargeback>false</chargeback>
            <paymentWay>CARD</paymentWay>
         </return>
      </ns1:getOrderStatusExtendedResponse>
    </soap:Body>
    </soap:Envelope>
    

Запрос отмены оплаты заказа (WS)

Для запроса отмены заказа используется запрос reverseOrder (см. раздел Координаты подключения). Функция отмены доступна в течение ограниченного времени после оплаты, точные сроки необходимо уточнять в Банке.
Операция отмены оплаты может быть совершена только один раз. Если она закончится ошибкой, то повторная операция отмены платежа не пройдёт.
Данная функция доступна магазинам по согласованию с Банком. Для выполнения операции отмены пользователь должен обладать соответствующими правами.

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

Название Тип Обязательно Описание
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.

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

Название Тип Обязательно Описание
errorCode N3 нет Код ошибки.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре Language в запросе.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Доступ запрещён
5 Пользователь должен изменить свой пароль
5 orderId не задан
6 Неверный номер заказа
7 Недопустимая операция для текущего состояния заказа
7 Системная ошибка

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:reverseOrder> 
          <order language="ru" orderId="f88a2bbf-2021-4ccc-8783-8a13068a89f9"> 
             <!- Zero or more repetitions: -> 
             <params name=" " value=" "/> 
          </order> 
       </mer:reverseOrder> 
    </soapenv:Body> 
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
       <ns1:reverseOrderResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
          <return errorCode="7" errorMessage="Недопустимая операция для текущего состояния заказа"/> 
       </ns1:reverseOrderResponse> 
    </soap:Body> 
    </soap:Envelope>
    

Запрос возврата средств оплаты заказа (WS)

Для возврата средств используется запрос refundOrder (см. раздел Координаты подключения).
По этому запросу средства по указанному заказу будут возвращены плательщику. Запрос закончится ошибкой в случае, если средства по этому заказу не были списаны. Система позволяет возвращать средства более одного раза, но в общей сложности не более первоначальной суммы списания.
Для выполнения операции возврата необходимо наличие соответствующих права в системе.

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

Название Тип Обязательно Описание
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
refundAmount N..5 да Сумма возврата в валюте заказа. Может быть меньше или равна остатку в заказе.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.

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

Название Тип Обязательно Описание
errorCode N3 нет Код ошибки.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре Language в запросе.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Доступ запрещён
5 Пользователь должен изменить свой пароль
5 orderId не задан
5 Неверная сумма
6 Неверный номер заказа
7 Платёж должен быть в корректном состоянии
7 Сумма возврата превышает сумму списания
7 Системная ошибка

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
    <soapenv:Header/>
    <soapenv:Body>
       <mer:refundOrder>
          <order language="ru" orderId="4302d369-a5e8-4432-a5e5-42acfab52c86" refundAmount="20000">
             <!--Zero or more repetitions:-->
             <params name=" " value=" "/>
          </order>
       </mer:refundOrder>
    </soapenv:Body>
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns1:refundOrderResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
          <return errorCode="7" errorMessage="Сумма возврата превышает сумму списания"/>
       </ns1:refundOrderResponse>
    </soap:Body>
    </soap:Envelope>
    

Запрос проверки вовлечённости карты в 3DS (WS)

Для проверки вовлечённости карты в 3DS используется запрос verifyEnrollment (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
pan N12...19 да Номер карты

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

Название Тип Обязательно Описание
errorCode N3 нет Код ошибки.
errorMessage AN..512 нет Описание ошибки.
isEnrolled A1 нет Признак вовлечённости карты в 3DS. Возможные значения: Y, N, U.
emitterName AN..160 нет Наименование банка-эмитента.
emitterCountryCode AN..4 нет Код страны банка-эмитента.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 Не указан номер карты
1 Номер карты должен быть числом, содержащим от 13 до 19 цифр
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
6 По заданному номеру карты информация не найдена
7 Произошла системная ошибка

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:verifyEnrollment> 
          <pan>4111111111111111</pan> 
       </mer:verifyEnrollment> 
    </soapenv:Body> 
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
       <ns1:verifyEnrollmentResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
          <return isEnrolled="Y" emitterName="TEST CARD" emitterCountryCode="RU" errorCode="0"/> 
       </ns1:verifyEnrollmentResponse> 
    </soap:Body> 
    </soap:Envelope>
    

Запрос добавления дополнительных параметров к заказу (WS)

Для добавления к заказу новых дополнительных параметров используется метод addParams (см. раздел Координаты подключения).
Если в заказе уже существует дополнительный параметр, то при добавлении параметра с тем же именем в заказе сохранится последнее переданное значение.

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

Название Тип Обязательно Описание
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
params - да Тэг с атрибутами для передачи дополнительных параметров мерчанта.

Тэг params содержит поля дополнительной информации для последующего хранения. Для передачи N параметров, в запросе должно находиться N тэгов params, где атрибут name содержит название, а атрибут value содержит значение:

Название Тип Обязательно Описание
name AN..20 да Название дополнительного параметра
value AN..1024 да Значение дополнительного параметра

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

Название Тип Обязательно Описание
errorCode N3 да Код ошибки.
errorMessage AN..512 нет Описание ошибки. Отсутствует при успешном выполнении запроса.

Коды ошибок (поле ErrorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
6 Не указан orderId
6 Неверный номер заказа
7 Произошла системная ошибка

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
       <soapenv:Header/>
       <soapenv:Body>
    <mer:addParams>
         <request orderId="02988563-0cc4-4109-84ed-15781f0d718e">
            <!--Zero or more repetitions:-->
            <params name="Param1" value="Param1"/>
            <params name="Param2" value="Param2"/>
         </request>
      </mer:addParams>
    </soapenv:Body>
    </soapenv:Envelope>
```html

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

```html
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:addParamsResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return errorCode="0"/>
      </ns1:addParamsResponse>
    </soap:Body>
    </soap:Envelope>
    

Запрос статистики по платежам за период (WS)

Получить статистику по платежам за определённый период можно с использованием метода getLastOrdersForMerchants (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.
page N нет При обработке запроса будет сформирован список, разбитый на страницы (с количеством записей size на одной странице). В ответе возвращается страница под номером, указанным в параметре page. Нумерация страниц начинается с 0. Если параметр не указан, будет возвращена страница под номером 0.
size N..3 да Количество элементов на странице (максимальное значение = 200).
from ANS да Дата и время начала периода для выборки заказов в формате YYYY-MM-DDTHH:mm:ss.
to ANS да Дата и время окончания периода для выборки заказов в формате YYYY-MM-DDTHH:mm:ss.
transactionStates A..9 да В этом блоке необходимо перечислить требуемые состояния заказов. Только заказы, находящиеся в одном из указанных состояний, попадут в отчёт. Возможные значения: CREATED, APPROVED, DEPOSITED, DECLINED, REVERSED, REFUNDED.
merchants ANS да Список Логинов мерчантов, чьи транзакции должны попасть в отчёт. Оставьте этот блок пустым, чтобы получить список отчётов по всем доступным мерчантам (дочерним мерчантам и мерчантам, указанным в настройках пользователя).
searchByCreatedDate A..5 нет Возможные значения: · true – поиск заказов, дата создания которых попадает в заданный период. · false – поиск заказов, дата оплаты которых попадает в заданный период (таким образом, в отчёте не могут присутствовать заказы в статусе CREATED и DECLINED). Значение по умолчанию – false.

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

Название Тип Обязательно Описание
errorCode N..2 да Код ошибки. Описание возможных кодов представлено ниже в таблице "Коды ошибок (поле errorCode)"
errorMessage AN..512 нет Описание ошибки. Присутствует только при наличии ошибки (errorCode не равно 0).
orderStatuses - - Блоки, содержащие информацию о заказах, попавших в отчёт. См. ниже таблицу "Параметры блока orderStatuses".
totalCount N да Общее количество элементов во отчёте (на всех страницах).
page N да Номер текущей страницы (равный номеру страницы, переданному в запросе).
pageSize N..3 да Максимальное количество записей на странице (равно размеру страницы, переданному в запросе).

Параметры блока orderStatuses:

Название Тип Обязательно Описание
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина.
orderStatus N..2 да Состояние заказа в платёжной системе. Возможные значения представлены ниже в таблице "Поле orderStatus:".
actionCode N..3 да Код ответа.
actionCodeDescription AN..512 да Расшифровка кода ответа.
amount N..20 да Сумма платежа в минимальных единицах валюты.
currency N3 да Код валюты платежа ISO 4217. Если не указан, считается равным валюте по умолчанию.
date ANS да Дата регистрации заказа.
orderDescription AN..512 нет Описание заказа, переданное при его регистрации
ip AN..20 нет IP адрес покупателя. Указан только после оплаты.
errorCode N..2 да Код ошибки.
merchantOrderParams - нет Тэг с атрибутами, в которых передаются дополнительные параметры мерчанта. См. ниже таблицу "Параметры блока merchantOrderParams".
attributes - да Атрибуты заказа в платёжной системе (номер заказа). См. ниже таблицу "Параметры блока attributes".
cardAuthInfo - нет Тэг с атрибутами платежа. См. ниже таблицу "Параметры блока cardAuthInfo".
bindingInfo - нет Тэг с информацией о связке, с помощью которой осуществлена оплата. См. ниже таблицу "Параметры блока bindingInfo".
authDateTime ANS нет Дата/время авторизации
terminalId AN..10 нет Id терминала
authRefNum AN..24 нет Reference number
paymentAmountInfo - нет Тэг с информацией о суммах подтверждения, списания, возврата. См. ниже таблицу "Параметры блока paymentAmountInfo".
bankInfo - нет Тэг с информацией о Банке-эмитенте. См. ниже таблицу "Параметры блока bankInfo".

Параметры блока merchantOrderParams:

Название Тип Обязательно Описание
name AN..20 да Название дополнительного параметра мерчанта
value AN..1024 да Значение дополнительного параметра мерчанта

Параметры блока attributes:

Название Тип Обязательно Описание
name A7 да Название атрибута - "mdOrder".
value ANS36 да Значение атрибута - номер заказа в платёжной системе (уникален в пределах системы).

Параметры блока cardAuthInfo:

Название Тип Обязательно Описание
maskedPan N..19 нет Маскированный номер карты, которая использовалась для оплаты.
expiration N6 нет Срок истечения действия карты в формате YYYYMM.
cardholderName A..64 нет Имя держателя карты.
approvalCode AN6 нет Код авторизации платежа. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы.

Параметры блока bindingInfo:

Название Тип Обязательно Описание
clientId AN..255 нет Номер (идентификатор) клиента в системе магазина.
bindingId AN..255 нет Идентификатор связки, использованной для оплаты.

Параметры блока paymentAmountInfo:

Название Тип Обязательно Описание
paymentState N..9 нет Состояние платежа
approvedAmount N..20 нет Сумма, подтверждённая к списанию.
depositedAmount N..20 нет Сумма списания с карты.
refundedAmount N..20 нет Сумма возврата.

Параметры блока bankInfo:

Название Тип Обязательно Описание
bankName AN..200 нет Наименование Банка-эмитента.
bankCountryCode AN..4 нет Код страны Банка-эмитента
bankCountryName AN..160 нет Наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан.

Поле orderStatus может принимать следующие значения:

Значение Описание
0 Заказ зарегистрирован, но не оплачен
1 Предавторизованная сумма захолдирована (для двухстадийных платежей)
2 Проведена полная авторизация суммы заказа
3 Авторизация отменена
4 По транзакции была проведена операция возврата
5 Инициирована авторизация через ACS банка-эмитента
6 Авторизация отклонена

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
5 Не заполнено одно из обязательных полей
5 Неверный формат параметра transactionStates
7 Системная ошибка
10 Значение параметра size превышает максимально допустимое
10 Недостаточно прав для просмотра транзакций указанного мерчанта

Пример запроса:


html
            <soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:getLastOrdersForMerchants> 
          <request language="ru"> 
             <page>0</page> 
             <size>200</size> 
             <from>2014-10-10T00:00:00</from> 
             <to>2014-11-11T00:00:00</to> 
             <transactionStates> 
                <transactionStates>DEPOSITED</transactionStates> 
                <transactionStates>REVERSED</transactionStates> 
             </transactionStates> 
             <merchants> 
                <merchants>SevenEightNine</merchants> 
             </merchants> 
           <searchByCreatedDate>false</searchByCreatedDate>
          </request> 
       </mer:getLastOrdersForMerchants> 
    </soapenv:Body> 
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
       <ns1:getLastOrdersForMerchantsResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
          <return errorCode="0"> 
             <orderStatuses orderNumber="58drs0Pes459Hdsddd0567a0" orderStatus="2" actionCode="0" actionCodeDescription="Запрос успешно обработан" amount="250000" currency="810" date="2014-10-28T12:40:49.233+04:00" orderDescription="Opisanie" ip="212.5.125.194" errorCode="0"> 
                <merchantOrderParams name="registr1" value="registr1"/> 
                <attributes name="mdOrder" value="f1a3365b-542c-4c8d-b34c-e9a7ee8dbc9c"/> 
                <cardAuthInfo maskedPan="411111**1111" expiration="201512" cardholderName="Ivan" approvalCode="123456"/> 
                <bindingInfo clientId="666" bindingId="1eabfb8e-b90e-4dc8-bef6-14bd392b1cec"/> 
                <authDateTime>2014-10-28T12:41:01.207+04:00</authDateTime> 
                <terminalId>111113</terminalId> 
                <authRefNum>111111111111</authRefNum> 
                <paymentAmountInfo paymentState="DEPOSITED" approvedAmount="250000" depositedAmount="250000" refundedAmount="0"/>
                <bankInfo bankName="TEST CARD" bankCountryCode="RU" bankCountryName="Россия"/> 
             </orderStatuses> 
             <orderStatuses orderNumber="57drs0Pes459Hdsddd0567a0" orderStatus="2" actionCode="0" actionCodeDescription="Запрос успешно обработан" amount="250000" currency="810" date="2014-10-28T12:34:37.286+04:00" orderDescription="Opisanie" ip="212.5.125.194" errorCode="0"> 
                <merchantOrderParams name="registr1" value="registr1"/> 
                <attributes name="mdOrder" value="09489184-bc5e-44a7-b6c4-3ca1feb8ef69"/> 
                <cardAuthInfo maskedPan="411111**1111" expiration="201512" cardholderName="Ivan" approvalCode="123456"/> 
                <bindingInfo clientId="666" bindingId="1eabfb8e-b90e-4dc8-bef6-14bd392b1cec"/> 
                <authDateTime>2014-10-28T12:34:56.046+04:00</authDateTime> 
                <terminalId>111113</terminalId> 
                <authRefNum>111111111111</authRefNum> 
                <paymentAmountInfo paymentState="DEPOSITED" approvedAmount="250000" depositedAmount="250000" refundedAmount="0"/>
                <bankInfo bankName="TEST CARD" bankCountryCode="RU" bankCountryName="Россия"/> 
             </orderStatuses> 
             <totalCount>2</totalCount> 
             <page>0</page> 
             <pageSize>200</pageSize> 
          </return> 
       </ns1:getLastOrdersForMerchantsResponse> 
    </soap:Body> 
    </soap:Envelope>
    

Запрос оплаты через внешнюю платёжную систему (WS)

Для оплаты заказа через внешнюю платёжную систему используется запрос paymentOrderOtherWay (см. раздел Координаты подключения) со специальными параметрами.
Данная операция доступна при наличии соответствующих прав в системе.

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

Название Тип Обязательно Описание
orderId ANS36 да Номер заказа, полученный при регистрации заказа
paymentWay ANS..* да В этом параметре передаётся способ оплаты. Возможные значения: ALFA_ALFACLICK – для оплаты с помощью "Альфа-Клик" (через систему PayByClik); UPOP – для оплаты через систему UPOP, доступно для держателей карт China UnionPay.
ip AS..15 нет IP адрес плательщика
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language)

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

Название Тип Обязательно Описание
errorCode N1 да Код ошибки
errorMessage ANS..* (при ошибке) Сообщение об ошибке
redirect ANS..* нет Адрес возврата после оплаты

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 orderId не задан
1 paymentWay не задан
2 Заказ не найден
5 Таймаут сесси
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
5 paymentWay неверен
5 Системная ошибка

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:paymentOrderOtherWay> 
          <order language="ru" orderId="8232a33f-c44f-48ec-b52f-0d63a88c50ae" paymentWay="ALFA_ALFACLICK" ip=" "/> 
       </mer:paymentOrderOtherWay> 
    </soapenv:Body> 
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:paymentOrderOtherWayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return redirect="http://217.12.96.193/PayByClick/login.xhtml?orderId=4e6b383e-809d-4e7e-9477-956e9c828934&amp;backUrl=http%3A%2F%2Fya.ru%3ForderId%3D4e6b383e-809d-4e7e-9477-956e9c828934" errorCode="0"/>
      </ns1:paymentOrderOtherWayResponse>
    </soap:Body>
    </soap:Envelope>
    

Запрос проведения платежа по связке (WS)

Для проведения платежа по связкам используется запрос paymentOrderBinding (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
mdOrder ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
bindingId ANS36 да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.
params - нет Дополнительный тэг с атрибутами для передачи дополнительных параметров мерчанта.*
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language)
ip NS..15 да ip адрес плательщика
cvc N4 нет Код CVC. Этот параметр обязателен, если для мерчанта не выбрано разрешение "Может проводить оплату без подтверждения CVC".
email ANS..* нет Email адрес плательщика
loyaltyId ANS..* нет Идентификатор программы лояльности. Следует использовать значение sbrf_spasibo.
pointsAmount N..20 нет Количество бонусных баллов к списанию.

Поля дополнительной информации для последующего хранения. Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данной функциональности возможно по согласованию с банком в период интеграции. Для передачи N параметров, в запросе должно находиться N тэгов Params, где атрибут name содержит название, а атрибут value содержит значение:

Название Тип Обязательно Описание
name AN..20 да Название дополнительного параметра
value AN..1024 да Значение дополнительного параметра

По умолчанию в процессинг банка передаются поля номер заказа orderNumber и его описание description (не более 99 символов, запрещены к использованию %, +,конец строки \r и перенос строки \n)
Параметры ответа:

Название Тип Обязательно Описание
redirect ANS..* нет При успешном ответе. В случае SSL-платежа – URL, на который производится переадресация после платежа. В случае 3DS-платежа – URL для возврата с ACS.
info ANS..* нет

При успешном ответе. Результат попытки оплаты. Возможные значения представлены ниже:

  • Ваш платёж обработан, происходит переадресация...
  • Операция отклонена. Проверьте введённые данные, достаточность средств на карте и повторите операцию. Происходит переадресация...
  • Извините, платёж не может быть совершён. Происходит переадресация...
  • Операция отклонена. Обратитесь в магазин. Происходит переадресация...
  • Операция отклонена. Обратитесь в банк, выпустивший карту. Происходит переадресация...
  • Операция невозможна. Аутентификация держателя карты завершена неуспешно. Происходит переадресация...
  • Нет связи с банком. Повторите позже. Происходит переадресация...
  • Истёк срок ожидания ввода данных. Происходит переадресация...
  • Не получен ответ от банка. Повторите позже. Происходит переадресация...
errorCode N1 да Код завершения.
errorMessage ANS..* нет При ответе с ошибкой. Сообщение об ошибке.
acsUrl ANS..* нет При успешном ответе в случае 3DS-платежа. URL перехода на ACS
paReq ANS..* нет При успешном ответе в случае 3DS-платежа. Payment Authentication Request.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 Необходимо указать CVC2/CVV2 код, поскольку у мерчанта нет разрешения на проведение платежа без CVC
1 Неверный формат CVC
1 mdOrder не задан
1 bindingId не задан
1 Адрес электронной почты не удовлетворяет шаблону
1 Неверный язык
2 Заказ не найден
2 Связка не найдена
5 Доступ запрещён
5 Пользователь должен изменить свой пароль
5 Исчерпаны попытки оплаты или закончилось время сессии
7 Системная ошибка

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:paymentOrderBinding> 
          <order mdOrder="9213bc5f-5d5b-43d6-a408-b6b93cdde992" bindingId="ca91a4ab-b6d4-495d-b606-8fb0114e679e" language="ru" ip="127.0.0.1" cvc="123" loyaltyId="sbrf_spasibo" pointsAmount="12000"> 
             <!-Zero or more repetitions:-> 
             <params name=" " value=" "/> 
          </order> 
       </mer:paymentOrderBinding> 
    </soapenv:Body> 
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
       <ns1:paymentOrderBindingResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
          <return errorCode="0" info="Ваш платёж обработан, происходит переадресация..." redirect="http://example.ru?orderId=9213bc5f-5d5b-43d6-a408-b6b93cdde992"/"/> 
       </ns1:paymentOrderBindingResponse> 
    </soap:Body>
    </soap:Envelope>
    

Запрос деактивации связки (WS)

Для того, чтобы сделать существующую связку неактивной, используется запрос unBindCard (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
bindingId ANS36 да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок

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

Название Тип Обязательно Описание
errorCode N1 да Код завершения
errorMessage ANS..* (при ошибке) Сообщение об ошибке

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
2 Неверное состояние связки (при попытке деактивировать неактивную связку)
2 Связка не найдена
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:unBindCard> 
          <bindingId>fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc</bindingId> 
       </mer:unBindCard> 
    </soapenv:Body> 
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
       <ns1:unBindCardResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
          <return errorCode="0" errorMessage="Успешно"/> 
       </ns1:unBindCardResponse> 
    </soap:Body> 
    </soap:Envelope>
    

Запрос активации связки (WS)

Для активации деактивированной ранее связки используется запрос bindCard (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
bindingId ANS36 да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок

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

Название Тип Обязательно Описание
errorCode N1 да Код завершения
errorMessage ANS..* (при ошибке) Сообщение об ошибке

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
2 Неверное состояние связки (при попытке деактивировать неактивную связку)
2 Связка не найдена
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка

Пример запроса:

html
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
  <soapenv:Header/> 
  <soapenv:Body> 
    <mer:bindCard> 
      <bindingId>fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc</bindingId> 
    </mer:bindCard> 
  </soapenv:Body> 
</soapenv:Envelope>
    

Пример ответа:

html
        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
  <soap:Body> 
    <ns1:bindCardResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
      <return errorCode="5" errorMessage="Пользователь должен сменить свой пароль"/> 
    </ns1:bindCardResponse> 
  </soap:Body> 
</soap:Envelope>
    

Запрос изменения срока действия связки (WS)

Для изменения срока действия связки используйте метод extendBinding (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
bindingId ANS36 да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.
newExpiry N6 да Новая дата (год и месяц) окончания срока действия в формате YYYYMM
language А2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language)

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

Название Тип Обязательно Описание
errorCode N1 да Код завершения
errorMessage ANS..* (при ошибке) Сообщение об ошибке

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 Не указан или неверно указан один или несколько обязательных параметров
2 Связка не найдена
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
    <soapenv:Header/>
    <soapenv:Body>
    <mer:extendBinding>
         <request language=" " bindingId="1eabfb8e-b90e-4dc8-bef6-14bd392b1cec" newExpiry="201807"/>
      </mer:extendBinding>
    </soapenv:Body>
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:extendBindingResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return errorCode="0" errorMessage="Успешно"/>
      </ns1:extendBindingResponse>
    </soap:Body>
    </soap:Envelope>
    

Запрос списка связок клиента (WS)

Для получения списка связок по идентификатору клиента используется запрос getBindings (см. раздел Координаты подключения).

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

Название Тип Обязательно Описание
clientId AN..255 да Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок.

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

Название Тип Обязательно Описание
errorCode N1 да Код завершения
errorMessage ANS..* (при ошибке) Сообщение об ошибке

Элемент binding (состоит из bindingId, maskedPan и expiryDate):

Название Тип Обязательно Описание
bindingId AN..255 нет Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.
maskedPan N..19 нет Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.
expiryDate N6 нет Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок
1 clientId не задан
2 Информация не найдена
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка

Пример запроса:

html
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:getBindings> 
          <request clientId="client"/> 
       </mer:getBindings> 
    </soapenv:Body> 
    </soapenv:Envelope>
    

Пример ответа:

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
       <ns1:getBindingsResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> 
          <return errorCode="0" errorMessage="Успешно"> 
             <bindings> 
                <binding bindingId="fd3afc57-c6d0-4e08-aaef-1b7cfeb093dc" maskedPan="400000**0002" expiryDate="201512"/> 
             </bindings> 
          </return> 
       </ns1:getBindingsResponse> 
    </soap:Body>
    </soap:Envelope>
    

Запрос списка связок банковской карты (WS)

Для получения списка связок банковской карты используется метод getBindingsByCardOrId (см. раздел Координаты подключения).
При наличии соответствующих разрешений магазин может запросить список всех связок,относящихся к определённой банковской карте. Сделать это можно по номеру карты или по известному идентификатору связки.
В ответе возвращаются все связки, доступные мерчанту в соответствии с его настройками.

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

Название Тип Обязательно Описание
pan N..19 нет Номер карты. Обязательно, если не указан bindingId. Поиск по полному номеру карты доступен магазинам только при наличии соответствующего разрешения.
bindingId AN..255 нет Идентификатор связки. Обязательно, если не указан pan. Если в запросе передаётся pan, то значение bindingId игнорируется.
showExpired boolean нет Параметр определяет необходимость отображать связки с истёкшим сроком действия карты. Возможные значения: true, false. По умолчанию параметр принимает значение false.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, используется язык, указанный в настройках пользователя. Сообщение ошибке будет возвращено именно на этом языке.

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

Название Тип Обязательно Описание
errorCode N1 да Код завершения.
errorMessage ANS..* да Описание кода завершения.

Элемент bindings (может состоять из нескольких элементов binding)
Элемент binding (состоит из bindingId, maskedPan, expiryDate и clientId):

bindingId AN..255 нет Идентификатор связки.
maskedPan N..19 нет Маскированный номер карты, которая использовалась для оплаты.
expiryDate N6 нет Срок истечения действия карты в формате YYYYMM.
clientId AN..255 нет Номер (идентификатор) клиента в системе мерчанта.

Коды ошибок (поле errorCode):

Значение Описание
0 Обработка запроса прошла без системных ошибок.
1 Не указан ни номер карты, ни идентификатор связки.
2 Информация не найдена.
5 Доступ запрещён.
5 Пользователь должен сменить свой пароль.
7 Системная ошибка.

Пример запроса:

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
    <soapenv:Header/>
    <soapenv:Body>
    <mer:getBindingsByCardOrId>
         <request pan="4111111111111111" bindingId=" " showExpired="true" language="ru"/>
      </mer:getBindingsByCardOrId>
    </soapenv:Body>
    </soapenv:Envelope>
    

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

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:getBindingsByCardOrIdResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return errorCode="0" errorMessage="Успешно">
            <bindings>
               <binding bindingId="9f43e86d-9744-42a5-8646-c4bb7cf8799a" maskedPan="411111**1111" expiryDate="201912" clientId="12345"/>
               <binding bindingId="51c0750b-1a23-424b-8989-5e8f669124b4" maskedPan="411111**1111" expiryDate="201512" clientId="123456"/>
               <binding bindingId="6a8c0738-cc88-4200-acf6-afc264d66cb0" maskedPan="411111**1111" expiryDate="201912" clientId="666"/>
               <binding bindingId="97a70989-c1fb-49f7-8a42-27c19dc160dw" maskedPan="411111**1111" expiryDate="201512" clientId="666"/>
            </bindings>
         </return>
      </ns1:getBindingsByCardOrIdResponse>
    </soap:Body>
    </soap:Envelope>
    

Запрос на оплату через Apple Pay (WS)

Для оплаты через Apple Pay используется запрос applePay (см. раздел Координаты подключения).

Пример запроса представлен ниже.

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
    <soapenv:Header/>
    <soapenv:Body>
    <mer:applePay>
         <arg0>
            <merchant>OurBestMerchantLogin</merchant>
            <orderNumber>UAF-203974-DE</orderNumber>
            <description>Test description</description>
            <paymentToken>ew0KICB7DQoJICAidmVyc2lvbiI6ICJSU0FfdjEiLA0KCSAgInNpZ25hdHVyZSI6ICJabUZyWlNCemFXZHVZWFIxY21VPSIsDQoJICAiaGVhZGVyIjogew0KCQkiZXBoZW1lcmFsUHVibGljS2V5IjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRW14Q2hDcGpLemY5YVh6MjZXVDZaVE4yekUzaUdYUWpjWlJZWUFkUUlURFgyUmtBTmJ0N2s5cmFoRjFoempqbWVWVHhjZ0NvZkg4MXprMkdOVFozZHRnPT0iICAgICAgIA0KCQkid3JhcHBlZEtleSI6ICJYejI2V1Q2WlROMnpFM2lHWFFqYz0iDQoJCSJwdWJsaWNLZXlIYXNoIjogIk9yV2dqUkdrcUVXamRrUmRVclhmaUxHRDBoZS96cEV1NTEyRkpXckdZRm89IiwNCgkJInRyYW5zYWN0aW9uSWQiOiAiYXBwbGUtMTIzNDU2Nzg5MEFCQ0RFRiINCgkgIH0sDQoJICAiZGF0YSI6ICIxZFhFMTNrdnpUVlA2bldFTjhEMnBoclBsZlFjR3I4VzN5ajJTSFlZai9QeWNIV1RqbnBWN3ovRXI3OGJyaT09Ig0KICB9DQp9</paymentToken>
            <language>RU</language>
            <additionalParameters>
               <entry>
                  <key>firstParamName</key>
                  <value>firstParamValue</value>
               </entry>
            </additionalParameters>
            <preAuth>true</preAuth>
    		<ip>127.0.0.1</ip>
    	 </arg0>
      </mer:applePay>
    </soapenv:Body>
    </soapenv:Envelope>
    

Описание запроса представлено в таблице ниже.

Параметр Тип данных Обязательность Описание
merchant AN..30 Нет Имя входа продавца в системе платёжного шлюза.
orderNumber AN..32 Нет Уникальный номер заказа на стороне продавца.
description ANS..512 Нет Описание заказа.
paymentToken AN..8192 Да

Параметр paymentToken должен содержать закодированное в Base64 значение свойства paymentData, полученного из объекта PKPaymentToken Object от системы Apple Pay (подробнее см. документацию Apple Pay).
Таким образом, чтобы сделать запрос на оплату в платёжный шлюз, продавец должен:

  • 1. получить от системы Apple Pay объект PKPaymentToken Object, содержащий свойство paymentData;
  • 2. извлечь значение свойства paymentData и закодировать его в Base64;
  • 3. включить закодированное значение свойства paymentData в качестве значения парамера paymentToken в запросе на оплату, который продавец направит в платёжный шлюз.
language A2 Нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
additionalParameters AN..1024 Нет

Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Для каждого дополнительного параметра следует использовать следующие вложенный параметр entry, в который, в свою очередь, входят следующие вложенные параметры:

  • key - имя параметра;
  • value - значение параметра.

Ниже представлен пример части кода запроса с несколькими вложенными параметрами.

html
        <entry>           
  <key>parameter_1</key>
  <value>value_1</value>    
</entry>    
<entry>           
  <key>parameter_2</key>           
  <value>value_2</value>    
</entry> 
    

Если у продавца настроена фискализация, при указании в качестве дополнительных параметров email (адрес электронной почты покупателя) и/или phone (номер сотового телефона покупателя) эти параметры в первую очередь используются для отправки фискального чека.
В случае использования внешнего MPI, платёжный шлюз ожидает, что в каждом запросе на оплату заказа будет приходить параметр eci. Если значение eci отличается от используемых для SSL-авторизаций, также необходимо передавать параметры xid и cavv. При оплате с картами МИР с поддержкой 3-D Secure, если ECI=05 или ECI=06, значение cavv должно передаваться в обязательном порядке

preAuth A..5 Да Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счёте клиента до их списания). Доступны следующие значения: · true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания); · false (ложь) - параметр выключен (списание происходит сразу). Если параметр не указан в запросе, списание происходит сразу.
clientId ANS..255 Нет Номер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей.
ip AN..20 Нет IP-адрес плательщика.

Пример получаемого продавцом от Apple PKPaymentToken Object выглядит следующим образом:

        {
  "paymentData": {
    "data": "vj5Uvux7Im8DD8YhSOsJvw5lWmfl2HMUnTNWJhVfTehvFffRhDo54mfpjxMt9vJdp6DwD7fgcNHDxBvnj56qYG4DpOxg1fTSdXgPFrezprZHCrRxPhN/aQQEThe2pQ0c7hgzzZlA6TpkIR/Xtk6CTcEbD1W6znFVdvMgX8G96Gg4OAGl8GaTXdSU3wlMQL5E63CLQzPi1xHVErWl1OOn6hYQuREUDGc7mAjmqMyLwXp6mOwJZ6ZFO/b9HkgFi428rqtOH08AfqkfaIWwIIAz2w3xEoZrDXbgFpNBnN7F2oretCU1/dFvQJjDYbMorKQ8GJbWtlsVbKsy0U91eoUetDcyMpB9zc139STYVoC8yp6Yk6Mn3icCLY0ZBujq7/404kMGpnHgkNVqFc/4SN0U2XQ5rrb14DM8M69w=",
    "signature": "MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID4jCCA4igAwIBAgIIJEPyqAad9XcwCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0MDkyNTIyMDYxMVoXDTE5MDkyNDIyMDYxMVowXzElMCMGA1UEAwwcZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtUFJPRDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhV37evWx7Ihj2jdcJChIY3HsL1vLCg9hGCV2Ur0pUEbg0IO2BHzQH6DMx8cVMP36zIg1rrV1O/0komJPnwPE6OCAhEwggINMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDEwHQYDVR0OBBYEFJRX22\/VdIGGiYl2L35XhQfnm1gkMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUI/JJxE+T5O8n5sT2KGw/orv9LkswggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGCCqGSM49BAMCA0gAMEUCIHKKnwSoyq5mXQr1V62c0BXKpaHodYu9TWXEPUWPpbpAiEAkTecfW6+W5l0r0ADfzTCPq2YtbS39w01XIayqBNy8bEwggLuMIICdaADAgECAghJbS+/OpjalzAKBggqhkjOPQQDAjBnMRswGQYDVQQDDBJBcHBsZSBSb290IENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNDA1MDYyMzQ2MzBaFw0yOTA1MDYyMzQ2MzBaMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPAXEYQZ12SF1RpeJYEHduiAou\/ee65N4I38S5PhM1bVZls1riLQl3YNIk57ugj9dhfOiMt2u2ZwvsjoKYT/VEWjgfcwgfQwRgYIKwYBBQUHAQEEOjA4MDYGCCsGAQUFBzABhipodHRwOi8vb2NzcC5hcHBsZS5jb20vb2NzcDA0LWFwcGxlcm9vdGNhZzMwHQYDVR0OBBYEFCPyScRPk+TvJ+bE9ihsP6K7\/S5LMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUu7DeoVgziJqkipnevr3rr9rLJKswNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL2NybC5hcHBsZS5jb20vYXBwbGVyb290Y2FnMy5jcmwwDgYDVR0PAQH/BAQDAgEGMBAGCiqGSIb3Y2QGAg4EAgUAMAoGCCqGSM49BAMCA2cAMGQCMDrPcoNRFpmxhvs1w1bKYr/0F+3ZD3VNoo6+8ZyBXkK3ifiY95tZn5jVQQ2PnenC/gIwMi3VRCGwowV3bF3zODuQZ/0XfCwhbZZPxnJpghJvVPh6fRuZy5sJiSFhBpkPCZIdAAAxggGMMIIBiAIBATCBhjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMCCCRD8qgGnfV3MA0GCWCGSAFlAwQCAQUAoIGVMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE3MDMxNzEwMzgzOVowKgYJKoZIhvcNAQk0MR0wGzANBglghkgBZQMEAgEFAKEKBggqhkjOPQQDAjAvBgkqhkiG9w0BCQQxIgQgvL+q07/reM0N/5b0hwWT7TJReVTdS9QX5SPhiqeie+cwCgYIKoZIzj0EAwIERzBFAiEAttC68Xyzs6I0+tAKmg6x+0UrqmkQN/V5c8RMMIEJHooCIHIgUHbAt2p5WrFHQKrAVL4c7nohRplZWVbVu6wbBeCgAAAAAAAA",
    "header": {
      "publicKeyHash": "fpvAnSDwQFX4NX4pghdjpNwUFhoTH/DDGhew94uJaRA=",
      "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKZUfqvhlieGAOaCKeTB/oDEo29fS1jWSKemNDh3fIqmbfs86nL4BGtRsWRxWcMnHN6GFOQm1MEj4m7ZHxe78g==",
      "transactionId": "38e4c267ef1de62a343d0eccada3f7e19f6b22ffc7ede899c039865432ba6aa2"
    },
    "version": "EC_v1"
  },
  "transactionIdentifier": "38E4C267EF1DE62A343D0ECCADA3F7E19F6B22FFC7EDE899C039865432BA6AA2",
  "paymentMethod": {
    "network": "Visa",
    "type": "debit",
    "displayName": "Visa5223"
  }
}
    

Значение свойства paymentData (из примера выше), которое нужно закодировать в Base64 и передать в запросе на оплату в платёжный шлюз, выглядит следующим образом:

        {
	"data": "vj5Uvux7Im8DD8YhSOsJvw5lWmfl2HMUnTNWJhVfTehvFffRhDo54mfpjxMt9vJdp6DwD7fgcNHDxBvnj56qYG4DpOxg1fTSdXgPFrezprZHCrRxPhN\/aQQEThe2pQ0c7hgzzZlA6TpkIR\/Xtk6CTcEbD1W6znFVdvMgX8G96Gg4OAGl8GaTXdSU3wlMQL5E63CLQzPi1xHVErWl1OOn6hYQuREUDGc7mAjmqMyLwX+p6mOwJZ6ZFO\/b9HkgFi428rqtOH08AfqkfaIWwIIAz2w3xEoZrDXbgFpNBnN7F2oretCU1\/dFvQJjDYbMorKQ8+GJbWtlsVb+Ksy0U91eoUetDcyMpB9zc139STYVoC8yp6Yk6Mn3icCLY0ZBujq7\/404kMGpnHgkNVqFc\/4SN0U2XQ5rrb14DM8M69w=","signature":"MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID4jCCA4igAwIBAgIIJEPyqAad9XcwCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0MDkyNTIyMDYxMVoXDTE5MDkyNDIyMDYxMVowXzElMCMGA1UEAwwcZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtUFJPRDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhV37evWx7Ihj2jdcJChIY3HsL1vLCg9hGCV2Ur0pUEbg0IO2BHzQH6DMx8cVMP36zIg1rrV1O\/0komJPnwPE6OCAhEwggINMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDEwHQYDVR0OBBYEFJRX22\/VdIGGiYl2L35XhQfnm1gkMAwGA1UdEwEB\/wQCMAAwHwYDVR0jBBgwFoAUI\/JJxE+T5O8n5sT2KGw\/orv9LkswggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB\/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB\/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGCCqGSM49BAMCA0gAMEUCIHKKnw+Soyq5mXQr1V62c0BXKpaHodYu9TWXEPUWPpbpAiEAkTecfW6+W5l0r0ADfzTCPq2YtbS39w01XIayqBNy8bEwggLuMIICdaADAgECAghJbS+\/OpjalzAKBggqhkjOPQQDAjBnMRswGQYDVQQDDBJBcHBsZSBSb290IENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNDA1MDYyMzQ2MzBaFw0yOTA1MDYyMzQ2MzBaMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPAXEYQZ12SF1RpeJYEHduiAou\/ee65N4I38S5PhM1bVZls1riLQl3YNIk57ugj9dhfOiMt2u2ZwvsjoKYT\/VEWjgfcwgfQwRgYIKwYBBQUHAQEEOjA4MDYGCCsGAQUFBzABhipodHRwOi8vb2NzcC5hcHBsZS5jb20vb2NzcDA0LWFwcGxlcm9vdGNhZzMwHQYDVR0OBBYEFCPyScRPk+TvJ+bE9ihsP6K7\/S5LMA8GA1UdEwEB\/wQFMAMBAf8wHwYDVR0jBBgwFoAUu7DeoVgziJqkipnevr3rr9rLJKswNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL2NybC5hcHBsZS5jb20vYXBwbGVyb290Y2FnMy5jcmwwDgYDVR0PAQH\/BAQDAgEGMBAGCiqGSIb3Y2QGAg4EAgUAMAoGCCqGSM49BAMCA2cAMGQCMDrPcoNRFpmxhvs1w1bKYr\/0F+3ZD3VNoo6+8ZyBXkK3ifiY95tZn5jVQQ2PnenC\/gIwMi3VRCGwowV3bF3zODuQZ\/0XfCwhbZZPxnJpghJvVPh6fRuZy5sJiSFhBpkPCZIdAAAxggGMMIIBiAIBATCBhjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMCCCRD8qgGnfV3MA0GCWCGSAFlAwQCAQUAoIGVMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE3MDMxNzEwMzgzOVowKgYJKoZIhvcNAQk0MR0wGzANBglghkgBZQMEAgEFAKEKBggqhkjOPQQDAjAvBgkqhkiG9w0BCQQxIgQgvL+q07\/reM0N\/5b0hwWT7TJReVTdS9QX5SPhiqeie+cwCgYIKoZIzj0EAwIERzBFAiEAttC68Xyzs6I0+tAKmg6x+0UrqmkQN\/V5c8RMMIEJHooCIHIgUHbAt2p5WrFHQKrAVL4c7nohRplZWVbVu6wbBeCgAAAAAAAA",
	"header": {
		"publicKeyHash":"fpvAnSDwQFX4NX4pghdjpNwUFhoTH\/DDGhew94uJaRA=",
		"ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKZUfqvhlieGAOaCKeTB\/oDEo29fS1jWSKemNDh3fIqmbfs86nL4BGtRsWRxWcMnHN6GFOQm1MEj4m7ZHxe78g==",
		"transactionId":"38e4c267ef1de62a343d0eccada3f7e19f6b22ffc7ede899c039865432ba6aa2"
	},
	"version":"EC_v1"
}
    

Ниже представлен пример ответа после успешной оплаты.

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:applePayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return>
            <success>true</success>
            <data>
               <orderId>12312312123</orderId>
            </data>
            <orderStatus errorCode="0"/>
         </return>
      </ns1:applePayResponse>
    </soap:Body>
    </soap:Envelope>
    

Ниже представлен пример ответа после неуспешной оплаты.

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:applePayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return>
            <success>false</success>
            <error>
               <code>10</code>
               <description>Отсутствует приватный ключ</description>
            </error>
            <orderStatus errorCode="0"/>
         </return>
      </ns1:applePayResponse>
    </soap:Body>
    </soap:Envelope>
    

Описание параметров ответа представлено в таблице ниже.

Параметр Вложенный параметр Тип данных Обязательный параметр Описание
success Не актуально A..5 Да Указывает на успешность проведения платежа. Доступны следующие значения: true (истина) - запрос успешно обработан; false (ложь) - запрос не прошёл.
data (возвращается, только если платёж прошёл успешно) orderId ANS36 Да Уникальный для продавца номер заказа в платёжной системе.
error (возвращается, только если платёж не прошёл) code N..2 Да Код ошибки.
description - ANS..512 Да Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю.

Коды ошибок, которые могут быть возвращены в результате неуспешной оплаты, представлены в таблице ниже. Сведения об используемых параметрах также представлены в документации Apple.

Код ошибки Сообщение
4 Некорректное значение параметра paymentToken.signature, проверка не пройдена
10 Некорректное значение параметра merchant
10 Некорректное значение параметра orderNumber
10 Некорректное значение параметра paymentToken
10 Некорректное значение параметра paymentToken.version
10 Некорректное значение параметра paymentToken.header
10 Некорректное значение параметра paymentToken.signature
10 Некорректное значение параметра paymentToken.header.transactionId
10 Некорректное значение параметра paymentToken.header.wrappedKey
10 Некорректное значение параметра paymentToken.header.publicKeyHash
10 Авторизация неуспешна

Запрос на проведение рекуррентных платежей через Apple Pay (WS)

Данный функционал поддерживает рекуррентные платежи только по картам MasterCard

Для регистрации заказа используется запрос recurrentPayment (см. раздел Координаты подключения).
Описание параметров представлено в таблице ниже.

Параметр Обязательность Описание
orderNumber Да Номер заказа.
bindingId Да Идентификатор связки.
amount Да Сумма платежа.
description Нет Описание заказа.
additionalParameters Нет

Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Для каждого дополнительного параметра следует использовать следующие вложенный параметр entry, в который, в свою очередь, входят следующие вложенные параметры:

  • key - имя параметра;
  • value - значение параметра.

Ниже представлен пример части кода запроса с несколькими вложенными параметрами.

html
        <entry>           
  <key>parameter_1</key>
  <value>value_1</value>    
</entry>    
<entry>           
  <key>parameter_2</key>           
  <value>value_2</value>    
</entry> 
    

Если у продавца настроена фискализация, при указании в качестве дополнительных параметров email (адрес электронной почты покупателя) и/или phone (номер сотового телефона покупателя) эти параметры в первую очередь используются для отправки фискального чека.
В случае использования внешнего MPI, платёжный шлюз ожидает, что в каждом запросе на оплату заказа будет приходить параметр eci. Если значение eci отличается от используемых для SSL-авторизаций, также необходимо передавать параметры xid и cavv. При оплате с картами МИР с поддержкой 3-D Secure, если ECI=05 или ECI=06, значение cavv должно передаваться в обязательном порядке

Ниже представлен пример успешного ответа на запрос.

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:recurrentPaymentResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return>
            <success>true</success>
            <data>
               <orderId>134561314642</orderId>
            </data>
            <orderStatus errorCode="0"/>
         </return>
      </ns1:recurrentPaymentResponse>
    </soap:Body>
    </soap:Envelope>
    

Ниже представлен пример неуспешного ответа на запрос.

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:recurrentPaymentResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return>
            <success>false</success>
            <error>
               <code>10</code>
               <description>Заказ с таким номером уже зарегистрирован.</description>
            </error>
            <orderStatus errorCode="0"/>
         </return>
      </ns1:recurrentPaymentResponse>
    </soap:Body>
    </soap:Envelope>
    

Описание параметров ответа представлено в таблице ниже.

Параметр Вложенный параметр Обязательный параметр Описание
success Не актуально Да Указывает на успешность проведения платежа. Доступны следующие значения: · true (истина) - запрос успешно обработан; · false (ложь) - запрос не прошёл.
data (возвращается, только если платёж прошёл успешно) orderId Да Уникальный для продавца номер заказа в платёжной системе.
error (возвращается, только если платёж не прошёл) code Да Код ошибки.
description - Да Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю.


Запрос на оплату через Google Pay (WS)

Описание параметров представлено в таблице ниже.

Параметр Обязательно Описание
merchant Да Имя входа продавца в системе платёжного шлюза.
orderNumber Да Уникальный номер заказа на стороне продавца.
description Нет Описание заказа.
language Нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
additionalParameters Нет

Дополнительные параметры заказа, которые сохраняются для просмотра из личного
кабинета продавца. Для каждого дополнительного параметра следует использовать
следующие вложенный параметр entry, в который, в свою очередь, входят следующие
вложенные параметры:

  • key - имя параметра;
  • value - значение параметра.


Ниже представлен пример части кода запроса с несколькими вложенными параметрами.

        <entry>
	<key>parameter_1</key>
	<value>value_1</value>
</entry>
<entry>
	<key>parameter_2</key>
	<value>value_2</value>
</entry>
    

В случае использования внешнего MPI, платёжный шлюз ожидает, что в каждом запросе на
оплату заказа будет приходить параметр eci. Если значение eci отличается от
используемых для SSL-авторизаций, также необходимо передавать параметры xid и cavv.

        При оплате с картами МИР с поддержкой 3-D Secure, если ECI=05 или ECI=06,
значение cavv должно передаваться в обязательном порядке
    
preAuth Нет Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счету клиента до их списания). Доступны следующие значения: - true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания);- false (ложь) - параметр выключен (списание происходит сразу). Если параметр не указан в запросе, списание происходит сразу.
clientId Нет Номер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей.
paymentToken Да Токен, полученный от Google Pay и закодированный в Base64.
ip Да IP-адрес плательщика.
amount Да Сумма платежа в минимальный единицах валюты (например, в копейках).
currencyCode Нет Цифровой код валюты платежа ISO 4217. Если не указан, считается равным 643 (российский рубль).
email Нет (см. описание) Адрес электронной почты. Обязателен, если у интернет-магазина настроена фискализация и не указан номер телефона.
phone Нет (см. описание) Номер телефона. Обязателен, если у интернет-магазина настроена фискализация и не указан адрес электронной почты.
failUrl Нет на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес платёжного шлюза>/<адрес продавца>.
        См. также блок 3DS-платёж - для одностадийных и двухстадийных платежей. 
failUrl используется таким же образом, как и на шаге 11 в указанных схемах.
    
returnUrl Да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес платёжного шлюза>/<адрес продавца>.
        См. также блок 3DS-платёж - для одностадийных и двухстадийных платежей. 
returnUrl используется таким же образом, как и на шаге 11 в указанных схемах.
    

Ниже представлен пример запроса на оплату.

Для корректной обработки запроса необходимо добавить заголовок с определением типа содержимого - Content-Type: application/json.

        
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
<soapenv:Header/>
<soapenv:Body>
<mer:googlePay>
<arg0>
<merchant>OurBestMerchantLogin</merchant>
<orderNumber>UAF-203974-DE</orderNumber>
<language>RU</language>
<preAuth>true</preAuth>
<paymentToken>ewogICJwcm90b2NvbFZlcnNpb24iOiAiRUN2MSIsCiAgInNpZ25hdHVyZSI6ICJUSlZBOTVPck03RTJjQmFiMzBSTUhySERjRWZ4am9ZWmdlRk9ORmg3SGdRIiwKICAic2lnbmVkTWVzc2FnZSI6ICJ7XCJlbmNyeXB0ZWRNZXNzYWdlXCI6CiAgXCJaVzVqY25sd2RHVmtUV1Z6YzJGblpRPT1cIixcImVwaGVtZXJhbFB1YmxpY0tleVwiOgogIFwiWlhCb1pXMWxjbUZzVUhWaWJHbGpTMlY1XCIsXCJ0YWdcIjogXCJjMmxuYm1GMGRYSmxcIn0iCn0=</paymentToken>
<ip>127.0.0.1</ip>
<amount>230000</amount>
<currencyCode>810</currencyCode>
<returnUrl>https://test.ru</returnUrl>
</arg0>
</mer:googlePay>
</soapenv:Body>
</soapenv:Envelope>
    


Описание параметров ответа приведены в таблице ниже.

Параметр Вложенный параметр Обязательный параметр Описание
success Не актуально Да Указывает на успешность проведения платежа. Доступны следующие значения: true (истина) - запрос успешно обработан и false (ложь) - запрос не прошёл.
data orderId Да Уникальный для продавца номер заказа в платёжной системе.
data termUrl Только если используется дополнительная аутентификация на ACS банка-эмитента При успешном ответе в случае платежа, в котором выполнялась проверка на принадлежность карты к 3-D Secure. URL-адрес для возврата с сервера контроля доступа.
data acsUrl Только если используется дополнительная аутентификация на ACS банка-эмитента При успешном ответе в случае платежа с использованием 3-D Secure. URL-адрес для перехода на сервер контроля доступа.
data paReq Только если используется дополнительная аутентификация на ACS банка-эмитента При успешном ответе в случае платежа с использованием 3-D Secure. Payment Authentication Request - запрос на аутентификацию платежа.
data bindingId Только при использовании связок Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками.
error code Да Код ошибки.
error description Да Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю.
error message Да Понятное описание ошибки - предназначено для отображения пользователю.

data - возвращается, только если платёж прошёл успешно
error - возвращается, только если платёж не прошёл
Примеры и описание ответа


Ниже представлен пример ответа после успешной оплаты.

        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns1:googlePayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return>
            <success>true</success>
            <data>
               <orderId>12312312123</orderId>
            </data>
            <orderStatus errorCode="0"/>
         </return>
      </ns1:googlePayResponse>
   </soap:Body>
</soap:Envelope>
    


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

        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns1:googlePayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return>
            <success>false</success>
            <error>
               <code>10</code>
               <description>Некорректное значение параметра [orderNumber]</description>
            </error>
            <orderStatus errorCode="0"/>
         </return>
      </ns1:googlePayResponse>
   </soap:Body>
</soap:Envelope>
    


Описание возможных кодов ошибок представлено в таблице ниже.

Код ошибки Сообщение об ошибке
0 Обработка запроса прошла без системных ошибок
1 Недостаточно средств на карте
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка
10 Некорректное значение параметра paymentToken
10 Некорректное значение параметра orderNumber
10 Некорректное значение параметра merchant
10 Некорректное значение параметра ip
10 Расшифровка переданных данных неуспешна
10 Отсутствует приватный ключ

Запрос на оплату через Samsung Pay (WS)

Для оплаты через Samsung Pay используется запрос samsungPay (см. раздел Координаты подключения).
Ниже представлен Пример запроса на оплату.

html
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
    <soapenv:Header/>
    <soapenv:Body>
    
    <mer:samsungPay>
         <arg0>
            <merchant>OurBestMerchantLogin</merchant>
            <orderNumber>UAF-203974-DE</orderNumber>
            <description>Test description</description>
            <paymentToken>ew0KICB7DQoJICAidmVyc2lvbiI6ICJSU0FfdjEiLA0KCSAgInNpZ25hdHVyZSI6ICJabUZyWlNCemFXZHVZWFIxY21VPSIsDQoJICAiaGVhZGVyIjogew0KCQkiZXBoZW1lcmFsUHVibGljS2V5IjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRW14Q2hDcGpLemY5YVh6MjZXVDZaVE4yekUzaUdYUWpjWlJZWUFkUUlURFgyUmtBTmJ0N2s5cmFoRjFoempqbWVWVHhjZ0NvZkg4MXprMkdOVFozZHRnPT0iICAgICAgIA0KCQkid3JhcHBlZEtleSI6ICJYejI2V1Q2WlROMnpFM2lHWFFqYz0iDQoJCSJwdWJsaWNLZXlIYXNoIjogIk9yV2dqUkdrcUVXamRrUmRVclhmaUxHRDBoZS96cEV1NTEyRkpXckdZRm89IiwNCgkJInRyYW5zYWN0aW9uSWQiOiAiYXBwbGUtMTIzNDU2Nzg5MEFCQ0RFRiINCgkgIH0sDQoJICAiZGF0YSI6ICIxZFhFMTNrdnpUVlA2bldFTjhEMnBoclBsZlFjR3I4VzN5ajJTSFlZai9QeWNIV1RqbnBWN3ovRXI3OGJyaT09Ig0KICB9DQp9</paymentToken>
            <language>RU</language>
            <additionalParameters>
               <entry>
                  <key>firstParamName</key>
                  <value>firstParamValue</value>
               </entry>
            </additionalParameters>
            <preAuth>true</preAuth>
            <ip>127.0.0.1</ip>
         </arg0>
      </mer:samsungPay>
    </soapenv:Body>
    </soapenv:Envelope>
    

Описание параметров запроса представлено в таблице ниже.

Параметр Обязательно Описание
merchant Нет Имя входа продавца в системе платёжного шлюза.
orderNumber Да Уникальный номер заказа на стороне продавца.
paymentToken Да Содержимое параметра 3ds.data из ответа, полученного от Samsung Pay.
ip Да IP-адрес плательщика.
amount Да Сумма платежа в минимальный единицах валюты (например, в копейках).
description Нет Описание заказа.
language Нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
additionalParameters Нет

Дополнительные параметры заказа, которые сохраняются для просмотра из личного кабинета продавца. Для каждого дополнительного параметра следует использовать следующие вложенный параметр entry, в который, в свою очередь, входят следующие вложенные параметры:

  • key - имя параметра;
  • value - значение параметра.

Ниже представлен пример части кода запроса с несколькими вложенными параметрами.

html
        <entry>           
  <key>parameter_1</key>
  <value>value_1</value>    
</entry>    
<entry>           
  <key>parameter_2</key>           
  <value>value_2</value>    
</entry> 
    

Если у продавца настроена фискализация, при указании в качестве дополнительных параметров email (адрес электронной почты покупателя) и/или phone (номер сотового телефона покупателя) эти параметры в первую очередь используются для отправки фискального чека.
В случае использования внешнего MPI, платёжный шлюз ожидает, что в каждом запросе на оплату заказа будет приходить параметр eci. Если значение eci отличается от используемых для SSL-авторизаций, также необходимо передавать параметры xid и cavv. При оплате с картами МИР с поддержкой 3-D Secure, если ECI=05 или ECI=06, значение cavv должно передаваться в обязательном порядке

preAuth Нет Параметр, определяющий необходимость предварительной авторизации (блокирования средств на счёте клиента до их списания). Доступны следующие значения: true (истина) - параметр включён, оплата происходит с предавторизацией (происходит блокирование средств клиента до списания); false (ложь) - параметр выключен (списание происходит сразу). Если параметр не указан в запросе, списание происходит сразу.
clientId Нет Номер клиента, для которого следует создать связку для проведения регулярных платежей. Следует указывать, только если проводится технический платёж для последующих регулярных платежей.
currencyCode Нет Цифровой код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.

Ниже представлен пример ответа после успешной оплаты.

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:samsungPayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return>
            <success>true</success>
            <data>
               <orderId>12312312123</orderId>
            </data>
            <orderStatus errorCode="0"/>
         </return>
      </ns1:samsungPayResponse>
    </soap:Body>
    </soap:Envelope>
    

Ниже представлен пример ответа после неуспешной оплаты.

html
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns1:samsungPayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return>
            <success>false</success>
            <error>
               <code>1</code>
               <description>Недостаточно средств на карте</description>
            </error>
            <orderStatus errorCode="0"/>
         </return>
      </ns1:samsungPayResponse>
    </soap:Body>
    </soap:Envelope>
    

Описание параметров ответа представлено в таблице ниже.

Параметр Вложенный параметр Обязательно Описание
success Не актуально Да Указывает на успешность проведения платежа. Доступны следующие значения: · true (истина) - запрос успешно обработан; · false (ложь) - запрос не прошёл.
data (возвращается, только если платёж прошёл успешно) orderId Да Уникальный для продавца номер заказа в платёжной системе.
error (возвращается, только если платёж не прошёл) code Да Код ошибки.
description - Да Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю.
message - Да Понятное описание ошибки - предназначено для отображения пользователю.

Описание возможных кодов ошибок представлено в таблице ниже.

Код Описание
0 Обработка запроса прошла без системных ошибок
1 Недостаточно средств на карте
5 Доступ запрещён
5 Пользователь должен сменить свой пароль
7 Системная ошибка
10 Некорректное значение параметра paymentToken
10 Некорректное значение параметра orderNumber
10 Некорректное значение параметра merchant
10 Некорректное значение параметра ip
10 Некорректное значение параметра paymentToken.header.alg
10 Некорректное значение параметра paymentToken.header.enc
10 Некорректное значение параметра paymentToken.header.typ
10 Некорректное значение параметра paymentToken.header.channelSecurityContext
10 Некорректное значение параметра paymentToken.header.kid
10 Расшифровка переданных данных неуспешна