Способы подключения

Подключение по API

Порядок действий для подключения e-com кассы

Порядок действий для подключения e-com кассы


Введение

Согласно 54 федеральному закону, с 1 июля 2017 года все российские интернет-ресурсы обязаны выдавать клиентам чеки за онлайн-платежи. При расчётах с физическими лицами должна быть использована специальная контрольно-кассовая техника (ККТ)

Основные вопросы

  • Кто обязан пробивать чеки Банк или магазин? — Обязанность пробивать чеки накладывается на ТСП (Торгово-Сервисное Предприятие).

  • Я не знаю, нужна ли мне касса — Проверить, нужно ли использовать кассу можно здесь (нажав на кнопку «Нужна ли мне касса»)

  • Что нужно сделать для того, чтобы все работало? — Для корректной работы необходимо арендовать или приобрести кассу, заключить договор с ОФД, зарегистрировать кассу в ФНС, передавать информацию о каждой покупке.

  • Можно ли пробивать чеки по интернет-платежам на кассе, которая стоит у меня в магазине? — Да, если она зарегистрирована в реестре ККТ и может использоваться для интернет платежей, при этом в случае совершения оплаты в интернете чек должен быть направлен клиенту в течение 5 минут с момента оплаты.

  • У меня касса «Штрих-М», «АТОЛ» (кроме АТОЛ 42-ФС). Могу ли я подключить ее к вашему интернет эквайрингу? — У нас нет интеграции с данными кассами. Вы можете использовать наш интернет эквайринг и пробивать чеки на любой кассе, но для этого вам придется сделать интеграцию своих систем самостоятельно. Исключением является подключение интернет эквайринга через нашего партнера PayKeeper. На сайте https://paykeeper.ru/paykeeper/54-fz-internet-magazin/ указаны типы касс, с которыми у них реализовано подключение. Если Ваша касса присутствует в этом списке, то вам будет лучше реализовать интеграцию через PayKeeper.

  • Как формировать фискальные чеки (фискализация) при приёме оплат в иностранной валюте? — На территории Российской Федерации действует ФЗ-54, согласно которому все кассовое оборудование работает только с российскими рублями. Заказы оплаченные в иностранной валюте не фискализируются. Для оформления чека по оплатам в иностранной валюте необходима конвертация, но на текущий момент платежный шлюз не поддерживает конвертацию. Для оформления чеков по валютным транзакциям, вам потребуется провести интеграцию Вашего ресурса с выбранной облачной кассой напрямую, данный способ подключения позволит конвертировать валютные транзакции.

  • Что такое признак предмета расчета? — Все пользователи контрольно-кассовой техники обязаны указывать наименование предмета расчета (за что взымается оплата). В зависимости от вашей деятельности предметы расчета у всех разные. Кто-то оказывает услуги, кто-то продает товары, а кто-то принимает платежи. Для того, чтобы определить, за что вы приняли деньги у Покупателя, ФНС предусмотрела указание признака предмета расчета. Пример: Если вы оказали услугу и оформили кассовый чек, в котором признак предмета расчета у услуги был установлен «ТОВАР» — такой чек может быть признан как «оформленный с нарушением».

  • Что такое признак способа расчета? — Еще один немаловажный реквизит предмета расчета — признак способа расчета. Этот реквизит определяет передачу предмета расчета в момент расчета. Простыми словами — современный кассовый чек отражает не только факт получения оплаты, но и факт передачи предмета расчета (товара, услуги, работы и т. п.). За факт фиксации передачи предмета расчета и факт оплаты отвечает реквизит признак способа расчета. Данный реквизит является обязательным, за исключением значения «ПОЛНЫЙ РАСЧЕТ». Пример: вы приняли предоплату за предмет расчета (конкретный товар), который однозначно определен в момент расчета (когда покупатель оплатил за него деньги). В этом случае вы отбиваете кассовый чек, в котором в предмете расчета указываете признак способа расчета «ПРЕДОПЛАТА 100%». Кассовый чек с таким признаком расчета указывает, что вы приняли оплату, но товар не передали. После передачи товары вам необходимо отправить закрывающий чек. Это можно сделать в личном кабинете интернет эквайринга в деталях по транзакции. На платежном шлюзе присутствуют следующие признаки способа расчета:

    • Предоплата 100% — Полная предварительная оплата до момента передачи предмета расчета

    • Частичная предоплата — Частичная предварительная оплата до момента передачи предмета расчета

    • Аванс — Аванса за товар, характеристики которого к тому моменту не определены (например, если куплена подарочная карта).

    • Полный расчет — Полная оплата, в том числе с учетом предоплаты или аванса (предварительной оплаты) в момент передачи предмета расчета

Возможности платежного шлюза

Платёжный шлюз позволяет принимать оплату по заказам, содержащих информацию о Корзине. Корзина предоставляет собой детализацию Заказа по товарным позициям, по которым производится оплата в рамках одного Заказа.
В запросе на регистрацию заказа также передаются данные, необходимые для формировании кассового чека.
Если вы выберите ecom-кассу от наших партнеров, то вся нужная информация будет передана в ОФД и в налоговую, согласно тербованиям ФЗ-54

Порядок действий для подключения ecom-кассы

Для стандартного интернет-эквайринга передать информацию по корзине в кассу можно 2 способами:

  • использовать плагин, поддерживающий ФЗ-54

  • обеспечить передачу параметров для чека по API

Для способов подключения «Выставление ссылки на оплату» и «Конструктор формы оплаты»: Передача информации в кассу для пробития чека обеспечивается настройками в Личном Кабинете.

Инструкция по настройке фискализации: Инструкция

Вместе с этим, необходимо выбрать партнера: Ниже представлены льготный расценки партнеров для клиентов Альфа-Банка.

Онлайн Касса Билайн — аренда кассы для онлайн торговли.

Сколько стоит:

  • Стоимость аренды Онлайн Кассы Билайн:

  • 1 месяц — 1 200 руб/мес

  • 3 месяца — 3 600 руб/мес

  • 15 месяцев — 16 200 руб/мес

  • 36 месяцев — 42 000 руб/мес

  • Услуги оператора фискальных данных (ОФД) Билайн — входят в тариф

  • Отправка чека по email — входит в тариф

  • Отправка чека по СМС — 1,68 руб/смс

  • Стоимость фискального накопителя:

  • на 15 мес. 9 120 руб

  • на 36 мес. 14 100 руб

Подробнее можно ознакомиться по ссылке

Инструкция по подключению для клиентов

Orange Data — аренда кассы для онлайн торговли.

Сколько стоит:

  • Подключение сервиса E-com Касса — бесплатно

  • Стоимость аренды 1 Кассы — 1 950 руб./мес. (включены услуги ОФД Такском)

  • Стоимость ФН — 9 000 руб. (15 мес) 13 500 (36 мес)

Подробнее: https://lk.orangedata.ru/register/?partner_code=3010001

Для получения льготных условий, заявку на подключение необходимо заполнить через сайт https://lk.orangedata.ru/register/?partner_code=3010001

АТОЛ Онлайн — аренда кассы для онлайн торговли.

Сколько стоит:

  • Стоимость обслуживания облачной кассы АТОЛ Онлайн:

  • «Помесячный» тариф — 1 500 руб.

  • «Годовой» тариф — 18 000 руб.

  • «Почековый» тариф — от 10 руб./чек

  • Подключение сервиса — бесплатно

  • Помощь в регистрации кассы в ФНС — бесплатно

  • Обслуживание от ТАКСКОМ ОФД и Первый ОФД — бесплатно

  • Выделенный менеджер на этапе подключения — бесплатно

  • Стоимость фискального накопителя:

  • на 15 мес. 9 200 руб.

  • на 36 мес. 13 500 руб.

Подробнее можно ознакомиться по ссылке

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

OFD.ru сервис Ferma — аренда кассы для онлайн торговли.

Сколько стоит:

  • Подключение сервиса — бесплатно

  • Услуги передачи фискальных данных (ОФД) от OFD.ru — бесплатно

  • Стоимость сервиса Ferma на 1 ККТ в рамках тарифов:

    • тариф «месячный» : 2 100 руб. за месяц

    • тариф «годовой» : 22 200 руб. за год

    • тариф «13 месяцев» : 24 050 руб. за 13 месяцев

    • тариф «15 месяцев» : 27 000 руб. за 15 месяцев

    • тариф «почековый» : 3 300 руб. за пакет из 300 чеков

  • Стоимость фискальных накопителей:

    • На 15 месяцев: 9 200 руб.

    • На 36 месяцев: 13 800 руб.

Подробнее: http://alfabank.ofd.ru/

Бизнес.Ру «Онлайн-Чеки» — аренда кассы для онлайн торговли.

Сколько стоит:

  • Стоимость аренды облачной кассы Бизнес.Ру Онлайн-Чеки:

  • Тариф «Почековый» — 1 500 руб/мес.

  • Тариф «Безлимит» — 2 200 руб./мес.

  • Подключение кассы — бесплатно

  • Услуги оператора фискальных данных (ОФД) — входят в тариф

  • Мобильное приложение для контроля продаж — бесплатно

  • Индивидуальный менеджер на каждом этапе подключения — бесплатно

  • Стоимость фискального накопителя:

  • на 15 мес. 9 990 руб.

  • на 36 мес. 13 990 руб.

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

В случае подписания индивидуального договора:

Для включения сервиса Е-Ком касса необходимо заключить дополнительное соглашение с банком: Дополнительное соглашение

Инструкция по заполнению дополнительного соглашения: Инструкция по заполнению дополнительного соглашения

В случае заполнения ПОДТВЕРЖДЕНИЯ О ПРИСОЕДИНЕНИИ (ПОП) заполнения доп. соглашения не требуется.

FAQ

Помощь в процессе подключения: Обращайтесь в службу сопровождения emcsupport@alfabank.ru и ers@alfabank.ru

Куда отправить подписанное доп. соглашение:

  • Курьерской службой: ОАО «Альфа-Банк» г. Москва, проспект Андропова, д. 18, корпус 3 Колдаеву Алексею

  • Почтой РФ: ОАО «Альфа-Банк», 107 078 Москва, ул. Каланчевская д. 27 Колдаеву Алексею

Нужна тестовая среда: Обращайтесь в службу сопровождения тестовой среды: ers@alfabank.ru

Презентация: Скачать

Требования к запросам

Требования к формированию запросов регистрации заказа с Корзиной

В запросах на регистрацию заказа (с предавторизацией или без) Корзина товаров передаётся в параметре .

  • Все товарные позиции Корзины должны быть выражены в одной и той же валюте (если валюта позиции указывается), и должны совпадать с валютой Заказа.

  • Сумма всех товарных позиций Корзины должна быть равна сумме Заказа;

  • По каждой товарной позиции производится проверка переданного значения . В случае если значение слишком большое или слишком маленькое, то запрос завершается ошибкой.

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

Требования к формированию запросов завершения заказа с Корзиной

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

  • В случае завершения на полную предавторизованную сумму передача Корзины необязательна.

  • Сумма завершения в Корзине не должна превышать предавторизованную денежную сумму заказа.

  • При завершении заказа на сумму отличную от суммы предавторизации (кроме передачи значения «0») обязательно должна передаваться Корзина товаров.

  • Все товарные позиции Корзины должны быть выражены в одной и той же валюте (если валюта позиций указывается), и должны совпадать с валютой оригинального Заказа.

  • В Корзине запрещены для передачи новые товарные позиции, отсутствующие в оригинальном заказе. Происходит проверка наличия указанного товара в Корзине запроса на завершение в изначальном заказе. Необходимо совпадение элементов , , . Если хотя бы одно из значений не совпадает, считается, что данная товарная позиция отсутствует в Корзине заказа на регистрацию.

  • Значение элемента в Корзине запроса на завершение не должно превышать значение аналогичного параметра в Корзине заказа на регистрацию.

  • Значение элемента блока не должно превышать значение аналогичного параметра в оригинальном заказе.

  • По каждой товарной позиции производится проверка переданного значения . В случае если значение слишком большое или слишком маленькое, то запрос завершается ошибкой.

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

Требования к формированию запросов возврата заказа с Корзиной

В запросе на возврат Корзина указывается в блоке .

  • В случае полного возврата Заказа, передача Корзины товаров необязательна.

  • При возврате заказа на сумму отличную от суммы списания (кроме передачи значения «0») обязательно должна передаваться Корзина товаров.

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

  • Сумма возврата в Корзине не должна превышать подтверждённую денежную сумму оригинального заказа.

  • Все товарные позиции Корзины должны быть выражены в одной и той же валюте (если валюта позиций указывается), совпадающей с валютой оригинального Заказа.

  • В Корзине запрещены для передачи товарные позиции, отсутствующие в оригинальном заказе. Происходит проверка наличия указанного товара в Корзине запроса на возврат в изначальном заказе. Необходимо совпадение элементов , , . Если хотя бы одно из значений не совпадает, считается, что данная товарная позиция отсутствует в оригинальном заказе.

  • Значение элемента в Корзине запроса на завершение не должно превышать значение аналогичного параметра в Корзине заказа на регистрацию.

  • Значение элемента блока не должно превышать значение аналогичного параметра в оригинальном заказе.

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

Схемы взаимодействия при использовании различных видов оплаты

Одностадийная оплата

одностадийная оплата

Двухстадийная оплата

двухстадийная оплата

Интерфейс на WebService-ах

Запрос регистрации заказа (WS)

Для регистрации заказа в системе используется запрос registerOrder. Состав товарной Корзины передаётся в параметре <orderBundle>. Раздел Требования к формированию запросов регистрации заказа с Корзиной содержит список условий, необходимых для корректного формирования запроса.
Примечание Если в запросе на оплату не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом).

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

НазваниеТипОбязательноОписание
merchantOrderNumberANS.32да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно.
descriptionANS.512нетОписание заказа в свободной форме. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку.
amountN.20да Сумма платежа в копейках (или центах)
currencyN3нетКод валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
pageViewANS.20нет

По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:

  • DESKTOP – для загрузки страниц, вёрстка которых предназначена для отображения на экранах ПК (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями payment_<locale>.html и errors_<locale>.html );

  • MOBILE – для загрузки страниц, вёрстка которых предназначена для отображения на экранах мобильных устройств (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями mobile_payment_<locale>.html и mobile_errors_<locale>.html );

  • Если магазин создал страницы платёжного интерфейса, добавив в название файлов страниц произвольные префиксы, передайте значение нужного префикса в параметре pageView для загрузки соответствующей страницы. Например, при передаче значения iphone в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями iphone_payment_<locale>.html и iphone_error_<locale>.html.

    где:

    • locale – язык страницы в кодировке ISO 639-1. Например, ru для русского или en для английского.

Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP.

sessionTimeoutSecsN…9нетПродолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
bindingIdAN.255noИдентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
expirationDateANSнетДата и время окончания жизни заказа. Формат: yyyy-MM-dd'T'HH: mm: ss. Если этот параметр не передаётся в запросе, для определения времени окончания жизни заказа используется sessionTimeoutSecs.
returnUrlAN.512да Адрес, на который надо перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrlAN.512нетАдрес, на который надо перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
paramsN/Aнет

Тэг с атрибутами для передачи дополнительных параметров мерчанта.

Поля дополнительной информации для последующего хранения. Для передачи N параметров, в запросе должно находиться N тэгов params, где атрибут name содержит название, а атрибут value содержит значение:

НазваниеТипОбязательноОписание
nameAN..20даНазвание дополнительного параметра
valueAN..1024даЗначение дополнительного параметра

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

Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом тэге в параметре с именем email.

clientIdANS.255нет

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

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

merchantLoginAN.255нетЧтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре.
featuresANS..255нетAUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей.
orderBundleN/A-Корзина товаров заказа. Описание представлено ниже.
taxSystemN.2да — для фискализации (для магазинов без настроек фискализации параметр необязателен)Система налогообложения, доступны следующие значения:0 — общая; 1 — упрощённая, доход; 2 — упрощённая, доход минус расход; 3 — единый налог на вменённый доход; 4 — единый сельскохозяйственный налог; 5 — патентная система.

По умолчанию в процессинг банка передаются поля:

  • merchantOrderNumber — номер заказа в системе магазина;

  • description — описание заказа (не более 99 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n). Если в заказе передать дополнительный параметр с именем merchantOrderId, то именно его значение будет передано в процессинг в качестве номера заказа (вместо значения поля orderNumber).

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

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

НазваниеТипОбязательноОписание
orderCreationDateANS.21нетДата создания заказа в формате YYYY-MM-DDTHH: MM: SS
customerDetails —нетБлок с атрибутами данных о покупателе. Описание его атрибутов представлено ниже. Ограничение на передачу каждого из включённых параметров составляет 64 символа.
cartItems —да Тэг с атрибутами товарных позиции Корзины. Описание его атрибутов представлено ниже.
agent —нет Блок для передачи данных об агенте (см. описание ниже).
supplierPhones массив ANS..19нет Массив телефонов поставщика в формате +N.

Параметры блока agent:

НазваниеТипОбязательноОписание
agentTypeN..2да (если передаётся блок)

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

  • "1" - банковский платёжный агент;

  • "2" - банковский платёжный субагент;

  • "3" - платёжный агент;

  • "4" - платёжный субагент;

  • "5" - поверенный;

  • "6" - комиссионер;

  • "7" - иной агент.

payingOperationANS..24нетНаименование операции платёжного агента.
payingPhonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
paymentsOperatorPhones массив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
MTOperatorNameANS..64нетНаименование оператора перевода.
MTOperatorAddress ANS..256нетАдрес оператора перевода.
MTOperatorInn N10..12нетИНН оператора перевода.

Параметры блока customerDetails:

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

НазваниеТипОбязательноОписание
emailANS.40НетЭлектронная почта покупателя. Можно указать несколько адресов электронной почты через запятую и без пробелов — в этом случае чек будет отправлен на все указанные адреса. Обязательно следует передать один из двух параметров: email или phone.
phoneANS.12НетНомер телефона покупателя. Если в телефон включён код страны, номер должен начинаться со знака плюс («+»). Если телефон передаётся без знака плюс («+»), то код страны указывать не следует. Таким образом, допустимы следующие варианты: +79998887766; 9998887766. Обязательно следует передать один из двух параметров: email или phone.
contactANS.40НетСпособ связи с покупателем.
deliveryInfo N/AНетТэг с атрибутами адреса для доставки. Описание представлено ниже.
fullName ANS..100НетФамилия, имя и отчество плательщика.
passport ANS..100НетСерия и номер паспорта плательщика в следующем формате: 2222888888.
inn ANS..12НетИдентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов.

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

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

