Введение

Согласно 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 руб
    • 15 месяцев – 16 200 руб
    • 36 месяцев – 42 000 руб
  • Услуги оператора фискальных данных (ОФД) Билайн - входят в тариф
  • Отправка чека по email - входит в тариф
  • Отправка чека по СМС - 1,68 руб/смс
  • Стоимость фискального накопителя:
    • на 15 мес. 9 120 руб
    • на 36 мес. 14 100 руб

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

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


ЭВОТОР - цифровая касса

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

  • Стоимость обслуживания облачной кассы ЭВОТОР:
    • 1 месяц - 1 600 руб
    • 12 месяцев – 17 520 руб
  • Подключение сервиса – бесплатно
  • Автоматическая интеграция кассы в ФНС – бесплатно
  • Обслуживание от ТАКСКОМ ОФД и Первый ОФД - бесплатно
  • Выделенный менеджер на этапе подключения - бесплатно
  • Стоимость фискального накопителя:
    • на 15 мес. 9 900 руб.
    • на 36 мес. 15 000 руб.

Подключение по ссылке


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


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

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

  • Подключение сервиса – бесплатно
  • Услуги передачи фискальных данных (ОФД) от OFD.ru – бесплатно
  • Стоимость сервиса Ferma на 1 ККТ в рамках тарифов:

    • тариф “месячный”: 2 100 руб. за месяц
    • тариф “годовой ”: 22 200 руб. за год
    • тариф “13 месяцев”: 24 050 руб. за 13 месяцев
    • тариф “15 месяцев”: 27 000 руб. за 15 месяцев
    • тариф “почековый”: 4 389 руб. за пакет из 399 чеков (в этом случае за аренду кассы клиент не платит)
  • Стоимость фискальных накопителей:

    • На 15 месяцев: 10 500 руб.
    • На 36 месяцев: 15 700 руб.

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


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

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

  • Стоимость аренды облачной кассы Бизнес.Ру Онлайн-Чеки:
    • Тариф «Почековый» - 1 500 руб/мес.
    • Тариф «Безлимит» – 2 200 руб./мес.
  • Подключение кассы – бесплатно
  • Услуги оператора фискальных данных (ОФД) - входят в тариф
  • Мобильное приложение для контроля продаж - бесплатно
  • Индивидуальный менеджер на каждом этапе подключения - бесплатно
  • Стоимость фискального накопителя:
    • на 15 мес. 10 990 руб.
    • на 36 мес. 15 990 руб.

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


LIFE PAY «Облачная касса» - аренда кассы для онлайн и мобильной торговли

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

  • Стоимость аренды облачной кассы:
    • 3 месяца - 6 000 руб
    • 6 месяцев – 11 000 руб
    • 12 месяцев – 20 000 руб
  • Первый месяц бесплатно
  • Сервис выставления платежных ссылок оплаты по СБП - бесплатно
  • Стоимость фискального накопителя, ОФД и регистрации в ФНС :
    • на 15 мес. 14 500 руб.
    • на 36 мес. 19 500 руб.

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


PayKeeper Касса - аренда кассы для онлайн-торговли (или облачная касса для интернет-магазинов и онлайн-сервисов)

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

  • Стоимость аренды облачной онлайн-кассы PayKeeper:
    • 1 месяц - 1 520 руб
    • 6 месяцев – 9 120 руб
    • 12 месяцев – 18 240 руб
    • 24 месяца – 36 480 руб
  • Услуги оператор фискальных данных – 1 год в подарок
  • Стоимость фискального накопителя:
    • на 15 мес. 8 520 руб.
    • на 36 мес. 12 970 руб.

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

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


КОМТЕТ Касса - сервис аренды облачных касс

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

  • Стоимость обслуживания облачной кассы:
    • «Спецтариф» 1 месяц - 1 500 руб
  • Подключение и настройка – бесплатно
  • ОФД – бесплатно на весь срок аренды облачной кассы
  • Персональный менеджер – бесплатно: свой специалист, который не будет перебрасывать с оператора на оператора, вовремя ответит на все вопросы и поможет решить любую проблему
  • Техподдержка – бесплатно по 8 800 234-25-11, в электронной почте, в чате на сайте, в whatsapp и telegram
  • Мобильное приложение для мобильных кассиров и курьеров, которое примет оплату и сделает чек по 54-ФЗ
  • Стоимость фискального накопителя:
    • на 15 мес. 10 500 руб.
    • на 36 мес. 15 500 руб.

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


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

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

  • Стоимость обслуживания облачной кассы АТОЛ Онлайн:
    • «Помесячный» тариф - 1 500 руб.
    • «Годовой» тариф – 18 000 руб.
    • «Почековый» тариф – от 10 руб./чек
  • Подключение сервиса – бесплатно
  • Помощь в регистрации кассы в ФНС – бесплатно
  • Обслуживание от ТАКСКОМ ОФД и Первый ОФД - бесплатно
  • Выделенный менеджер на этапе подключения - бесплатно
  • Стоимость фискального накопителя:
    • на 15 мес. 10 500 руб.
    • на 36 мес. 15 600 руб.

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

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


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

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

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

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

FAQ

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

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

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

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

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

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

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

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

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

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

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

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

  • В случае завершения на полную предавторизованную сумму передача Корзины необязательна.
  • Сумма завершения в Корзине не должна превышать предавторизованную денежную сумму заказа.
  • При завершении заказа на сумму отличную от суммы предавторизации (кроме передачи значения «0») обязательно должна передаваться Корзина товаров.
  • Все товарные позиции Корзины должны быть выражены в одной и той же валюте (если валюта позиций указывается), и должны совпадать с валютой оригинального Заказа.
  • В Корзине запрещены для передачи новые товарные позиции, отсутствующие в оригинальном заказе. Происходит проверка наличия указанного товара в Корзине запроса на завершение в изначальном заказе. Необходимо совпадение элементов <positionId>, <name>, <itemCode>. Если хотя бы одно из значений не совпадает, считается, что данная товарная позиция отсутствует в Корзине заказа на регистрацию.
  • Значение элемента <quantity> в Корзине запроса на завершение не должно превышать значение аналогичного параметра в Корзине заказа на регистрацию.
  • Значение элемента <itemAmount> блока <items> не должно превышать значение аналогичного параметра в оригинальном заказе.
  • По каждой товарной позиции производится проверка переданного значения <quantity>. В случае если значение слишком большое или слишком маленькое, то запрос завершается ошибкой.
  • Все параметры Корзины валидируются на соответствие требуемому формату (длине).
    В случае невыполнения хотя бы одного из указанных выше условий, запрос завершения заказа считается неправильно сформированным и Платёжный шлюз возвращает ошибку.

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

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

  • В случае полного возврата Заказа, передача Корзины товаров необязательна.
  • При возврате заказа на сумму отличную от суммы списания (кроме передачи значения «0») обязательно должна передаваться Корзина товаров.
  • В случае проведения нескольких возвратов по заказам с Корзиной, все они должны осуществляться только по алгоритму возврата с Корзиной.
  • Сумма возврата в Корзине не должна превышать подтверждённую денежную сумму оригинального заказа.
  • Все товарные позиции Корзины должны быть выражены в одной и той же валюте (если валюта позиций указывается), совпадающей с валютой оригинального Заказа.
  • В Корзине запрещены для передачи товарные позиции, отсутствующие в оригинальном заказе. Происходит проверка наличия указанного товара в Корзине запроса на возврат в изначальном заказе. Необходимо совпадение элементов <positionId>, <name>, <itemCode>. Если хотя бы одно из значений не совпадает, считается, что данная товарная позиция отсутствует в оригинальном заказе.
  • Значение элемента <quantity> в Корзине запроса на завершение не должно превышать значение аналогичного параметра в Корзине заказа на регистрацию.
  • Значение элемента <itemAmount> блока <items> не должно превышать значение аналогичного параметра в оригинальном заказе.
  • Все параметры Корзины валидируются на соответствие требуемому формату (длине).
    В случае невыполнения хотя бы одного из указанных выше условий, запрос возврата заказа считается неправильно сформированным и Платёжный шлюз должен вернуть ошибку.

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

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


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


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

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

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

Название Тип Обязательно Описание
merchantOrderNumber ANS..32 да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно.
description ANS..512 нет Описание заказа в свободной форме. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку.
amount N..20 да Сумма платежа в копейках (или центах)
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
pageView ANS..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.

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

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

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

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

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

clientId AN..255 нет

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

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

merchantLogin AN..255 нет Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре.
features ANS..255 нет AUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей.
orderBundle N/A - Корзина товаров заказа. Описание представлено ниже.
taxSystem N..2 да - для фискализации (для магазинов без настроек фискализации параметр не обязателен)

Система налогообложения, доступны следующие значения:

  • "0" - общая;
  • "1" - упрощённая, доход;
  • "2" - упрощённая, доход минус расход;
  • "3" - единый налог на вменённый доход;
  • "4" - единый сельскохозяйственный налог;
  • "5" - патентная система налогообложения.

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

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


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

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

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

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

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
payingOperation ANS..24 нет Наименование операции платёжного агента.
payingPhones массив ANS..19 нет Массив телефонов платёжного агента в формате +N.
paymentsOperatorPhones массив ANS..19 нет Массив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhones массив ANS..19 нет Массив телефонов оператора перевода в формате +N.
MTOperatorName ANS..64 нет Наименование оператора перевода.
MTOperatorAddress ANS..256 нет Адрес оператора перевода.
MTOperatorInn N10..12 нет ИНН оператора перевода.


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

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


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

