Запрос завершения на полную сумму в деньгах, передача корзины (deposit.do)

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

При завершении заказов корзина передаётся в элементе 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.

Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.

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

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

userName

AN..30

Да

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

password

AN..200

Да

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

orderId

ANS36

Да

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

amount

N..12

Да

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

language

A2

Нет

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

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

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

errorCode

N..2

Да

Код ошибки. Может отсутствовать, если результат не привёл к ошибке.

errorMessage

AN..512

Нет

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

Коды ошибок

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

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

5

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

5

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

5

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

5

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

6

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

6

[orderId] не задан.

7

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

7

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

8

Указанная сумма завершения не совпадает с полной суммой заказа. Необходима корзина для завершения на неполную сумму предавторизации.

Примеры

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

currency=643&language=ru&orderId=f57db9df-5885-483d-8d5e-8e592d60ec9d&amount=0

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

{"errorCode":"0","errorMessage":"Успешно"}