НазваниеТипОбязательноОписание
deliveryTypeANS.20нетТип доставки
countryA.2да Страна доставки (в соответствии с ISO 3166-1)
cityANS.40да Город доставки
postAddressANS.255да Адрес доставки

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

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

НазваниеТипОбязательноОписание
itemsN/Aда Тэг с параметрами, содержащими информацию по одной товарной позиции в Корзине. Номер товарной позиции указывается в виде атрибута тэга: positionId, ANS.12, обязательно (уникальный идентификатор товарной позиции внутри Корзины Заказа). По каждой товарной позиции в запросе должен передаваться отдельный тэг items. Описание параметров тэга представлено ниже.

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

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

НазваниеТипОбязательноОписание
nameANS.100да Наименование или описание товарной позиции в свободной форме
itemDetailsN/AнетДополнительный тэг с параметрами описания товарной позиции. Описание его атрибутов представлено ниже.
quantityN.18да В данном параметре передаётся общее количество товарных позиций одного positionId. Для указания дробных чисел используется десятичная точка. Мера измерения передаётся в виде атрибута: measure, ANS.20, обязательно (мера измерения количества товарной позиции).
itemAmountN.18нет (см. описание)Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice * quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPrice*quantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrencyN.3нетКод валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCodeANS.100да Номер (идентификатор) товарной позиции в системе магазина. Параметр должен быть уникальным в рамках запроса.
discountN/AнетДополнительный тэг с атрибутами описания скидки для товарной позиции. Описание его атрибутов представлено ниже.
agentInterestN/AнетДополнительный тэг с атрибутами описания агентской комиссии за продажу товара. Описание его атрибутов представлено ниже.
taxN/Aда — для фискализации (для магазинов без настроек фискализации параметр не обязателен)Тэг с параметрами для описания налога, описание представлено ниже.
itemPriceN.18да — для фискализации (для магазинов без настроек фискализации параметр не обязателен)Стоимость одной товарной позиции данного positionId в деньгах в минимальных единицах валюты. Обязательно для мерчантов с фискализацией
itemAttributesСм. описаниенетТэг, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

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

Атрибуты следует указывать следующим образом

<attributes  name="название_атрибута_1">значение_атрибута_1</attributes>
<attributes  name="название_атрибута_2">значение_атрибута_2</attributes>
НазваниеТипОбязательноОписание
paymentMethodN..2да

Признак способа расчёта, доступны следующие значения:

  • «1» — полная предварительная оплата до момента передачи предмета расчёта;

  • «2» — частичная предварительная оплата до момента передачи предмета расчёта;

  • «3» — аванс;

  • «4» — полная оплата в момент передачи предмета расчёта;

  • «5» — частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;

  • «6» — передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;

  • «7» — оплата предмета расчёта после его передачи с оплатой в кредит.

paymentObjectN..2да

Признак предмета расчёта, доступны следующие значения:

  • «1» — товар;

  • «2» — подакцизный товар;

  • «3» — работа;

  • «4» — услуга;

  • «5» — ставка азартной игры;

  • «6» — выигрыш азартной игры;

  • «7» — лотерейный билет;

  • «8» — выигрыш лотереи;

  • «9» — предоставление РИД;

  • «10» — платёж;

  • «11» — агентское вознаграждение;

  • «12» — составной предмет расчёта;

  • «13» — иной предмет расчёта.

nomenclatureANSнет

Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 32 байта в HEX кодировке.

Пример представления:

1. 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00

2. 000000010021FA4100230541000000000000000000000000000000001200AB00

Таким образом, представление возможно как с пробелами, так и без.

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

supplier_info.phonesMaccив ANS..19нетМассив телефонов поставщика в формате +N.
supplier_info.nameANS..256нетНаименование поставщика.
supplier_info.innN10..12нетИНН поставщика.
agent_info.typeN..2Обязателен, только если передан объект agent_info.

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

agent_info.paying.operationANS..24нетНаименование операции платёжного агента.
agent_info.paying.phonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
agent_info.paymentsOperator.phonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
agent_info.MTOperator.phonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
agent_info.MTOperator.nameANS..64нетНаименование оператора перевода.
agent_info.MTOperator.addressANS..256нетАдрес оператора перевода.
agent_info.MTOperator.innANS..256нетИНН оператора перевода.

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

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

НазваниеТипОбязательноОписание
itemDetailsParamsANS.255нетВ параметре передаётся значение определённой характеристики товарной позиции. Наименование характеристики указывается в виде атрибута: name, AN.255, обязательно (наименование характеристики, описывающей товарную позицию). Каждая характеристика товарной позиции должна передаваться в отдельном параметре itemDetailsParams.

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

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

НазваниеТипОбязательноОписание
discountTypeANS.20да Тип скидки на товарную позицию
discountValueN.20да Значение скидки на товарную позицию

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

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

НазваниеТипОбязательноОписание
interestTypeANS.20да Тип агентской комиссии за продажу товара
interestValueN.20да Значение агентской комиссии за продажу товара

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

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

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

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

  • «0» — без НДС;

  • «1» — НДС по ставке 0%;

  • «2» — НДС чека по ставке 10%;

  • «3» — НДС чека по ставке 18%;

  • «4» — НДС чека по расчётной ставке 10/110;

  • «5» — НДС чека по расчётной ставке 18/118;

  • «6» — НДС чека по ставке 20%;

  • «7» — НДС чека по расчётной ставке 20/120;

Обязательно для продавцов с фискализацией

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

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

НазваниеТипОбязательноОписание
orderIdANS36нетНомер заказа в платёжной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа на удалась по причине ошибки, детализированной в errorCode.
formUrlAN.512нетURL платёжной формы, на который надо перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.
errorCodeN3да Код ошибки.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе.

Коды ошибок (поле errorCode):

ЗначениеОписание
0Обработка запроса прошла без системных ошибок.
1Неверный номер заказа.
1Заказ с таким номером уже обработан.
3Неизвестная валюта.
4Отсутствует сумма.
4Номер заказа не может быть пуст.
4URL возврата не может быть пуст.
5Неверно указано значение одного из параметров.
5Доступ запрещён.
5Пользователь должен сменить свой пароль.
7Системная ошибка.
8Отсутствует обязательный параметр Корзины с указанием наименования отсутствующего элемента.
8Валюта в Корзине не совпадает с валютой заказа.
8Сумма товарных позиций в Корзине не совпадает с общей суммой заказа.
8Несуществующий идентификатор бонусной программы.
8Слишком большое или слишком маленькое значение параметра quantity.

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

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
2   <soapenv:Header/>
3   <soapenv:Body>
4      <mer:registerOrder>
5         <order merchantOrderNumber="110a88qerf8kfqdarf" description=" " amount="24000" currency=" " pageView=" " sessionTimeoutSecs="5400" binding=" " expirationDate=" ">
6            <!--Optional:-->
7            <returnUrl>https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html</returnUrl>
8            <!--Zero or more repetitions:-->
9            <params name="param1" value="valueParam1"/>
10            <params name="param2" value="valueParam2"/>
11            <!--Optional:-->
12            <clientId>666</clientId>
13            <!--Optional:-->
14            <merchantLogin> </merchantLogin>
15            <taxSystem>0</taxSystem>
16            <!--Optional:-->
17             <orderBundle>
18               <!-- Optional: -->
19               <orderCreationDate>2013-07-12T13:51:00</orderCreationDate>
20               <!-- Информация о покупателе -->
21               <!-- Optional: -->
22               <customerDetails>
23                  <!-- Optional: -->
24                  <email>johnsmith@mail.ru</email>
25                  <!-- Optional: -->
26                  <phone>79851231234</phone>
27                  <!-- Optional: -->
28                  <contact>Mega Tester</contact>
29                  <!-- Optional: -->
30                  <deliveryInfo>
31                     <!-- Optional: -->
32                     <deliveryType>courier</deliveryType>
33                     <country>RU</country>
34                     <city>Moscow</city>
35                     <postAddress>Земляной Вал 50А стр.2</postAddress>
36                  </deliveryInfo>
37               </customerDetails>
38 
39               <!-- Состав Корзины -->
40               <cartItems>
41                  <!-- Zero or more repetitions: -->
42     
43                  <items positionId="1">
44                     <name>Metzeler Enduro 3 Sahara</name>
45                     <!-- Optional: -->
46                     <itemDetails>
47                        <!-- Zero or more repetitions: -->
48                        <itemDetailsParams name="brand">Metzeler</itemDetailsParams>
49                        <itemDetailsParams name="radius">17inch</itemDetailsParams>
50                     </itemDetails>
51                     <quantity measure="штук">1</quantity>
52                     <itemAmount>8000</itemAmount>
53                     <itemCurrency>643</itemCurrency>
54                     <itemCode>T-M-14</itemCode>
55                     <!-- Optional: -->
56                     <discount>
57                        <!-- Optional: -->
58                        <discountType>percent</discountType>
59                        <!-- Optional: -->
60                        <discountValue>5</discountValue>
61                     </discount>
62                     <!-- Optional: -->
63                     <agentInterest>
64                        <!-- Optional: -->
65                        <interestType>agentPercent</interestType>
66                        <!-- Optional: -->
67                        <interestValue>7</interestValue>
68                     </agentInterest>
69                     <tax>
70                        <taxType>1</taxType>
71                        <taxSum>111</taxSum>
72                     </tax>
73                     <itemPrice>8000</itemPrice>
74                  </items>
75 
76                 <items positionId="2">
77                     <name>Universal Mirror Enduro</name>
78                     <!-- Optional: -->
79                     <itemDetails>
80                        <!-- Zero or more repetitions: -->
81                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
82                        <itemDetailsParams name="diameter">12mm</itemDetailsParams>
83                     </itemDetails>
84                     <quantity measure="штук">1</quantity>
85                     <itemAmount>8000</itemAmount>
86                     <itemCurrency>643</itemCurrency>
87                     <itemCode>NM-15</itemCode>
88                     <!-- Optional: -->
89                     <discount>
90                        <!-- Optional: -->
91                        <discountType>percent</discountType>
92                        <!-- Optional: -->
93                        <discountValue>5</discountValue>
94                     </discount>
95                     <!-- Optional: -->
96                     <agentInterest>
97                        <!-- Optional: -->
98                        <interestType>agentPercent</interestType>
99                        <!-- Optional: -->
100                        <interestValue>7</interestValue>
101                     </agentInterest>
102                     <tax>
103                        <taxType>1</taxType>
104                        <taxSum>111</taxSum>
105                     </tax>
106                     <itemPrice>8000</itemPrice>
107                  </items>
108 
109                  <items positionId="3">
110                     <name>Warm Grips</name>
111                     <!-- Optional: -->
112                     <itemDetails>
113                        <!-- Zero or more repetitions: -->
114                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
115                     </itemDetails>
116                     <quantity measure="штук">1</quantity>
117                     <itemAmount>8000</itemAmount>
118                     <itemCurrency>643</itemCurrency>
119                     <itemCode>G-16</itemCode>
120                     <!-- Optional: -->
121                     <discount>
122                        <!-- Optional: -->
123                        <discountType>percent</discountType>
124                        <!-- Optional: -->
125                        <discountValue>5</discountValue>
126                     </discount>
127                     <!-- Optional: -->
128                     <agentInterest>
129                        <!-- Optional: -->
130                        <interestType>agentPercent</interestType>
131                        <!-- Optional: -->
132                        <interestValue>7</interestValue>
133                     </agentInterest>
134                     <tax>
135                        <taxType>1</taxType>
136                        <taxSum>111</taxSum>
137                     </tax>
138                     <itemPrice>8000</itemPrice>
139                  </items>
140               </cartItems>
141     
142            </orderBundle>
143                </soapenv:Body>
144    
145    </soapenv:Envelope>

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

<<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   soap:Body
      <ns1:registerOrderResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return orderId="531eaa8d-b32d-46dd-8e48-64b873886e70" errorCode="0" errorMessage="Success">
            <formUrl>https://alfa.rbsuat.com/payment/merchants/ecom2/payment_ru.html?mdOrder=531eaa8d-b32d-46dd-8e48-64b873886e70</formUrl>
         </return>
      /ns1:registerOrderResponse
   /soap:Body
/soap:Envelope

Запрос регистрации заказа с предавторизацией (WS)

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

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

НазваниеТипОбязательноОписание
merchantOrderNumberANS.32да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно.
descriptionANS.512нетОписание заказа в свободной форме. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку.
amountN.20да Сумма платежа в копейках (или центах)
currencyN3нетКод валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
pageViewANS.20нет

По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:

  • DESKTOP – для загрузки страниц, вёрстка которых предназначена для отображения на экранах ПК (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями payment_<locale>.html и errors_<locale>.html );

  • MOBILE – для загрузки страниц, вёрстка которых предназначена для отображения на экранах мобильных устройств (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями mobile_payment_<locale>.html и mobile_errors_<locale>.html );

  • Если магазин создал страницы платёжного интерфейса, добавив в название файлов страниц произвольные префиксы, передайте значение нужного префикса в параметре pageView для загрузки соответствующей страницы. Например, при передаче значения iphone в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями iphone_payment_<locale>.html и iphone_error_<locale>.html.

    где:

    • locale – язык страницы в кодировке ISO 639-1. Например, ru для русского или en для английского.

Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP.

sessionTimeoutSecsN…9нетПродолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
bindingIdAN.255noИдентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает:1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
expirationDateANSнетДата и время окончания жизни заказа. Формат: yyyy-MM-dd'T'HH: mm: ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs.
returnUrlAN.512да Адрес, на который надо перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrlAN.512нетАдрес, на который надо перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
paramsN/Aнет

Тэг с атрибутами для передачи дополнительных параметров мерчанта.

Поля дополнительной информации для последующего хранения. Для передачи N параметров, в запросе должно находиться N тэгов params, где атрибут name содержит название, а атрибут value содержит значение:

НазваниеТипОбязательноОписание
nameAN..20даНазвание дополнительного параметра
valueAN..1024даЗначение дополнительного параметра

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

Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом тэге в параметре с именем email.

clientIdANS.255нет

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

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

merchantLoginAN.255нетЧтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре.
featuresAN.255нетAUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей.
orderBundleN/AN/AКорзина товаров заказа. Описание представлено ниже.
taxSystemN.2да — для фискализации (для магазинов без настроек фискализации параметр необязателен)Система налогообложения, доступны следующие значения:0 — общая; 1 — упрощённая, доход; 2 — упрощённая, доход минус расход; 3 — единый налог на вменённый доход; 4 — единый сельскохозяйственный налог; 5 — патентная система налогообложения.
autocompletionDateANS..19нетДата и время автозавершения двухстадийного платежа в следующем формате: 2017-12-29T13:02:51.

Примечание По умолчанию в процессинг банка передаются поля:

  • merchantOrderNumber — номер заказа в системе магазина;

  • description — описание заказа (не более 99 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n). Если в заказе передать дополнительный параметр с именем merchantOrderId, то именно его значение будет передано в процессинг в качестве номера заказа (вместо значения поля orderNumber).

Параметр orderBundle:

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

НазваниеТипОбязательноОписание
orderCreationDateANS.21нетДата создания заказа в формате YYYY-MM-DDTHH: MM: SS
customerDetailsN/AнетБлок с атрибутами данных о покупателе. Описание его атрибутов представлено ниже. Ограничение на передачу каждого из включённых параметров составляет 64 символа.
cartItemsN/Aда Тэг с атрибутами товарных позиции Корзины. Описание представлено ниже.
agent-нетБлок для передачи данных об агенте (см. описание ниже).
supplierPhonesмассив ANS..19нетМассив телефонов поставщика в формате +N.

Параметр agent:

НазваниеТипОбязательноОписание
agentTypeN..2да (если передаётся блок)

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

«7» — иной агент.
payingOperationANS..24нетНаименование операции платёжного агента.
payingPhonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
paymentsOperatorPhonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
MTOperatorNameANS..64нетНаименование оператора перевода.
MTOperatorAddressANS..256нетАдрес оператора перевода.
MTOperatorInnN10..12нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
emailANS.40НетЭлектронная почта покупателя. Можно указать несколько адресов электронной почты через запятую и без пробелов — в этом случае чек будет отправлен на все указанные адреса. Обязательно следует передать один из двух параметров: email или phone.
phoneANS.12НетНомер телефона покупателя. Если в телефон включён код страны, номер должен начинаться со знака плюс («+»). Если телефон передаётся без знака плюс («+»), то код страны указывать не следует. Таким образом, допустимы следующие варианты: +79998887766; 9998887766. Обязательно следует передать один из двух параметров: email или phone.
contactANS.40НетСпособ связи с покупателем.
deliveryInfoN/AНетТэг с атрибутами адреса для доставки. Описание представлено ниже.
fullNameANS..100НетФамилия, имя и отчество плательщика.
passportANS..100НетСерия и номер паспорта плательщика в следующем формате: 2222888888.
innANS..12НетИдентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов.

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

НазваниеТипОбязательноОписание
deliveryTypeANS.20нетТип доставки
countryA.2да Страна доставки (в соответствии с ISO 3166-1)
cityANS.40да Город доставки
postAddressANS.255да Адрес доставки

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

НазваниеТипОбязательноОписание
itemsN/Aда Элемент массива с атрибутами товарной позиции в Корзине. Описание представлено ниже.

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

НазваниеТипОбязательноОписание
positionIdANS.12да Уникальный идентификатор товарной позиции внутри Корзины Заказа
nameANS.100да Наименование или описание товарной позиции в свободной форме
itemDetailsN/AнетДополнительный тэг с параметрами описания товарной позиции. Описание приведено ниже.
quantityN.18да Элемент описывающий общее количество товарных позиций одного positionId и их меру измерения. Для указания дробных чисел используется десятичная точка. Для данного параметра указывается атрибут: measure, ANS.20, обязательно (мера измерения количества товарной позиции).
itemAmountN.18нет (см. описание)Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice * quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPrice*quantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrencyN.3нетКод валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCodeANS.100да Номер (идентификатор) товарной позиции в системе магазина
discountN/AнетДополнительный тэг с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterestN/AнетДополнительный тэг с атрибутами описания агентской комиссии за продажу товара. Описание приведено ниже.
taxN/Aда — для фискализации (для магазинов без настроек фискализации параметр необязателен)Дополнительный тэг с атрибутами описания налога. Описание приведено ниже.
itemPriceN.18да — для фискализации (для магазинов без настроек фискализации параметр необязателен)Стоимость одной товарной позиции одного positionId в деньгах в минимальных единицах валюты. Обязательно для мерчантов с фискализацией
itemAttributesСм. описаниенетТэг, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

Параметры тэга itemAttributes: Атрибуты следует указывать следующим образом

<attributes  name="название_атрибута_1">значение_атрибута_1</attributes>
<attributes  name="название_атрибута_2">значение_атрибута_2</attributes>
НазваниеТипОбязательноОписание
paymentMethodN..2да

Признак способа расчёта, доступны следующие значения:

  • «1» — полная предварительная оплата до момента передачи предмета расчёта;

  • «2» — частичная предварительная оплата до момента передачи предмета расчёта;

  • «3» — аванс;

  • «4» — полная оплата в момент передачи предмета расчёта;

  • «5» — частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;

  • «6» — передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;

  • «7» — оплата предмета расчёта после его передачи с оплатой в кредит.

paymentObjectN..2да

Признак предмета расчёта, доступны следующие значения:

  • «1» — товар;

  • «2» — подакцизный товар;

  • «3» — работа;

  • «4» — услуга;

  • «5» — ставка азартной игры;

  • «6» — выигрыш азартной игры;

  • «7» — лотерейный билет;

  • «8» — выигрыш лотереи;

  • «9» — предоставление РИД;

  • «10» — платёж;

  • «11» — агентское вознаграждение;

  • «12» — составной предмет расчёта;

  • «13» — иной предмет расчёта.

nomenclatureANSнет

Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 32 байта в HEX кодировке.

Пример представления:

1. 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00

2. 000000010021FA4100230541000000000000000000000000000000001200AB00

Таким образом, представление возможно как с пробелами, так и без.

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

supplier_info.phonesMaccив ANS..19нетМассив телефонов поставщика в формате +N.
supplier_info.nameANS..256нетНаименование поставщика.
supplier_info.innN10..12нетИНН поставщика.
agent_info.typeN..2Обязателен, только если передан объект agent_info.

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

agent_info.paying.operationN10..12нетИНН поставщика.
agent_info.paying.phonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
agent_info.paymentsOperator.phonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
agent_info.MTOperator.phonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
agent_info.MTOperator.nameANS..64нетНаименование оператора перевода.
agent_info.MTOperator.addressANS..256нетАдрес оператора перевода.
agent_info.MTOperator.innANS..256нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
itemDetailsParamsANS.255нетПараметр описывающий дополнительную информацию по товарной позиции. Описание приведено ниже.

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

НазваниеТипОбязательноОписание
nameAN.255да Наименование параметра описания детализации товарной позиции

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

НазваниеТипОбязательноОписание
discountTypeANS.20да Тип скидки на товарную позицию
discountValueN.20да Значение скидки на товарную позицию

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

НазваниеТипОбязательноОписание
interestTypeANS.20да Тип агентской комиссии за продажу товара
interestValueN.20да Значение агентской комиссии за продажу товара

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

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

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

  • «0» — без НДС;

  • «1» — НДС по ставке 0%;

  • «2» — НДС чека по ставке 10%;

  • «3» — НДС чека по ставке 18%;

  • «4» — НДС чека по расчётной ставке 10/110;

  • «5» — НДС чека по расчётной ставке 18/118;

  • «6» — НДС чека по ставке 20%;

  • «7» — НДС чека по расчётной ставке 20/120;

Обязательно для продавцов с фискализацией

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

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

НазваниеТипОбязательноОписание
orderIdANS36нетНомер заказа в платёжной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа на удалась по причине ошибки, детализированной в errorCode.
formUrlAN.512нетURL платёжной формы, на который надо перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.
errorCodeN3да Код ошибки.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе.

Коды ошибок (поле errorCode):

ЗначениеОписание
0Обработка запроса прошла без системных ошибок
1Неверный номер заказа
1Заказ с таким номером уже обработан
3Неизвестная валюта
4Отсутствует сумма
4Номер заказа не может быть пуст
4URL возврата не может быть пуст
5Неверно указано значение одного из параметров
5Доступ запрещён
5Пользователь должен сменить свой пароль
7Системная ошибка
8Отсутствует обязательный параметр Корзины с указанием наименования отсутствующего элемента
8Валюта в Корзине не совпадает с валютой заказа
8Сумма товарных позиций в Корзине не совпадает с общей суммой заказа
8Слишком большое либо слишком маленькое значение quantity

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

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
2   <soapenv:Header/>
3   <soapenv:Body>
4      <mer:registerOrderPreAuth>
5         <order merchantOrderNumber="23a89ioouygnuygjhv" description="short" amount="24000" currency="643" language="ru" pageView=" " sessionTimeoutSecs="5400" bindingId=" ">
6            <returnUrl>https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html</returnUrl>
7            <!--Zero or more repetitions:-->
8            <params name=" " value=" "/>
9            <!--Optional:-->
10            <clientId>666</clientId>
11            <!--Optional:-->
12            <merchantLogin> </merchantLogin>
13            <taxSystem>0</taxSystem>
14             
15             <orderBundle>
16               <!-- Optional: -->
17               <orderCreationDate>2013-07-12T13:51:00</orderCreationDate>
18               <!-- Информация о покупателе -->
19               <!-- Optional: -->
20               <customerDetails>
21                  <!-- Optional: -->
22                  <email>johnsmith@mail.ru</email>
23                  <!-- Optional: -->
24                  <phone>79851231234</phone>
25                  <!-- Optional: -->
26                  <contact>Mega Tester</contact>
27                  <!-- Optional: -->
28                  <deliveryInfo>
29                     <!-- Optional: -->
30                     <deliveryType>courier</deliveryType>
31                     <country>RU</country>
32                     <city>Moscow</city>
33                     <postAddress>Земляной Вал 50А стр.2</postAddress>
34                  </deliveryInfo>
35               </customerDetails>
36 
37               <!-- Состав Корзины -->
38               <cartItems>
39                  <!-- Zero or more repetitions: -->
40                  <items positionId="1">
41                     <name>Metzeler Enduro 3 Sahara</name>
42                     <!-- Optional: -->
43                     <itemDetails>
44                        <!-- Zero or more repetitions: -->
45                        <itemDetailsParams name="brand">Metzeler</itemDetailsParams>
46                        <itemDetailsParams name="radius">17inch</itemDetailsParams>
47                     </itemDetails>
48                     <quantity measure="штук">1</quantity>
49                     <itemAmount>8000</itemAmount>
50                     <itemCurrency>643</itemCurrency>
51                     <itemCode>T-M-14</itemCode>
52                     <!-- Optional: -->
53                     <discount>
54                        <!-- Optional: -->
55                        <discountType>percent</discountType>
56                        <!-- Optional: -->
57                        <discountValue>5</discountValue>
58                     </discount>
59                     <!-- Optional: -->
60                     <agentInterest>
61                        <!-- Optional: -->
62                        <interestType>agentPercent</interestType>
63                        <!-- Optional: -->
64                        <interestValue>7</interestValue>
65                     </agentInterest>
66                     <tax>
67                        <taxType>1</taxType>
68                        <taxSum>111</taxSum>
69                     </tax>
70                     <itemPrice>8000</itemPrice>
71                  </items>
72 
73                  <items positionId="2">
74                     <name>Universal Mirror Enduro</name>
75                     <!-- Optional: -->
76                     <itemDetails>
77                        <!-- Zero or more repetitions: -->
78                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
79                        <itemDetailsParams name="diameter">12mm</itemDetailsParams>
80                     </itemDetails>
81                     <quantity measure="штук">1</quantity>
82                     <itemAmount>8000</itemAmount>
83                     <itemCurrency>643</itemCurrency>
84                     <itemCode>NM-15</itemCode>
85                     <!-- Optional: -->
86                     <discount>
87                        <!-- Optional: -->
88                        <discountType>percent</discountType>
89                        <!-- Optional: -->
90                        <discountValue>5</discountValue>
91                     </discount>
92                     <!-- Optional: -->
93                     <agentInterest>
94                        <!-- Optional: -->
95                        <interestType>agentPercent</interestType>
96                        <!-- Optional: -->
97                        <interestValue>7</interestValue>
98                     </agentInterest>
99                     <tax>
100                        <taxType>1</taxType>
101                        <taxSum>111</taxSum>
102                     </tax>
103                     <itemPrice>8000</itemPrice>
104                  </items>
105 
106                  <items positionId="3">
107                     <name>Warm Grips</name>
108                     <!-- Optional: -->
109                     <itemDetails>
110                        <!-- Zero or more repetitions: -->
111                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
112                     </itemDetails>
113                     <quantity measure="штук">1</quantity>
114                     <itemAmount>8000</itemAmount>
115                     <itemCurrency>643</itemCurrency>
116                     <itemCode>G-16</itemCode>
117                     <!-- Optional: -->
118                     <discount>
119                        <!-- Optional: -->
120                        <discountType>percent</discountType>
121                        <!-- Optional: -->
122                        <discountValue>5</discountValue>
123                     </discount>
124                     <!-- Optional: -->
125                     <agentInterest>
126                        <!-- Optional: -->
127                        <interestType>agentPercent</interestType>
128                        <!-- Optional: -->
129                        <interestValue>7</interestValue>
130                     </agentInterest>
131                     <tax>
132                        <taxType>1</taxType>
133                        <taxSum>111</taxSum>
134                     </tax>
135                     <itemPrice>8000</itemPrice>
136                  </items>
137               </cartItems>
138 
139            </orderBundle>
140 
141         </order>
142      </mer:registerOrderPreAuth>
143   </soapenv:Body>
144</soapenv:Envelope>

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

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns1:registerOrderPreAuthResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return orderId="8c76c56b-426c-435d-a24c-1c0927dd6fca" errorCode="0" errorMessage="Успешно">
            <formUrl>https://alfa.rbsuat.com/payment/merchants/ecom2/payment_ru.html?mdOrder=8c76c56b-426c-435d-a24c-1c0927dd6fca</formUrl>
         </return>
      </ns1:registerOrderPreAuthResponse>
   </soap:Body>
</soap:Envelope>

Завершение на полную сумму предавторизации (WS)

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

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

НазваниеТипОбязательноОписание
orderIdAN.64да Номер заказа в платёжной системе. Уникален в пределах системы.
depositAmountN.5да Для завершения на полную сумму предавторизации в запросе необходимо передать полную сумму заказа в деньгах или 0. Если не указать параметр depositAmount, завершение также произойдёт на всю предавторизованную сумму.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, считается, что язык — русский. Сообщение ошибке будет возвращено именно на этом языке.
agent-нетБлок для передачи данных об агенте (см. описание ниже).
supplierPhonesмассив ANS..19нетМассив телефонов поставщика в формате +N.

Параметры блока agent

НазваниеТипОбязательноОписание
agentTypeN..2да (если передаётся блок) 

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

payingOperationANS..24нетНаименование операции платёжного агента.
payingPhonesмассив ANS..19 нетМассив телефонов платёжного агента в формате +N.
paymentsOperatorPhonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
MTOperatorNameANS..64нетНаименование оператора перевода.
MTOperatorAddressANS..256нетАдрес оператора перевода.
MTOperatorInnN10..12нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
errorCodeN3да Код ошибки.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре Language в запросе.

Коды ошибок (поле errorCode):

ЗначениеОписание
0Обработка запроса прошла без системных ошибок
5Сумма депозита превышает захолдированную сумму
5Сумма депозита должна быть больше нуля или не менее одного рубля
5Доступ запрещён
5Пользователь должен сменить свой пароль
6Неверный номер заказа
6orderId не задан
7Платёж должен быть в корректном состоянии
7Системная ошибка
8Указанная сумма завершения не совпадает с полной суммой заказа. Необходима Корзина для завершения на неполную сумму предавторизации

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

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
2   <soapenv:Header/>
3   <soapenv:Body>
4      <mer:depositOrder>
5         <order language="ru" orderId="8c76c56b-426c-435d-a24c-1c0927dd6fca" depositAmount=" ">
6            <!--Optional:-->
7            <!--Zero or more repetitions:-->
8            <params name=" " value=" "/>
9         </order>
10      </mer:depositOrder>
11   </soapenv:Body>
12</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>

Завершение на частичную сумму предавторизации (WS)

Для запроса списания частичной суммы предавторизации можно использовать запрос depositOrder с обязательным указанием Корзины.
Для доступа к выполнению данной операции пользователь должен обладать соответствующими правами в системе.
Раздел "Требования к формированию запросов завершения заказа с Корзиной" содержит список условий, необходимых для корректного формирования запроса.

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

НазваниеТипОбязательноОписание
orderIdAN.64да Номер заказа в платёжной системе. Уникален в пределах системы.
depositAmountN.5да Сумма списания в валюте заказа (в минимальных единицах). Должна совпадать с общей суммой списания по всем товарным позициям в Корзине завершения.
languageA2нетЯзыкв кодировке ISO 639-1. Если не указан, считается, что язык — русский. Сообщение ошибке будет возвращено именно на этом языке.
depositItemsN/Aда Блок с атрибутами товарных позиции Корзины. Описание приведено ниже.
agent-нетБлок для передачи данных об агенте (см. описание ниже).
supplierPhonesмассив ANS..19нетМассив телефонов поставщика в формате +N.

Параметры блока agent

НазваниеТипОбязательноОписание
agentTypeN..2да (если передаётся блок) 

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

payingOperationANS..24нетНаименование операции платёжного агента.
payingPhonesмассив ANS..19 нетМассив телефонов платёжного агента в формате +N.
paymentsOperatorPhonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
MTOperatorNameANS..64нетНаименование оператора перевода.
MTOperatorAddressANS..256нетАдрес оператора перевода.
MTOperatorInnN10..12нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
items-да Элемент массива с атрибутами товарной позиции в Корзине. Описание приведено ниже****.

Атрибуты элемента items:

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

НазваниеТипОбязательноОписание
positionIdANS.12да Уникальный идентификатор товарной позиции внутри Корзины Заказа
nameANS.100да Наименование или описание товарной позиции в свободной форме
itemDetailsN/AнетДополнительный тэг с параметрами описания товарной позиции. Описание приведено ниже.
quantityN.18да Элемент описывающий общее количество товарных позиций одного positionId и их меру измерения. Для указания дробных чисел используйте десятичную точку. Для данного параметра указывается атрибут: measure, .20, обярательно (измерения количества товарной позиции).
itemAmountN.18нет (см. описание)Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice * quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPrice*quantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrencyN.3нетКод валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCodeANS.100да Номер (идентификатор) товарной позиции в системе магазина
discountN/AнетДополнительный тэг с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterestN/AнетДополнительный тэг с атрибутами описания агентской комиссии за продажу товара
taxN/Aда — для фискализации (для магазинов без настроек фискализации параметр не обязателен)Дополнительный тэг с атрибутами описания налога.
itemPriceN.18да — для фискализации (для магазинов без настроек фискализации параметр не обязателен)Стоимость одной товарной позиции одного positionId в минимальных единицах валюты. Обязательно для мерчантов с фискализацией
itemAttributesСм. описаниенетТэг, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

Параметры тэга itemAttributes: Атрибуты следует указывать следующим образом

<attributes  name="название_атрибута_1">значение_атрибута_1</attributes>
<attributes  name="название_атрибута_2">значение_атрибута_2</attributes>
НазваниеТипОбязательноОписание
paymentMethodN..2да

Признак способа расчёта, доступны следующие значения:

  • «1» — полная предварительная оплата до момента передачи предмета расчёта;

  • «2» — частичная предварительная оплата до момента передачи предмета расчёта;

  • «3» — аванс;

  • «4» — полная оплата в момент передачи предмета расчёта;

  • «5» — частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;

  • «6» — передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;

  • «7» — оплата предмета расчёта после его передачи с оплатой в кредит.

paymentObjectN..2да

Признак предмета расчёта, доступны следующие значения:

  • «1» — товар;

  • «2» — подакцизный товар;

  • «3» — работа;

  • «4» — услуга;

  • «5» — ставка азартной игры;

  • «6» — выигрыш азартной игры;

  • «7» — лотерейный билет;

  • «8» — выигрыш лотереи;

  • «9» — предоставление РИД;

  • «10» — платёж;

  • «11» — агентское вознаграждение;

  • «12» — составной предмет расчёта;

  • «13» — иной предмет расчёта.

nomenclatureANSнет

Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 32 байта в HEX кодировке.

Пример представления:

1. 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00

2. 000000010021FA4100230541000000000000000000000000000000001200AB00

Таким образом, представление возможно как с пробелами, так и без.

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

supplier_info.phonesMaccив ANS..19нетМассив телефонов поставщика в формате +N.
supplier_info.nameANS..256нетНаименование поставщика.
supplier_info.innN10..12нетИНН поставщика.
agent_info.typeN..2Обязателен, только если передан объект agent_info.

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

agent_info.paying.operationANS..24нетНаименование операции платёжного агента.
agent_info.paying.phonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
agent_info.paymentsOperator.phonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
agent_info.MTOperator.phonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
agent_info.MTOperator.nameANS..64нетНаименование оператора перевода.
agent_info.MTOperator.addressANS..256нетАдрес оператора перевода.
agent_info.MTOperator.innANS..256нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
itemDetailsParamsANS.255нетПараметр описывающий дополнительную информацию по товарной позиции

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

НазваниеТипОбязательноОписание
nameAN.255да Наименование параметра описания детализации товарной позиции

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

НазваниеТипОбязательноОписание
discountTypeANS.20да Тип скидки на товарную позицию
discountValueN.20да Значение скидки на товарную позицию

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

НазваниеТипОбязательноОписание
interestTypeANS.20да Тип агентской комиссии за продажу товара
interestValueN.20да Значение агентской комиссии за продажу товара

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

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

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

  • «0» — без НДС;

  • «1» — НДС по ставке 0%;

  • «2» — НДС чека по ставке 10%;

  • «3» — НДС чека по ставке 18%;

  • «4» — НДС чека по расчётной ставке 10/110;

  • «5» — НДС чека по расчётной ставке 18/118;

  • «6» — НДС чека по ставке 20%;

  • «7» — НДС чека по расчётной ставке 20/120;