Название Тип Обязательно Описание
deliveryType ANS..20 нет Тип доставки
country A..2 да Страна доставки (в соответствии с ISO 3166-1)
city ANS..40 да Город доставки
postAddress ANS..255 да Адрес доставки


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

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


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

Название Тип Обязательно Описание
name ANS..100 да Наименование или описание товарной позиции в свободной форме
itemDetails N/A нет Дополнительный тэг с параметрами описания товарной позиции. Описание его атрибутов представлено ниже.
quantity N..18 да В данном параметре передаётся общее количество товарных позиций одного positionId. Для указания дробных чисел используется десятичная точка. Мера измерения передаётся в виде атрибута: measure, ANS..20, обязательно (мера измерения количества товарной позиции).
itemAmount N..18 нет (см. описание) Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPricequantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrency N..3 нет Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCode ANS..100 да Номер (идентификатор) товарной позиции в системе магазина. Параметр должен быть уникальным в рамках запроса.
discount N/A нет Дополнительный тэг с атрибутами описания скидки для товарной позиции. Описание его атрибутов представлено ниже.
agentInterest N/A нет Дополнительный тэг с атрибутами описания агентской комиссии за продажу товара. Описание его атрибутов представлено ниже.
tax N/A да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) Тэг с параметрами для описания налога, описание представлено ниже.
itemPrice N..18 да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) Стоимость одной товарной позиции данного positionId в деньгах в минимальных единицах валюты. Обязательно для мерчантов с фискализацией
itemAttributes См. описание нет Тэг, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

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

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

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

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

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

  • "1" - товар;
  • "2" - подакцизный товар;
  • "3" - работа;
  • "4" - услуга;
  • "5" - ставка азартной игры;
  • "6" - выигрыш азартной игры;
  • "7" - лотерейный билет;
  • "8" - выигрыш лотереи;
  • "9" - предоставление РИД;
  • "10" - платёж;
  • "11" - агентское вознаграждение;
  • "12" - составной предмет расчёта;
  • "13" - иной предмет расчёта.
nomenclature ANS нет Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 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.phones Maccив ANS..19 нет Массив телефонов поставщика в формате +N.
supplier_info.name ANS..256 нет Наименование поставщика.
supplier_info.inn N10..12 нет ИНН поставщика.
agent_info.type N..2 Обязателен, только если передан объект agent_info.

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
agent_info.paying.operation ANS..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.name ANS..64 нет Наименование оператора перевода.
agent_info.MTOperator.address ANS..256 нет Адрес оператора перевода.
agent_info.MTOperator.inn ANS..256 нет ИНН оператора перевода.


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

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


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

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


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

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


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

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

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

  • "0" – без НДС;
  • "1" – НДС по ставке 0%;
  • "2" – НДС чека по ставке 10%;
  • "3" – НДС чека по ставке 18%;
  • "4" – НДС чека по расчётной ставке 10/110;
  • "5" – НДС чека по расчётной ставке 18/118;
  • "6" – НДС чека по ставке 20%;
  • "7" – НДС чека по расчётной ставке 20/120;

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

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

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

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

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

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

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

html
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
   <soapenv:Header/>
   <soapenv:Body>
      <mer:registerOrder>
         <order merchantOrderNumber="110a88qerf8kfqdarf" description=" " amount="24000" currency=" " pageView=" " sessionTimeoutSecs="5400" binding=" " expirationDate=" ">
            <!--Optional:-->
            <returnUrl>https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html</returnUrl>
            <!--Zero or more repetitions:-->
            <params name="param1" value="valueParam1"/>
            <params name="param2" value="valueParam2"/>
            <!--Optional:-->
            <clientId>666</clientId>
            <!--Optional:-->
            <merchantLogin> </merchantLogin>
            <taxSystem>0</taxSystem>
            <!--Optional:-->
             <orderBundle>
               <!-- Optional: -->
               <orderCreationDate>2013-07-12T13:51:00</orderCreationDate>
               <!-- Информация о покупателе -->
               <!-- Optional: -->
               <customerDetails>
                  <!-- Optional: -->
                  <email>johnsmith@mail.ru</email>
                  <!-- Optional: -->
                  <phone>79851231234</phone>
                  <!-- Optional: -->
                  <contact>Mega Tester</contact>
                  <!-- Optional: -->
                  <deliveryInfo>
                     <!-- Optional: -->
                     <deliveryType>courier</deliveryType>
                     <country>RU</country>
                     <city>Moscow</city>
                     <postAddress>Земляной Вал 50А стр.2</postAddress>
                  </deliveryInfo>
               </customerDetails>
 
               <!-- Состав Корзины -->
               <cartItems>
                  <!-- Zero or more repetitions: -->
     
                  <items positionId="1">
                     <name>Metzeler Enduro 3 Sahara</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Metzeler</itemDetailsParams>
                        <itemDetailsParams name="radius">17inch</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>8000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>T-M-14</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>8000</itemPrice>
                  </items>
 
                 <items positionId="2">
                     <name>Universal Mirror Enduro</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
                        <itemDetailsParams name="diameter">12mm</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>8000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>NM-15</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>8000</itemPrice>
                  </items>
 
                  <items positionId="3">
                     <name>Warm Grips</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>8000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>G-16</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>8000</itemPrice>
                  </items>
               </cartItems>
     
            </orderBundle>
                </soapenv:Body>
    
    </soapenv:Envelope>
    

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

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

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

Название Тип Обязательно Описание
merchantOrderNumber ANS..32 да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно.
description ANS..512 нет Описание заказа в свободной форме. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку.
amount N..20 да Сумма платежа в копейках (или центах)
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.
pageView ANS..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.

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

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

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

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

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

clientId AN..255 нет

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

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

merchantLogin AN..255 нет Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре.
features ANS..255 нет AUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей.
orderBundle N/A - Корзина товаров заказа. Описание представлено ниже.
taxSystem N..2 да - для фискализации (для магазинов без настроек фискализации параметр не обязателен)

Система налогообложения, доступны следующие значения:

  • "0" - общая;
  • "1" - упрощённая, доход;
  • "2" - упрощённая, доход минус расход;
  • "3" - единый налог на вменённый доход;
  • "4" - единый сельскохозяйственный налог;
  • "5" - патентная система налогообложения.
autocompletionDate ANS..19 нет Дата и время автозавершения двухстадийного платежа в следующем формате: 2017-12-29T13:02:51.

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

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


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

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

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

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

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
payingOperation ANS..24 нет Наименование операции платёжного агента.
payingPhones массив ANS..19 нет Массив телефонов платёжного агента в формате +N.
paymentsOperatorPhones массив ANS..19 нет Массив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhones массив ANS..19 нет Массив телефонов оператора перевода в формате +N.
MTOperatorName ANS..64 нет Наименование оператора перевода.
MTOperatorAddress ANS..256 нет Адрес оператора перевода.
MTOperatorInn N10..12 нет ИНН оператора перевода.


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

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


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

Название Тип Обязательно Описание
deliveryType ANS..20 нет Тип доставки
country A..2 да Страна доставки (в соответствии с ISO 3166-1)
city ANS..40 да Город доставки
postAddress ANS..255 да Адрес доставки


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

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


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

Название Тип Обязательно Описание
positionId ANS..12 да Уникальный идентификатор товарной позиции внутри Корзины Заказа
name ANS..100 да Наименование или описание товарной позиции в свободной форме
itemDetails - нет Дополнительный тэг с параметрами описания товарной позиции. Описание приведено ниже.
quantity N..18 да Элемент описывающий общее количество товарных позиций одного positionId и их меру измерения. Для указания дробных чисел используется десятичная точка. Для данного параметра указывается атрибут: measure, ANS..20, обязательно (мера измерения количества товарной позиции).
itemAmount N..18 нет (см. описание) Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPricequantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrency N..3 нет Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCode ANS..100 да Номер (идентификатор) товарной позиции в системе магазина
discount N/A нет Дополнительный тэг с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterest N/A нет Дополнительный тэг с атрибутами описания агентской комиссии за продажу товара. Описание приведено ниже.
tax N/A да - для фискализации (для магазинов без настроек фискализации параметр необязателен) Дополнительный тэг с атрибутами описания налога. Описание приведено ниже.
itemPrice N..18 да - для фискализации (для магазинов без настроек фискализации параметр необязателен) Стоимость одной товарной позиции одного positionId в деньгах в минимальных единицах валюты. Обязательно для мерчантов с фискализацией
itemAttributes См. описание нет Тэг, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

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

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

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

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

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

  • "1" - товар;
  • "2" - подакцизный товар;
  • "3" - работа;
  • "4" - услуга;
  • "5" - ставка азартной игры;
  • "6" - выигрыш азартной игры;
  • "7" - лотерейный билет;
  • "8" - выигрыш лотереи;
  • "9" - предоставление РИД;
  • "10" - платёж;
  • "11" - агентское вознаграждение;
  • "12" - составной предмет расчёта;
  • "13" - иной предмет расчёта.
nomenclature ANS нет Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 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.phones Maccив ANS..19 нет Массив телефонов поставщика в формате +N.
supplier_info.name ANS..256 нет Наименование поставщика.
supplier_info.inn N10..12 нет ИНН поставщика.
agent_info.type N..2 Обязателен, только если передан объект agent_info.

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
agent_info.paying.operation ANS..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.name ANS..64 нет Наименование оператора перевода.
agent_info.MTOperator.address ANS..256 нет Адрес оператора перевода.
agent_info.MTOperator.inn ANS..256 нет ИНН оператора перевода.


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

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


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

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


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

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


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

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


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

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

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

  • "0" – без НДС;
  • "1" – НДС по ставке 0%;
  • "2" – НДС чека по ставке 10%;
  • "3" – НДС чека по ставке 18%;
  • "4" – НДС чека по расчётной ставке 10/110;
  • "5" – НДС чека по расчётной ставке 18/118;
  • "6" – НДС чека по ставке 20%;
  • "7" – НДС чека по расчётной ставке 20/120;

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

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

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

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

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

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

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

