Согласно 54 федеральному закону, с 1 июля 2017 года все российские интернет-ресурсы обязаны выдавать клиентам чеки за онлайн-платежи.
При расчётах с физическими лицами должна быть использована специальная контрольно-кассовая техника(ККТ)
Платёжный шлюз позволяет принимать оплату по заказам, содержащих информацию о Корзине.
Корзина предоставляет собой детализацию Заказа по товарным позициям, по которым производится оплата в рамках одного Заказа.
В запросе на регистрацию заказа также передаются данные, необходимые для формировании кассового чека.
Если Вы выберите ecom-кассу от наших партнеров, то вся нужная информация будет передана в ОФД и в налоговую, согласно тербованиям ФЗ-54
Для стандартного интернет-эквайринга передать информацию по корзине в кассу можно 2 способами:
Для способов подключения "Выставление ссылки на оплату" и "Конструктор формы оплаты":
Передача информации в кассу для пробития чека обеспечивается настройками в Личном Кабинете.
Инструкция по настройке фискализации:
Инструкция
Вместе с этим, необходимо выбрать партнера:
Ниже представлены льготный расценки партнеров для клиентов Альфа-Банка.
Сколько стоит:
Подробнее можно ознакомиться по ссылке
Инструкция по подключению для клиентов
Сколько стоит:
Подключение по ссылке
Сколько стоит:
Подробнее:
https://lk.orangedata.ru/register/?partner_code=3010001
Для получения льготных условий, заявку на подключение необходимо заполнить через сайт https://lk.orangedata.ru/register/?partner_code=3010001
Сколько стоит:
Стоимость сервиса Ferma на 1 ККТ в рамках тарифов:
Стоимость фискальных накопителей:
Подробнее:
http://alfabank.ofd.ru/
Сколько стоит:
Для получения льготных условий, необходимо заполнить заявку на подключение через сайт.
Сколько стоит:
Подробнее можно ознакомиться по ссылке
Сколько стоит:
Подробнее можно ознакомиться по ссылке
Для получения льготных условий заполните заявку на подключение через сайт.
Сколько стоит:
Подробнее можно ознакомиться по ссылке
Сколько стоит:
Подробнее можно ознакомиться по ссылке
Для получения льготных условий, необходимо заполнить заявку на подключение.
Для включения сервиса Е-Ком касса необходимо заключить дополнительное соглашение с банком:
Дополнительное соглашение
Инструкция по заполнению дополнительного соглашения:
Инструкция по заполнению дополнительного соглашения
В случае заполнения ПОДТВЕРЖДЕНИЯ О ПРИСОЕДИНЕНИИ (ПОП) заполнения доп. соглашения не требуется.
Помощь в процессе подключения:
Обращайтесь в службу сопровождения emcsupport@alfabank.ru и ers@alfabank.ru
Куда отправить подписанное доп. соглашение:
Курьерской службой:
ОАО "Альфа-Банк"
г. Москва, проспект Андропова, д. 18, корпус 3
Колдаеву Алексею
Почтой РФ:
ОАО "Альфа-Банк", 107078 Москва, ул. Каланчевская д. 27
Колдаеву Алексею
Нужна тестовая среда:
Обращайтесь в службу сопровождения тестовой среды: ers@alfabank.ru
Презентация:
Скачать
В запросах на регистрацию заказа (с предавторизацией или без) Корзина товаров передаётся в параметре <orderBundle>.
Все параметры Корзины валидируются на соответствие требуемому формату (длине).
В случае невыполнения хотя бы одного из указанных выше условий Заказ считается неправильно сформированным и Платёжный шлюз возвращает ошибку.
При завершении заказов Корзина передаётся в элементе <depositItems>.
Все параметры Корзины валидируются на соответствие требуемому формату (длине).
В случае невыполнения хотя бы одного из указанных выше условий, запрос завершения заказа считается неправильно сформированным и Платёжный шлюз возвращает ошибку.
В запросе на возврат Корзина указывается в блоке <refundItems>.
Все параметры Корзины валидируются на соответствие требуемому формату (длине).
В случае невыполнения хотя бы одного из указанных выше условий, запрос возврата заказа считается неправильно сформированным и Платёжный шлюз должен вернуть ошибку.
Для регистрации заказа в системе используется запрос registerOrder
. Состав товарной Корзины передаётся в параметре <orderBundle>.
Раздел Требования к формированию запросов регистрации заказа с Корзиной содержит список условий, необходимых для корректного формирования запроса.
Примечание Если в запросе на оплату не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом).
Параметры запроса:
Название | Тип | Обязательно | Описание | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
merchantOrderNumber | ANS..32 | да | Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно. | ||||||||||||
description | ANS..512 | нет | Описание заказа в свободной форме. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку. | ||||||||||||
amount | N..20 | да | Сумма платежа в копейках (или центах) | ||||||||||||
currency | N3 | нет | Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию. | ||||||||||||
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. | ||||||||||||
pageView | ANS..20 | нет |
По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:
Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается 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 содержит значение:
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данного функционала возможно по согласованию с банком в период интеграции. |
||||||||||||
clientId | AN..255 | нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок.
|
||||||||||||
merchantLogin | AN..255 | нет | Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре. | ||||||||||||
features | ANS..255 | нет | AUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей. | ||||||||||||
orderBundle | N/A | - | Корзина товаров заказа. Описание представлено ниже. | ||||||||||||
taxSystem | N..2 | да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) |
Система налогообложения, доступны следующие значения:
|
По умолчанию в процессинг банка передаются поля:
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 | да (если передаётся блок) |
Тип агента, возможно одно из следующих значений:
|
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:
Обязательность параметров указана для использования в рамках тэга. Если тэг необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.
Название | Тип | Обязательно | Описание |
---|---|---|---|
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:
Атрибуты следует указывать следующим образом
<attributes name="название_атрибута_1">значение_атрибута_1</attributes>
<attributes name="название_атрибута_2">значение_атрибута_2</attributes>
Название | Тип | Обязательно | Описание |
---|---|---|---|
paymentMethod | N..2 | да |
Признак способа расчёта, доступны следующие значения:
|
paymentObject | N..2 | да |
Признак предмета расчёта, доступны следующие значения:
|
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 .
|
Тип агента, возможно одно из следующих значений:
|
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 | да |
Ставка НДС, доступны следующие значения:
Обязательно для продавцов с фискализацией |
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. |
Пример запроса:
<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>
Пример ответа:
<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
При регистрации заказа необходимо дополнительно передать состав товарной Корзины.Раздел Требования к формированию запросов регистрации заказа с Корзиной содержит список условий, необходимых для корректного формирования запроса.
Примечание Если в запросе на оплату не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом).
Параметры запроса:
Название | Тип | Обязательно | Описание | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
merchantOrderNumber | ANS..32 | да | Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно. | ||||||||||||
description | ANS..512 | нет | Описание заказа в свободной форме. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку. | ||||||||||||
amount | N..20 | да | Сумма платежа в копейках (или центах) | ||||||||||||
currency | N3 | нет | Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию. | ||||||||||||
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. | ||||||||||||
pageView | ANS..20 | нет |
По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:
Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается 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 содержит значение:
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данного функционала возможно по согласованию с банком в период интеграции. |
||||||||||||
clientId | AN..255 | нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок.
|
||||||||||||
merchantLogin | AN..255 | нет | Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре. | ||||||||||||
features | ANS..255 | нет | AUTO_PAYMENT - Если запрос на регистрацию заказа инициирует проведение автоплатежей. | ||||||||||||
orderBundle | N/A | - | Корзина товаров заказа. Описание представлено ниже. | ||||||||||||
taxSystem | N..2 | да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) |
Система налогообложения, доступны следующие значения:
|
||||||||||||
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 | да (если передаётся блок) |
Тип агента, возможно одно из следующих значений:
|
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:
Обязательность параметров указана для использования в рамках тэга. Если тэг необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.
Название | Тип | Обязательно | Описание |
---|---|---|---|
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:
Атрибуты следует указывать следующим образом
<attributes name="название_атрибута_1">значение_атрибута_1</attributes>
<attributes name="название_атрибута_2">значение_атрибута_2</attributes>
Название | Тип | Обязательно | Описание |
---|---|---|---|
paymentMethod | N..2 | да |
Признак способа расчёта, доступны следующие значения:
|
paymentObject | N..2 | да |
Признак предмета расчёта, доступны следующие значения:
|
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 .
|
Тип агента, возможно одно из следующих значений:
|
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 | да |
Ставка НДС, доступны следующие значения:
Обязательно для продавцов с фискализацией |
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 |
Пример запроса:
<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>
Пример ответа:
<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>
Для запроса списания полной суммы предавторизации используется запрос depositOrder
.
Данную операцию можно осуществлять, если есть соответствующие права в системе.
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
orderId | AN..64 | да | Номер заказа в платёжной системе. Уникален в пределах системы. |
depositAmount | N..5 | да | Для завершения на полную сумму предавторизации в запросе необходимо передать полную сумму заказа в деньгах или 0. Если не указать параметр depositAmount , завершение также произойдёт на всю предавторизованную сумму.
|
language | A2 | нет | Язык в кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке. |
agent | - | нет | Блок для передачи данных об агенте (см. описание ниже). |
supplierPhones | массив ANS..19 | нет | Массив телефонов поставщика в формате +N. |
Параметры блока agent
Название | Тип | Обязательно | Описание |
---|---|---|---|
agentType | N..2 | да (если передаётся блок) |
Тип агента, возможно одно из следующих значений:
|
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 | Указанная сумма завершения не совпадает с полной суммой заказа. Необходима Корзина для завершения на неполную сумму предавторизации |
Пример запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant">
<soapenv:Header/>
<soapenv:Body>
<mer:depositOrder>
<order language="ru" orderId="8c76c56b-426c-435d-a24c-1c0927dd6fca" depositAmount=" ">
<!--Optional:-->
<!--Zero or more repetitions:-->
<params name=" " value=" "/>
</order>
</mer:depositOrder>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:depositOrderResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant">
<return errorCode="0"/>
</ns1:depositOrderResponse>
</soap:Body>
</soap:Envelope>
Для запроса списания частичной суммы предавторизации можно использовать запрос depositOrder
с обязательным указанием Корзины.
Для доступа к выполнению данной операции пользователь должен обладать соответствующими правами в системе.
Раздел "Требования к формированию запросов завершения заказа с Корзиной" содержит список условий, необходимых для корректного формирования запроса.
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
orderId | AN..64 | да | Номер заказа в платёжной системе. Уникален в пределах системы. |
depositAmount | N..5 | да | Сумма списания в валюте заказа (в минимальных единицах). Должна совпадать с общей суммой списания по всем товарным позициям в Корзине завершения. |
language | A2 | нет | Языкв кодировке ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке. |
depositItems | - | да | Блок с атрибутами товарных позиции Корзины. Описание приведено ниже. |
agent | - | нет | Блок для передачи данных об агенте (см. описание ниже). |
supplierPhones | массив ANS..19 | нет | Массив телефонов поставщика в формате +N. |
Параметры блока agent
Название | Тип | Обязательно | Описание |
---|---|---|---|
agentType | N..2 | да (если передаётся блок) |
Тип агента, возможно одно из следующих значений:
|
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:
Атрибуты следует указывать следующим образом
<attributes name="название_атрибута_1">значение_атрибута_1</attributes>
<attributes name="название_атрибута_2">значение_атрибута_2</attributes>
Название | Тип | Обязательно | Описание |
---|---|---|---|
paymentMethod | N..2 | да |
Признак способа расчёта, доступны следующие значения:
|
paymentObject | N..2 | да |
Признак предмета расчёта, доступны следующие значения:
|
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 .
|
Тип агента, возможно одно из следующих значений:
|
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 | да |
Ставка НДС, доступны следующие значения:
Обязательно для продавцов с фискализацией |
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 |
Пример запроса:
<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>
Пример ответа:
<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>
Для запроса отмены заказа используется запрос 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 | Ошибка системы |
Пример запроса:
<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>
Пример ответа:
<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>
Для запроса полного возврата средств оплаты используется запрос 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 | Указанная сумма возврата не совпадает с полной суммой заказа. Для частичного возврата необходима Корзина |
Пример запроса:
<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>
Пример ответа:
<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>
Для частичного возврата средств используется запрос 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:
Атрибуты следует указывать следующим образом
<attributes name="название_атрибута_1">значение_атрибута_1</attributes>
<attributes name="название_атрибута_2">значение_атрибута_2</attributes>
Название | Тип | Обязательно | Описание |
---|---|---|---|
paymentMethod | N..2 | да |
Признак способа расчёта, доступны следующие значения:
|
paymentObject | N..2 | да |
Признак предмета расчёта, доступны следующие значения:
|
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 .
|
Тип агента, возможно одно из следующих значений:
|
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 | да |
Ставка НДС, доступны следующие значения:
Обязательно для продавцов с фискализацией |
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 | Превышена стоимость возвращаемой товарной позиции |
Пример запроса:
<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>
Пример ответа:
<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>
Для запроса состояния зарегистрированного заказа используется запрос 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 | нет |
Код ошибки. Возможны следующие варианты:
|
Все версии. |
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 и выше. |
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
customerDetails | См. описание | нет | Блок данных о клиенте. | 03 и выше. |
cartItems | См. описание | нет | Блок с атрибутами товарных позиции к орзины товаров. Описание его атрибутов представлено ниже. | 03 и выше. |
Содержимое customerDetails
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
ANS..40 | нет | Адрес электронной почты покупателя. | 03 и выше. | |
phone | N.12 | нет | Телефон покупателя. | 03 и выше. |
fullName | N..100 | нет | Фамилия, имя и отчество плательщика. | 13 и выше. |
passport | N.100 | нет | Серия и номер паспорта плательщика в следующем формате: 2222888888. | 13 и выше. |
inn | N.12 | нет | Идентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов. | 13 и выше. |
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
items | См. описание | нет | Элемент массива с атрибутами товарной позиции в корзине. Описание его атрибутов представлено ниже. | 03 и выше. |
Название | Тип | Обязательно | Описание | Версия 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 и выше. |
Пример запроса:
<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>
Пример ответа:
<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>
Для регистрации заказа в схеме приёма платежа на стороне платёжной системы используется запрос 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 | нет |
По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:
Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP. |
clientId | AN..255 | нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок.
|
merchantLogin | AN..255 | нет | Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре. |
jsonParams | AN..1024 | нет |
Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данной функциональности возможно по согласованию с банком в период интеграции. |
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 | да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) |
Система налогообложения, доступны следующие значения:
|
Примечание По умолчанию в процессинг банка передаются поля:
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 | да (если передаётся блок) |
Тип агента, возможно одно из следующих значений:
|
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:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.
Название | Тип | Обязательно | Описание |
---|---|---|---|
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 | да |
Признак способа расчёта, доступны следующие значения:
|
paymentObject | N..2 | да |
Признак предмета расчёта, доступны следующие значения:
|
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 .
|
Тип агента, возможно одно из следующих значений:
|
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 | да |
Ставка НДС, доступны следующие значения:
Обязательно для продавцов с фискализацией |
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 | нет |
По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможные значения:
Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается pageView=DESKTOP. |
clientId | AN..255 | нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок.
|
merchantLogin | AN..255 | нет | Чтобы зарегистрировать заказ от имени дочернего мерчанта, укажите его логин в этом параметре. |
jsonParams | AN..1024 | нет |
Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данной функциональности возможно по согласованию с банком в период интеграции. |
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 | да - для фискализации (для магазинов без настроек фискализации параметр не обязателен) |
Система налогообложения, доступны следующие значения:
|
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 | да (если передаётся блок) |
Тип агента, возможно одно из следующих значений:
|
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:
Название | Тип | Обязательно | Описание |
---|---|---|---|
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 | да |
Признак способа расчёта, доступны следующие значения:
|
paymentObject | N..2 | да |
Признак предмета расчёта, доступны следующие значения:
|
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 .
|
Тип агента, возможно одно из следующих значений:
|
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 | да | Мера измерения количества товарной позиции |
Название | Тип | Обязательно | Описание |
---|---|---|---|
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 | да |
Ставка НДС, доступны следующие значения:
Обязательно для продавцов с фискализацией |
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 | да (если передаётся блок) |
Тип агента, возможно одно из следующих значений:
|
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 | да (если передаётся блок) |
Тип агента, возможно одно из следующих значений:
|
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 | да |
Признак способа расчёта, доступны следующие значения:
|
paymentObject | N..2 | да |
Признак предмета расчёта, доступны следующие значения:
|
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 .
|
Тип агента, возможно одно из следующих значений:
|
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 | да |
Ставка НДС, доступны следующие значения:
Обязательно для продавцов с фискализацией |
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 | нет |
Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данной функциональности возможно по согласованию с банком в период интеграции. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
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 | нет |
Блок для передачи дополнительных параметров мерчанта. Поля дополнительной информации для последующего хранения, передаются в виде:
Данные поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение данной функциональности возможно по согласованию с банком в период интеграции. |
Параметры блока 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 | да |
Признак способа расчёта, доступны следующие значения:
|
paymentObject | N..2 | да |
Признак предмета расчёта, доступны следующие значения:
|
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 .
|
Тип агента, возможно одно из следующих значений:
|
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 | да |
Ставка НДС, доступны следующие значения:
Обязательно для продавцов с фискализацией |
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 | нет |
По значению этого параметра определяется состояние заказа в платёжной системе. Список возможных значений:
Отсутствует, если заказ не был найден. |
Все версии. |
actionCode | N3 | да | Код ответа. | Все версии. |
actionCodeDescription | AN..512 | да | Расшифровка кода ответа на языке, переданном в параметре language в запросе. | Все версии. |
errorCode | N3 | нет |
Код ошибки. Возможны следующие варианты:
|
Все версии. |
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 и выше. |
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
customerDetails | См. описание | нет | Блок данных о клиенте. См. описание ниже. | 03 и выше. |
cartItems | См. описание | нет | Блок с атрибутами товарных позиции к орзины товаров. Описание его атрибутов представлено ниже. | 03 и выше. |
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
ANS..40 | нет | Адрес электронной почты покупателя. | 03 и выше. | |
phone | N.12 | нет | Телефон покупателя. | 03 и выше. |
fullName | N..100 | нет | Фамилия, имя и отчество плательщика. | 13 и выше. |
passport | N.100 | нет | Серия и номер паспорта плательщика в следующем формате: 2222888888. | 13 и выше. |
inn | N.12 | нет | Идентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов. | 13 и выше. |
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
items | См. описание | нет | Массив блоков, описывающих товарные позиции в корзине товаров. Описание параметров блоков представлено ниже. Информация по каждой товарной позиции корзины передаётся в отдельном блоке, входящем в состав items. | 03 и выше. |
Название | Тип | Обязательно | Описание | Версия 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 и выше. |
Название | Тип | Обязательно | Описание | Версия 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 в личном кабинете платёжного шлюза используйте следующие учётные данные:
Группа - 1.
В тестовом личном кабинете ОФД-Такском Вы можете проверить наличие фискального чека после успешной операции: