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

Запрос завершения на частичную сумму в деньгах, передача корзины (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

Да

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

Все версии.

language

A2

Нет

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

Все версии.

depositItems

Не актуально

Да

Тег с атрибутами товарных позиции корзины. Описание вложенных тегов представлено ниже.

Все версии.

depositItems

depositItems состоит из следующих элементов.

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.

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

items

Не актуально

Да

Массив блоков, описывающих товарные позиции в корзине. Информация по каждой товарной позиции Корзины передаётся в отдельном блоке, входящем в состав items.

Не используйте внутри этого блока сочетание символов «‘)», в противном случае это приведёт к ошибке на стороне шлюза.

Все версии.

items

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться .

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

positionId

ANS..12

Да

Уникальный идентификатор товарной позиции внутри корзины заказа.

Все версии.

name

ANS..100

Да

Наименование или описание товарной позиции в свободной форме.

Используйте \\ - для передачи \

используйте \« - для передачи »

где « означает знак кавычек

Все версии.

itemDetails

Не актуально

Нет

Дополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже.

Ограничение размера поля - 1024 байт.

Все версии.

quantity

N..18

Да

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

Все версии.

itemAmount

N..18

Да

Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice * quantity, в противном случае запрос завершится с ошибкой.

При расчёте параметра itemAmount = itemPrice*quantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.

Все версии.

itemCurrency

N3

Нет

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

Все версии.

itemCode

ANS..100

Да

Номер (идентификатор) товарной позиции в системе магазина.

Во всех методах передача артикула itemcode/code обязательна.

Все версии.

tax

Не актуально

да - для фискализации (для магазинов без настроек фискализации параметр не обязателен)

Дополнительный тег с атрибутами описания налога. Описание вложенных тегов представлено ниже.

Все версии.

itemPrice

N..12

да - для фискализации (для магазинов без настроек фискализации параметр не обязателен)

Стоимость одной товарной позиции в минимальных единицах валюты. Обязательно для продавцов с фискализацией.

  • itemPrice не может быть меньше 0.
  • itemPrice может передаваться как строкой, так и целочисленным типом.

Все версии.

itemAttributes

См. описание.

Нет

Блок атрибутов товарной позиции.

1.05 и более поздние версии.

itemAttributes

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

paymentMethod

N..2

Да

Тип оплаты возможны следующие значения:

  • 1 - полная предварительная оплата до момента передачи предмета расчёта;
  • 2 - частичная предварительная оплата до момента передачи предмета расчёта;
  • 3 - аванс;
  • 4 - полная оплата в момент передачи предмета расчёта;
  • 5 - частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;
  • 6 - передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;
  • 7 - оплата предмета расчёта после его передачи с оплатой в кредит.

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

  1. Корзина заказа из API-запроса.
  2. Настройки фискализации в личном кабинете.
  3. Значения по умолчанию.

Для paymentMethod значением по умолчанию является 1 (полная предварительная оплата до момента передачи предмета расчета).

1.05 и более поздние версии.

paymentObject

N..2

Да

Тип оплачиваемой позиции, возможны следующие значения:

  • 1 - товар;
  • 2 - подакцизный товар;
  • 3 - работа;
  • 4 - услуга;
  • 5 - ставка азартной игры;
  • 6 - выигрыш азартной игры;
  • 7 - лотерейный билет;
  • 8 - выигрыш лотереи;
  • 9 - предоставление РИД;
  • 10 - платёж;
  • 11 - агентское вознаграждение;
  • 12 - составной предмет расчёта;
  • 13 - иной предмет расчёта;
  • 14 - имущественное право;
  • 15 - внереализационный доход;
  • 16 - страховые взносы: о суммах расходов, уменьшающих сумму налога (авансовых платежей) в соответствии с пунктом 3.1 статьи 346.21 Налогового кодекса Российской Федерации;
  • 17 - торговый сбор: о суммах уплаченного торгового сбора;
  • 18 - курортный сбор;

Указанные выше значения доступны для ФФД 1.05.