html
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
   <soapenv:Header/>
   <soapenv:Body>
      <mer:registerOrderPreAuth>
         <order merchantOrderNumber="23a89ioouygnuygjhv" description="short" amount="24000" currency="643" language="ru" pageView=" " sessionTimeoutSecs="5400" bindingId=" ">
            <returnUrl>https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html</returnUrl>
            <!--Zero or more repetitions:-->
            <params name=" " value=" "/>
            <!--Optional:-->
            <clientId>666</clientId>
            <!--Optional:-->
            <merchantLogin> </merchantLogin>
            <taxSystem>0</taxSystem>
             
             <orderBundle>
               <!-- Optional: -->
               <orderCreationDate>2013-07-12T13:51:00</orderCreationDate>
               <!-- Информация о покупателе -->
               <!-- Optional: -->
               <customerDetails>
                  <!-- Optional: -->
                  <email>johnsmith@mail.ru</email>
                  <!-- Optional: -->
                  <phone>79851231234</phone>
                  <!-- Optional: -->
                  <contact>Mega Tester</contact>
                  <!-- Optional: -->
                  <deliveryInfo>
                     <!-- Optional: -->
                     <deliveryType>courier</deliveryType>
                     <country>RU</country>
                     <city>Moscow</city>
                     <postAddress>Земляной Вал 50А стр.2</postAddress>
                  </deliveryInfo>
               </customerDetails>
 
               <!-- Состав Корзины -->
               <cartItems>
                  <!-- Zero or more repetitions: -->
                  <items positionId="1">
                     <name>Metzeler Enduro 3 Sahara</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Metzeler</itemDetailsParams>
                        <itemDetailsParams name="radius">17inch</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>8000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>T-M-14</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>8000</itemPrice>
                  </items>
 
                  <items positionId="2">
                     <name>Universal Mirror Enduro</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
                        <itemDetailsParams name="diameter">12mm</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>8000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>NM-15</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>8000</itemPrice>
                  </items>
 
                  <items positionId="3">
                     <name>Warm Grips</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>8000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>G-16</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>8000</itemPrice>
                  </items>
               </cartItems>
 
            </orderBundle>
 
         </order>
      </mer:registerOrderPreAuth>
   </soapenv:Body>
</soapenv:Envelope>
    

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

html
        <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.
Данную операцию можно осуществлять, если есть соответствующие права в системе.
Параметры запроса:

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

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

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

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
payingOperation ANS..24 нет Наименование операции платёжного агента.
payingPhones массив ANS..19 нет Массив телефонов платёжного агента в формате +N.
paymentsOperatorPhones массив ANS..19 нет Массив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhones массив ANS..19 нет Массив телефонов оператора перевода в формате +N.
MTOperatorName ANS..64 нет Наименование оператора перевода.
MTOperatorAddress ANS..256 нет Адрес оператора перевода.
MTOperatorInn N10..12 нет ИНН оператора перевода.

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

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

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

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

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

html
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
   <soapenv:Header/>
   <soapenv:Body>
      <mer:depositOrder>
         <order language="ru" orderId="8c76c56b-426c-435d-a24c-1c0927dd6fca" depositAmount=" ">
            <!--Optional:-->
            <!--Zero or more repetitions:-->
            <params name=" " value=" "/>
         </order>
      </mer:depositOrder>
   </soapenv:Body>
</soapenv:Envelope>
    

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

html
        <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 с обязательным указанием Корзины.
Для доступа к выполнению данной операции пользователь должен обладать соответствующими правами в системе.
Раздел "Требования к формированию запросов завершения заказа с Корзиной" содержит список условий, необходимых для корректного формирования запроса.
Параметры запроса:

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

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

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

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
payingOperation ANS..24 нет Наименование операции платёжного агента.
payingPhones массив ANS..19 нет Массив телефонов платёжного агента в формате +N.
paymentsOperatorPhones массив ANS..19 нет Массив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhones массив ANS..19 нет Массив телефонов оператора перевода в формате +N.
MTOperatorName ANS..64 нет Наименование оператора перевода.
MTOperatorAddress ANS..256 нет Адрес оператора перевода.
MTOperatorInn N10..12 нет ИНН оператора перевода.


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

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


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

Название Тип Обязательно Описание
positionId ANS..12 да Уникальный идентификатор товарной позиции внутри Корзины Заказа
name ANS..100 да Наименование или описание товарной позиции в свободной форме
itemDetails N/A нет Дополнительный тэг с параметрами описания товарной позиции. Описание приведено ниже.
quantity N..18 да Элемент описывающий общее количество товарных позиций одного positionId и их меру измерения. Для указания дробных чисел используйте десятичную точку. Для данного параметра указывается атрибут: measure, ..20, обяpательно (измерения количества товарной позиции).
itemAmount N..18 нет (см. описание) Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPricequantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrency N..3 нет Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCode ANS..100 да Номер (идентификатор) товарной позиции в системе магазина
discount N/A нет Дополнительный тэг с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterest - нет Дополнительный тэг с атрибутами описания агентской комиссии за продажу товара
tax - да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) Дополнительный тэг с атрибутами описания налога.
itemPrice N..18 да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) Стоимость одной товарной позиции одного positionId в минимальных единицах валюты. Обязательно для мерчантов с фискализацией
itemAttributes См. описание нет Тэг, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

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

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

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

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

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

  • "1" - товар;
  • "2" - подакцизный товар;
  • "3" - работа;
  • "4" - услуга;
  • "5" - ставка азартной игры;
  • "6" - выигрыш азартной игры;
  • "7" - лотерейный билет;
  • "8" - выигрыш лотереи;
  • "9" - предоставление РИД;
  • "10" - платёж;
  • "11" - агентское вознаграждение;
  • "12" - составной предмет расчёта;
  • "13" - иной предмет расчёта.
nomenclature ANS нет Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 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.phones Maccив ANS..19 нет Массив телефонов поставщика в формате +N.
supplier_info.name ANS..256 нет Наименование поставщика.
supplier_info.inn N10..12 нет ИНН поставщика.
agent_info.type N..2 Обязателен, только если передан объект agent_info.

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
agent_info.paying.operation ANS..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.name ANS..64 нет Наименование оператора перевода.
agent_info.MTOperator.address ANS..256 нет Адрес оператора перевода.
agent_info.MTOperator.inn ANS..256 нет ИНН оператора перевода.


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

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

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

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


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

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

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

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

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

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

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

  • "0" – без НДС;
  • "1" – НДС по ставке 0%;
  • "2" – НДС чека по ставке 10%;
  • "3" – НДС чека по ставке 18%;
  • "4" – НДС чека по расчётной ставке 10/110;
  • "5" – НДС чека по расчётной ставке 18/118;
  • "6" – НДС чека по ставке 20%;
  • "7" – НДС чека по расчётной ставке 20/120;

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

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

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

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

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

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

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

html
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
   <soapenv:Header/>
   <soapenv:Body>
      <mer:depositOrder>
         <order language="ru" orderId="76d7885f-562a-4bac-abc3-18ecaaaca797" depositAmount="20777">
            <!--Optional:-->
            <depositItems>
               <!--Zero or more repetitions:-->
                <items positionId="1">
                     <name>Metzeler Enduro 3 Sahara</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Metzeler</itemDetailsParams>
                        <itemDetailsParams name="radius">17inch</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>7777</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>T-M-14</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>7777</itemPrice>
                  </items>
                  <items positionId="2">
                     <name>Universal Mirror Enduro</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
                        <itemDetailsParams name="diameter">12mm</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>5000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>NM-15</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>5000</itemPrice>
                  </items>
                  <items positionId="3">
                     <name>Warm Grips</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>8000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>G-16</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>8000</itemPrice>
                  </items>
            </depositItems>
            <!--Zero or more repetitions:-->
            <params name=" " value=" "/>
         </order>
      </mer:depositOrder>
   </soapenv:Body>
</soapenv:Envelope>
    

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

html
        <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. Функция отмены доступна в течение ограниченного времени после оплаты, точные сроки необходимо уточнять в Банке.
Операция отмены оплаты может быть совершена только один раз. Если она закончится ошибкой, то повторная операция отмены платежа не пройдёт.
Данная функция доступна магазинам по согласованию с Банком. Для выполнения операции отмены пользователь должен обладать соответствующими правами.
Параметры запроса:

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

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

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

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

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

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

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

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

html
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:reverseOrder> 
          <order language="ru" orderId="f88a2bbf-2021-4ccc-8783-8a13068a89f9"> 
             <!- Zero or more repetitions: -> 
             <params name=" " value=" "/> 
          </order> 
       </mer:reverseOrder> 
    </soapenv:Body> 
 </soapenv:Envelope>
    

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

html
        <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. По этому запросу средства по указанному заказу будут возвращены плательщику. Запрос закончится ошибкой в случае, если средства по этому заказу не были списаны.
Данная операция доступна пользователям, обладающим соответствующими правами в системе.
Параметры запроса:

Название Тип Обязательно Описание
orderId AN..64 да Номер заказа в платежной системе. Уникален в пределах системы.
refundAmount N..5 да Сумма возврата в валюте заказа в минимальных единицах валюты. Должна быть равна сумме заказа.
language A2 нет Код языка в соответствии с ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.
params N/A нет Дополнительный тэг с атрибутами для передачи дополнительных параметров мерчанта.

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

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

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

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

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

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

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

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

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

