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


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

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

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

НазваниеТипОбязательноОписание
orderIdANS36да Номер заказа, полученный при регистрации заказа
paymentWayANS.*да В этом параметре передаётся способ оплаты. Возможные значения: ALFA_ALFACLICK — для оплаты с помощью «Альфа-Клик» (через систему PayByClik); UPOP — для оплаты через систему UPOP, доступно для держателей карт China UnionPay.
ipAS.15нетIP адрес плательщика
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language)

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

НазваниеТипОбязательноОписание
errorCodeN1да Код ошибки
errorMessageANS.*(при ошибке)Сообщение об ошибке
redirectANS.*нетАдрес возврата после оплаты

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

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

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

<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>

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

<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 (см. раздел Координаты подключения).

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

НазваниеТипОбязательноОписание
mdOrderANS36да Номер заказа в платёжной системе. Уникален в пределах системы.
bindingIdANS36да Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.
params —нетДополнительный тэг с атрибутами для передачи дополнительных параметров мерчанта.*
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language)
ipNS.15да ip адрес плательщика
cvcN4нетКод CVC. Этот параметр обязателен, если для мерчанта не выбрано разрешение «Может проводить оплату без подтверждения CVC».
emailANS.*нетEmail адрес плательщика
loyaltyIdANS.*нетИдентификатор программы лояльности. Следует использовать значение sbrf_spasibo.
pointsAmountN.20нетКоличество бонусных баллов к списанию.

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

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

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

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

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

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

  • Ваш платёж обработан, происходит переадресация...

  • Операция отклонена. Проверьте введённые данные, достаточность средств на карте и повторите операцию. Происходит переадресация...

  • Извините, платёж не может быть совершён. Происходит переадресация...

  • Операция отклонена. Обратитесь в магазин. Происходит переадресация...

  • Операция отклонена. Обратитесь в банк, выпустивший карту. Происходит переадресация...

  • Операция невозможна. Аутентификация держателя карты завершена неуспешно. Происходит переадресация...

  • Нет связи с банком. Повторите позже. Происходит переадресация...

  • Истёк срок ожидания ввода данных. Происходит переадресация...

  • Не получен ответ от банка. Повторите позже. Происходит переадресация...

errorCodeN1да Код завершения.
errorMessageANS.*нетПри ответе с ошибкой. Сообщение об ошибке.
acsUrlANS.*нетПри успешном ответе в случае 3DS-платежа. URL перехода на ACS
paReqANS.*нетПри успешном ответе в случае 3DS-платежа. Payment Authentication Request.

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

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

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

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
2    <soapenv:Header/>
3    <soapenv:Body>
4       <mer:paymentOrderBinding>
5          <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">
6             <! -Zero or more repetitions: →
7             <params name=" " value=" "/>
8          </order>
9       </mer:paymentOrderBinding>
10    </soapenv:Body>
11    </soapenv:Envelope>

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

<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 (см. раздел Координаты подключения).

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

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

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

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

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

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

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

<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>

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

<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 (см. раздел Координаты подключения).

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

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

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

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

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

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

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

<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>

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

<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 (см. раздел Координаты подключения).

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

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

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

НазваниеТипОбязательноОписание
errorCodeN1даКод завершения
errorMessageANS..*(при ошибке)Сообщение об ошибке
Коды ошибок (поле errorCode):
ЗначениеОписание
0Обработка запроса прошла без системных ошибок
1Не указан или неверно указан один или несколько обязательных параметров
2Связка не найдена
5Доступ запрещён
5Пользователь должен сменить свой пароль
7Системная ошибка

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

<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>

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

<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 (см. раздел Координаты подключения).

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

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

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

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

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

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

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

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

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

<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>

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

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

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

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

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

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

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

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

Элемент bindings (может состоять из нескольких элементов binding) .

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

НазваниеТипОбязательноОписание
bindingIdAN..255нетИдентификатор связки.
maskedPanN..19нетМаскированный номер карты, которая использовалась для оплаты.
expiryDateN6нетСрок истечения действия карты в формате YYYYMM.
clientIdAN..255нетНомер (идентификатор) клиента в системе мерчанта.

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

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

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