Обязательно для продавцов с фискализацией

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

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

НазваниеТипОбязательноОписание
errorCodeN3да Код ошибки. Возможные значения и их описание представлены в таблице ниже.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре Language в запросе. Отсутствует при errorCode=0.

Коды ошибок (поле errorCode):

ЗначениеОписание
0Обработка запроса прошла без системных ошибок
5Сумма депозита должна быть больше нуля или не менее одного рубля
5Доступ запрещён
5Пользователь должен сменить свой пароль
6Неверный номер заказа
6orderId не задан
7Платёж должен быть в корректном состоянии
7Системная ошибка
8Отсутствует обязательный параметр Корзины
8Сумма депозита больше чем сумма при регистрации
8Валюта в Корзине не совпадает с валютой заказа
8Сумма товарных позиций в Корзине не совпадает с общей суммой заказа
8Оригинальный заказ не содержит товарной позиции с данным номером
8Слишком большое либо слишком маленькое значение quantity

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

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
2   <soapenv:Header/>
3   <soapenv:Body>
4      <mer:depositOrder>
5         <order language="ru" orderId="76d7885f-562a-4bac-abc3-18ecaaaca797" depositAmount="20777">
6            <!--Optional:-->
7            <depositItems>
8               <!--Zero or more repetitions:-->
9                <items positionId="1">
10                     <name>Metzeler Enduro 3 Sahara</name>
11                     <!-- Optional: -->
12                     <itemDetails>
13                        <!-- Zero or more repetitions: -->
14                        <itemDetailsParams name="brand">Metzeler</itemDetailsParams>
15                        <itemDetailsParams name="radius">17inch</itemDetailsParams>
16                     </itemDetails>
17                     <quantity measure="штук">1</quantity>
18                     <itemAmount>7777</itemAmount>
19                     <itemCurrency>643</itemCurrency>
20                     <itemCode>T-M-14</itemCode>
21                     <!-- Optional: -->
22                     <discount>
23                        <!-- Optional: -->
24                        <discountType>percent</discountType>
25                        <!-- Optional: -->
26                        <discountValue>5</discountValue>
27                     </discount>
28                     <!-- Optional: -->
29                     <agentInterest>
30                        <!-- Optional: -->
31                        <interestType>agentPercent</interestType>
32                        <!-- Optional: -->
33                        <interestValue>7</interestValue>
34                     </agentInterest>
35                     <tax>
36                        <taxType>1</taxType>
37                        <taxSum>111</taxSum>
38                     </tax>
39                     <itemPrice>7777</itemPrice>
40                  </items>
41                  <items positionId="2">
42                     <name>Universal Mirror Enduro</name>
43                     <!-- Optional: -->
44                     <itemDetails>
45                        <!-- Zero or more repetitions: -->
46                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
47                        <itemDetailsParams name="diameter">12 mm</itemDetailsParams>
48                     </itemDetails>
49                     <quantity measure="штук">1</quantity>
50                     <itemAmount>5000</itemAmount>
51                     <itemCurrency>643</itemCurrency>
52                     <itemCode>NM-15</itemCode>
53                     <!-- Optional: -->
54                     <discount>
55                        <!-- Optional: -->
56                        <discountType>percent</discountType>
57                        <!-- Optional: -->
58                        <discountValue>5</discountValue>
59                     </discount>
60                     <!-- Optional: -->
61                     <agentInterest>
62                        <!-- Optional: -->
63                        <interestType>agentPercent</interestType>
64                        <!-- Optional: -->
65                        <interestValue>7</interestValue>
66                     </agentInterest>
67                     <tax>
68                        <taxType>1</taxType>
69                        <taxSum>111</taxSum>
70                     </tax>
71                     <itemPrice>5000</itemPrice>
72                  </items>
73                  <items positionId="3">
74                     <name>Warm Grips</name>
75                     <!-- Optional: -->
76                     <itemDetails>
77                        <!-- Zero or more repetitions: -->
78                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
79                     </itemDetails>
80                     <quantity measure="штук">1</quantity>
81                     <itemAmount>8000</itemAmount>
82                     <itemCurrency>643</itemCurrency>
83                     <itemCode>G-16</itemCode>
84                     <!-- Optional: -->
85                     <discount>
86                        <!-- Optional: -->
87                        <discountType>percent</discountType>
88                        <!-- Optional: -->
89                        <discountValue>5</discountValue>
90                     </discount>
91                     <!-- Optional: -->
92                     <agentInterest>
93                        <!-- Optional: -->
94                        <interestType>agentPercent</interestType>
95                        <!-- Optional: -->
96                        <interestValue>7</interestValue>
97                     </agentInterest>
98                     <tax>
99                        <taxType>1</taxType>
100                        <taxSum>111</taxSum>
101                     </tax>
102                     <itemPrice>8000</itemPrice>
103                  </items>
104            </depositItems>
105            <!--Zero or more repetitions:-->
106            <params name=" " value=" "/>
107         </order>
108      </mer:depositOrder>
109   </soapenv:Body>
110</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>

Запрос отмены оплаты заказа (WS)

Для запроса отмены заказа используется запрос reverseOrder. Функция отмены доступна в течение ограниченного времени после оплаты, точные сроки необходимо уточнять в Банке. Операция отмены оплаты может быть совершена только один раз. Если она закончится ошибкой, то повторная операция отмены платежа не пройдет.
Данная функция доступна магазинам по согласованию с Банком. Для выполнения операции отмены пользователь должен обладать соответствующими правами.

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

НазваниеТипОбязательностьОписание
orderIdANS36да Номер заказа в платёжной системе. Уникален в пределах системы.
languageA2нетЯзык в кодировке ISO 639-1. Описание ошибки возвращается на этом языке. Если параметр отсутствует, используется язык по умолчанию, указанный в настройках мерчанта.

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

НазваниеТипОбязательностьОписание
errorCodeN3НетКод ошибки.
errorMessageAN.512НетОписание ошибки на языке.

Коды ошибок (поле ErrorCode):
Классификация:

ЗначениеОписание
0Обработка запроса прошла без системных ошибок
5Ошибка значение параметра запроса
6Незарегистрированный OrderId
7Системная ошибка

Расшифровка:

ЗначениеОписание
0Обработка запроса прошла без системных ошибок
5Доступ запрещён
5Пользователь должен сменить свой пароль
5orderId не задан
6Неверный номер заказа
7Операция невозможна для текущего состояния платежа
7Реверсал невозможен. Причина: неверные внутренние значения, проверьте суммы холда, депозита
7Ошибка системы

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

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
2    <soapenv:Header/>
3    <soapenv:Body>
4       <mer:reverseOrder>
5          <order language="ru" orderId="f88a2bbf-2021-4ccc-8783-8a13068a89f9">
6             <! — Zero or more repetitions: →
7             <params name=" " value=" "/>
8          </order>
9       </mer:reverseOrder>
10    </soapenv:Body>
11 </soapenv:Envelope>

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

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns1:reverseOrderResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
          <return errorCode="7" errorMessage="Недопустимая операция для текущего состояния заказа"/>
       </ns1:reverseOrderResponse>
    </soap:Body>
 </soap:Envelope>

Запрос полного возврата средств оплаты заказа (WS)

Для запроса полного возврата средств оплаты используется запрос refundOrder. По этому запросу средства по указанному заказу будут возвращены плательщику. Запрос закончится ошибкой в случае, если средства по этому заказу не были списаны.
Данная операция доступна пользователям, обладающим соответствующими правами в системе. Параметры запроса:

НазваниеТипОбязательноОписание
orderIdAN.64да Номер заказа в платежной системе. Уникален в пределах системы.
refundAmountN.5да Сумма возврата в валюте заказа в минимальных единицах валюты. Должна быть равна сумме заказа.
languageA2нетКод языка в соответствии с ISO 639-1. Если не указан, считается, что язык — русский. Сообщение ошибке будет возвращено именно на этом языке.
paramsN/AнетДополнительный тэг с атрибутами для передачи дополнительных параметров мерчанта.

Поля дополнительной информации для последующего хранения. Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данного функционала возможно по согласованию с банком в период интеграции. Для передачи N параметров, в запросе должно находиться N тэгов params, где атрибут name содержит название, а атрибут value содержит значение:

НазваниеТипОбязательноОписание
nameAN.20да Название дополнительного параметра
valueAN.1024да Значение дополнительного параметра

Примечание По умолчанию в процессинг банка передаются поля номер заказа orderNumber и его описание description (не более 99 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n)*
Параметры ответа:

НазваниеТипОбязательноОписание
errorCodeN3да Код ошибки. Возможные значения и их описание представлены в таблице ниже.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе.

Коды ошибок (поле errorCode):

ЗначениеОписание
0Обработка запроса прошла без системных ошибок
5Доступ запрещён
5Пользователь должен изменить свой пароль
5Не указан номер заказа
5Неверная сумма
6Неверный номер заказа
7Платёж должен быть в корректном состоянии
7Сумма возврата превышает сумму списания
7Системная ошибка
8Указанная сумма возврата не совпадает с полной суммой заказа. Для частичного возврата необходима Корзина

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

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
2   <soapenv:Header/>
3   <soapenv:Body>
4      <mer:refundOrder>
5         <order language="ru" orderId="3b32da16-1171-42c0-9d4e-bb6e243ff11d" refundAmount="24000">
6            <!--Optional:-->
7            <!--Zero or more repetitions:-->
8            <params name=" " value=" "/>
9         </order>
10      </mer:refundOrder>
11   </soapenv:Body>
12</soapenv:Envelope>

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

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns1:refundOrderResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return errorCode="0"/>
      </ns1:refundOrderResponse>
   </soap:Body>
</soap:Envelope>

Запрос частичного возврата средств оплаты заказа (WS)

Для частичного возврата средств используется запрос refundOrder с обязательным указанием Корзины возвращаемых товаров. По этому запросу средства по заказу будут возвращены плательщику.
Запрос закончится ошибкой, если средства по этому заказу не были списаны. Система позволяет вернуть средства более 1 раза, но не более первоначальной суммы списания. Примечание Для безошибочной обработки запроса достаточно передать параметры quantity и positionId.
Раздел Требования к формированию запросов возврата заказа с Корзиной содержит список условий, необходимых для корректного формирования запроса.

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

НазваниеТипОбязательноОписание
orderIdAN.64да Номер заказа в платёжной системе. Уникален в пределах системы.
refundAmountN.5да Сумма возврата в валюте заказа (в минимальных единицах). Должна совпадать с общей суммой всех возвращаемых товарных позиций.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, считается, что язык — русский. Сообщение ошибке будет возвращено именно на этом языке.
paramsN/AнетДополнительный тэг с атрибутами для передачи дополнительных параметров мерчанта (см. примечание ниже).
refundItemsN/A —Тэг для передачи информации о возвращаемых товарах — номер позиции товара в запросе, название, детали, единица измерения, количество, валюта, код товара, скидка, выгода агента. Описание приведено ниже.

Примечание Поля дополнительной информации для последующего хранения. Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данного функционала возможно по согласованию с банком в период интеграции. Для передачи N параметров, в запросе должно находиться N тэгов params, где атрибут name содержит название, а атрибут value содержит значение:

НазваниеТипОбязательноОписание
nameAN.20да Название дополнительного параметра
valueAN.1024да Значение дополнительного параметра

** По умолчанию в процессинг банка передаются поля номер заказа orderNumber и его описание description (не более 99 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n) Параметры refundItems:
Обязательность параметров указана для использования в рамках тэга. Если тэг необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.

НазваниеТипОбязательноОписание
itemsN/Aда Элемент массива с атрибутами товарной позиции в Корзине. Описание приведено ниже.

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

НазваниеТипОбязательноОписание
positionIdANS.12да Уникальный идентификатор товарной позиции внутри Корзины Заказа
nameANS.100да Наименование или описание товарной позиции в свободной форме
itemDetailsN/AнетДополнительный тэг с параметрами описания товарной позиции. Описание приведено ниже.
quantityN.18да Элемент описывающий общее количество товарных позиций одного positionId и их меру измерения. Для указания дробных чисел используется десятичная точка. Для данного параметра указывается атрибут: measure, ANS.20, обязательно (мера измерения количества товарной позиции).
itemAmountN.18нет (см. описание)Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice * quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPrice*quantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrencyN.3нетКод валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCodeANS.100да Номер (идентификатор) товарной позиции в системе магазина
discountN/AнетДополнительный тэг с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterestN/AнетДополнительный тэг с атрибутами описания агентской комиссии за продажу товара. Описание приведено ниже.
taxN/AнетДополнительный тэг с атрибутами описания налога. Если для магазина указаны настройки фискализации, данный блок может передаваться, но не является обязательным (значения параметров данного блока проверяться не будут). Описание приведено ниже.
itemPriceN.18нетСтоимость одной товарной позиции одного positionId в минимальных единицах валюты. Если для магазина указаны настройки фискализации, данное поле может передаваться, но не является обязательным (значение данного поля проверяться не будет).
itemAttributesСм. описаниенетТэг, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

Параметры тэга itemAttributes: Атрибуты следует указывать следующим образом

<attributes  name="название_атрибута_1">значение_атрибута_1</attributes>
<attributes  name="название_атрибута_2">значение_атрибута_2</attributes>
НазваниеТипОбязательноОписание
paymentMethodN..2да

Признак способа расчёта, доступны следующие значения:

  • «1» — полная предварительная оплата до момента передачи предмета расчёта;

  • «2» — частичная предварительная оплата до момента передачи предмета расчёта;

  • «3» — аванс;

  • «4» — полная оплата в момент передачи предмета расчёта;

  • «5» — частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;

  • «6» — передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;

  • «7» — оплата предмета расчёта после его передачи с оплатой в кредит.

paymentObjectN..2да

Признак предмета расчёта, доступны следующие значения:

  • «1» — товар;

  • «2» — подакцизный товар;

  • «3» — работа;

  • «4» — услуга;

  • «5» — ставка азартной игры;

  • «6» — выигрыш азартной игры;

  • «7» — лотерейный билет;

  • «8» — выигрыш лотереи;

  • «9» — предоставление РИД;

  • «10» — платёж;

  • «11» — агентское вознаграждение;

  • «12» — составной предмет расчёта;

  • «13» — иной предмет расчёта.

nomenclatureANSнет

Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 32 байта в HEX кодировке.

Пример представления:

1. 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00

2. 000000010021FA4100230541000000000000000000000000000000001200AB00

Таким образом, представление возможно как с пробелами, так и без.

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

supplier_info.phonesMaccив ANS..19нетМассив телефонов поставщика в формате +N.
supplier_info.nameANS..256нетНаименование поставщика.
supplier_info.innN10..12нетИНН поставщика.
agent_info.typeN..2Обязателен, только если передан объект agent_info.

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

agent_info.paying.operationANS..24нетНаименование операции платёжного агента.
agent_info.paying.phonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
agent_info.paymentsOperator.phonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
agent_info.MTOperator.phonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
agent_info.MTOperator.nameANS..64нетНаименование оператора перевода.
agent_info.MTOperator.addressANS..256нетАдрес оператора перевода.
agent_info.MTOperator.innANS..256нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
itemDetailsParamsANS.255нетПараметр описывающий дополнительную информацию по товарной позиции. Описание приведено ниже.

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

НазваниеТипОбязательноОписание
nameAN.255да Наименование параметра описания детализации товарной позиции

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

НазваниеТипОбязательноОписание
discountTypeANS.20да Тип скидки на товарную позицию
discountValueN.20да Значение скидки на товарную позицию

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

НазваниеТипОбязательноОписание
interestTypeANS.20да Тип агентской комиссии за продажу товара
interestValueN.20да Значение агентской комиссии за продажу товара

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

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

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

  • «0» — без НДС;

  • «1» — НДС по ставке 0%;

  • «2» — НДС чека по ставке 10%;

  • «3» — НДС чека по ставке 18%;

  • «4» — НДС чека по расчётной ставке 10/110;

  • «5» — НДС чека по расчётной ставке 18/118;

  • «6» — НДС чека по ставке 20%;

  • «7» — НДС чека по расчётной ставке 20/120;

Обязательно для продавцов с фискализацией

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

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

НазваниеТипОбязательноОписание
errorCodeN3да Код ошибки. Возможные значение представлены в таблице ниже.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе. Может отсутствовать при errorCode=0.

Коды ошибок (поле errorCode):

