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

Запрос на оплату с помощью Android Pay (androidPay)

Для оплаты через Android Pay используется запрос androidPay.

Для подключения к тестовой службе (WSDL) используйте следующий адрес:
https://3dsec.sberbank.ru/payment/webservices/merchant-ws?wsdl.

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

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

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

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

merchant

AN..255

Да

Логин продавца в платёжном шлюзе.

orderNumber

ANS..32

Да

Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы - до 30 символов. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно.

paymentToken

Строка

Да

Токен, полученный от Android Pay и закодированный в Base64.

ip

ANS..39

Нет

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

amount

N..12

Нет

Сумма платежа в минимальных единицах валюты.

description

ANS..512

Нет

Описание заказа в свободной форме. В процессинг «Сбербанка» для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля.

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

language

A2

Нет

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

additionalParameters

Не актуально

Нет

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

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

key

Строка

Имя дополнительного параметра.

value

ANS..2000

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

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

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

Если у продавца настроена фискализация, при указании в качестве дополнительных параметров email (адрес электронной почты покупателя) и/или phone (номер сотового телефона покупателя) эти параметры в первую очередь используются для отправки фискального чека.

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

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

preAuth

A..5

Нет

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

  • true (истина) - параметр включён, производится двухстадийная оплата;
  • false (ложь) - параметр выключен, производится одностадийная оплата (средства списываются сразу).

Если параметр не указан в запросе, происходит одностадийная оплата.

clientId

ANS..255

Нет

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

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

currencyCode

N3

Нет

Цифровой код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.

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

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

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

success

A..5

Да

Указывает на успешность запроса. Доступны следующие значения:

  • true (истина) - запрос обработан успешно;
  • false (ложь) - запрос не прошёл.

data

Не актуально

Да

Возвращается, только если платёж прошёл успешно и содержит один вложенный параметр (см. ниже).

orderId

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.

Следующий параметр возвращается, если используются связки.

bindingId

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

Параметры ниже обязательны, только если используется дополнительная аутентификация на ACS банка-эмитента.

acsUrl

При успешном ответе в случае платежа с использованием 3-D Secure. URL-адрес для перехода на сервер контроля доступа.

paReq

При успешном ответе в случае платежа с использованием 3-D Secure. Payment Authentication Request - запрос на аутентификацию платежа.

termUrl

При успешном ответе в случае платежа, в котором выполнялась проверка на принадлежность карты к 3-D Secure. URL-адрес для возврата с сервера контроля доступа.

error

Не актуально

Да

Возвращается, только если платёж не прошёл. Ниже представлены вложенные параметры.

code

Код ошибки.

description

Подробное техническое объяснение ошибки - содержимое этого параметра не предназначено для отображения пользователю.

message

Понятное описание ошибки - предназначено для отображения пользователю.

Коды ошибок

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

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

5

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

5

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

7

Системная ошибка.

10

Некорректное значение параметра [paymentToken].

10

Некорректное значение параметра [orderNumber].

10

Некорректное значение параметра [merchant].

10

Некорректное значение параметра [ip].

10

Расшифровка переданных данных неуспешна.

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

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

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

Успешная оплата

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

Неуспешная оплата

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns1:androidPayResponse 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:androidPayResponse>
   </soap:Body>
</soap:Envelope>