Для ФФД 1.2 список доступных значений пополняется также следующими значениями:

  • 30 - реализуемый подакцизный товар, подлежащий маркировке средством идентификации, не имеющем кода маркировки;
  • 31 - реализуемый подакцизный товар, подлежащий маркировке средством идентификации, имеющем кода маркировки;
  • 32 - реализуемый товар, подлежащий маркировке средством идентификации, не имеющим код маркировки, за исключением подакцизного товара;
  • 33 - реализуемый товар, подлежащий маркировке средством идентификации, имеющим код маркировки, за исключением подакцизного товара.

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

  1. Корзина заказа из API-запроса.
  2. Настройки фискализации в личном кабинете.
  3. Значения по умолчанию.

Для paymentObject значением по умолчанию является 1 (товар).

1.05 и более поздние версии.

nomenclature

ANS

да (если передан markQuantity)

Код товарной позиции.

Принимаются только первые 256 байт.

Возможные форматы для передачи:

  1. В шестнадцатеричном представлении - HEX кодировке с пробелами. Здесь необходимо cоответствие с маской 1 байт - пробел - 1 байт (два символа в шестнадцатеричном виде). Также необходимо указать код товара в соответствии с требованиями Честного Знака (максимальная длина - 95 символов).
  2. В виде строки, если передача идет не в HEX кодировке.

1.05 и более поздние версии.

markQuantity

Нет

Дробное количество маркированного товара.

1.2 и более поздние версии.

userData

ANS..64

Нет

Значение реквизита пользователя. Можно передавать только после согласования с ФНС.

1.05 и более поздние версии.

agent_info.type

N..2

Обязателен, только если передан объект agent_info.

Тип агента, возможно одно из следующих значений:

  • 1 - банковский платёжный агент;
  • 2 - банковский платёжный субагент;
  • 3 - платёжный агент;
  • 4 - платёжный субагент;
  • 5 - поверенный;
  • 6 - комиссионер;
  • 7 - иной агент.

1.05 и более поздние версии.

agent_info.paying.operation

ANS..24

Нет

Наименование операции платёжного агента.

1.05 и более поздние версии.

agent_info.paying.phones

массив ANS..19

Нет

Массив телефонов платёжного агента в формате +N.

1.05 и более поздние версии.

agent_info.paymentsOperator.phones

Массив ANS..19

Нет

Массив телефонов оператора по приёму платежей в формате +N.

1.05 и более поздние версии.

agent_info.MTOperator.phones

Массив ANS..19

Нет

Массив телефонов оператора перевода в формате +N.

1.05 и более поздние версии.

agent_info.MTOperator.name

ANS..64

Нет

Наименование оператора перевода.

1.05 и более поздние версии.

agent_info.MTOperator.address

ANS..256

Нет

Адрес оператора перевода.

1.05 и более поздние версии.

agent_info.MTOperator.inn

N10..12

Нет

ИНН оператора перевода.

1.05 и более поздние версии.

supplier_info.phones

Maccив ANS..19

Нет

Массив телефонов поставщика в формате +N. При передаче этого параметра необходимо использовать метод POST. Пример:«supplier_info.phones»: «+79123456789, +79123456790, +79123456791, +79123456792, +79123456793, +79123456794»

1.05 и более поздние версии.

supplier_info.name

ANS..256

Нет

Наименование поставщика.

1.05 и более поздние версии.

supplier_info.inn

N10..12

Нет

ИНН поставщика.

1.05 и более поздние версии.

quantity

quantity состоит из следующих элементов.

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.

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

value

N..18

Да

Количество товарных позиций данного positionId. Для указания дробных чисел используйте десятичную точку

measure

ANS..20

Да

Мера измерения количества товарной позиции.

Если ФФД версии 1.2 и более поздней, то здесь передаются параметры:

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

value

N1

Да

Количество товарных позиций данного positionId. Для версии ФФД 1.2+ значение всегда 1.

1.2 и более поздние версии.

measure

N..3

Да

Единица измерения количества предмета расчета. При ФФД версии 1.2+ , если переданы параметры nomenclature и markQuantity, значение всегда 0. В остальных случаях принимает значения

1.2 и более поздние версии.

Возможные значения measure

Значение Описание
0 Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами (а также в случае, если предметом расчета является товар, подлежащий обязательной маркировке средством идентификации (передан mark_code))
10 Грамм
11 Килограмм
12 Тонна
20 Сантиметр
21 Дециметр
22 Метр
30 Квадратный сантиметр
31 Квадратный дециметр
32 Квадратный метр
40 Миллилитр
41 Литр
42 Кубический метр
50 Киловатт час
51 Гигакалория
70 Сутки (день)
71 Час
72 Минута
73 Секунда
80 Килобайт
81 Мегабайт
82 Гигабайт
83 Терабайт
255 Применяется при использовании иных мер измерения