ЗначениеОписание
0Успешно
5Доступ запрещён
5Пользователь должен изменить свой пароль
5orderId не задан
5Неверная сумма
6Неверный номер заказа
7Платёж должен быть в корректном состоянии
7Сумма возврата превышает сумму списания
7Системная ошибка
8Отсутствует обязательный параметр Корзины товаров
8Валюта в Корзине не совпадает с валютой заказа
8Неверная товарная позиция для возврата
8Превышено количество возвращаемой товарной позиции в Корзине
8Превышена стоимость возвращаемой товарной позиции

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

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
2   <soapenv:Header/>
3   <soapenv:Body>
4      <mer:refundOrder>
5         <order language="ru" orderId="531eaa8d-b32d-46dd-8e48-64b873886e70" refundAmount="10000">
6            <!--Optional:-->
7            <refundItems>
8               <!--Zero or more repetitions:-->
9                  <items positionId="1">
10                     <name>Metzeler Enduro 3 Sahara</name>
11                     <!-- Optional: -->
12                     <itemDetails>
13                        <!-- Zero or more repetitions: -->
14                        <itemDetailsParams name="brand">Metzeler</itemDetailsParams>
15                        <itemDetailsParams name="radius">17inch</itemDetailsParams>
16                     </itemDetails>
17                     <quantity measure="штук">1</quantity>
18                     <itemAmount>7000</itemAmount>
19                     <itemCurrency>643</itemCurrency>
20                     <itemCode>T-M-14</itemCode>
21                     <!-- Optional: -->
22                     <discount>
23                        <!-- Optional: -->
24                        <discountType>percent</discountType>
25                        <!-- Optional: -->
26                        <discountValue>5</discountValue>
27                     </discount>
28                     <!-- Optional: -->
29                     <agentInterest>
30                        <!-- Optional: -->
31                        <interestType>agentPercent</interestType>
32                        <!-- Optional: -->
33                        <interestValue>7</interestValue>
34                     </agentInterest>
35                     <tax>
36                        <taxType>1</taxType>
37                        <taxSum>111</taxSum>
38                     </tax>
39                     <itemPrice>7000</itemPrice>
40                  </items>
41                  <items positionId="2">
42                     <name>Universal Mirror Enduro</name>
43                     <!-- Optional: -->
44                     <itemDetails>
45                        <!-- Zero or more repetitions: -->
46                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
47                        <itemDetailsParams name="diameter">12 mm</itemDetailsParams>
48                     </itemDetails>
49                     <quantity measure="штук">1</quantity>
50                     <itemAmount>3000</itemAmount>
51                     <itemCurrency>643</itemCurrency>
52                     <itemCode>NM-15</itemCode>
53                     <!-- Optional: -->
54                     <discount>
55                        <!-- Optional: -->
56                        <discountType>percent</discountType>
57                        <!-- Optional: -->
58                        <discountValue>5</discountValue>
59                     </discount>
60                     <!-- Optional: -->
61                     <agentInterest>
62                        <!-- Optional: -->
63                        <interestType>agentPercent</interestType>
64                        <!-- Optional: -->
65                        <interestValue>7</interestValue>
66                     </agentInterest>
67                     <tax>
68                        <taxType>1</taxType>
69                        <taxSum>111</taxSum>
70                     </tax>
71                     <itemPrice>3000</itemPrice>
72                  </items>
73            </refundItems>
74            <!--Zero or more repetitions:-->
75            <params name=" " value=" "/>
76         </order>
77      </mer:refundOrder>
78   </soapenv:Body>
79</soapenv:Envelope>

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

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns1:refundOrderResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <return errorCode="0"/>
      </ns1:refundOrderResponse>
   </soap:Body>
</soap:Envelope>

Расширенный запрос состояния заказа (WS)

Для запроса состояния зарегистрированного заказа используется запрос getOrderStatusExtended.
Параметры запроса

НазваниеТипОбязательноОписание
orderIdANS36да*Номер заказа в платёжной системе. Уникален в пределах системы
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, считается, что язык — русский. Сообщение ошибке будет возвращено именно на этом языке.
merchantOrderNumberANS.32да*Номер (идентификатор) заказа в системе магазина.

Примечание В запросе необходимо передать или параметр orderId, или merchantOrderNumber. Если в запросе передаются оба параметра, приоритет orderId выше. Параметры ответа

Существует несколько наборов параметров ответа. Какие именно наборы параметров будут возвращены, завит от версии getOrderStatusExtended, указанной в настройках продавца.

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
orderNumberAN.32да Номер (идентификатор) заказа в системе магазина.Все версии.
orderStatusN2нетВсе версии.
actionCodeN3да Код ответа.Все версии.
actionCodeDescriptionAN.512да Расшифровка кода ответа на языке, переданном в параметре language в запросе.Все версии.
errorCodeN3нетКод ошибки. Возможны следующие варианты:0 — Обработка запроса прошла без системных ошибок; 1 — Ожидается orderId или orderNumber; 5 — Доступ запрещён; 5 — Пользователь должен сменить свой пароль; 6 — Заказ не найден; 7 — Системная ошибка.Все версии.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе.Все версии.
amountN.20да Сумма платежа в копейках (или центах)Все версии.
currencyN3нетКод валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли).Все версии.
dateANSда Дата регистрации заказа.Все версии.
orderDescriptionAN.512нетОписание заказа, переданное при его регистрацииВсе версии.
ipAN.20да IP-адрес покупателя.Все версии.

Элемент merchantOrderParams — присутствует в ответе, если в заказе содержатся дополнительные параметры продавца. Каждый дополнительный параметр заказа представлен в отдельном элементе* merchantOrderParams*.*

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
nameAN.20нетНазвание дополнительного параметраВсе версии.
valueAN.1024нетЗначение дополнительного параметраВсе версии.

Элемент cardAuthInfo — в элементе лежит структура, состоящая из списка элемента* secureAuthInfo *и следующих параметеров:

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
panN.19нетМаскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.Все версии.
expirationN6нетСрок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа.Все версии.
cardholderNameA.64нетИмя держателя карты. Указан только после оплаты заказа.Все версии.
approvalCodeAN6нетКод авторизации платежа. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. Указан только после оплаты заказа.Все версии.
chargebackA.5нетБыли ли средства принудительно возвращены покупателю банком. Возможны следующие значения:true (истина); false (ложь).06 и выше.
paymentSystemN.10да Наименование платёжной системы. Доступны следующие варианты:VISA; MASTERCARD; AMEX; JCB; CUP; MIR.08 и выше.
productAN.255да Дополнительные сведения о корпоративных картах. Эти сведения заполняются службой технической поддержки в консоли управления. Если такие сведения отсутствуют, возвращается пустое значение.08 и выше.
paymentWayAS.14да Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.).09 и выше.

Элемент secureAuthInfo (элемент состоит из элемента eci и элемента threeDSInfo, являющимся списком параметров* cavv и xid):

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
eciN.4нетЭлектронный коммерческий индикатор. Указан только после оплаты заказа и в случае соответствующего разрешения.Все версии.
cavvANS.200нетЗначение проверки аутенфикации владельца карты. Указан только после оплаты заказа и в случае соответствующего разрешения.Все версии.
xidANS.80нетЭлектронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае соответствующего разрешения.Все версии.

Элемент bindingInfo состоит из параметров:

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
clientIdANS.255нетНомер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок.Все версии.
bindingIdAN.255нетИдентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.Все версии.
authDateTimeANSнетДата/время авторизации.02 и выше.
authRefNumAN.24нетУчётный номер авторизации платежа, который присваивается при регистрации платежа.02 и выше.
terminalIdAN.10нетId терминала.02 и выше.

Элемент paymentAmountInfo состоит из параметров:

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
approvedAmountN.20нетСумма, захолдированная на карте (используется только при двухстадийных платежах).03 и выше.
depositedAmountN.20нетСумма, подтверждённая для списания с карты.03 и выше.
refundedAmountN.20нетСумма возврата.03 и выше.
paymentStateA.10нетСостояние заказа.03 и выше.
feeAmountN.20нетСумма комиссии.11 и выше.

Элемент bankInfo состоит из параметров:

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
bankNameAN.200нетНаименование банка-эмитента.03 и выше.
bankCountryCodeAN.4нетКод страны банка-эмитента.03 и выше.
bankCountryNameAN.160нетНаименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан.03 и выше.
orderBundleСм. описаниенетБлок, содержащий корзину товаров заказа. Описание его атрибутов представлено ниже.03 и выше.

Содержимое orderBundle

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
customerDetailsСм. описаниенетБлок данных о клиенте.03 и выше
cartItemsСм. описаниенетБлок с атрибутами товарных позиции корзины товаров. Описание его атрибутов представлено ниже.03 и выше

Содержимое customerDetails

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
emailANS..40нетАдрес электронной почты покупателя.03 и выше.
phoneN.12нетТелефон покупателя.03 и выше.
fullNameN..100нетФамилия, имя и отчество плательщика.13 и выше.
passportN.100нетСерия и номер паспорта плательщика в следующем формате: 2222888888.13 и выше.
innN.12нетИдентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов.13 и выше.

Содержимое cartItems

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
itemsСм. описаниенетЭлемент массива с атрибутами товарной позиции в корзине. Описание его атрибутов представлено ниже.03 и выше.

Содержимое items

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
nameANS.100нетНаименование или описание товарной позиции в свободной форме03 и выше.
quantityN.18нетВ данном параметре передаётся общее количество товарных позиций одного positionId. Для указания дробных чисел используется десятичная точка. Мера измерения передаётся в виде атрибута: measure, ANS.20, необязательно (мера измерения количества товарной позиции).03 и выше.
itemAmountN.18нетСумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты.03 и выше.
itemCurrencyN.3нетКод валюты товарной позиции ISO 4217.03 и выше.
itemCodeANS.100нетНомер (идентификатор) товарной позиции в системе магазина. Параметр должен быть уникальным в рамках запроса.03 и выше.

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

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
2    <soapenv:Header/>
3    <soapenv:Body>
4       <mer:getOrderStatusExtended>
5          <order orderId="942e8534-ac73-4e3c-96c6-f6cc448018f7" language="en">
6             <!--Optional:-->
7             <merchantOrderNumber> </merchantOrderNumber>
8            </order>
9       </mer:getOrderStatusExtended>
10    </soapenv:Body>
11 </soapenv:Envelope>

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

1<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2   <soap:Body>
3      <ns1:getOrderStatusExtendedResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
4         <return orderNumber="1499420313736" orderStatus="2" actionCode="0" actionCodeDescription="" amount="10500" currency="643" date="2017-07-07T12:41:11.654+03:00" orderDescription="Описание" ip="127.0.0.1" errorCode="0" errorMessage="Успешно">
5            <attributes name="mdOrder" value="dc84ffbc-1d04-4748-94dc-75d87e91a745"/>
6            <cardAuthInfo pan="555555**5599" expiration="202012" cardholderName="Test" approvalCode="111111"/>
7            <authDateTime>2017-07-07T12:41:12.185+03:00</authDateTime>
8            <terminalId>12345678</terminalId>
9            <authRefNum>111111111111</authRefNum>
10            <paymentAmountInfo paymentState="DEPOSITED" approvedAmount="10500" depositedAmount="10500" refundedAmount="0"/>
11            <bankInfo bankName="SOME BANK IN USA" bankCountryCode="US" bankCountryName="Соединенные Штаты Америки"/>
12            <orderBundle>
13               <cartItems>
14                  <items positionId="1">
15                     <name>Universal Mirror Enduro</name>
16                     <quantity measure="штук">3.0</quantity>
17                     <itemAmount>6000</itemAmount>
18                     <itemCurrency>643</itemCurrency>
19                     <itemCode>NM-15</itemCode>
20                  </items>
21                  <items positionId="2">
22                     <name>Билет в Москву</name>
23                     <quantity measure="штук">1.0</quantity>
24                     <itemAmount>4500</itemAmount>
25                     <itemCurrency>643</itemCurrency>
26                     <itemCode>GFCCHC</itemCode>
27                  </items>
28               </cartItems>
29            </orderBundle>
30         </return>
31      </ns1:getOrderStatusExtendedResponse>
32   </soap:Body>
33</soap:Envelope>

Интерфейс REST

Запрос регистрации заказа (REST)

Для регистрации заказа в схеме приёма платежа на стороне платёжной системы используется запрос register.do — см. раздел Координаты подключения.
Товарная Корзина передаётся в параметре orderBundle.
Раздел Требования к формированию запросов регистрации заказа с Корзиной содержит список условий, необходимых для корректного формирования запроса.
Примечание Если в запросе на оплату не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом).

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

НазваниеТипОбязательноОписание
userNameAN.30даЛогин магазина, полученный при подключении
passwordAN.30даПароль магазина, полученный при подключении
orderNumberAN.32да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы
amountN.20да Сумма платежа в копейках (или центах)
currencyN3нетКод валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
returnUrlAN.512да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrlAN.512нетАдрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
descriptionANS.512нетОписание заказа в свободной форме
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language)
pageViewANS.20нет

По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:

  • DESKTOP — для загрузки страниц, вёрстка которых предназначена для отображения на экранах ПК (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями payment_<locale>.html и errors_<locale>.html);

  • MOBILE — для загрузки страниц, вёрстка которых предназначена для отображения на экранах мобильных устройств (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями mobile_payment_<locale>.html и mobile_errors_<locale>.html);

  • Если магазин создал страницы платёжного интерфейса, добавив в название файлов страниц произвольные префиксы, передайте значение нужного префикса в параметре pageView для загрузки соответствующей страницы. Например, при передаче значения iphone в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями iphone_payment_<locale>.html и iphone_error_<locale>.html.

    где:

    • locale — язык страницы в кодировке ISO 639-1. Например, ru для русского или en для английского.

Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP.

clientIdANS.255нет

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

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

merchantLoginAN.255нетЧтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре.
jsonParamsAN.1024нет

Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:

{«<name1>«:»<value1>»,...,"<nameN>":"<valueN>"}

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

Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом блоке в параметре с именем email.

sessionTimeoutSecsN...9нетПродолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
expirationDateANSнетДата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH:mm:ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs.
bindingIdAN..255нетИдентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
featuresAN..255нетAUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей.
bindingIdAN..255нетИдентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
orderBundleN/AN/AБлок, содержащий Корзину товаров заказа. Описание его атрибутов представлено в таблице "Параметр orderBundle" ниже.
taxSystemN..2да - для фискализации (для магазинов без настроек фискализации параметр не обязателен)Система налогообложения, доступны следующие значения:
  • «0» — общая;

  • «1» — упрощённая, доход;

  • «2» — упрощённая, доход минус расход;

  • «3» — единый налог на вменённый доход;

  • «4» — единый сельскохозяйственный налог;

  • «5» — патентная система налогообложения.

Примечание По умолчанию в процессинг банка передаются поля:

  • orderNumber — номер заказа в системе магазина;

  • description — описание заказа (не более 99 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n). Если в заказе передать дополнительный параметр с именем merchantOrderId, то именно его значение будет передано в процессинг в качестве номера заказа (вместо значения поля orderNumber).

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

НазваниеТипОбязательноОписание
orderCreationDateANS.21нетДата создания заказа в формате YYYY-MM-DDTHH: MM: SS
customerDetails —нетБлок с атрибутами данных о покупателе. Описание его атрибутов представлено ниже. Ограничение на передачу каждого из включённых параметров составляет 64 символа. Описание приведено ниже.
cartItems —да Блок с атрибутами товарных позиции Корзины. Описание его атрибутов представлено ниже.
agent —нетБлок для передачи данных об агенте (см. описание ниже).
supplierPhones массив ANS..19нетМассив телефонов поставщика в формате +N.

Параметры блока agent:

НазваниеТипОбязательноОписание
agentTypeN..2да (если передаётся блок)

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

  • "1" - банковский платёжный агент;

  • "2" - банковский платёжный субагент;

  • "3" - платёжный агент;

  • "4" - платёжный субагент;

  • "5" - поверенный;

  • "6" - комиссионер;

  • "7" - иной агент.

payingOperationANS..24нетНаименование операции платёжного агента.
payingPhonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
paymentsOperatorPhones массив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
MTOperatorNameANS..64нетНаименование оператора перевода.
MTOperatorAddress ANS..256нетАдрес оператора перевода.
MTOperatorInn N10..12нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
emailANS.40нетЭлектронная почта покупателя. Можно указать несколько адресов электронной почты через запятую и без пробелов — в этом случае чек будет отправлен на все указанные адреса. Обязательно следует передать один из двух параметров: email или phone.
phoneN.12нетНомер телефона покупателя. Если в телефон включён код страны, номер должен начинаться со знака плюс («+»). Если телефон передаётся без знака плюс («+»), то код страны указывать не следует. Таким образом, допустимы следующие варианты: +79998887766; 9998887766. Обязательно следует передать один из двух параметров: email или phone.
contactANS.40нетСпособ связи с покупателем.
deliveryInfo —нетБлок с атрибутами адреса для доставки. Описание его атрибутов представлено ниже.
fullName ANS..100НетФамилия, имя и отчество плательщика.
passport ANS..100НетСерия и номер паспорта плательщика в следующем формате: 2222888888.
inn ANS..12НетИдентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов.

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

НазваниеТипОбязательноОписание
deliveryTypeANS.20нетТип доставки
countryA.2да Страна доставки
cityANS.40да Город доставки
postAddressANS.255да Адрес для доставки

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

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

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

НазваниеТипОбязательноОписание
positionIdN.12да Уникальный идентификатор товарной позиции внутри Корзины Заказа
nameANS.100да Наименование или описание товарной позиции в свободной форме
itemDetails —нетДополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже.
quantity —да Элемент, описывающий общее количество товарных позиций одного positionId и их меру измерения. Описание его атрибутов представлено ниже.
itemAmountN.18да Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice * quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPrice*quantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrencyN3нетКод валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCodeANS.100да Номер (идентификатор) товарной позиции в системе магазина. Параметр должен быть уникальным в рамках запроса.
discount —нетДополнительный блок с атрибутами описания скидки для товарной позиции. Описание его атрибутов представлено ниже.
agentInterest —нетДополнительный блок с атрибутами описания агентской комиссии за продажу товара. Описание его атрибутов представлено ниже.
tax —да — для фискализации (для магазинов без настроек фискализации параметр не обязателен)Дополнительный блок с атрибутами описания налога. Описание приведено ниже.
itemPriceN.18да — для фискализации (для магазинов без настроек фискализации параметр не обязателен)Стоимость одной товарной позиции одного positionId в деньгах в минимальных единицах валюты. Обязательно для мерчантов с фискализацией
itemAttributesСм. описаниенетБлок, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

Параметры блока itemAttributes:

Атрибуты следует указывать следующим образом

"itemAttributes":{"attributes":[{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"1"}]}
НазваниеТипОбязательноОписание
paymentMethodN..2да

Признак способа расчёта, доступны следующие значения:

  • «1» — полная предварительная оплата до момента передачи предмета расчёта;

  • «2» — частичная предварительная оплата до момента передачи предмета расчёта;

  • «3» — аванс;

  • «4» — полная оплата в момент передачи предмета расчёта;

  • «5» — частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;

  • «6» — передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;

  • «7» — оплата предмета расчёта после его передачи с оплатой в кредит.

paymentObjectN..2да

Признак предмета расчёта, доступны следующие значения:

  • «1» — товар;

  • «2» — подакцизный товар;

  • «3» — работа;

  • «4» — услуга;

  • «5» — ставка азартной игры;

  • «6» — выигрыш азартной игры;

  • «7» — лотерейный билет;

  • «8» — выигрыш лотереи;

  • «9» — предоставление РИД;

  • «10» — платёж;

  • «11» — агентское вознаграждение;

  • «12» — составной предмет расчёта;

  • «13» — иной предмет расчёта.

nomenclatureANSнет

Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 32 байта в HEX кодировке.

Пример представления:

1. 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00

2. 000000010021FA4100230541000000000000000000000000000000001200AB00

