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

Запрос на проведение рекуррентных платежей (recurrentPayment)

Для регистрации заказа используется запрос recurrentPayment

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

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

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

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

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

userName

AN..30

Да

Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

password

AN..200

Да

Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

orderNumber

ANS..32

Да

Номер заказа в системе магазина.

language

A2

Нет

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

bindingId

AN..255

Да

Идентификатор связки, созданной ранее.

amount

N..12

Да

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

clientId

ANS..255

Да

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

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

currency

N3

Нет

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

description

ANS..512

Нет

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

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

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

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

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

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

success

A..5

Да

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

  • true (истина) - запрос обработан успешно;
  • false (ложь) - запрос не прошёл.
Блок data (возвращается, только если запрос прошёл успешно)

orderId

ANS36

Да

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

Блок error (возвращается, только если запрос завершился с ошибкой)

code

N..2

Да

Код ошибки.

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

message

AN..512

Да

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

Коды ошибок

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

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

1

Недостаточно средств на карте.

1

Неверный номер заказа.

2

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

4

Неверный идентификатор связки [bindingId].

5

Возможность использования связок отключена.

5

Неверная сумма [amount].

5

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

5 Неверный пароль
5 Ошибка аутентификации
7

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

10

Заказ с таким номером уже зарегистрирован.

10 Некорректное значение параметра [currency]
10 Некорректное значение параметра [language]
10 Повторяющийся номер заказа
10 Некорректное значение параметра [orderNumber]
10 Некорректное значение параметра [orderDescription]. Ссылки в описании заказа не допускаются

Примеры

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

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
   <soapenv:Header/>
   <soapenv:Body>
      <mer:recurrentPayment>
         <arg0>
            <orderNumber>123123</orderNumber>
            <bindingId>binding_id</bindingId>
            <amount>123</amount>
            <description>description</description>
            <additionalParameters>
               <entry>
                  <key>firstParamName</key>
                  <value>firstParamName</value>
               </entry>
            </additionalParameters>
         </arg0>
      </mer:recurrentPayment>
   </soapenv:Body>
</soapenv:Envelope>

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

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

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

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