Инструменты страницы

Запрос проведения оплаты по связкам (paymentOrderBinding)

Для проведения платежа по связкам используется запрос paymentOrderBinding.

В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:

  • A<n> – последовательность латинских букв длины <n>;
  • A..<n> – последовательность латинских букв длиной, не превышающей <n>;
  • N<n> – последовательность цифр длины <n>;
  • N..<n> – последовательность цифр длиной, не превышающей <n>;
  • AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
  • AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
  • ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
  • ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
  • UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.

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

Название Тип Обязательно Описание

mdOrder

ANS..36

Да

Номер заказа в платёжном шлюзе. Уникален в пределах платёжного шлюза.

bindingId

AN..255

Да

Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает:
1. Данный заказ может быть оплачен только с помощью связки;
2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.

params

См. столбец с описанием.

Да

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

Включение данного функционала возможно по согласованию с банком в период интеграции. Для передачи N параметров, в запросе должно находиться N тегов params, где атрибут name содержит название, а атрибут value содержит значение (см. ниже).

Название Тип Описание

name

ANS..255

Название дополнительного параметра.

value

ANS..2000

Значение дополнительного параметра - до 2000 символов.

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

  • sbrf_spasibo:amount_bonus
  • sbrf_sbermiles:amount_bonus
  • loyaltyId
  • overridenClientId

language

A2

Нет

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

ip

ANS..39

Да

IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов).

cvc

N3

Нет

Этот параметр обязателен, если для продавца не выбрано разрешение Может проводить оплату без подтверждения CVC.

email

ANS..40

Нет

Адрес электронной почты покупателя.

billingPayerData

См. описание

Нет

Блок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV.

Обязателен, если активна соответствующая пермиссия для мерчанта («Разрешено использование AVS/AVV»).

billingPayerData

Параметры блока billingPayerData

Название Тип Обязательно Описание

billingCity

AN..50

Нет

Город, зарегистрированный по конкретной карте у Банка Эмитента

billingCountry

AN..50

Нет

billingAddressLine1

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 1.

Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV».

billingAddressLine2

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 2.

billingAddressLine3

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 3.

billingPostalCode

AN..50

Нет

Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента.

Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV».

billingState

AN..50

Нет

Штат, зарегистрированный по конкретной карте у Банка Эмитента (ISO 3166-2)

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

При аутентификации по протоколу 3DS 2.0 также передаются следующие параметры:

Название Тип Обязательно Описание

threeDSServerTransId

ANS..36

См. описание

Идентификатор транзакции созданный на сервере 3DS.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

threeDSVer2FinishUrl

AN..512

Нет

Адрес переадресации клиента после аутентификации на сервере ACS.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

threeDSMethodNotificationUrl

AN..512

Нет

Адрес для отправки уведомления о прохождении проверки 3D Secure.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

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

Название Тип Обязательно Описание

redirect

ANS..*

Нет

При успешном ответе. В случае платежа без необходимости аутентификации на ACS – URL, на который производится переадресация после платежа. В случае 3DS-платежа – URL для возврата с ACS.

info

ANS..*

Нет

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

  • Ваш платёж обработан, происходит переадресация…
  • Операция отклонена. Проверьте введённые данные, достаточность средств на карте и повторите операцию. Происходит переадресация…
  • Извините, платёж не может быть совершён. Происходит переадресация…
  • Операция отклонена. Обратитесь в магазин. Происходит переадресация…
  • Операция отклонена. Обратитесь в банк, выпустивший карту. Происходит переадресация…
  • Операция невозможна. Аутентификация держателя карты завершена неуспешно. Происходит переадресация…
  • Нет связи с банком. Повторите позже. Происходит переадресация…
  • Истёк срок ожидания ввода данных. Происходит переадресация…
  • Не получен ответ от банка. Повторите позже. Происходит переадресация…

errorCode

N..2

Да

Код ошибки.

errorMessage

AN..512

Нет

Описание ошибки на языке, переданном в параметре language в запросе.

errorTypeName

Строка

Нет

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

Возможные значения можно посмотреть здесь

acsUrl

AN..512

Нет

Адрес перенаправления на адрес сервера ACS.

paReq

AN..512

Нет