Таким образом, представление возможно как с пробелами, так и без.

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

supplier_info.phonesMaccив ANS..19нетМассив телефонов поставщика в формате +N.
supplier_info.nameANS..256нетНаименование поставщика.
supplier_info.innN10..12нетИНН поставщика.
agent_info.typeN..2Обязателен, только если передан объект agent_info.

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

agent_info.paying.operationANS..24нетНаименование операции платёжного агента.
agent_info.paying.phonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
agent_info.paymentsOperator.phonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
agent_info.MTOperator.phonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
agent_info.MTOperator.nameANS..64нетНаименование оператора перевода.
agent_info.MTOperator.addressANS..256нетАдрес оператора перевода.
agent_info.MTOperator.innANS..256нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
valueN.18да Количество товарных позиций данного positionId. Для указания дробных чисел используйте десятичную точку.
measureANS.20да Мера измерения количества товарной позиции

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

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

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

НазваниеТипОбязательноОписание
valueANS.255да Дополнительная информация по товарной позиции
nameANS.255да Наименование параметра описания детализации товарной позиции

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

НазваниеТипОбязательноОписание
discountTypeANS.20да Тип скидки на товарную позицию
discountValueN.20да Значение скидки на товарную позицию

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

НазваниеТипОбязательноОписание
interestTypeANS.20да Тип агентской комиссии за продажу товара
interestValueN.20да Значение агентской комиссии за продажу товара

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

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

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

  • «0» — без НДС;

  • «1» — НДС по ставке 0%;

  • «2» — НДС чека по ставке 10%;

  • «3» — НДС чека по ставке 18%;

  • «4» — НДС чека по расчётной ставке 10/110;

  • «5» — НДС чека по расчётной ставке 18/118;

  • «6» — НДС чека по ставке 20%;

  • «7» — НДС чека по расчётной ставке 20/120;

Обязательно для продавцов с фискализацией

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

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

НазваниеТипОбязательноОписание
orderIdANS36нетНомер заказа в платёжной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа на удалась по причине ошибки, детализированной в errorCode.
formUrlAN.512нетURL платёжной формы, на который надо перенаправить браузер клиента. Не возвращается если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.
errorCodeN3нетКод ошибки. Может отсутствовать, если результат не привёл к ошибке.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе.

Коды ошибок (поле errorCode):

ЗначениеОписание
1Заказ с таким номером уже обработан.
1Неверный номер заказа.
3Неизвестная валюта.
4Номер заказа не может быть пуст.
4Имя мерчанта не может быть пустым.
4Отсутствует сумма.
4URL возврата не может быть пуст.
4Пароль не может быть пуст.
5Неверно указано значение одного из параметров.
5Доступ запрещён.
5Пользователь отключён.
7Системная ошибка.
8Отсутствие обязательного параметра Корзины.
8Валюта в Корзине не совпадает с валютой заказа.
8Сумма товарных позиций в Корзине не совпадает с общей суммой заказа.
8Неверный формат Корзины.
8Дополнительный параметр amount_bonus запрещено передавать, если в запросе присутствует Корзина.
8Слишком большое либо слишком маленькое значение quantity.

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

1amount=24000&
2currency=643&
3language=ru&
4orderNumber=04f04a87d6f4а5rg3r3d21&
5returnUrl=https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html&
6jsonParams={"name1":"value1"}&
7sessionTimeoutSecs=5400&
8merchantLogin=merch_child&
9taxSystem=0&
10
11orderBundle=
12{ 
13
14"orderCreationDate":"2013-07-12T13:51:00",  
15
16"customerDetails":{ "email":"email@email.com", "phone":"79851231234", "contact": "Mega  Tester","deliveryInfo":{ "deliveryType":"courier", "country":"RU",  "city":"Moscow",
17"postAddress":"Земляной Вал 50А стр.2" }},  
18
19"cartItems":  
20
21{ "items": 
22
23[ 
24{ "positionId": "1",
25"name": "Metzeler Enduro 3 Sahara", 
26"itemDetails": { "itemDetailsParams":[{ "value": "Metzeler ", "name": "brand" }, { "value": "17inch", "name": "radius" }]},
27"quantity": { "value": 0.71, "measure": "штук" }, 
28"itemAmount": 8000, 
29"itemCurrency": "643",
30"itemCode": "NM-15", 
31"discount": { "discountType": "percent", "discountValue": "5" },
32"agentInterest": { "interestType": "agentPercent", "interestValue": "7" }, 
33"tax": {"taxType": 1,"taxSum": 111}, 
34"itemPrice": 11267
35},
36
37{ "positionId": "2", 
38"name": "Universal Mirror Enduro", 
39"itemDetails": { "itemDetailsParams":[{ "value": "Noname", "name": "brand" }, { "value": "12mm", "name": "diameter" }]},
40"quantity": { "value": 1.0, "measure": "штук" }, 
41"itemAmount": 8000, 
42"itemCurrency": "643",
43"itemCode": "NM-15", 
44"discount": { "discountType": "percent", "discountValue": "5" },
45"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
46"tax": {"taxType": 1,"taxSum": 111}, 
47"itemPrice": 8000 
48},
49
50{ "positionId": "3", 
51"name": "Warm Grips", 
52"itemDetails": { "itemDetailsParams":[ { "value": "Noname", "name": "brand" }]},  "quantity": { "value": 1.0, "measure": "штук" },
53"itemAmount": 8000, 
54"itemCurrency": 643, 
55"itemCode": "G-16",
56"discount": { "discountType": "percent", "discountValue": "5" },
57"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
58"tax": {"taxType": 1,"taxSum": 111}, 
59"itemPrice": 8000 
60}
61] 
62
63} 
64
65}

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

{"formUrl":"https://alfa.rbsuat.com/payment/merchants/ecom2/payment_ru.html?
mdOrder=ece47318-19f2-466a-93cd-bdb08c1587ec","orderId":"ece47318-19f2-466a-93cd-bdb08c1587ec"}

Запрос регистрации заказа с предавторизацией (REST)

Для регистрации заказа с предавторизацией используется запрос registerPreAuth.do — см. раздел «Координаты подключения». Товарная Корзина передаётся в параметре orderBundle.
Раздел Требования к формированию запросов регистрации заказа с Корзиной содержит список условий, необходимых для корректного формирования запроса.
Примечание Если в запросе на оплату не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом).
Параметры запроса:

НазваниеТипОбязательноОписание
userNameAN.30даЛогин магазина, полученный при подключении
passwordAN.30даПароль магазина, полученный при подключении
orderNumberAN.32да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы
amountN..12да Сумма платежа в копейках (или центах)
currencyN3нетКод валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
returnUrlAN..512да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrlAN..512нетАдрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
descriptionAN..512нетОписание заказа в свободной форме
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language).
pageViewANS.20нет

По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:

  • DESKTOP — для загрузки страниц, вёрстка которых предназначена для отображения на экранах ПК (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями payment_<locale>.html и errors_<locale>.html);

  • MOBILE — для загрузки страниц, вёрстка которых предназначена для отображения на экранах мобильных устройств (в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями mobile_payment_<locale>.html и mobile_errors_<locale>.html);

  • Если магазин создал страницы платёжного интерфейса, добавив в название файлов страниц произвольные префиксы, передайте значение нужного префикса в параметре pageView для загрузки соответствующей страницы. Например, при передаче значения iphone в архиве страниц платёжного интерфейса будет осуществляться поиск страниц с названиями iphone_payment_<locale>.html и iphone_error_<locale>.html.

    где:

    • locale — язык страницы в кодировке ISO 639-1. Например, ru для русского или en для английского.

Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP.

clientIdANS.255нет

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

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

merchantLoginAN.255нетЧтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре.
jsonParamsAN.1024нет

Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:

{«<name1>«:»<value1>»,...,"<nameN>":"<valueN>"}

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

Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом блоке в параметре с именем email.

sessionTimeoutSecsN...9нетПродолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.
expirationDateANSнетДата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH:mm:ss. Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs.
bindingIdAN..255нетИдентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
featuresAN..255нетAUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей.
bindingIdAN..255нетИдентификатор связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: 1. Данный заказ может быть оплачен только с помощью связки; 2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.
orderBundleN/AN/AБлок, содержащий Корзину товаров заказа. Описание его атрибутов представлено в таблице "Параметр orderBundle" ниже.
taxSystemN..2да - для фискализации (для магазинов без настроек фискализации параметр не обязателен)Система налогообложения, доступны следующие значения: **0** - общая; **1** - упрощённая, доход; **2** - упрощённая, доход минус расход; **3** - единый налог на вменённый доход; **4** - единый сельскохозяйственный налог; **5** - патентная система налогообложения.
autocompletionDateANS..19нетДата и время автозавершения двухстадийного платежа в следующем формате: 2017-12-29T13:02:51.

По умолчанию в процессинг банка передаются поля:

  • orderNumber — номер заказа в системе магазина;

  • description — описание заказа (не более 99 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n). Если в заказе передать дополнительный параметр с именем merchantOrderId, то именно его значение будет передано в процессинг в качестве номера заказа (вместо значения поля orderNumber).

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

НазваниеТипОбязательноОписание
orderCreationDateANS.21нетДата создания заказа в формате YYYY-MM-DDTHH: MM: SS
customerDetailsN/AнетБлок с атрибутами данных о покупателе. Описание его атрибутов представлено ниже. Ограничение на передачу каждого из включённых параметров составляет 64 символа.
cartItemsN/Aда Блок с атрибутами товарных позиции Корзины. Описание приведено ниже.
agent-нет Блок для передачи данных об агенте (см. описание ниже).
supplierPhonesмассив ANS..19нет Массив телефонов поставщика в формате +N.

Параметр agent:

НазваниеТипОбязательноОписание
agentTypeN..2да (если передаётся блок)

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

«7» — иной агент.
payingOperationANS..24нетНаименование операции платёжного агента.
payingPhonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
paymentsOperatorPhonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
MTOperatorNameANS..64нетНаименование оператора перевода.
MTOperatorAddressANS..256нетАдрес оператора перевода.
MTOperatorInnN10..12нетИНН оператора перевода.

Параметры блока customerDetails:

НазваниеТипОбязательноОписание
emailANS.40НетЭлектронная почта покупателя. Можно указать несколько адресов электронной почты через запятую и без пробелов — в этом случае чек будет отправлен на все указанные адреса. Обязательно следует передать один из двух параметров: email или phone.
phoneN.12НетНомер телефона покупателя. Обязательно следует передать один из двух параметров: email или phone.
contactANS.40НетСпособ связи с покупателем.
deliveryInfoN/AНетБлок с атрибутами адреса для доставки. Описание приведено ниже.
fullNameANS..100НетФамилия, имя и отчество плательщика.
passportANS..100НетСерия и номер паспорта плательщика в следующем формате: 2222888888.
innANS..12НетИдентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов.

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

НазваниеТипОбязательноОписание
deliveryTypeANS.20нетТип доставки
countryA.2да Страна доставки
cityANS.40да Город доставки
postAddressANS.255да Адрес для доставки

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

НазваниеТипОбязательноОписание
itemsN/Aда Элемент массива с атрибутами товарной позиции в Корзине. Описание приведено ниже.

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

НазваниеТипОбязательноОписание
positionIdN.12да Уникальный идентификатор товарной позиции внутри Корзины Заказа
nameANS.100да Наименование или описание товарной позиции в свободной форме
itemDetailsN/AнетДополнительный блок с параметрами описания товарной позиции. Описание приведено ниже.
quantityN/Aда Элемент описывающий общее количество товарных позиций одного positionId и их меру измерения. Описание приведено ниже.
itemAmountN.18нет (см. описание)Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice * quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPrice*quantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrencyN3нетКод валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCodeANS.100да Номер (идентификатор) товарной позиции в системе магазина
discountN/AнетДополнительный блок с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterestN/AнетДополнительный блок с атрибутами описания агентской комиссии за продажу товара. Описание приведено ниже.
taxN/Aда — для фискализации (для магазинов без настроек фискализации параметр не обязателен)Дополнительный блок с атрибутами описания налога. Описание приведено ниже.
itemPriceN.18да — для фискализации (для магазинов без настроек фискализации параметр необязателен)Стоимость одной товарной позиции одного positionId в минимальных единицах валюты. Обязательно для мерчантов с фискализацией
itemAttributesСм. описаниенетБлок, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

Параметры тэга itemAttributes: Атрибуты следует указывать следующим образом

"itemAttributes":{"attributes":[{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"1"}]}
НазваниеТипОбязательноОписание
paymentMethodN..2да

Признак способа расчёта, доступны следующие значения:

  • «1» — полная предварительная оплата до момента передачи предмета расчёта;

  • «2» — частичная предварительная оплата до момента передачи предмета расчёта;

  • «3» — аванс;

  • «4» — полная оплата в момент передачи предмета расчёта;

  • «5» — частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;

  • «6» — передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;

  • «7» — оплата предмета расчёта после его передачи с оплатой в кредит.

paymentObjectN..2да

Признак предмета расчёта, доступны следующие значения:

  • «1» — товар;

  • «2» — подакцизный товар;

  • «3» — работа;

  • «4» — услуга;

  • «5» — ставка азартной игры;

  • «6» — выигрыш азартной игры;

  • «7» — лотерейный билет;

  • «8» — выигрыш лотереи;

  • «9» — предоставление РИД;

  • «10» — платёж;

  • «11» — агентское вознаграждение;

  • «12» — составной предмет расчёта;

  • «13» — иной предмет расчёта.

nomenclatureANSнет

Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 32 байта в HEX кодировке.

Пример представления:

1. 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00

2. 000000010021FA4100230541000000000000000000000000000000001200AB00

Таким образом, представление возможно как с пробелами, так и без.

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

supplier_info.phonesMaccив ANS..19нетМассив телефонов поставщика в формате +N.
supplier_info.nameANS..256нетНаименование поставщика.
supplier_info.innN10..12нетИНН поставщика.
agent_info.typeN..2Обязателен, только если передан объект agent_info.

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

agent_info.paying.operationN10..12нетНаименование операции платёжного агента.
agent_info.paying.phonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
agent_info.paymentsOperator.phonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
agent_info.MTOperator.phonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
agent_info.MTOperator.nameANS..64нетНаименование оператора перевода.
agent_info.MTOperator.addressANS..256нетАдрес оператора перевода.
agent_info.MTOperator.innANS..256нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
valueN.18да Количество товарных позиций данного positionId. Для указания дробных чисел используйте десятичную точку.
measureANS.20да Мера измерения количества товарной позиции

Параметры блока  itemDetails:

НазваниеТипОбязательноОписание
itemDetailsParamsN/AнетПараметр описывающий дополнительную информацию по товарной позиции. Описание приведено ниже.

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

НазваниеТипОбязательноОписание
valueANS.255да Дополнительная информация по товарной позиции
nameANS.255да Наименование параметра описания детализации товарной позиции

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

НазваниеТипОбязательноОписание
discountTypeANS.20да Тип скидки на товарную позицию
discountValueN.20да Значение скидки на товарную позицию

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

НазваниеТипОбязательноОписание
interestTypeANS.20да Тип агентской комиссии за продажу товара
interestValueN.20ла Значение агентской комиссии за продажу товара

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

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

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

  • «0» — без НДС;

  • «1» — НДС по ставке 0%;

  • «2» — НДС чека по ставке 10%;

  • «3» — НДС чека по ставке 18%;

  • «4» — НДС чека по расчётной ставке 10/110;

  • «5» — НДС чека по расчётной ставке 18/118;

  • «6» — НДС чека по ставке 20%;

  • «7» — НДС чека по расчётной ставке 20/120;

Обязательно для продавцов с фискализацией

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

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

НазваниеТипОбязательноОписание
orderIdANS36нетНомер заказа в платёжной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа на удалась по причине ошибки, детализированной в errorCode.
formUrlAN.512нетURL платёжной формы, на который надо перенаправить браузер клиента. Не возвращается если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.
errorCodeN3нетКод ошибки. Может отсутствовать, если результат не привёл к ошибке.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе.

Коды ошибок (поле errorCode):

ЗначениеОписание
1Заказ с таким номером уже обработан
3Неизвестная валюта
4Номер заказа не может быть пуст
4Имя мерчанта не может быть пустым
4Отсутствует сумма
4URL возврата не может быть пуст
4Пароль не может быть пуст
5Неверно указано значение одного из параметров
5Доступ запрещён
5Пользователь отключён
7Системная ошибка
8Отсутствие обязательного параметра Корзины
8Валюта в Корзине не совпадает с валютой заказа
8Сумма товарных позиций в Корзине не совпадает с общей суммой заказа
8Неверный формат Корзины
8Слишком большое либо слишком маленькое значение quantity

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

1amount=24000&
2currency=643&
3language=ru&
4orderNumber=01a287222222299&
5returnUrl=https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html&
6jsonParams={"name1":"value1"}&
7merchantLogin=merch_child&
8taxSystem=0&
9
10orderBundle=
11{ 
12
13"orderCreationDate":"2013-07-12T13:51:00",
14
15"customerDetails":{ "email":"email@email.com", "phone": "79851231234","contact": "Mega  Tester", "deliveryInfo":{ "deliveryType":"courier", "country":"RU",  "city":"Moscow",
16"postAddress":"Земляной Вал 50А стр.2" }},
17
18"cartItems":  
19
20{ "items": 
21
22[  
23{ "positionId": "1", 
24"name": "Metzeler Enduro 3 Sahara",
25"itemDetails": { "itemDetailsParams": [{ "value": "Metzeler ", "name": "brand" },
26{ "value": "17inch", "name": "radius" }]}, 
27"quantity": { "value": 0.71, "measure": "штук" },
28"itemAmount": 8000, 
29"itemCurrency": "643", 
30"itemCode": "NM-15",
31"discount": { "discountType": "percent", "discountValue": "5" },
32"agentInterest": { "interestType": "agentPercent", "interestValue": "7" }, 
33"tax": {"taxType": 1,"taxSum": 111}, 
34"itemPrice": 11267
35},
36
37{ "positionId": "2", 
38"name": "Universal Mirror Enduro",
39"itemDetails": { "itemDetailsParams": [{ "value": "Noname", "name": "brand" },
40{ "value": "12mm", "name": "diameter" }]}, 
41"quantity": { "value": 1.0, "measure": "штук" },
42"itemAmount": 8000, 
43"itemCurrency": "643", 
44"itemCode": "NM-15",
45"discount": { "discountType": "percent", "discountValue": "5" },
46"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
47"tax": {"taxType": 1,"taxSum": 111}, 
48"itemPrice": 8000 
49},
50
51{ "positionId": "3", 
52"name": "Warm Grips",
53"itemDetails": { "itemDetailsParams": [ { "value": "Noname", "name": "brand" }]},
54"quantity": { "value": 1.0, "measure": "штук" }, 
55"itemAmount": 8000, 
56"itemCurrency": 643,
57"itemCode": "G-16", 
58"discount": { "discountType": "percent", "discountValue": "5" },
59"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
60"tax": {"taxType": 1,"taxSum": 111}, 
61"itemPrice": 8000 
62}
63] 
64
65} 
66
67}

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