html
        <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.
Раздел Требования к формированию запросов возврата заказа с Корзиной содержит список условий, необходимых для корректного формирования запроса.
Параметры запроса:

Название Тип Обязательно Описание
orderId AN..64 да Номер заказа в платёжной системе. Уникален в пределах системы.
refundAmount N..5 да Сумма возврата в валюте заказа (в минимальных единицах). Должна совпадать с общей суммой всех возвращаемых товарных позиций.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.
params N/A нет Дополнительный тэг с атрибутами для передачи дополнительных параметров мерчанта (см. примечание ниже).
refundItems N/A - Тэг для передачи информации о возвращаемых товарах - номер позиции товара в запросе, название, детали, единица измерения, количество, валюта, код товара, скидка, выгода агента. Описание приведено ниже.

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

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


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

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


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

Название Тип Обязательно Описание
positionId ANS..12 да Уникальный идентификатор товарной позиции внутри Корзины Заказа
name ANS..100 да Наименование или описание товарной позиции в свободной форме
itemDetails N/A нет Дополнительный тэг с параметрами описания товарной позиции. Описание приведено ниже.
quantity N..18 да Элемент описывающий общее количество товарных позиций одного positionId и их меру измерения. Для указания дробных чисел используется десятичная точка. Для данного параметра указывается атрибут: measure, ANS..20, обязательно (мера измерения количества товарной позиции).
itemAmount N..18 нет (см. описание) Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = `itemPrice quantity` результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrency N..3 нет Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCode ANS..100 да Номер (идентификатор) товарной позиции в системе магазина
discount N/A нет Дополнительный тэг с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterest N/A нет Дополнительный тэг с атрибутами описания агентской комиссии за продажу товара. Описание приведено ниже.
tax N/A нет Дополнительный тэг с атрибутами описания налога. Если для магазина указаны настройки фискализации, данный блок может передаваться, но не является обязательным (значения параметров данного блока проверяться не будут). Описание приведено ниже.
itemPrice N..18 нет Стоимость одной товарной позиции одного positionId в минимальных единицах валюты. Если для магазина указаны настройки фискализации, данное поле может передаваться, но не является обязательным (значение данного поля проверяться не будет).
itemAttributes См. описание нет Тэг, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

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

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

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

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

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

  • "1" - товар;
  • "2" - подакцизный товар;
  • "3" - работа;
  • "4" - услуга;
  • "5" - ставка азартной игры;
  • "6" - выигрыш азартной игры;
  • "7" - лотерейный билет;
  • "8" - выигрыш лотереи;
  • "9" - предоставление РИД;
  • "10" - платёж;
  • "11" - агентское вознаграждение;
  • "12" - составной предмет расчёта;
  • "13" - иной предмет расчёта.
nomenclature ANS нет Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 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.phones Maccив ANS..19 нет Массив телефонов поставщика в формате +N.
supplier_info.name ANS..256 нет Наименование поставщика.
supplier_info.inn N10..12 нет ИНН поставщика.
agent_info.type N..2 Обязателен, только если передан объект agent_info.

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
agent_info.paying.operation ANS..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.name ANS..64 нет Наименование оператора перевода.
agent_info.MTOperator.address ANS..256 нет Адрес оператора перевода.
agent_info.MTOperator.inn ANS..256 нет ИНН оператора перевода.


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

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


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

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


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

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


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

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


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

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

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

  • "0" – без НДС;
  • "1" – НДС по ставке 0%;
  • "2" – НДС чека по ставке 10%;
  • "3" – НДС чека по ставке 18%;
  • "4" – НДС чека по расчётной ставке 10/110;
  • "5" – НДС чека по расчётной ставке 18/118;
  • "6" – НДС чека по ставке 20%;
  • "7" – НДС чека по расчётной ставке 20/120;

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

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

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

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

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

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

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

html
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
   <soapenv:Header/>
   <soapenv:Body>
      <mer:refundOrder>
         <order language="ru" orderId="531eaa8d-b32d-46dd-8e48-64b873886e70" refundAmount="10000">
            <!--Optional:-->
            <refundItems>
               <!--Zero or more repetitions:-->
                  <items positionId="1">
                     <name>Metzeler Enduro 3 Sahara</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Metzeler</itemDetailsParams>
                        <itemDetailsParams name="radius">17inch</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>7000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>T-M-14</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>7000</itemPrice>
                  </items>
                  <items positionId="2">
                     <name>Universal Mirror Enduro</name>
                     <!-- Optional: -->
                     <itemDetails>
                        <!-- Zero or more repetitions: -->
                        <itemDetailsParams name="brand">Noname</itemDetailsParams>
                        <itemDetailsParams name="diameter">12mm</itemDetailsParams>
                     </itemDetails>
                     <quantity measure="штук">1</quantity>
                     <itemAmount>3000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>NM-15</itemCode>
                     <!-- Optional: -->
                     <discount>
                        <!-- Optional: -->
                        <discountType>percent</discountType>
                        <!-- Optional: -->
                        <discountValue>5</discountValue>
                     </discount>
                     <!-- Optional: -->
                     <agentInterest>
                        <!-- Optional: -->
                        <interestType>agentPercent</interestType>
                        <!-- Optional: -->
                        <interestValue>7</interestValue>
                     </agentInterest>
                     <tax>
                        <taxType>1</taxType>
                        <taxSum>111</taxSum>
                     </tax>
                     <itemPrice>3000</itemPrice>
                  </items>
            </refundItems>
            <!--Zero or more repetitions:-->
            <params name=" " value=" "/>
         </order>
      </mer:refundOrder>
   </soapenv:Body>
</soapenv:Envelope>
    

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

html
        <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.
Параметры запроса

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

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

Название Тип Обязательно Описание Версия getOrderStatusExtended
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина. Все версии.
orderStatus N2 нет Все версии.
actionCode N3 да Код ответа. Все версии.
actionCodeDescription AN..512 да Расшифровка кода ответа на языке, переданном в параметре language в запросе. Все версии.
errorCode N3 нет

Код ошибки. Возможны следующие варианты:

  • '0' Обработка запроса прошла без системных ошибок;
  • '1' Ожидается orderId или orderNumber;
  • '5' Доступ запрещён;
  • '5' Пользователь должен сменить свой пароль;
  • '6' Заказ не найден;
  • '7' Системная ошибка.
Все версии.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре language в запросе. Все версии.
amount N..20 да Сумма платежа в копейках (или центах) Все версии.
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли). Все версии.
date ANS да Дата регистрации заказа. Все версии.
orderDescription AN..512 нет Описание заказа, переданное при его регистрации Все версии.
ip AN..20 да IP-адрес покупателя. Все версии.
Элемент merchantOrderParams – присутствует в ответе, если в заказе содержатся дополнительные параметры продавца. Каждый дополнительный параметр заказа представлен в отдельном элементе merchantOrderParams.*
Название Тип Обязательно Описание Версия getOrderStatusExtended
name AN..20 нет Название дополнительного параметра Все версии.
value AN..1024 нет Значение дополнительного параметра Все версии.

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

Название Тип Обязательно Описание Версия getOrderStatusExtended
pan N..19 нет Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа. Все версии.
expiration N6 нет Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа. Все версии.
cardholderName A..64 нет Имя держателя карты. Указан только после оплаты заказа. Все версии.
approvalCode AN6 нет Код авторизации платежа. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. Указан только после оплаты заказа. Все версии.
chargeback A..5 нет Были ли средства принудительно возвращены покупателю банком. Возможны следующие значения: true (истина); false (ложь). 06 и выше.
paymentSystem N..10 да Наименование платёжной системы. Доступны следующие варианты: VISA; MASTERCARD; AMEX; JCB; CUP; MIR. 08 и выше.
product AN..255 да Дополнительные сведения о корпоративных картах. Эти сведения заполняются службой технической поддержки в консоли управления. Если такие сведения отсутствуют, возвращается пустое значение. 08 и выше.
paymentWay AS..14 да Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.). 09 и выше.

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

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

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

Название Тип Обязательно Описание Версия getOrderStatusExtended
clientId ANS..255 нет Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок. Все версии.
bindingId AN..255 нет Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. Все версии.
authDateTime ANS нет Дата/время авторизации. 02 и выше.
authRefNum AN..24 нет Учётный номер авторизации платежа, который присваивается при регистрации платежа. 02 и выше.
terminalId AN..10 нет Id терминала. 02 и выше.

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

Название Тип Обязательно Описание Версия getOrderStatusExtended
approvedAmount N..20 нет Сумма, захолдированная на карте (используется только при двухстадийных платежах). 03 и выше.
depositedAmount N..20 нет Сумма, подтверждённая для списания с карты. 03 и выше.
refundedAmount N..20 нет Сумма возврата. 03 и выше.
paymentState A..10 нет Состояние заказа. 03 и выше.
feeAmount N..20 нет Сумма комиссии. 11 и выше.

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

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


Содержимое orderBundle

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

Содержимое customerDetails

Название Тип Обязательно Описание Версия getOrderStatusExtended
email ANS..40 нет Адрес электронной почты покупателя. 03 и выше.
phone N.12 нет Телефон покупателя. 03 и выше.
fullName N..100 нет Фамилия, имя и отчество плательщика. 13 и выше.
passport N.100 нет Серия и номер паспорта плательщика в следующем формате: 2222888888. 13 и выше.
inn N.12 нет Идентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов. 13 и выше.


Содержимое cartItems

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