<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>

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

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

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

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

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

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
2    <soapenv:Header/>
3    <soapenv:Body>
4    <mer:applePay>
5         <arg0>
6            <merchant>OurBestMerchantLogin</merchant>
7            <orderNumber>UAF-203974-DE</orderNumber>
8            <description>Test description</description>
9            <paymentToken>ew0KICB7DQoJICAidmVyc2lvbiI6ICJSU0FfdjEiLA0KCSAgInNpZ25hdHVyZSI6ICJabUZyWlNCemFXZHVZWFIxY21VPSIsDQoJICAiaGVhZGVyIjogew0KCQkiZXBoZW1lcmFsUHVibGljS2V5IjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRW14Q2hDcGpLemY5YVh6MjZXVDZaVE4yekUzaUdYUWpjWlJZWUFkUUlURFgyUmtBTmJ0N2s5cmFoRjFoempqbWVWVHhjZ0NvZkg4MXprMkdOVFozZHRnPT0iICAgICAgIA0KCQkid3JhcHBlZEtleSI6ICJYejI2V1Q2WlROMnpFM2lHWFFqYz0iDQoJCSJwdWJsaWNLZXlIYXNoIjogIk9yV2dqUkdrcUVXamRrUmRVclhmaUxHRDBoZS96cEV1NTEyRkpXckdZRm89IiwNCgkJInRyYW5zYWN0aW9uSWQiOiAiYXBwbGUtMTIzNDU2Nzg5MEFCQ0RFRiINCgkgIH0sDQoJICAiZGF0YSI6ICIxZFhFMTNrdnpUVlA2bldFTjhEMnBoclBsZlFjR3I4VzN5ajJTSFlZai9QeWNIV1RqbnBWN3ovRXI3OGJyaT09Ig0KICB9DQp9</paymentToken>
10            <language>RU</language>
11            <additionalParameters>
12               <entry>
13                  <key>firstParamName</key>
14                  <value>firstParamValue</value>
15               </entry>
16            </additionalParameters>
17            <preAuth>true</preAuth>
18    		<ip>127.0.0.1</ip>
19    	 </arg0>
20      </mer:applePay>
21    </soapenv:Body>
22    </soapenv:Envelope>

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

ПараметрТип данныхОбязательностьОписание
merchantAN..30НетИмя входа продавца в системе платёжного шлюза.
orderNumberAN..32НетУникальный номер заказа на стороне продавца.
descriptionANS..512НетОписание заказа.
paymentTokenAN..8192Да

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

Таким образом, чтобы сделать запрос на оплату в платёжный шлюз, продавец должен:

  1. получить от системы Apple Pay объект PKPaymentToken Object, содержащий свойство paymentData;

  2. извлечь значение свойства paymentData и закодировать его в Base64;

  3. включить закодированное значение свойства paymentData в качестве значения парамера paymentToken в запросе на оплату, который продавец направит в платёжный шлюз.

languageA2НетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
additionalParametersAN..1024Нет

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

  • key - имя параметра;

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

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

<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 должно передаваться в обязательном порядке.

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

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

1{
2  "paymentData": {
3    "data": "vj5Uvux7Im8DD8YhSOsJvw5lWmfl2HMUnTNWJhVfTehvFffRhDo54mfpjxMt9vJdp6DwD7fgcNHDxBvnj56qYG4DpOxg1fTSdXgPFrezprZHCrRxPhN/aQQEThe2pQ0c7hgzzZlA6TpkIR/Xtk6CTcEbD1W6znFVdvMgX8G96Gg4OAGl8GaTXdSU3wlMQL5E63CLQzPi1xHVErWl1OOn6hYQuREUDGc7mAjmqMyLwXp6mOwJZ6ZFO/b9HkgFi428rqtOH08AfqkfaIWwIIAz2w3xEoZrDXbgFpNBnN7F2oretCU1/dFvQJjDYbMorKQ8GJbWtlsVbKsy0U91eoUetDcyMpB9zc139STYVoC8yp6Yk6Mn3icCLY0ZBujq7/404kMGpnHgkNVqFc/4SN0U2XQ5rrb14DM8M69w=",
4    "signature": "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",
5    "header": {
6      "publicKeyHash": "fpvAnSDwQFX4NX4pghdjpNwUFhoTH/DDGhew94uJaRA=",
7      "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErKZUfqvhlieGAOaCKeTB/oDEo29fS1jWSKemNDh3fIqmbfs86nL4BGtRsWRxWcMnHN6GFOQm1MEj4m7ZHxe78g==",
8      "transactionId": "38e4c267ef1de62a343d0eccada3f7e19f6b22ffc7ede899c039865432ba6aa2"
9    },
10    "version": "EC_v1"
11  },
12  "transactionIdentifier": "38E4C267EF1DE62A343D0ECCADA3F7E19F6B22FFC7EDE899C039865432BA6AA2",
13  "paymentMethod": {
14    "network": "Visa",
15    "type": "debit",
16    "displayName": "Visa5223"
17  }
18}

Значение свойства 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"
}

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

1<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2    <soap:Body>
3    <ns1:applePayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
4         <return>
5            <success>true</success>
6            <data>
7               <orderId>12312312123</orderId>
8            </data>
9            <orderStatus errorCode="0"/>
10         </return>
11      </ns1:applePayResponse>
12    </soap:Body>
13    </soap:Envelope>

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