{"formUrl":"https://alfa.rbsuat.com/payment/merchants/ecom2/payment_ru.html?mdOrder=fc122907-e237-440e-9f25-48bf6120984b","orderId":"fc122907-e237-440e-9f25-48bf6120984b"}

Запрос завершения на полную сумму предавторизации (REST)

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

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

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdAN.64да Номер заказа в платёжной системе. Уникален в пределах системы.
amountN.5да Для завершения на полную сумму предавторизации в запросе необходимо передать полную сумму заказа в деньгах или 0.
languageA2нетЯзык в кодировке ISO 639-1. Сообщение ошибке будет возвращено именно на этом языке.
agent-нетБлок для передачи данных об агенте (см. описание ниже).
supplierPhonesмассив ANS..19нетМассив телефонов поставщика в формате +N.

Параметры блока agent

НазваниеТипОбязательноОписание
agentTypeN..2да (если передаётся блок) 

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

payingOperationANS..24нетНаименование операции платёжного агента.
payingPhonesмассив ANS..19 нетМассив телефонов платёжного агента в формате +N.
paymentsOperatorPhonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
MTOperatorNameANS..64нетНаименование оператора перевода.
MTOperatorAddressANS..256нетАдрес оператора перевода.
MTOperatorInnN10..12нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
errorCodeN3да Код ошибки. Возможные значения представлены в таблице ниже.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе.

Коды ошибок (поле errorCode):

ЗначениеОписание
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":"Успешно"}

Завершение на частичную сумму предавторизации (REST)

Для запроса списания частичной суммы предавторизации используется запрос deposit.do.
Данная операция доступна пользователям, обладающим соответствующими правами в системе. Раздел Требования к формированию запросов завершения заказа с Корзиной содержит список условий, необходимых для корректного формирования запроса.

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

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdAN.64да Номер заказа в платёжной системе. Уникален в пределах системы.
amountN.5да Сумма списания в валюте заказа (в минимальных единицах). Должна совпадать с общей суммой списания по всем товарным позициям в Корзине завершения.
languageA2нетЯзык в кодировке ISO 639-1. Сообщение ошибке будет возвращено именно на этом языке.
depositItems —да Тэг с атрибутами товарных позиции Корзины
agent - нет Блок для передачи данных об агенте (см. описание ниже).
supplierPhones массив ANS..19 нет Массив телефонов поставщика в формате +N.

Параметры блока agent

НазваниеТипОбязательноОписание
agentTypeN..2да (если передаётся блок) 

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

payingOperationANS..24нетНаименование операции платёжного агента.
payingPhonesмассив ANS..19 нетМассив телефонов платёжного агента в формате +N.
paymentsOperatorPhonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
MTOperatorNameANS..64нетНаименование оператора перевода.
MTOperatorAddressANS..256нетАдрес оператора перевода.
MTOperatorInnN10..12нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
itemsN/Aда Элемент массива с атрибутами товарной позиции в Корзине. Описание приведено ниже.

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

НазваниеТипОбязательноОписание
positionIdANS.12да Уникальный идентификатор товарной позиции внутри Корзины Заказа
nameANS.100да Наименование или описание товарной позиции в свободной форме
itemDetailsN/AнетДополнительный тэг с параметрами описания товарной позиции. Описание приведено ниже.
quantityN/Aда Блок параметров, описывающий общее количество товарных позиций одного positionId и их меру измерения.Описание приведено ниже).
itemAmountN.18нет (см. описание)Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice * quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPrice*quantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrencyN.3нетКод валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCodeANS.100да Номер (идентификатор) товарной позиции в системе магазина
discountN/AнетДополнительный тэг с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterestN/AнетДополнительный тэг с атрибутами описания агентской комиссии за продажу товара. Описание приведено ниже.
taxN/Aда — для фискализации (для магазинов без настроек фискализации параметр не обязателен)Дополнительный блок с атрибутами описания налога. Описание приведено ниже.
itemPriceN.18да — для фискализации (для магазинов без настроек фискализации параметр не обязателен)Стоимость одной товарной позиции одного positionId в минимальных единицах валюты. Обязательно для мерчантов с фискализацией.
itemAttributesСм. описаниенетБлок, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

Параметры тэга itemAttributes: Атрибуты следует указывать следующим образом

<attributes  name="название_атрибута_2">значение_атрибута_2</attributes>
НазваниеТипОбязательноОписание
paymentMethodN..2да

Признак способа расчёта, доступны следующие значения:

  • «1» — полная предварительная оплата до момента передачи предмета расчёта;

  • «2» — частичная предварительная оплата до момента передачи предмета расчёта;

  • «3» — аванс;

  • «4» — полная оплата в момент передачи предмета расчёта;

  • «5» — частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;

  • «6» — передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;

  • «7» — оплата предмета расчёта после его передачи с оплатой в кредит.

paymentObjectN..2да

Признак предмета расчёта, доступны следующие значения:

  • «1» — товар;

  • «2» — подакцизный товар;

  • «3» — работа;

  • «4» — услуга;

  • «5» — ставка азартной игры;

  • «6» — выигрыш азартной игры;

  • «7» — лотерейный билет;

  • «8» — выигрыш лотереи;

  • «9» — предоставление РИД;

  • «10» — платёж;

  • «11» — агентское вознаграждение;

  • «12» — составной предмет расчёта;

  • «13» — иной предмет расчёта.

nomenclatureANSнет

Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 32 байта в HEX кодировке.

Пример представления:

1. 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00

2. 000000010021FA4100230541000000000000000000000000000000001200AB00

Таким образом, представление возможно как с пробелами, так и без.

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

supplier_info.phonesMaccив ANS..19нетМассив телефонов поставщика в формате +N.
supplier_info.nameANS..256нетНаименование поставщика.
supplier_info.innN10..12нетИНН поставщика.
agent_info.typeN..2Обязателен, только если передан объект agent_info.

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

agent_info.paying.operationANS..24нетНаименование операции платёжного агента.
agent_info.paying.phonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
agent_info.paymentsOperator.phonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
agent_info.MTOperator.phonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
agent_info.MTOperator.nameANS..64нетНаименование оператора перевода.
agent_info.MTOperator.addressANS..256нетАдрес оператора перевода.
agent_info.MTOperator.innANS..256нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
valueN.18да Количество товарных позиций данного positionId. Для указания дробных чисел используйте десятичную точку
measureANS.20да Мера измерения количества товарной позиции

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

НазваниеТипОбязательноОписание
itemDetailsParamsANS.255нетМассив блоков, в каждом из которых передаётся информация об определённой характеристике товарной позиции. Описание приведено ниже.

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

НазваниеТипОбязательноОписание
nameAN.255да Наименование параметра описания детализации товарной позиции

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

НазваниеТипОбязательноОписание
discountTypeANS.20да Тип скидки на товарную позицию
discountValueN.20да Значение скидки на товарную позицию

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

НазваниеТипОбязательноОписание
interestTypeANS.20да Тип агентской комиссии за продажу товара
interestValueN.20да Значение агентской комиссии за продажу товара

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

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

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

  • «0» — без НДС;

  • «1» — НДС по ставке 0%;

  • «2» — НДС чека по ставке 10%;

  • «3» — НДС чека по ставке 18%;

  • «4» — НДС чека по расчётной ставке 10/110;

  • «5» — НДС чека по расчётной ставке 18/118;

  • «6» — НДС чека по ставке 20%;

  • «7» — НДС чека по расчётной ставке 20/120;

Обязательно для продавцов с фискализацией

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

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

НазваниеТипОбязательноОписание
errorCodeN3да Код ошибки.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе. Отсутствует при errorCode=0

Коды ошибок (поле errorCode):

ЗначениеОписание
0Обработка запроса прошла без системных ошибок
5Сумма депозита должна быть больше нуля или не менее одного рубля
5Доступ запрещён
5Пользователь должен сменить свой пароль
6Неверный номер заказа
6orderId не задан
7Платёж должен быть в корректном состоянии
7Системная ошибка
8Отсутствует обязательный параметр Корзины
8Сумма депозита больше чем сумма при регистрации
8Валюта в Корзине не совпадает с валютой заказа
8Сумма товарных позиций в Корзине не совпадает с общей суммой заказа
8Оригинальный заказ не содержит товарной позиции с данным номером
8Слишком большое либо слишком маленькое значение quantity

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

1orderId=9659c922-f0fa-4b4f-9b09-8a754ad99c63&
2amount=4441&
3depositItems=
4{"items": 
5
6[
7{ "positionId": "2", 
8"name": "Universal Mirror Enduro",
9"itemDetails": { "itemDetailsParams": [{ "value": "Noname", "name": "brand" },{"value": "12mm", "name": "diameter" }]}, 
10"quantity": { "value": 1.0, "measure": "штук" },
11"itemAmount": 3330, 
12"itemCurrency": "643", 
13"itemCode": "NM-15",
14"discount": { "discountType": "percent", "discountValue": "5" },
15"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
16"tax": {"taxType": 1,"taxSum": 111}, 
17"itemPrice": 3330
18},
19
20{ "positionId": "3", 
21"name": "Warm Grips",
22"itemDetails": { "itemDetailsParams": [ { "value": "Noname", "name": "brand" }]},
23"quantity": { "value": 1.0, "measure": "штук" }, 
24"itemAmount": 1111, 
25"itemCurrency": 643,
26"itemCode": "G-16", 
27"discount": { "discountType": "percent", "discountValue": "5" },
28"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
29"tax": {"taxType": 1,"taxSum": 111},
30"itemPrice": 1111
31}
32] 
33
34}

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

{"errorCode":"0","errorMessage":"Success"}

Запрос отмены оплаты заказа (REST)

Для отмены оплаты заказа используется запрос reverse.do. Функция отмены доступна в течение ограниченного времени после оплаты, точные сроки необходимо уточнять в Банке.
Операция отмены оплаты может быть совершена только один раз. Если она закончится ошибкой, то повторная операция отмены платежа не пройдет.
Данная функция доступна магазинам по согласованию с Банком. Для выполнения операции отмены пользователь должен обладать соответствующими правами.
Параметры запроса:

НазваниеТипОбязательностьОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdANS36да Номер заказа в платёжной системе. Уникален в пределах системы.
languageA2нетЯзык в кодировке ISO 639-1. Описание ошибки возвращается на этом языке. Если параметр отсутствует, используется язык по умолчанию, указанный в настройках мерчанта.

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

НазваниеТипОбязательностьОписание
errorCodeN3НетКод ошибки.
errorMessageAN.512НетОписание ошибки на языке.

Коды ошибок (поле ErrorCode):

ЗначениеОписание
0Обработка запроса прошла без системных ошибок
5Доступ запрещён
5Пользователь должен сменить свой пароль
5orderId не задан
6Неверный номер заказа
7Операция невозможна для текущего состояния платежа
7Реверсал невозможен. Причина: неверные внутренние значения, проверьте суммы холда, депозита
7Ошибка системы

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

language=ru&orderId=9231a838-ac68-4a3e-bddb-d9781433d852

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

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

Запрос полного возврата средств оплаты заказа (REST)

Для запроса полного возврата средств оплаты используется запрос refund.do. По этому запросу средства по указанному заказу будут возвращены плательщику. Запрос закончится ошибкой в случае, если средства по этому заказу не были списаны. Данная операция доступна пользователям, обладающим соответствующими правами в системе. Параметры запроса:

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdAN.64да Номер заказа в платёжной системе. Уникален в пределах системы.
amountN.5да Сумма возврата в валюте заказа (в минимальных единицах). Должна быть равна сумме заказа в деньгах.
languageA2нетЯзык в кодировке ISO 639-1. Сообщение ошибке будет возвращено именно на этом языке.
jsonParamsAN.1024нет

Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:

{«<name1>«:»<value1>»,...,"<nameN>":"<valueN>"}

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

Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом блоке в параметре с именем email.

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

НазваниеТипОбязательноОписание
errorCodeN3да Код ошибки. Возможные значения и их описание представлены в таблице ниже.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре Language в запросе.

Коды ошибок (поле errorCode):

ЗначениеОписание
0Обработка запроса прошла без системных ошибок
5Доступ запрещён
5Пользователь должен изменить свой пароль
5Не указан номер заказа
5Неверная сумма
6Неверный номер заказа
7Платёж должен быть в корректном состоянии
7Сумма возврата превышает сумму списания
7Системная ошибка
8Указанная сумма возврата не совпадает с полной суммой заказа. Для частичного возврата необходима Корзина

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

language=ru&orderId=c84105aa-0713-44e1-ae3b-4c5e09d49a7d&jsonParams={"name1":"value1"}&amount=24000

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

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

Запрос частичного возврата средств оплаты заказа (REST)

Для частичного возврата средств оплаты заказа  используется запрос refund.do.
Данная операция доступна пользователям, обладающим соответствующими правами в системе.
Примечание Для безошибочной обработки запроса достаточно передать параметры quantity и positionId.

Раздел Требования к формированию запросов возврата заказа с Корзиной содержит список условий, необходимых для корректного формирования запроса.

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

НазваниеТипОбязательноОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdAN.64да Номер заказа в платёжной системе. Уникален в пределах системы.
amountN.20да Сумма возврата в валюте заказа (в минимальных единицах). Должна совпадать с общей суммой всех возвращаемых товарных позиций.
refundItemsN/AN/AКорзина товаров заказа. Описание приведено ниже.
languageA2нетЯзык в кодировке ISO 639-1. Сообщение ошибке будет возвращено на этом языке
jsonParamsAN.1024нет

Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:

{«<name1>«:»<value1>»,...,"<nameN>":"<valueN>"}

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

Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом блоке в параметре с именем email.

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

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

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

НазваниеТипОбязательноОписание
positionIdN.12да Уникальный идентификатор товарной позиции внутри Корзины Заказа
nameANS.100да Наименование или описание товарной позиции в свободной форме
itemDetailsN/AнетДополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже.
quantityN/Aда Элемент, описывающий общее количество товарных позиций одного positionId и их меру измерения. Описание его атрибутов представлено ниже.
itemAmountN.18да Возвращаемая сумма по данному positionId в минимальных единицах валюты. Может быть меньше суммы оплаты по данному positionId.
itemCurrencyN3нетКод валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCodeANS.100да Номер (идентификатор) товарной позиции в системе магазина
discountN/AнетДополнительный блок с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterestN/AнетДополнительный блок с атрибутами описания агентской комиссии за продажу товара. Описание приведено ниже.
taxN/AнетДополнительный блок с атрибутами описания налога. Если для магазина указаны настройки фискализации, данный блок может передаваться, но не является обязательным (значения параметров данного блока проверяться не будут). Описание приведено ниже.
itemPriceN.18нетСтоимость одной товарной позиции одного positionId в деньгах в минимальных единицах валюты. Если для магазина указаны настройки фискализации, данное поле может передаваться, но не является обязательным (значение данного поля проверяться не будет).
itemAttributesСм. описаниенетТэг, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

Параметры тэга itemAttributes: Атрибуты следует указывать следующим образом

<attributes  name="название_атрибута_1">значение_атрибута_1</attributes>
<attributes  name="название_атрибута_2">значение_атрибута_2</attributes>
НазваниеТипОбязательноОписание
paymentMethodN..2да

Признак способа расчёта, доступны следующие значения:

  • «1» — полная предварительная оплата до момента передачи предмета расчёта;

  • «2» — частичная предварительная оплата до момента передачи предмета расчёта;

  • «3» — аванс;

  • «4» — полная оплата в момент передачи предмета расчёта;

  • «5» — частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;

  • «6» — передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;

  • «7» — оплата предмета расчёта после его передачи с оплатой в кредит.

paymentObjectN..2да

Признак предмета расчёта, доступны следующие значения:

  • «1» — товар;

  • «2» — подакцизный товар;

  • «3» — работа;

  • «4» — услуга;

  • «5» — ставка азартной игры;

  • «6» — выигрыш азартной игры;

  • «7» — лотерейный билет;

  • «8» — выигрыш лотереи;

  • «9» — предоставление РИД;

  • «10» — платёж;

  • «11» — агентское вознаграждение;

  • «12» — составной предмет расчёта;

  • «13» — иной предмет расчёта.

nomenclatureANSнет

Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 32 байта в HEX кодировке.

Пример представления:

1. 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00

2. 000000010021FA4100230541000000000000000000000000000000001200AB00

Таким образом, представление возможно как с пробелами, так и без.

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

supplier_info.phonesMaccив ANS..19нетМассив телефонов поставщика в формате +N.
supplier_info.nameANS..256нетНаименование поставщика.
supplier_info.innN10..12нетИНН поставщика.
agent_info.typeN..2Обязателен, только если передан объект agent_info.

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

  • «1» — банковский платёжный агент;

  • «2» — банковский платёжный субагент;

  • «3» — платёжный агент;

  • «4» — платёжный субагент;

  • «5» — поверенный;

  • «6» — комиссионер;

  • «7» — иной агент.

agent_info.paying.operationANS..24нетНаименование операции платёжного агента.
agent_info.paying.phonesмассив ANS..19нетМассив телефонов платёжного агента в формате +N.
agent_info.paymentsOperator.phonesмассив ANS..19нетМассив телефонов оператора по приёму платежей в формате +N.
agent_info.MTOperator.phonesмассив ANS..19нетМассив телефонов оператора перевода в формате +N.
agent_info.MTOperator.nameANS..64нетНаименование оператора перевода.
agent_info.MTOperator.addressANS..256нетАдрес оператора перевода.
agent_info.MTOperator.innANS..256нетИНН оператора перевода.

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