Содержимое items

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

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

html
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> 
    <soapenv:Header/> 
    <soapenv:Body> 
       <mer:getOrderStatusExtended> 
          <order orderId="942e8534-ac73-4e3c-96c6-f6cc448018f7" language="en"> 
             <!--Optional:--> 
             <merchantOrderNumber> </merchantOrderNumber> 
            </order> 
       </mer:getOrderStatusExtended> 
    </soapenv:Body> 
 </soapenv:Envelope> 
    

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

html
        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns1:getOrderStatusExtendedResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
         <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="Успешно">
            <attributes name="mdOrder" value="dc84ffbc-1d04-4748-94dc-75d87e91a745"/>
            <cardAuthInfo pan="555555**5599" expiration="202012" cardholderName="Test" approvalCode="111111"/>
            <authDateTime>2017-07-07T12:41:12.185+03:00</authDateTime>
            <terminalId>12345678</terminalId>
            <authRefNum>111111111111</authRefNum>
            <paymentAmountInfo paymentState="DEPOSITED" approvedAmount="10500" depositedAmount="10500" refundedAmount="0"/>
            <bankInfo bankName="SOME BANK IN USA" bankCountryCode="US" bankCountryName="Соединенные Штаты Америки"/>
            <orderBundle>
               <cartItems>
                  <items positionId="1">
                     <name>Universal Mirror Enduro</name>
                     <quantity measure="штук">3.0</quantity>
                     <itemAmount>6000</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>NM-15</itemCode>
                  </items>
                  <items positionId="2">
                     <name>Билет в Москву</name>
                     <quantity measure="штук">1.0</quantity>
                     <itemAmount>4500</itemAmount>
                     <itemCurrency>643</itemCurrency>
                     <itemCode>GFCCHC</itemCode>
                  </items>
               </cartItems>
            </orderBundle>
         </return>
      </ns1:getOrderStatusExtendedResponse>
   </soap:Body>
</soap:Envelope>
    

Интерфейс REST

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

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы
amount N..12 да Сумма платежа в копейках (или центах)
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
returnUrl AN..512 да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrl AN..512 нет Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
description ANS..512 нет Описание заказа в свободной форме
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language)
pageView ANS..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.

clientId AN..255 нет

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

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

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

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

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

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

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

Система налогообложения, доступны следующие значения:

  • "0" - общая;
  • "1" - упрощённая, доход;
  • "2" - упрощённая, доход минус расход;
  • "3" - единый налог на вменённый доход;
  • "4" - единый сельскохозяйственный налог;
  • "5" - патентная система налогообложения.

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

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


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

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

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

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

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
payingOperation ANS..24 нет Наименование операции платёжного агента.
payingPhones массив ANS..19 нет Массив телефонов платёжного агента в формате +N.
paymentsOperatorPhones массив ANS..19 нет Массив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhones массив ANS..19 нет Массив телефонов оператора перевода в формате +N.
MTOperatorName ANS..64 нет Наименование оператора перевода.
MTOperatorAddress ANS..256 нет Адрес оператора перевода.
MTOperatorInn N10..12 нет ИНН оператора перевода.


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

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


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

Название Тип Обязательно Описание
deliveryType ANS..20 нет Тип доставки
country A..2 да Страна доставки
city ANS..40 да Город доставки
postAddress ANS..255 да Адрес для доставки


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

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


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

Название Тип Обязательно Описание
positionId N..12 да Уникальный идентификатор товарной позиции внутри Корзины Заказа
name ANS..100 да Наименование или описание товарной позиции в свободной форме
itemDetails - нет Дополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже.
quantity - да Элемент, описывающий общее количество товарных позиций одного positionId и их меру измерения. Описание его атрибутов представлено ниже.
itemAmount N..18 да Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPricequantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrency N3 нет Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCode ANS..100 да Номер (идентификатор) товарной позиции в системе магазина. Параметр должен быть уникальным в рамках запроса.
discount - нет Дополнительный блок с атрибутами описания скидки для товарной позиции. Описание его атрибутов представлено ниже.
agentInterest - нет Дополнительный блок с атрибутами описания агентской комиссии за продажу товара. Описание его атрибутов представлено ниже.
tax - да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) Дополнительный блок с атрибутами описания налога. Описание приведено ниже.
itemPrice N..18 да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) Cтоимость одной товарной позиции одного positionId в деньгах в минимальных единицах валюты. Обязательно для мерчантов с фискализацией
itemAttributes См. описание нет Блок, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

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

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

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

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

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

  • "1" - товар;
  • "2" - подакцизный товар;
  • "3" - работа;
  • "4" - услуга;
  • "5" - ставка азартной игры;
  • "6" - выигрыш азартной игры;
  • "7" - лотерейный билет;
  • "8" - выигрыш лотереи;
  • "9" - предоставление РИД;
  • "10" - платёж;
  • "11" - агентское вознаграждение;
  • "12" - составной предмет расчёта;
  • "13" - иной предмет расчёта.
nomenclature ANS нет Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 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.phones Maccив ANS..19 нет Массив телефонов поставщика в формате +N.
supplier_info.name ANS..256 нет Наименование поставщика.
supplier_info.inn N10..12 нет ИНН поставщика.
agent_info.type N..2 Обязателен, только если передан объект agent_info.

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
agent_info.paying.operation ANS..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.name ANS..64 нет Наименование оператора перевода.
agent_info.MTOperator.address ANS..256 нет Адрес оператора перевода.
agent_info.MTOperator.inn ANS..256 нет ИНН оператора перевода.


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

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


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

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


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

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


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

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


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

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


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

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

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

  • "0" – без НДС;
  • "1" – НДС по ставке 0%;
  • "2" – НДС чека по ставке 10%;
  • "3" – НДС чека по ставке 18%;
  • "4" – НДС чека по расчётной ставке 10/110;
  • "5" – НДС чека по расчётной ставке 18/118;
  • "6" – НДС чека по ставке 20%;
  • "7" – НДС чека по расчётной ставке 20/120;

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

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

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

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

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

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

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

        amount=24000&
currency=643&
language=ru&
orderNumber=04f04a87d6f4а5rg3r3d21&
returnUrl=https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html&
jsonParams={"name1":"value1"}&
sessionTimeoutSecs=5400&
merchantLogin=merch_child&
taxSystem=0&

orderBundle=
{ 

"orderCreationDate":"2013-07-12T13:51:00",  

"customerDetails":{ "email":"email@email.com", "phone":"79851231234", "contact": "Mega  Tester","deliveryInfo":{ "deliveryType":"courier", "country":"RU",  "city":"Moscow",
"postAddress":"Земляной Вал 50А стр.2" }},  

"cartItems":  

{ "items": 

[ 
{ "positionId": "1",
"name": "Metzeler Enduro 3 Sahara", 
"itemDetails": { "itemDetailsParams":[{ "value": "Metzeler ", "name": "brand" }, { "value": "17inch", "name": "radius" }]},
"quantity": { "value": 0.71, "measure": "штук" }, 
"itemAmount": 8000, 
"itemCurrency": "643",
"itemCode": "NM-15", 
"discount": { "discountType": "percent", "discountValue": "5" },
"agentInterest": { "interestType": "agentPercent", "interestValue": "7" }, 
"tax": {"taxType": 1,"taxSum": 111}, 
"itemPrice": 11267
},

{ "positionId": "2", 
"name": "Universal Mirror Enduro", 
"itemDetails": { "itemDetailsParams":[{ "value": "Noname", "name": "brand" }, { "value": "12mm", "name": "diameter" }]},
"quantity": { "value": 1.0, "measure": "штук" }, 
"itemAmount": 8000, 
"itemCurrency": "643",
"itemCode": "NM-15", 
"discount": { "discountType": "percent", "discountValue": "5" },
"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
"tax": {"taxType": 1,"taxSum": 111}, 
"itemPrice": 8000 
},

{ "positionId": "3", 
"name": "Warm Grips", 
"itemDetails": { "itemDetailsParams":[ { "value": "Noname", "name": "brand" }]},  "quantity": { "value": 1.0, "measure": "штук" },
"itemAmount": 8000, 
"itemCurrency": 643, 
"itemCode": "G-16",
"discount": { "discountType": "percent", "discountValue": "5" },
"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
"tax": {"taxType": 1,"taxSum": 111}, 
"itemPrice": 8000 
}
] 

} 

}

    

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

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

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

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы
amount N..12 да Сумма платежа в копейках (или центах)
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
returnUrl AN..512 да Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
failUrl AN..512 нет Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.
description ANS..512 нет Описание заказа в свободной форме
language A2 нет Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию (default language)
pageView ANS..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.

clientId AN..255 нет

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

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

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

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

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

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

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

Система налогообложения, доступны следующие значения:

  • "0" - общая;
  • "1" - упрощённая, доход;
  • "2" - упрощённая, доход минус расход;
  • "3" - единый налог на вменённый доход;
  • "4" - единый сельскохозяйственный налог;
  • "5" - патентная система налогообложения.
autocompletionDate ANS..19 нет Дата и время автозавершения двухстадийного платежа в следующем формате: 2017-12-29T13:02:51.

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

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


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

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

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

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

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
payingOperation ANS..24 нет Наименование операции платёжного агента.
payingPhones массив ANS..19 нет Массив телефонов платёжного агента в формате +N.
paymentsOperatorPhones массив ANS..19 нет Массив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhones массив ANS..19 нет Массив телефонов оператора перевода в формате +N.
MTOperatorName ANS..64 нет Наименование оператора перевода.
MTOperatorAddress ANS..256 нет Адрес оператора перевода.
MTOperatorInn N10..12 нет ИНН оператора перевода.


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

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


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

