Запрос завершения на полную сумму, передача корзины (depositOrder)

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

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

При завершении заказов корзина передаётся в элементе depositItems.

  • В случае завершения на полную предавторизованную сумму передача корзины необязательна.
  • Сумма завершения (в деньгах) в корзине не должна превышать предавторизованную денежную сумму заказа.
  • При завершении заказа на сумму отличную от суммы предавторизации (кроме передачи значения «0») обязательно должна передаваться корзина товаров.
  • Все товарные позиции корзины должны быть выражены в одной и той же валюте (если валюта позиций указывается) и должны совпадать с валютой оригинального Заказа. Для Сбербанк «Спасибо» валюта заказа должна быть рубли РФ (643-RUB).
  • Значение элемента quantity в корзине запроса на завершение не должно превышать значение аналогичного параметра в корзине заказа на регистрацию.
  • Значение элемента itemAmount блока items не должно превышать значение аналогичного параметра в оригинальном заказе.
  • По каждой товарной позиции производится проверка переданного значения quantity. Если значение слишком большое или слишком маленькое, запрос завершается ошибкой.
  • При завершении заказа в интернет- кредитовании на полную/частичную сумму, партнеру необходимо передавать в корзине стоимость товаров с учетом скидки, если заказ был зарегистрирован с типом продукта – ‘INSTALLMENT’
  • Все параметры корзины проверяются на соответствие требуемому формату (длине).

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

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

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

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

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

orderId

ANS36

Да

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

depositAmount

N..5

Да

Для завершения на полную сумму предавторизации в запросе необходимо передать полную сумму заказа в деньгах или 0. Если не указать параметр depositAmount, завершение также произойдет на всю предавторизованную сумму.

language

A2

Нет

Код языка в соответствии с ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.

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

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

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

errorCode

N..2

Да

Код ошибки.

errorMessage

AN..512

Нет

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

Коды ошибок

Значение Описание
0

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

5

Сумма депозита превышает захолдированную сумму.

5

Сумма депозита должна быть равной нулю или не менее одного рубля.

5

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

5

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

6

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

6

[orderId] не задан.

7

Платёж должен быть в корректном состоянии.

7

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

Примеры

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

<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="8c76c56b-426c-435d-a24c-1c0927dd6fca" depositAmount=" ">
            <!--Optional:-->
 
            <!--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="0"/>
      </ns1:depositOrderResponse>
   </soap:Body>
</soap:Envelope>