НазваниеТипОбязательноОписание
valueN.18да Количество товарных позиций одного positionId
measureANS.20да Мера измерения количества товарной позиции

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

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

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

НазваниеТипОбязательноОписание
valueANS.255да Дополнительная информация по товарной позиции
nameANS.255да Наименование параметра описания детализации товарной позиции

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

НазваниеТипОбязательноОписание
discountTypeANS.20да Тип скидки на товарную позицию
discountValueN.20да Значение скидки на товарную позицию

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

НазваниеТипОбязательноОписание
interestTypeANS.20да Тип агентской комиссии за продажу товара
interestValueN.20да Значение агентской комиссии за продажу товара

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

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

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

  • «0» — без НДС;

  • «1» — НДС по ставке 0%;

  • «2» — НДС чека по ставке 10%;

  • «3» — НДС чека по ставке 18%;

  • «4» — НДС чека по расчётной ставке 10/110;

  • «5» — НДС чека по расчётной ставке 18/118;

  • «6» — НДС чека по ставке 20%;

  • «7» — НДС чека по расчётной ставке 20/120;

Обязательно для продавцов с фискализацией

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

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

НазваниеТипОбязательноОписание
errorCodeN3да Код ошибки.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language или языке по умолчанию.

Коды ошибок (поле errorCode)

ЗначениеОписание
5Авторизация отклонена
5Доступ запрещён
6Неверный номер заказа
7Платёж должен быть в корректном состоянии
7Неверная сумма депозита (менее одного рубля)
7Ошибка системы
8Неверный формат параметра refundItems
8Отсутствует обязательный параметр Корзины
8Валюта в Корзине не совпадает с валютой заказа
8Сумма товарных позиций в Корзине не совпадает с общей суммой заказа
8Слишком большое либо слишком маленькое значение quantity
8Оригинальный заказ не содержит товарной позиции с указанным номером

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

1language=ru&
2orderId=830603cd-a886-483a-9a23-c37fb8018096&
3jsonParams={"name1":"value1"}&
4amount=9000&
5refundItems=
6{"items": 
7
8[  
9{ "positionId": "2", 
10"name": "Universal Mirror Enduro", 
11"itemDetails":{ "itemDetailsParams": [{"value": "Noname", "name": "brand"}, {"value": "12mm", "name": "diameter" }]},
12"quantity": { "value": 1.0, "measure": "штук" },
13"itemAmount": 6000, 
14"itemCurrency": "643", 
15"itemCode": "NM-15",
16"discount": { "discountType": "percent", "discountValue": "5" },
17"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
18"tax": {"taxType": 1,"taxSum": 111}, 
19"itemPrice": 6000
20},
21
22{ "positionId": "3", 
23"name": "Warm Grips", 
24"itemDetails": { "itemDetailsParams":[ { "value": "Noname", "name": "brand" }]}, 
25"quantity": { "value": 1.0, "measure": "штук" },
26"itemAmount": 3000, 
27"itemCurrency": 643, 
28"itemCode": "G-16",
29"discount": { "discountType": "percent", "discountValue": "5" },
30"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
31"tax": {"taxType": 1,"taxSum": 111}, 
32"itemPrice": 3000
33}
34] 
35
36}

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

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

Запрос сведений о кассовом чеке (REST)

Для получения сведений о чеках по заказу используется запрос getReceiptStatus.do.В запросе могут передаваться следующие данные: *идентификатор заказа — orderId или orderNumber;

  • идентификатор чека — uuid. Если передан идентификатор заказа (orderId или orderNumber), ответ возвращает все чеки данного заказа. При передаче только идентификатора чека ответ возвращает сведения только о данном чеке. Если указаны и идентификатор заказа, и чека, ответ возвращает все чеки заказа.
    Параметры запроса

НазваниеТипОбязательностьОписание
userNameAN.30да Логин магазина, полученный при подключении.
passwordAN.30да Пароль магазина, полученный при подключении.
orderIdANS36нетНомер заказа в платёжной системе. Уникален в пределах системы. Для выполнения запроса должен быть указан либо номер заказа, либо идентификатор в фискализаторе.
orderNumberAN.32нетНомер (идентификатор) заказа в системе магазина. Для выполнения запроса должен быть указан либо номер заказа, либо идентификатор в фискализаторе.
uuidANS.32нетИдентификатор чека в фискализаторе. Для выполнения запроса должен быть указан либо номер заказа, либо идентификатор в фискализаторе.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, считается, что язык — русский. Сообщение ошибке будет возвращено именно на этом языке.

Параметры ответа
Примечание Некоторые возвращаемые параметры могут зависеть от используемого оператора фискальных данных.

НазваниеТипОбязательностьОписание
errorCodeN3нетКод ошибки
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе.
orderNumberAN.32нетНомер (идентификатор) заказа в системе магазина
orderIdANS36нетНомер заказа в платёжной системе. Уникален в пределах системы
receipt —нетБлок с параметрами чека

Атрибуты блока Receipt представлены в таблице ниже.

НазваниеТипОбязательностьОписание
receiptStatusN2да По значению этого параметра определяется состояние чека. Поле может принимать следующие значения: 0 — Отправлен платёж; 1 — Доставлен платёж; 2 — Ошибка платежа; 3 — Отправлен возврат; 4 — Доставлен возврат; 5 — Ошибка возврата.
uuidANS.32нетИдентификатор чека в фискализаторе.
shift_numberNнетНомер смены.
receipt_numberNнетНомер чека в смене.
receipt_datetimeSнетДата и время чека в фискальном накопителе. Указывается как количество миллисекунд, прошедших с 00:00 1 января 1970 года.
fn_numberS.16нетНомер фискального накопителя.
ecr_registration_numberS.20нетРегистрационный номер контрольно-кассовой техники.
device_numberS.20нетРегистрационный номер контрольно-кассовой техники.
fiscal_document_numberNнетФискальный номер документа.
fiscal_document_attributeS.10нетФискальный признак документа.
amount_totalNS.11нетИтоговая сумма чека в рублях.
serial_numberS.20нетЗаводской номер контрольно-кассовой техники.
OFDN/AнетБлок с параметрами оператора фискальных данных. Описание приведено ниже.

Атрибуты блока OFD представлены в таблице ниже.

НазваниеТипОбязательностьОписание
nameS.256нетНаименование оператора фискальных данных.
websiteS.58нетСайт оператора фискальных данных.
INNS12нетИдентификационный номер налогоплательщика оператора фискальных данных.

Коды ошибок В таблице ниже представлены коды и сообщения ошибок.

Код ошибкиСообщение
1Необходим хотя бы один из параметров: orderId, orderNumber, uuid.
5Доступ запрещён.
6Чек не найден.
7Системная ошибка.

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

https://alfa.rbsuat.com/payment/rest/getReceiptStatus.do?userName=login-api&password=password&orderId=abd60d0c-e096-42c3-8b17-6081c67db214

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

{"errorCode»:"0»,"orderNumber»:"220170606034051002_177»,"orderId»:"abd60d0c-e096-42c3-8b17-6081c67db214»,"receipt»: [{"receiptStatus»: 1,"uuid»:"790925e5-739c-430c-9e92-79d9f14481a4»,"shift_number»:"27»,"fiscal_receipt_number»:"21»,"receipt_date_time»: 1499256900000,"fn_number»:"9999078900006364»,"ecr_registration_number»:"1234567890023481»,"fiscal_document_number»:"21»,"fiscal_document_attribute»:"3713381819»,"amount_total»: 10000}]}

Расширенный запрос состояния заказа (REST)

Для запроса состояния зарегистрированного заказа используется запрос getOrderStatusExtended.do.
Параметры запроса

НазваниеТипОбязательностьОписание
userNameAN.30да Логин магазина, полученный при подключении
passwordAN.30да Пароль магазина, полученный при подключении
orderIdANS36да*Номер заказа в платёжной системе. Уникален в пределах системы.
orderNumberAN.32да*Номер (идентификатор) заказа в системе магазина.
languageA2нетЯзык в кодировке ISO 639-1. Если не указан, считается, что язык — русский. Сообщение ошибке будет возвращено именно на этом языке.

Примечание В запросе должен присутствовать либо orderId, либо orderNumber. Если в запросе присутствуют оба параметра, то приоритетным считается orderId. Существует несколько наборов параметров ответа. Какие именно наборы параметров будут возвращены, завит от версии getOrderStatusExtended, указанной в настройках продавца.

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
orderNumberAN.32да Номер (идентификатор) заказа в системе магазина.Все версии.
orderStatusN2нетПо значению этого параметра определяется состояние заказа в платёжной системе. Список возможных значений: Отсутствует, если заказ не был найден; 0 — Заказ зарегистрирован, но не оплачен; 1 — Предавторизованная сумма захолдирована (для двухстадийных платежей); 2 — Проведена полная авторизация суммы заказа; 3 — Авторизация отменена; 4 — По транзакции была проведена операция возврата; 5 — Инициирована авторизация через ACS банка-эмитента; 6 — Авторизация отклонена.Все версии.
actionCodeN3да Код ответа.Все версии.
actionCodeDescriptionAN.512да Расшифровка кода ответа на языке, переданном в параметре language в запросе.Все версии.
errorCodeN3нетКод ошибки. Возможны следующие варианты:0 — Обработка запроса прошла без системных ошибок; 1 — Ожидается orderId или orderNumber; 5 — Доступ запрещён; 5 — Пользователь должен сменить свой пароль; 6 — Заказ не найден; 7 — Системная ошибка.Все версии.
errorMessageAN.512нетОписание ошибки на языке, переданном в параметре language в запросе.Все версии.
amountN.20да Сумма платежа в копейках (или центах)Все версии.
currencyN3нетКод валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли).Все версии.
dateANSда Дата регистрации заказа.Все версии.
orderDescriptionAN.512нетОписание заказа, переданное при его регистрацииВсе версии.
ipAN.20да IP-адрес покупателя.Все версии.

Элемент merchantOrderParams — присутствует в ответе, если в заказе содержатся дополнительные параметры продавца. Каждый дополнительный параметр заказа представлен в отдельном элементе merchantOrderParams.

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
nameAN.20нетНазвание дополнительного параметраВсе версии.
valueAN.1024нетЗначение дополнительного параметраВсе версии.

Элемент cardAuthInfo — в элементе лежит структура, состоящая из списка элемента secureAuthInfo и следующих параметеров:

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
panN.19нетМаскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.Все версии.
expirationN6нетСрок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа.Все версии.
cardholderNameA.64нетИмя держателя карты. Указан только после оплаты заказа.Все версии.
approvalCodeAN6нетКод авторизации платежа. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. Указан только после оплаты заказа.Все версии.
chargebackA.5нетБыли ли средства принудительно возвращены покупателю банком. Возможны следующие значения:true (истина); false (ложь).06 и выше.
paymentSystemN.10да Наименование платёжной системы. Доступны следующие варианты:VISA; MASTERCARD; AMEX; JCB; CUP; MIR.08 и выше.
productAN.255да Дополнительные сведения о корпоративных картах. Эти сведения заполняются службой технической поддержки в консоли управления. Если такие сведения отсутствуют, возвращается пустое значение.08 и выше.
paymentWayAS.14да Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.).09 и выше.

Элемент secureAuthInfo (элемент состоит из элемента eci и элемента threeDSInfo, являющимся списком параметров cavv и xid):

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
eciN.4нетЭлектронный коммерческий индикатор. Указан только после оплаты заказа и в случае соответствующего разрешения.Все версии.
cavvANS.200нетЗначение проверки аутенфикации владельца карты. Указан только после оплаты заказа и в случае соответствующего разрешения.Все версии.
xidANS.80нетЭлектронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае соответствующего разрешения.Все версии.

Элемент bindingInfo состоит из параметров:

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
clientIdANS.255нетНомер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок.Все версии.
bindingIdAN.255нетИдентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.Все версии.
authDateTimeANSнетДата/время авторизации.02 и выше.
authRefNumAN.24нетУчётный номер авторизации платежа, который присваивается при регистрации платежа.02 и выше.
terminalIdAN.10нетId терминала.02 и выше.

Элемент paymentAmountInfo состоит из параметров:

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
approvedAmountN.20нетСумма, захолдированная на карте (используется только при двухстадийных платежах).03 и выше.
depositedAmountN.20нетСумма, подтверждённая для списания с карты.03 и выше.
refundedAmountN.20нетСумма возврата.03 и выше.
paymentStateA.10нетСостояние заказа.03 и выше.
feeAmountN.20нетСумма комиссии.11 и выше.

Элемент bankInfo состоит из параметров:

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
bankNameAN.200нетНаименование банка-эмитента.03 и выше.
bankCountryCodeAN.4нетКод страны банка-эмитента.03 и выше.
bankCountryNameAN.160нетНаименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан.03 и выше.
orderBundleСм. описаниенетБлок, содержащий корзину товаров заказа. Описание его атрибутов представлено ниже.03 и выше.

Содержимое orderBundle

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
customerDetailsСм. описаниенетБлок данных о клиенте. См. описание ниже.03 и выше.
cartItemsСм. описаниенетБлок с атрибутами товарных позиции к орзины товаров. Описание его атрибутов представлено ниже.03 и выше.

Содержимое customerDetails

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
emailANS.40нетАдрес электронной почты покупателя.03 и выше.
phoneN.12нетТелефон покупателя.03 и выше.
fullNameN..100нетФамилия, имя и отчество плательщика.13 и выше.
passportN.100нетСерия и номер паспорта плательщика в следующем формате: 2222888888.13 и выше.
innN.12нетИдентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов.13 и выше.

Содержимое cartItems

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
itemsСм. описаниенетМассив блоков, описывающих товарные позиции в корзине товаров. Описание параметров блоков представлено ниже. Информация по каждой товарной позиции корзины передаётся в отдельном блоке, входящем в состав items.03 и выше.

Содержимое items

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
positionIdN.12нетУникальный идентификатор товарной позиции внутри корзины заказа.03 и выше.
nameANS.100нетНаименование или описание товарной позиции в свободной форме.03 и выше.
quantityСм. описаниенетЭлемент, описывающий общее количество товарных позиций одного positionId и их меру измерения. Описание его атрибутов представлено ниже.03 и выше.
itemAmountN.18нетСумма стоимости всех товарных позиций одного positionId в деньгах в минимальных единицах валюты.03 и выше.
depositedItemAmountN.18нетСумма в минимальных единицах валюты (например, в копейках) одного positionId, подтверждённая для списания с карты.03 и выше.
itemCurrencyN3нетКод валюты товарной позиции ISO 4217.03 и выше.
itemCodeANS.100нетНомер (идентификатор) товарной позиции в системе магазина. Параметр должен быть уникальным в рамках запроса.03 и выше.

Содержимое quantity

НазваниеТипОбязательноОписаниеВерсия getOrderStatusExtended
valueN.18нетКоличество товарных позиций данного positionId. Для указания дробных чисел используйте десятичную точку.03 и выше.
measureANS.20нетМера измерения количества товарной позиции.03 и выше.

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

orderId=b9054496-c65a-4975-9418-1051d101f1b9&language=ru&merchantOrderNumber=0784sse49d0s134567890

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

{"errorCode»:"0»,"errorMessage»:"Успешно»,"orderNumber»:"220170606034051002_28»,"orderStatus»: 2,"actionCode»: 0,"actionCodeDescription»:»»,"amount»: 52500,"currency»:"643»,"date»: 1499343399327,"depositedDate»: 1499343424170,"orderDescription»:»»,"ip»:"127.0.0.1»,"merchantOrderParams»: [],"attributes»: [{"name»:"mdOrder»,"value»:"467db186-3aaf-4ba1-a66d-403bdde6c86f"}],"cardAuthInfo»: {"expiration»:"202012»,"cardholderName»:"test»,"approvalCode»:"123456»,"paymentSystem»:"VISA»,"pan»:"411111**1111"},"authDateTime»: 1499343423166,"terminalId»:"123456»,"authRefNum»:"111111111111»,"paymentAmountInfo»: {"paymentState»:"DEPOSITED»,"approvedAmount»: 52500,"depositedAmount»: 52500,"refundedAmount»: 0,"feeAmount»: 0},"bankInfo»: {"bankName»:"test»,"bankCountryCode»:"RU»,"bankCountryName»:"Россия"},"orderBundle»: {"customerDetails»: {"email»:"test@test.ru»,"phone»:"79998887766"},"cartItems»: {"items»: [{"positionId»:"1»,"name»:"name»,"quantity»: {"value»: 1.0,"measure»:"me"},"itemAmount»: 52500,"depositedItemAmount»: 52500,"itemCurrency»: 643,"itemCode»:"1246754788"}]}},"chargeback»: false,"paymentWay»:"CARD"}

Координаты подключения

При регистрации продавца, представителю предоставляется логин и пароль, который можно использовать в личном кабинете, а также нужно использовать в протоколах. Описание тестового сервиса (WSDL) находится по адресу: https://alfa.rbsuat.com/payment/webservices/merchant-ws?wsdl. URL для доступа к методам REST:

Название методаURL
Регистрация заказаhttps://alfa.rbsuat.com/payment/rest/register.do
Регистрация заказа с предавторизациейhttps://alfa.rbsuat.com/payment/rest/registerPreAuth.do
Запрос завершения оплаты заказаhttps://alfa.rbsuat.com/payment/rest/deposit.do
Запрос отмены оплаты заказаhttps://alfa.rbsuat.com/payment/rest/reverse.do
Запрос возврата средств оплаты заказаhttps://alfa.rbsuat.com/payment/rest/refund.do
Запрос сведений о кассовом чекеhttps://alfa.rbsuat.com/payment/rest/getReceiptStatus.do
Расширенный запрос состояния заказаhttps://alfa.rbsuat.com/payment/rest/getOrderStatusExtended.do

Учётные данные для тестирования фискализации (ОФД Orange Data)

Для тестирования функциональности фискализации через оператор фискальных данных Orange Data в личном кабинете платёжного шлюза используйте следующие учётные данные:

  • ИНН — 7728168971;

  • Группа — 1. В тестовом личном кабинете ОФД-Такском вы можете проверить наличие фискального чека после успешной операции:

  • URL-адрес — https://tlk-ofd.taxcom.ru/

  • Логин — ers@alfabank.ru;

  • Пароль — AlfaEcom20