Название Тип Обязательно Описание
deliveryType ANS..20 нет Тип доставки
country A..2 да Страна доставки
city ANS..40 да Город доставки
postAddress ANS..255 да Адрес для доставки


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

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


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

Название Тип Обязательно Описание
positionId N..12 да Уникальный идентификатор товарной позиции внутри Корзины Заказа
name ANS..100 да Наименование или описание товарной позиции в свободной форме
itemDetails N/A нет Дополнительный блок с параметрами описания товарной позиции. Описание приведено ниже.
quantity N/A да Элемент описывающий общее количество товарных позиций одного positionId и их меру измерения. Описание приведено ниже.
itemAmount N..18 нет (см. описание) Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPricequantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrency N3 нет Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCode ANS..100 да Номер (идентификатор) товарной позиции в системе магазина
discount N/A нет Дополнительный блок с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterest N/A нет Дополнительный блок с атрибутами описания агентской комиссии за продажу товара. Описание приведено ниже.
tax N/A да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) Дополнительный блок с атрибутами описания налога. Описание приведено ниже.
itemPrice N..18 да - для фискализации (для магазинов без настроек фискализации параметр необязателен) Стоимость одной товарной позиции одного positionId в минимальных единицах валюты. Обязательно для мерчантов с фискализацией
itemAttributes См. описание нет Блок, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

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

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

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

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

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

  • "1" - товар;
  • "2" - подакцизный товар;
  • "3" - работа;
  • "4" - услуга;
  • "5" - ставка азартной игры;
  • "6" - выигрыш азартной игры;
  • "7" - лотерейный билет;
  • "8" - выигрыш лотереи;
  • "9" - предоставление РИД;
  • "10" - платёж;
  • "11" - агентское вознаграждение;
  • "12" - составной предмет расчёта;
  • "13" - иной предмет расчёта.
nomenclature ANS нет Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 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.phones Maccив ANS..19 нет Массив телефонов поставщика в формате +N.
supplier_info.name ANS..256 нет Наименование поставщика.
supplier_info.inn N10..12 нет ИНН поставщика.
agent_info.type N..2 Обязателен, только если передан объект agent_info.

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
agent_info.paying.operation ANS..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.name ANS..64 нет Наименование оператора перевода.
agent_info.MTOperator.address ANS..256 нет Адрес оператора перевода.
agent_info.MTOperator.inn ANS..256 нет ИНН оператора перевода.


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

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


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

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


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

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


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

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


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

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


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

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

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

  • "0" – без НДС;
  • "1" – НДС по ставке 0%;
  • "2" – НДС чека по ставке 10%;
  • "3" – НДС чека по ставке 18%;
  • "4" – НДС чека по расчётной ставке 10/110;
  • "5" – НДС чека по расчётной ставке 18/118;
  • "6" – НДС чека по ставке 20%;
  • "7" – НДС чека по расчётной ставке 20/120;

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

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

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

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

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

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

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

        amount=24000&
currency=643&
language=ru&
orderNumber=01a287222222299&
returnUrl=https://alfa.rbsuat.com/payment/merchants/ecom2/finish.html&
jsonParams={"name1":"value1"}&
merchantLogin=merch_child&
taxSystem=0&

orderBundle=
{ 

"orderCreationDate":"2013-07-12T13:51:00",

"customerDetails":{ "email":"email@email.com", "phone": "79851231234","contact": "Mega  Tester", "deliveryInfo":{ "deliveryType":"courier", "country":"RU",  "city":"Moscow",
"postAddress":"Земляной Вал 50А стр.2" }},

"cartItems":  

{ "items": 

[  
{ "positionId": "1", 
"name": "Metzeler Enduro 3 Sahara",
"itemDetails": { "itemDetailsParams": [{ "value": "Metzeler ", "name": "brand" },
{ "value": "17inch", "name": "radius" }]}, 
"quantity": { "value": 0.71, "measure": "штук" },
"itemAmount": 8000, 
"itemCurrency": "643", 
"itemCode": "NM-15",
"discount": { "discountType": "percent", "discountValue": "5" },
"agentInterest": { "interestType": "agentPercent", "interestValue": "7" }, 
"tax": {"taxType": 1,"taxSum": 111}, 
"itemPrice": 11267
},

{ "positionId": "2", 
"name": "Universal Mirror Enduro",
"itemDetails": { "itemDetailsParams": [{ "value": "Noname", "name": "brand" },
{ "value": "12mm", "name": "diameter" }]}, 
"quantity": { "value": 1.0, "measure": "штук" },
"itemAmount": 8000, 
"itemCurrency": "643", 
"itemCode": "NM-15",
"discount": { "discountType": "percent", "discountValue": "5" },
"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
"tax": {"taxType": 1,"taxSum": 111}, 
"itemPrice": 8000 
},

{ "positionId": "3", 
"name": "Warm Grips",
"itemDetails": { "itemDetailsParams": [ { "value": "Noname", "name": "brand" }]},
"quantity": { "value": 1.0, "measure": "штук" }, 
"itemAmount": 8000, 
"itemCurrency": 643,
"itemCode": "G-16", 
"discount": { "discountType": "percent", "discountValue": "5" },
"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
"tax": {"taxType": 1,"taxSum": 111}, 
"itemPrice": 8000 
}
] 

} 

}
    

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

        {"formUrl":"https://alfa.rbsuat.com/payment/merchants/ecom2/payment_ru.html?mdOrder=fc122907-e237-440e-9f25-48bf6120984b","orderId":"fc122907-e237-440e-9f25-48bf6120984b"}
    

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

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId AN..64 да Номер заказа в платёжной системе. Уникален в пределах системы.
amount N..5 да Для завершения на полную сумму предавторизации в запросе необходимо передать полную сумму заказа в деньгах или 0.
language A2 нет Язык в кодировке ISO 639-1. Сообщение ошибке будет возвращено именно на этом языке.
agent - нет Блок для передачи данных об агенте (см. описание ниже).
supplierPhones массив ANS..19 нет Массив телефонов поставщика в формате +N.

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

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

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
payingOperation ANS..24 нет Наименование операции платёжного агента.
payingPhones массив ANS..19 нет Массив телефонов платёжного агента в формате +N.
paymentsOperatorPhones массив ANS..19 нет Массив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhones массив ANS..19 нет Массив телефонов оператора перевода в формате +N.
MTOperatorName ANS..64 нет Наименование оператора перевода.
MTOperatorAddress ANS..256 нет Адрес оператора перевода.
MTOperatorInn N10..12 нет ИНН оператора перевода.

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

Название Тип Обязательно Описание
errorCode N3 да Код ошибки. Возможные значения представлены в таблице ниже.
errorMessage AN..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":"Успешно"}
    

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

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId AN..64 да Номер заказа в платёжной системе. Уникален в пределах системы.
amount N..5 да Сумма списания в валюте заказа (в минимальных единицах). Должна совпадать с общей суммой списания по всем товарным позициям в Корзине завершения.
language A2 нет Язык в кодировке ISO 639-1. Сообщение ошибке будет возвращено именно на этом языке.
depositItems - да Тэг с атрибутами товарных позиции Корзины
agent - нет Блок для передачи данных об агенте (см. описание ниже).
supplierPhones массив ANS..19 нет Массив телефонов поставщика в формате +N.

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

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

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
payingOperation ANS..24 нет Наименование операции платёжного агента.
payingPhones массив ANS..19 нет Массив телефонов платёжного агента в формате +N.
paymentsOperatorPhones массив ANS..19 нет Массив телефонов оператора по приёму платежей в формате +N.
MTOperatorPhones массив ANS..19 нет Массив телефонов оператора перевода в формате +N.
MTOperatorName ANS..64 нет Наименование оператора перевода.
MTOperatorAddress ANS..256 нет Адрес оператора перевода.
MTOperatorInn N10..12 нет ИНН оператора перевода.

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

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


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

Название Тип Обязательно Описание
positionId ANS..12 да Уникальный идентификатор товарной позиции внутри Корзины Заказа
name ANS..100 да Наименование или описание товарной позиции в свободной форме
itemDetails N/A нет Дополнительный тэг с параметрами описания товарной позиции. Описание приведено ниже.
quantity N/A да Блок параметров, описывающий общее количество товарных позиций одного positionId и их меру измерения.Описание приведено ниже.
itemAmount N..18 нет (см. описание) Сумма стоимости всех товарных позиций одного positionId в минимальных единицах валюты. itemAmount обязателен к передаче, только если не был передан параметр itemPrice. В противном случае передача itemAmount не требуется. Если же в запросе передаются оба параметра: itemPrice и itemAmount, то itemAmount должен равняться itemPrice quantity, в противном случае запрос завершится с ошибкой. При расчёте параметра itemAmount = itemPricequantity результат округляется до второго знака после десятичного разделителя. Например, если результат вычислений равен 100,255, то итоговый результат будет равен 100,26.
itemCurrency N..3 нет Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCode ANS..100 да Номер (идентификатор) товарной позиции в системе магазина
discount N/A нет Дополнительный тэг с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterest N/A нет Дополнительный тэг с атрибутами описания агентской комиссии за продажу товара. Описание приведено ниже.
tax N/A да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) Дополнительный блок с атрибутами описания налога. Описание приведено ниже.
itemPrice N..18 да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) Стоимость одной товарной позиции одного positionId в минимальных единицах валюты. Обязательно для мерчантов с фискализацией.
itemAttributes См. описание нет Блок, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

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

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

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

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

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

  • "1" - товар;
  • "2" - подакцизный товар;
  • "3" - работа;
  • "4" - услуга;
  • "5" - ставка азартной игры;
  • "6" - выигрыш азартной игры;
  • "7" - лотерейный билет;
  • "8" - выигрыш лотереи;
  • "9" - предоставление РИД;
  • "10" - платёж;
  • "11" - агентское вознаграждение;
  • "12" - составной предмет расчёта;
  • "13" - иной предмет расчёта.