1<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2    <soap:Body>
3    <ns1:applePayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
4         <return>
5            <success>false</success>
6            <error>
7               <code>10</code>
8               <description>Отсутствует приватный ключ</description>
9            </error>
10            <orderStatus errorCode="0"/>
11         </return>
12      </ns1:applePayResponse>
13    </soap:Body>
14    </soap:Envelope>

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

ПараметрВложенный параметрТип данныхОбязательный параметрОписание
successНе актуальноA..5ДаУказывает на успешность проведения платежа. Доступны следующие значения: true (истина) - запрос успешно обработан; false (ложь) - запрос не прошёл.
data (возвращается, только если платёж прошёл успешно)orderIdANS36ДаУникальный для продавца номер заказа в платёжной системе.
error (возвращается, только если платёж не прошёл)codeN..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 - значение параметра.

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

<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 должно передаваться в обязательном порядке.

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

1<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2    <soap:Body>
3    <ns1:recurrentPaymentResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
4         <return>
5            <success>true</success>
6            <data>
7               <orderId>134561314642</orderId>
8            </data>
9            <orderStatus errorCode="0"/>
10         </return>
11      </ns1:recurrentPaymentResponse>
12    </soap:Body>
13    </soap:Envelope>

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

1<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2    <soap:Body>
3    <ns1:recurrentPaymentResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
4         <return>
5            <success>false</success>
6            <error>
7               <code>10</code>
8               <description>Заказ с таким номером уже зарегистрирован.</description>
9            </error>
10            <orderStatus errorCode="0"/>
11         </return>
12      </ns1:recurrentPaymentResponse>
13    </soap:Body>
14    </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.

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
2xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
3<soapenv:Header/>
4<soapenv:Body>
5<mer:googlePay>
6<arg0>
7<merchant>OurBestMerchantLogin</merchant>
8<orderNumber>UAF-203974-DE</orderNumber>
9<language>RU</language>
10<preAuth>true</preAuth>
11<paymentToken>ewogICJwcm90b2NvbFZlcnNpb24iOiAiRUN2MSIsCiAgInNpZ25hdHVyZSI6ICJUSlZBOTVPck03RTJjQmFiMzBSTUhySERjRWZ4am9ZWmdlRk9ORmg3SGdRIiwKICAic2lnbmVkTWVzc2FnZSI6ICJ7XCJlbmNyeXB0ZWRNZXNzYWdlXCI6CiAgXCJaVzVqY25sd2RHVmtUV1Z6YzJGblpRPT1cIixcImVwaGVtZXJhbFB1YmxpY0tleVwiOgogIFwiWlhCb1pXMWxjbUZzVUhWaWJHbGpTMlY1XCIsXCJ0YWdcIjogXCJjMmxuYm1GMGRYSmxcIn0iCn0=</paymentToken>
12<ip>127.0.0.1</ip>
13<amount>230000</amount>
14<currencyCode>810</currencyCode>
15<returnUrl>https://test.ru</returnUrl>
16</arg0>
17</mer:googlePay>
18</soapenv:Body>
19</soapenv:Envelope>

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

ПараметрВложенный параметрОбязательный параметрОписание
successНе актуальноДаУказывает на успешность проведения платежа. Доступны следующие значения true (истина) - запрос успешно обработан и false (ложь) - запрос не прошёл.
dataorderIdДаУникальный для продавца номер заказа в платёжной системе.
datatermUrlТолько если используется дополнительная аутентификация на ACS банка-эмитентаПри успешном ответе в случае платежа, в котором выполнялась проверка на принадлежность карты к 3-D Secure. URL-адрес для возврата с сервера контроля доступа.
dataacsUrlТолько если используется дополнительная аутентификация на ACS банка-эмитентаПри успешном ответе в случае платежа с использованием 3-D Secure. URL-адрес для перехода на сервер контроля доступа.
datapaReqТолько если используется дополнительная аутентификация на ACS банка-эмитентаПри успешном ответе в случае платежа с использованием 3-D Secure. Payment Authentication Request - запрос на аутентификацию платежа.
databindingIdТолько при использовании связокИдентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками.
errorcodeДаКод ошибки.
errordescriptionДаПодробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю.
errormessageДаПонятное описание ошибки - предназначено для отображения пользователю.

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

Примеры и описание ответа

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

1<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2   <soap:Body>
3      <ns1:googlePayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
4         <return>
5            <success>true</success>
6            <data>
7               <orderId>12312312123</orderId>
8            </data>
9            <orderStatus errorCode="0"/>
10         </return>
11      </ns1:googlePayResponse>
12   </soap:Body>
13</soap:Envelope>

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

1<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2   <soap:Body>
3      <ns1:googlePayResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
4         <return>
5            <success>false</success>
6            <error>
7               <code>10</code>
8               <description>Некорректное значение параметра [orderNumber]</description>
9            </error>
10            <orderStatus errorCode="0"/>
11         </return>
12      </ns1:googlePayResponse>
13   </soap:Body>
14</soap:Envelope>

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

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