markQuantity

Параметры тэга markQuantity:

Обязательность параметров указана для использования в рамках тэга. Если тэг необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.

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

numerator

N..12

да

Числитель дробной части предмета расчета.

denominator

N..12

да

Знаменатель дробной части предмета расчета.

itemDetails

itemDetails состоит из следующих элементов.

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.

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

itemDetailsParams

ANS..255

Нет

Дополнительная информация по товарной позиции. Представляет собой массив блоков, в каждом из которых передаётся информация об определённой характеристике товарной позиции.

Все версии.

itemDetailsParams

itemDetailsParams состоит из следующих элементов.

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.

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

name

AN..255

Да

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

Все версии.

tax

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.

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

taxType

N..2

Нет

Ставка НДС, доступны следующие значения:

  • 0 – без НДС;
  • 1 – НДС по ставке 0%;
  • 2 – НДС чека по ставке 10%;
  • 4 – НДС чека по расчетной ставке 10/110;
  • 6 – НДС чека по ставке 20%;
  • 7 – НДС чека по расчётной ставке 20/120;
  • 10 – НДС чека по ставке 5%;
  • 11 – НДС чека по расчетной ставке 5/105;
  • 12 – НДС чека по ставке 7%;
  • 13 – НДС чека по расчетной ставке 7/107.

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

taxSum

N..18

Нет

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

Все версии.

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

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

errorCode

N..2

Да

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

Все версии.

errorMessage

AN..512

Нет

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

Все версии.

Коды ошибок

Значение Описание Версия ФФД
0

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

5

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

5

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

5

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

6

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

6

[orderId] не задан.

7

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

7

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

8

Сумма депозита больше чем сумма при регистрации.

8

[depositItems.items.currency] валюта в корзине не соответствует валюте заказа.

8

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

8

[items.item.position] оригинальный заказ не содержит товарной позиции с данным номером.

8

[orderBundle.cartItems.item.quantity.value] Слишком большое либо слишком маленькое значение.

Примеры

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

userName=username-api&password=testPwd&amount=23500&returnUrl=http://ya.ru&orderId=b089befe-127a-75e4-a68f-918c0128092a&depositItems={"items":[{"positionId":1,"name":"По-аджарски \"Лодочка\" SMALL","quantity":{"value":"1","measure":"0"},"itemCode":"270_235.00","itemPrice":23500,"tax":{"taxType":0,"taxSum":0},"itemAttributes":{"attributes":[{"name":"nomenclature","value":"010463003407001221CMK45BrhN0WLf"},{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"30"},{"name":"agent_info.type","value":"7"},{"name":"agent_info.paying.operation","value":"test operation"},{"name":"agent_info.paying.phones","value":"%2B79161234123"},{"name":"agent_info.paymentsOperator.phones","value":"%2B79161234456"},{"name":"agent_info.MTOperator.phones","value":"%2B79161234789"},{"name":"agent_info.MTOperator.name","value":"MT operator"},{"name":"agent_info.MTOperator.address","value":"Moscow"},{"name":"agent_info.MTOperator.inn","value":"8634330204"},{"name":"supplier_info.phones","value":"%2B79161234333"},{"name":"supplier_info.name","value":"Supplier"},{"name":"supplier_info.inn","value":"287381373424"},{"name":"excise","value":"10.0"},{"name":"country_code","value":"810"},{"name":"declaration_number","value":"12332234533"},{"name":"userData","value":"user data"},{"name":"markQuantity.numerator","value":"1"},{"name":"markQuantity.denominator","value":"2"},{"name":"sectoralItemProps[0].federalId","value":"001"},{"name":"sectoralItemProps[0].date","value":"10.10.2021"},{"name":"sectoralItemProps[0].number","value":"123/4567"},{"name":"sectoralItemProps[0].value","value":"value1"},{"name":"sectoralItemProps[1].federalId","value":"003"},{"name":"sectoralItemProps[1].date","value":"11.10.2021"},{"name":"sectoralItemProps[1].number","value":"321/4567"},{"name":"sectoralItemProps[1].value","value":"value2"}]}}]}

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

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