nomenclature ANS нет Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 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.phones Maccив ANS..19 нет Массив телефонов поставщика в формате +N.
supplier_info.name ANS..256 нет Наименование поставщика.
supplier_info.inn N10..12 нет ИНН поставщика.
agent_info.type N..2 Обязателен, только если передан объект agent_info.

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
agent_info.paying.operation ANS..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.name ANS..64 нет Наименование оператора перевода.
agent_info.MTOperator.address ANS..256 нет Адрес оператора перевода.
agent_info.MTOperator.inn ANS..256 нет ИНН оператора перевода.


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

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


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

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


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

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


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

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


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

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


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

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

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

  • "0" – без НДС;
  • "1" – НДС по ставке 0%;
  • "2" – НДС чека по ставке 10%;
  • "3" – НДС чека по ставке 18%;
  • "4" – НДС чека по расчётной ставке 10/110;
  • "5" – НДС чека по расчётной ставке 18/118;
  • "6" – НДС чека по ставке 20%;
  • "7" – НДС чека по расчётной ставке 20/120;

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

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

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

Название Тип Обязательно Описание
errorCode N3 да Код ошибки.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре language в запросе.

Отсутствует при errorCode=0 |
Коды ошибок (поле errorCode):

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

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

        orderId=9659c922-f0fa-4b4f-9b09-8a754ad99c63&
amount=4441&
depositItems=
{"items": 

[
{ "positionId": "2", 
"name": "Universal Mirror Enduro",
"itemDetails": { "itemDetailsParams": [{ "value": "Noname", "name": "brand" },{"value": "12mm", "name": "diameter" }]}, 
"quantity": { "value": 1.0, "measure": "штук" },
"itemAmount": 3330, 
"itemCurrency": "643", 
"itemCode": "NM-15",
"discount": { "discountType": "percent", "discountValue": "5" },
"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
"tax": {"taxType": 1,"taxSum": 111}, 
"itemPrice": 3330
},

{ "positionId": "3", 
"name": "Warm Grips",
"itemDetails": { "itemDetailsParams": [ { "value": "Noname", "name": "brand" }]},
"quantity": { "value": 1.0, "measure": "штук" }, 
"itemAmount": 1111, 
"itemCurrency": 643,
"itemCode": "G-16", 
"discount": { "discountType": "percent", "discountValue": "5" },
"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
"tax": {"taxType": 1,"taxSum": 111},
"itemPrice": 1111
}
] 

}
    

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

        {"errorCode":"0","errorMessage":"Success"}
    

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

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

Название Тип Обязательность Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId ANS36 да Номер заказа в платёжной системе. Уникален в пределах системы.
language A2 нет Язык в кодировке ISO 639-1. Описание ошибки возвращается на этом языке. Если параметр отсутствует, используется язык по умолчанию, указанный в настройках мерчанта.

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

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

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

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

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

        language=ru&orderId=9231a838-ac68-4a3e-bddb-d9781433d852
    

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

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

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

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

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId AN..64 да Номер заказа в платёжной системе. Уникален в пределах системы.
amount N..5 да Сумма возврата в валюте заказа (в минимальных единицах). Должна быть равна сумме заказа в деньгах.
language A2 нет Язык в кодировке ISO 639-1. Сообщение ошибке будет возвращено именно на этом языке.
jsonParams AN..1024 нет

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

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

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

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

Название Тип Обязательно Описание
errorCode N3 да Код ошибки. Возможные значения и их описание представлены в таблице ниже.
errorMessage AN..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":"Успешно"}
    

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

Для частичного возврата средств оплаты заказа  используется запрос refund.do.
Данная операция доступна пользователям, обладающим соответствующими правами в системе.
Примечание Для безошибочной обработки запроса достаточно передать параметры quantity и positionId.

Раздел Требования к формированию запросов возврата заказа с Корзиной содержит список условий, необходимых для корректного формирования запроса.
Параметры запроса:

Название Тип Обязательно Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId AN..64 да Номер заказа в платёжной системе. Уникален в пределах системы.
amount N..20 да Сумма возврата в валюте заказа (в минимальных единицах). Должна совпадать с общей суммой всех возвращаемых товарных позиций.
refundItems N/A N/A Корзина товаров заказа. Описание приведено ниже.
language A2 нет Язык в кодировке ISO 639-1. Сообщение ошибке будет возвращено на этом языке
jsonParams AN..1024 нет

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

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

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


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

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


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

Название Тип Обязательно Описание
positionId N..12 да Уникальный идентификатор товарной позиции внутри Корзины Заказа
name ANS..100 да Наименование или описание товарной позиции в свободной форме
itemDetails N/A нет Дополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже.
quantity N/A да Элемент, описывающий общее количество товарных позиций одного positionId и их меру измерения. Описание его атрибутов представлено ниже.
itemAmount N..18 да Возвращаемая сумма по данному positionId в минимальных единицах валюты. Может быть меньше суммы оплаты по данному positionId.
itemCurrency N3 нет Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа.
itemCode ANS..100 да Номер (идентификатор) товарной позиции в системе магазина
discount N/A нет Дополнительный блок с атрибутами описания скидки для товарной позиции. Описание приведено ниже.
agentInterest N/A нет Дополнительный блок с атрибутами описания агентской комиссии за продажу товара. Описание приведено ниже.
tax N/A нет Дополнительный блок с атрибутами описания налога. Если для магазина указаны настройки фискализации, данный блок может передаваться, но не является обязательным (значения параметров данного блока проверяться не будут). Описание приведено ниже.
itemPrice N..18 нет Стоимость одной товарной позиции одного positionId в деньгах в минимальных единицах валюты. Если для магазина указаны настройки фискализации, данное поле может передаваться, но не является обязательным (значение данного поля проверяться не будет).
itemAttributes См. описание нет Блок, предназначенный для передачи набора атрибутов товарной позиции. Описание доступных атрибутов представлено ниже.

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

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

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

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

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

  • "1" - товар;
  • "2" - подакцизный товар;
  • "3" - работа;
  • "4" - услуга;
  • "5" - ставка азартной игры;
  • "6" - выигрыш азартной игры;
  • "7" - лотерейный билет;
  • "8" - выигрыш лотереи;
  • "9" - предоставление РИД;
  • "10" - платёж;
  • "11" - агентское вознаграждение;
  • "12" - составной предмет расчёта;
  • "13" - иной предмет расчёта.
nomenclature ANS нет Код товарной позиции в в шестнадцатеричном представлении. Максимальная длина 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.phones Maccив ANS..19 нет Массив телефонов поставщика в формате +N.
supplier_info.name ANS..256 нет Наименование поставщика.
supplier_info.inn N10..12 нет ИНН поставщика.
agent_info.type N..2 Обязателен, только если передан объект agent_info.

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

  • "1" - банковский платёжный агент;
  • "2" - банковский платёжный субагент;
  • "3" - платёжный агент;
  • "4" - платёжный субагент;
  • "5" - поверенный;
  • "6" - комиссионер;
  • "7" - иной агент.
agent_info.paying.operation ANS..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.name ANS..64 нет Наименование оператора перевода.
agent_info.MTOperator.address ANS..256 нет Адрес оператора перевода.
agent_info.MTOperator.inn ANS..256 нет ИНН оператора перевода.


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

Название Тип Обязательно Описание
value N..18 да Количество товарных позиций одного positionId
measure ANS..20 да Мера измерения количества товарной позиции


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

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


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

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


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

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


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

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


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

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

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

  • "0" – без НДС;
  • "1" – НДС по ставке 0%;
  • "2" – НДС чека по ставке 10%;
  • "3" – НДС чека по ставке 18%;
  • "4" – НДС чека по расчётной ставке 10/110;
  • "5" – НДС чека по расчётной ставке 18/118;
  • "6" – НДС чека по ставке 20%;
  • "7" – НДС чека по расчётной ставке 20/120;

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

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

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

Название Тип Обязательно Описание
errorCode N3 да Код ошибки.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре language или языке по умолчанию.

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

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

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

        language=ru&
orderId=830603cd-a886-483a-9a23-c37fb8018096&
jsonParams={"name1":"value1"}&
amount=9000&
refundItems=
{"items": 

[  
{ "positionId": "2", 
"name": "Universal Mirror Enduro", 
"itemDetails":{ "itemDetailsParams": [{"value": "Noname", "name": "brand"}, {"value": "12mm", "name": "diameter" }]},
"quantity": { "value": 1.0, "measure": "штук" },
"itemAmount": 6000, 
"itemCurrency": "643", 
"itemCode": "NM-15",
"discount": { "discountType": "percent", "discountValue": "5" },
"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
"tax": {"taxType": 1,"taxSum": 111}, 
"itemPrice": 6000
},

{ "positionId": "3", 
"name": "Warm Grips", 
"itemDetails": { "itemDetailsParams":[ { "value": "Noname", "name": "brand" }]}, 
"quantity": { "value": 1.0, "measure": "штук" },
"itemAmount": 3000, 
"itemCurrency": 643, 
"itemCode": "G-16",
"discount": { "discountType": "percent", "discountValue": "5" },
"agentInterest": { "interestType": " agentPercent ", "interestValue": "7" }, 
"tax": {"taxType": 1,"taxSum": 111}, 
"itemPrice": 3000
}
] 

}
    

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

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