Запрос аутентификации плательщика.

При аутентификации по протоколу 3DS 2.0 при первичном запросе возвращаются следующие параметры:

Название Тип Обязательно Описание

is3DSVer2

A..5

Да

Флаг, обозначающий то, что платёж/перевод будет проведён по протоколу 3DS версии 2.0. Доступны следующие значения:

  • true (истина) - платёж/перевод будет проведён по протоколу 3DS версии 2.0;
  • false (ложь) - платёж/перевод не будет проводиться по протоколу 3DS версии 2.0.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

threeDSServerTransId

ANS..36

Да

Идентификатор транзакции созданный на сервере 3DS.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

threeDSMethodURL

ANS..512

Нет

URL-адрес ACS для сбора данных о браузере.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

threeDSMethodURLServer

ANS..512

Да

URL-адрес сервера 3DS для сбора данных о браузере для включения в запрос аутентификации AReq (Authentication Request) от сервера 3DS к серверу ACS.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

threeDSMethodDataPacked

ANS..1024

Нет

Данные CReq (Challenge Response) для отправки на сервер ACS, закодированные в Base64.

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

threeDSMethodURLServerDirect

ANS..512

Нет

URL-адрес на метод 3dsmethod.do для выполнения 3DS метода на сервере 3DS через ПШ (при наличии соответствующей пермиссии).

Параметр используется при проведения аутентификации клиента по протоколу 3DS версии 2.0.

При аутентификации по протоколу 3DS 2.0 после повторного запроса на оплату и необходимости перенаправления клиента на ACS в ответе будут присутствовать следующие параметры.

Название Тип Обязательно Описание

acsUrl

AN..512

Да, в случае необходимости перенаправления на ACS

Адрес перенаправления на адрес сервера ACS.

packedCReq

ANS..*

Да, в случае необходимости перенаправления на ACS

Запакованные данные challenge request. Это значение следует использовать как значение параметра creq ссылки на ACS (acsUrl), для перенаправления клиента на ACS.

Коды ошибок

Код ошибки Текст ошибки
0

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

1 Необходимо указать CVC2/CVV2 код, поскольку у мерчанта нет разрешения на проведение платежа без CVC
1 Неверный формат CVC
1

[mdOrder] не задан.

1

[bindingId] не задан.

1 Адрес электронной почты не удовлетворяет шаблону
1 Неверный язык
2

Связка не найдена.

2 Связка не найдена
5

Доступ запрещён.

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:paymentOrderBinding>
          <order mdOrder="9213bc5f-5d5b-43d6-a408-b6b93cdde992" bindingId="ca91a4ab-b6d4-495d-b606-8fb0114e679e" language="ru" ip="127.0.0.1" cvc="123" email=" ">
             <!-Zero or more repetitions:->
             <params name=" " value=" "/>
          </order>
       </mer:paymentOrderBinding>
    </soapenv:Body>
 </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" is3DSVer2="true" threeDSServerTransId="f44d6d21-1874-45a5-aeb0-1c710dd6e134" threeDSMethodURLServer="https://test.com/3dsserver/gatherClientInfo?threeDSServerTransID=f44d6d21-1874-45a5-aeb0-1c710dd6e134"/>
      </ns1:paymentOrderBindingResponse>
   </soap:Body>
</soap:Envelope>

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

<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" email=" " "threeDSServerTransId=f44d6d21-1874-45a5-aeb0-1c710dd6e134" "threeDSVer2FinishUrl=https:test.com">
             <!-Zero or more repetitions:->
             <params name=" " value=" "/>
          </order>
       </mer:paymentOrderBinding>
    </soapenv:Body>
 </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" acsUrl="https://test.com/acs2/acs/creq" is3DSVer2="true" packedCReq="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjVmMzEyMjdlLTljZmQtNDQwYi1hNDNjLTE4NjljMzNhNGI5YiIsImFjc1RyYW5zSUQiOiI5YTQyYzQ4ZC1hNWRiLTQ3NjEtYmI4Mi05ZmY5MmM0NzZiM2QiLCJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDQiLCJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0="/>
      </ns1:paymentOrderBindingResponse>
   </soap:Body>
</soap:Envelope>