Запрос сведений о кассовом чеке

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

  • идентификатор заказа - orderId или orderNumber;
  • идентификатор чека - uuid.
    Если передан идентификатор заказа (orderId или orderNumber), ответ возвращает все чеки данного заказа. При передаче только идентификатора чека ответ возвращает сведения только о данном чеке. Если указаны и идентификатор заказа, и чека, ответ возвращает все чеки заказа.
    Параметры запроса

    Название Тип Обязательность Описание
    userName AN..30 да Логин магазина, полученный при подключении.
    password AN..30 да Пароль магазина, полученный при подключении.
    orderId ANS36 нет Номер заказа в платёжной системе. Уникален в пределах системы. Для выполнения запроса должен быть указан либо номер заказа, либо идентификатор в фискализаторе.
    orderNumber AN..32 нет Номер (идентификатор) заказа в системе магазина. Для выполнения запроса должен быть указан либо номер заказа, либо идентификатор в фискализаторе.
    uuid ANS..32 нет Идентификатор чека в фискализаторе. Для выполнения запроса должен быть указан либо номер заказа, либо идентификатор в фискализаторе.
    language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.

    Параметры ответа
    Примечание Некоторые возвращаемые параметры могут зависеть от используемого оператора фискальных данных.

    Название Тип Обязательность Описание
    errorCode N3 нет Код ошибки
    errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре language в запросе.
    orderNumber AN..32 нет Номер (идентификатор) заказа в системе магазина
    orderId ANS36 нет Номер заказа в платёжной системе. Уникален в пределах системы
    receipt - нет Блок с параметрами чека

    Атрибуты блока Receipt представлены в таблице ниже.

    Название Тип Обязательность Описание
    receiptStatus N2 да По значению этого параметра определяется состояние чека. Поле может принимать следующие значения: 0 - Отправлен платёж; 1 - Доставлен платёж; 2 - Ошибка платежа; 3 - Отправлен возврат; 4 - Доставлен возврат; 5 - Ошибка возврата.
    uuid ANS..32 нет Идентификатор чека в фискализаторе.
    shift_number N нет Номер смены.
    receipt_number N нет Номер чека в смене.
    receipt_datetime S нет Дата и время чека в фискальном накопителе. Указывается как количество миллисекунд, прошедших с 00:00 1 января 1970 года.
    fn_number S..16 нет Номер фискального накопителя.
    ecrregistrationnumber S..20 нет Регистрационный номер контрольно-кассовой техники.
    device_number S..20 нет Регистрационный номер контрольно-кассовой техники.
    fiscaldocumentnumber N нет Фискальный номер документа.
    fiscaldocumentattribute S..10 нет Фискальный признак документа.
    amount_total NS..11 нет Итоговая сумма чека в рублях.
    serial_number S..20 нет Заводской номер контрольно-кассовой техники.
    OFD N/A нет Блок с параметрами оператора фискальных данных. Описание приведено ниже.


Атрибуты блока OFD представлены в таблице ниже.

Название Тип Обязательность Описание
name S..256 нет Наименование оператора фискальных данных.
website S..58 нет Сайт оператора фискальных данных.
INN S12 нет Идентификационный номер налогоплательщика оператора фискальных данных.

Коды ошибок
В таблице ниже представлены коды и сообщения ошибок.

Код ошибки Сообщение
1 Необходим хотя бы один из параметров: orderId, orderNumber, uuid.
5 Доступ запрещён.
6 Чек не найден.
7 Системная ошибка.

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

        https://alfa.rbsuat.com/payment/merchants/ecom2/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}]}
    

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

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

Название Тип Обязательность Описание
userName AN..30 да Логин магазина, полученный при подключении
password AN..30 да Пароль магазина, полученный при подключении
orderId ANS36 да* Номер заказа в платёжной системе. Уникален в пределах системы.
orderNumber AN..32 да* Номер (идентификатор) заказа в системе магазина.
language A2 нет Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке.

Примечание В запросе должен присутствовать либо orderId, либо orderNumber. Если в запросе присутствуют оба параметра, то приоритетным считается orderId.
Существует несколько наборов параметров ответа. Какие именно наборы параметров будут возвращены, завит от версии getOrderStatusExtended, указанной в настройках продавца.

Название Тип Обязательно Описание Версия getOrderStatusExtended
orderNumber AN..32 да Номер (идентификатор) заказа в системе магазина. Все версии.
orderStatus N2 нет

По значению этого параметра определяется состояние заказа в платёжной системе. Список возможных значений:

  • '0' Заказ зарегистрирован, но не оплачен;
  • '1' Предавторизованная сумма захолдирована (для двухстадийных платежей);
  • '2' Проведена полная авторизация суммы заказа;
  • '3' Авторизация отменена;
  • '4' По транзакции была проведена операция возврата;
  • '5' Инициирована авторизация через ACS банка-эмитента;
  • '6' Авторизация отклонена.

Отсутствует, если заказ не был найден.

Все версии.
actionCode N3 да Код ответа. Все версии.
actionCodeDescription AN..512 да Расшифровка кода ответа на языке, переданном в параметре language в запросе. Все версии.
errorCode N3 нет

Код ошибки. Возможны следующие варианты:

  • '0' Обработка запроса прошла без системных ошибок;
  • '1' Ожидается orderId или orderNumber;
  • '5' Доступ запрещён;
  • '5' Пользователь должен сменить свой пароль;
  • '6' Заказ не найден;
  • '7' Системная ошибка.
Все версии.
errorMessage AN..512 нет Описание ошибки на языке, переданном в параметре language в запросе. Все версии.
amount N..20 да Сумма платежа в копейках (или центах) Все версии.
currency N3 нет Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли). Все версии.
date ANS да Дата регистрации заказа. Все версии.
orderDescription AN..512 нет Описание заказа, переданное при его регистрации Все версии.
ip AN..20 да IP-адрес покупателя. Все версии.

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

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

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

Название Тип Обязательно Описание Версия getOrderStatusExtended
pan N..19 нет Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа. Все версии.
expiration N6 нет Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа. Все версии.
cardholderName A..64 нет Имя держателя карты. Указан только после оплаты заказа. Все версии.
approvalCode AN6 нет Код авторизации платежа. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. Указан только после оплаты заказа. Все версии.
chargeback A..5 нет Были ли средства принудительно возвращены покупателю банком. Возможны следующие значения: true (истина); false (ложь). 06 и выше.
paymentSystem N..10 да Наименование платёжной системы. Доступны следующие варианты: VISA; MASTERCARD; AMEX; JCB; CUP; MIR. 08 и выше.
product AN..255 да Дополнительные сведения о корпоративных картах. Эти сведения заполняются службой технической поддержки в консоли управления. Если такие сведения отсутствуют, возвращается пустое значение. 08 и выше.
paymentWay AS..14 да Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.). 09 и выше.

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

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

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

Название Тип Обязательно Описание Версия getOrderStatusExtended
clientId ANS..255 нет Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок. Все версии.
bindingId AN..255 нет Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. Все версии.
authDateTime ANS нет Дата/время авторизации. 02 и выше.
authRefNum AN..24 нет Учётный номер авторизации платежа, который присваивается при регистрации платежа. 02 и выше.
terminalId AN..10 нет Id терминала. 02 и выше.

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

Название Тип Обязательно Описание Версия getOrderStatusExtended
approvedAmount N..20 нет Сумма, захолдированная на карте (используется только при двухстадийных платежах). 03 и выше.
depositedAmount N..20 нет Сумма, подтверждённая для списания с карты. 03 и выше.
refundedAmount N..20 нет Сумма возврата. 03 и выше.
paymentState A..10 нет Состояние заказа. 03 и выше.
feeAmount N..20 нет Сумма комиссии. 11 и выше.

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

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


Содержимое orderBundle

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


Содержимое customerDetails

Название Тип Обязательно Описание Версия getOrderStatusExtended
email ANS..40 нет Адрес электронной почты покупателя. 03 и выше.
phone N.12 нет Телефон покупателя. 03 и выше.
fullName N..100 нет Фамилия, имя и отчество плательщика. 13 и выше.
passport N.100 нет Серия и номер паспорта плательщика в следующем формате: 2222888888. 13 и выше.
inn N.12 нет Идентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов. 13 и выше.


Содержимое cartItems

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


Содержимое items

Название Тип Обязательно Описание Версия getOrderStatusExtended
positionId N..12 нет Уникальный идентификатор товарной позиции внутри корзины заказа. 03 и выше.
name ANS..100 нет Наименование или описание товарной позиции в свободной форме. 03 и выше.
quantity См. описание нет Элемент, описывающий общее количество товарных позиций одного positionId и их меру измерения. Описание его атрибутов представлено ниже. 03 и выше.
itemAmount N..18 нет Сумма стоимости всех товарных позиций одного positionId в деньгах в минимальных единицах валюты. 03 и выше.
depositedItemAmount N..18 нет Сумма в минимальных единицах валюты (например, в копейках) одного positionId, подтверждённая для списания с карты. 03 и выше.
itemCurrency N3 нет Код валюты товарной позиции ISO 4217. 03 и выше.
itemCode ANS..100 нет Номер (идентификатор) товарной позиции в системе магазина. Параметр должен быть уникальным в рамках запроса. 03 и выше.


Содержимое quantity

Название Тип Обязательно Описание Версия getOrderStatusExtended
value N..18 нет Количество товарных позиций данного positionId. Для указания дробных чисел используйте десятичную точку. 03 и выше.
measure ANS..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