Инструменты страницы
Описание REST API
Реализация одностадийной оплаты со Спасибо
Запрос регистрации заказа (register.do)
Для регистрации заказа используется запрос register.do
.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса
Параметры запроса представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | нет (нужно указать либо пару логин и пароль, либо токен) |
Логин магазина, полученный при подключении. Если вместо аутентификации по логину и паролю используется открытый токен (параметр token), параметр userName передавать не нужно. |
|
AN..200 | нет (нужно указать либо пару логин и пароль, либо токен) |
Пароль магазина, полученный при подключении. Если для аутентификации при регистрации вместо логина и пароля используется открытый токен (параметр token), параметр password передавать не нужно. |
|
AN..256 | нет (нужно указать либо пару логин и пароль, либо токен) |
Открытый ключ, который можно использовать для аутентификации при выполнении запроса. Если для аутентификации используются логин и пароль, параметр Чтобы получить открытый ключ, обратитесь в техническую поддержку. |
|
ANS..32 | Да |
Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно |
|
N..12 | Да |
Сумма платежа в минимальных единицах валюты. |
|
N3 | Нет |
Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. |
|
ANS..512 | Да |
Адрес, на который требуется перенаправить пользователя в случае успешной оплаты, а также в случае неуспешной оплаты (при отсутствии переданного параметра Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:
|
|
ANS..512 | Нет |
Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>. Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:
Параметр необязательный. |
|
ANS..512 | Нет |
Параметр позволяет воспользоваться функциональность динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все «платежные» callback-уведомления, активированные для продавца. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту, платеж cardpresent отклонен, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов. Для использования функциональности динамической отправки callback-уведомлений необходимо, чтобы у мерчанта была выставлена соответствующая настройка: Тип callback-а: Динамический (CALLBACK_TYPE = DYNAMIC). Чтобы мерчант мог получать callback-уведомления, для него необходима активация пермиссии: Разрешено выполнять callback операции. |
|
ANS..512 | Нет |
Описание заказа в свободной форме. В процессинг банка для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку. |
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
|
N..8 | Нет |
Сумма комиссии в минимальных единицах валюты. Параметр передается только при включении соответствующей пермиссии. |
|
ANS..20 | Нет |
По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможны следующие значения.
Где:
Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается |
|
ANS..255 | Нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок. Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен. |
|
ANS..255 | Нет |
Чтобы зарегистрировать заказ от имени дочернего продавца, укажите его логин в этом параметре. |
|
Строка | Нет |
Дополнительные параметры запроса. Формат вида: {«Имя1»: «Значение1», «Имя2»: «Значение2»}. При сценарии оплаты app2app, back2app и mWeb2App передаются также следующие параметры (см. таблицу ниже). При указании «showLoyalty»:«false» взаимодействие с сервисом лояльности осуществляться не будет. В качестве дополнительных параметров в том числе возможно передать следующие:
В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
|
|
N..10 | Нет |
Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается. |
|
UTC | Нет |
Дата и время окончания жизни заказа. Формат:
Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется |
|
AN..255 | Нет |
Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: |
|
AN..255 | Нет |
Возможно использование следующих значений.
|
|
ANS..40 | Нет |
Адрес электронной почты покупателя. |
|
NS..12 | Нет* |
Номер телефона клиента без лидирующей «7». Параметр phone, передаваемый напрямую, не валидируется. |
|
См. описание | Нет |
Блок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если активна соответствующая пермиссия для мерчанта («Разрешено использование AVS/AVV»). |
По умолчанию в процессинг банка передаются поля:
orderNumber
– номер заказа в системе магазина;description
– описание заказа (не более 24 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n).
Параметры блока billingPayerData
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..50 | Нет |
Город, зарегистрированный по конкретной карте у Банка Эмитента |
|
AN..50 | Нет |
|
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 1. Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV». |
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 2. |
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 3. |
|
AN..50 | Нет |
Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV». |
|
AN..50 | Нет |
Штат, зарегистрированный по конкретной карте у Банка Эмитента (ISO 3166-2) |
Параметры при сценарии оплаты app2app
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
Булевое значение | Нет |
Атрибут, указывающий на способ оплаты через приложение СБОЛ (app2app). Возможны следующие значения:
Для использования этого параметра у мерчанта должна быть включена соответствующая пермиссия. |
|
ANS..32 | См. описание |
Тип ОС. Возможные значения:
Обязательно, только если |
|
ANS..255 | См. описание |
Ссылка на приложение мерчанта для возврата с успешной оплатой.
Обязательно, только если |
Параметры при сценарии оплаты back2app
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
булевое значение | Нет |
Атрибут, указывающий на способ оплаты по сценарию |
Параметры при сценарии оплаты mWeb2App
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..255 | Нет |
Данные для возврата в мобильное приложение Мерчанта, при успешной оплате {"sberpay.backurl":"https://test.ru","mWeb2App":"true"} |
Передача признака изменения средства оплаты SberPay
Для передачи признака изменения средства оплаты SberPay необходимо здесь передать следующий параметр:
Параметр | Тип | Обязательно | Описание |
---|---|---|---|
sberpay.paymentSourceChange | boolean | Нет | Признак, позволяющий мерчанту указать на то, что происходит изменение средства оплаты SberPay, а не создание новой связки. Возможные значения: true/false . |
Ограничения поддержки параметров backToShopUrl, backToShopName
При передачи параметра backToShopUrl, на платёжной странице будет отображаться кнопка возврата покупателя в магазин. backToShopName - название кнопки возврата в магазин, которая будет отображаться, если передать параметр backToShopUrl.
Существуют ограничения поддержки параметров backToShopUrl, backToShopName в определенных статиках ПС, а именно:
Статика | Поддержка параметра |
---|---|
rbc | Оба параметра не поддерживаются |
sbersafe | Оба параметра поддерживаются |
sbersafe_sberid |
|
Скрытие pay-кнопок ( Apple Pay/Google Pay/Samsung Pay)
Для того, чтобы скрыть pay
-кнопку (Apple Pay/Google Pay/Samsung Pay
) на платежной странице, не прибегая к изменениям пермиссий Мерчанта, необходимо в jsonParams
передать следующее:
- скрыть кнопку Google Pay:
{"showGooglePay": "false"}а также:
{"showSbol":"false"}
или
{"sberpayHide":"true"}
- скрыть кнопку Apple Pay:
{"showApplePay": "false"}а также:
{"showSbol":"false"}
или
{"sberpayHide":"true"}
- скрыть кнопку Samsung Pay:
{"showSamsungPay": "false"}а также:
{"showSbol":"false"}
или
{"sberpayHide":"true"}
Параметры рекуррентных платежей
В первоначальном платеже рекуррентных платежей передаются параметры, указанные ниже.
recurringFrequency
– период рекуррентных платежей в днях (натуральное число в пределах от 1 до 28).recurringExpiry
– дата прекращения действия рекуррентных платежей (формат YYYYMMDD).
Если в запросе будет присутствовать только один параметр или хотя бы один параметр не будет соответствовать формату, выполнение запроса завершится ошибкой.
Параметры ответа:
Параметры ответа представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS36 | Нет |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
AN..512 | Нет |
URL-адрес платёжной формы, на который нужно перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в Чтобы получить возможность принимать оплату этим способом, у вас должны быть соответствующие полномочия в системе. В случае сомнений оставить обращение и получить быстрое решение можно в личном кабинете в разделе «Поддержка». |
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
|
|
Нет |
|
|
См. описание | Нет |
Блок пар key (ключ) - value (значение), который возвращается при оплате по схемам app2app и back2app. Допустимо использовать следующие параметры (см. таблицу ниже). Ниже представлен пример ответа с блоком externalParams при схеме app2app.
{ "orderId":"a728b310-c3a7-7c27-86fd-dc8100a20c60", "formUrl":"https://localhost:8989/payment/merchants/rbs/payment_ru.html?mdOrder=a728b310-c3a7-7c27-86fd-dc8100a20c60", "externalParams":{ "sbolBankInvoiceId":"a728b310-c3a7-7c27-86fd-dc8100a2", "sbolDeepLink":"https://test.ru" } } Ниже представлен пример ответа с блоком externalParams при схеме back2app. { "orderId":"a728b310-c3a7-7c27-86fd-dc8100a20c60", "formUrl":"https://localhost:8989/payment/merchants/rbs/payment_ru.html?mdOrder=a728b310-c3a7-7c27-86fd-dc8100a20c60", "externalParams":{ "sbolBankInvoiceId":"a728b310-c3a7-7c27-86fd-dc8100a2", "sbolInactive":"false" } } |
Параметры externalParams при сценарии оплаты app2app
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..1024 | Нет |
Ссылка на приложение Банка для завершения оплаты. |
|
ANS..1024 | Нет |
Уникальный идентификатор заказа, сгенерированный Банком. |
|
Булевое значение | Нет |
Атрибут, информирующий о проходящих регламентных работах.
Значение
Значение
Параметр может возникать, если у мерчанта включена соответствующая пермиссия, и |
Параметры externalParams при сценарии оплаты back2app
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
Булевое значение | Нет |
Атрибут, информирующий о проходящих регламентных работах
Значение
Значение |
|
ANS..1024 | Нет |
Уникальный идентификатор заказа, сгенерированный Банком. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
1 |
Заказ с таким номером уже обработан. |
1 |
Неверный номер заказа. |
1 | Срок действия карты истёк. |
3 |
Неизвестная валюта. |
4 |
Номер заказа не может быть пуст. |
4 |
Имя продавца не может быть пустым. |
4 |
Отсутствует сумма. |
4 |
URL возврата не может быть пуст. |
4 |
Пароль не может быть пуст. |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
5 |
|
7 |
Системная ошибка. |
13 |
Мерчант не имеет привилегии выполнять проверочные платежи. |
14 |
|
Пример запроса POST
amount=100¤cy=643&language=ru&orderNumber=87654321&returnUrl=http://yoursite.com&jsonParams={"orderNumber":1234567890}&pageView=DESKTOP&expirationDate=2014-09-08T14:14:14&merchantLogin=merch_child&features=AUTO_PAYMENT
Пример ответа
{"orderId":"70906e55-7114-41d6-8332-4609dc6590f4","formUrl":"https://3dsec.sberbank.ru/payment/merchants/test/payment_ru.html?mdOrder=70906e55-7114-41d6-8332-4609dc6590f4"}
Указание произвольного количества бонусов "Спасибо" в запросе на регистрацию заказа с передачей товарной корзины
При регистрации заказа, имея соответствующие настройки лояльности, возможно указать максимальное количество бонусов «Спасибо», доступных для списания у конкретных позиций в товарной корзине. Для этого необходимо передать параметр sbrf_spasibo:item_max_bonus_amount
в атрибуте items.itemDetails.ItemDetailsParams
. Значение должно быть строго числом больше или равным 0. Более подробно можно посмотреть описание запроса регистрации заказа с передачей товарной корзины.
Запрос регистрации заказа, передача корзины (register.do)
Для регистрации заказа в схеме приёма платежа на стороне платёжной системы используется запрос register.do
.
В запросах на регистрацию заказа (с предавторизацией или без) корзина товаров передаётся в параметре orderBundle
.
- Все товарные позиции корзины должны быть выражены в одной и той же валюте (если валюта позиции указывается) и должны совпадать с валютой заказа.
- Сумма всех товарных позиций корзины должна быть равна сумме заказа.
- По каждой товарной позиции производится проверка переданного значения
quantity
. В случае если значение слишком большое или слишком маленькое, то запрос завершается ошибкой. - Все параметры Корзины валидируются на соответствие требуемому формату (длине).
В случае невыполнения хотя бы одного из указанных выше условий заказ считается неправильно сформированным и платёжный шлюз возвращает ошибку.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса:
Параметры запроса представлены в таблице ниже.
Если в запросе на оплату не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. процедуру настройки фискальных данных в личном кабинете).
Название | Тип | Обязательно | Описание | Версия ФФД | ||||||
---|---|---|---|---|---|---|---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
Все версии. |
||||||
|
AN..200 | Да |
Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
Все версии. |
||||||
|
AN..256 | См. описание |
Значение, которое используется для аутентификации продавца при отправке запросов в платёжный шлюз. При передаче этого параметра параметры Чтобы получить открытый ключ, обратитесь в техническую поддержку. |
Все версии. |
||||||
|
ANS..32 | Да |
Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно |
Все версии. |
||||||
|
N..12 | Да |
Сумма платежа в минимальных единицах валюты (копейки, центы и т. п.). Должна совпадать с общей суммой по всем товарным позициям в корзине. Перед суммированием всех товарных позиций для каждой товарной позиции произведение количества (quantity) и стоимости (price) округляется до целого числа. Т. е., если после десятичной запятой стоит 5 и более, то округление происходит в большую сторону. Ниже приведены примеры округления.
Таким образом, параметр amount должен быть равен сумме округлённых товарных позиций. |
Все версии. |
||||||
|
N3 | Нет |
Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. |
Все версии. |
||||||
|
ANS..512 | Да |
Адрес, на который требуется перенаправить пользователя в случае успешной оплаты, а также в случае неуспешной оплаты (при отсутствии переданного параметра Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:
|
Все версии. |
||||||
|
ANS..512 | Нет |
Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>. Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:
Параметр необязательный. |
Все версии. |
||||||
|
ANS..512 | Нет |
Описание заказа в свободной форме. В процессинг банка для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку. |
Все версии. |
||||||
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
Все версии. |
||||||
|
ANS..20 | Нет |
По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможны следующие значения.
Где:
Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается |
Все версии. |
||||||
|
ANS..255 | Нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок. Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен. |
Все версии. |
||||||
|
ANS..255 | Нет |
Чтобы зарегистрировать заказ от имени дочернего продавца, укажите его логин в этом параметре. |
Все версии. |
||||||
|
Строка | Нет |
Блок для передачи дополнительных параметров продавца. Поля дополнительной информации для последующего хранения, передаются в следующем виде.
Эти поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение этой функциональности возможно по согласованию с банком в период интеграции.
Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом блоке в параметре с именем
В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
При наличии пермиссий у Мерчанта Разрешена оплата ЭС и Считать ARes.Y (frictionless) как полный 3DS 2.0, здесь обязательным параметром передается:
|
Все версии. |
||||||
|
N..10 | Нет |
Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается. |
Все версии. |
||||||
|
UTC | Нет |
Дата и время окончания жизни заказа. Формат:
Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется |
Все версии. |
||||||
|
AN..255 | Нет |
Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: |
Все версии. |
||||||
|
Блок данных для передачи дополнительных параметров ОФД | Нет |
Некоторые параметры блока Передача этого блока возможна только при использовании следующих ОФД:
| |||||||
|
Не актуально | Да |
Блок, содержащий корзину товаров заказа. Описание его атрибутов представлено ниже. |
Все версии. |
||||||
|
N..2 | Нет |
Система налогообложения, доступны следующие значения:
Если в запросе не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом). |
Все версии. |
||||||
|
См. описание | Нет |
Блок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если активна соответствующая пермиссия для мерчанта («Разрешено использование AVS/AVV»). |
Все версии. |
По умолчанию в процессинг банка передаются поля:
orderNumber
– номер заказа в системе магазина;description
– описание заказа (не более 24 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n).
Параметры блока billingPayerData
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..50 | Нет |
Город, зарегистрированный по конкретной карте у Банка Эмитента |
|
AN..50 | Нет |
|
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 1. Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV». |
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 2. |
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 3. |
|
AN..50 | Нет |
Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV». |
|
AN..50 | Нет |
Штат, зарегистрированный по конкретной карте у Банка Эмитента (ISO 3166-2) |
Передача признака изменения средства оплаты SberPay
Для передачи признака изменения средства оплаты SberPay необходимо здесь передать следующий параметр:
Параметр | Тип | Обязательно | Описание |
---|---|---|---|
sberpay.paymentSourceChange | boolean | Нет | Признак, позволяющий мерчанту указать на то, что происходит изменение средства оплаты SberPay, а не создание новой связки. Возможные значения: true/false . |
Скрытие pay-кнопок ( Apple Pay/Google Pay/Samsung Pay)
Для того, чтобы скрыть pay
-кнопку (Apple Pay/Google Pay/Samsung Pay
) на платежной странице, не прибегая к изменениям пермиссий Мерчанта, необходимо в jsonParams
передать следующее:
- скрыть кнопку Google Pay:
{"showGooglePay": "false"}а также:
{"showSbol":"false"}
или
{"sberpayHide":"true"}
- скрыть кнопку Apple Pay:
{"showApplePay": "false"}а также:
{"showSbol":"false"}
или
{"sberpayHide":"true"}
- скрыть кнопку Samsung Pay:
{"showSamsungPay": "false"}а также:
{"showSbol":"false"}
или
{"sberpayHide":"true"}
orderBundle
состоит из следующих элементов:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..21 | Нет |
Дата создания заказа в формате |
Все версии. |
|
Не актуально | Нет |
Блок с атрибутами данных о покупателе. Описание его атрибутов представлено ниже. |
Все версии. |
|
Не актуально | Да |
Блок с атрибутами товарных позиции корзины товаров. Описание его атрибутов представлено ниже. |
Все версии. |
customerDetails
состоит из следующих элементов:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..40 | Нет |
Способ связи с покупателем. |
|
ANS..40 | Да |
Электронная почта покупателя, на которую будут отправлен кассовый чек.
Обязательно следует передать один из двух параметров: |
|
NS..12 | Нет |
Номер телефона клиента.
При использовании АТОЛ фискализации параметр |
|
ANS..100 | Нет |
Фамилия, имя и отчество плательщика. Параметр возвращается только в том, случае если был передан партнером при регистрации.
Если передается параметр fullName(ФИО) в параметрах CustomerDetails, то обязательно нужно передать дополнительные параметры:
ИНН или данные документа (1243 гражданство, 1244 дата рождения 1245 код документа, 1246 Реквизиты документа, удостоверяющего личность) |
|
ANS..100 | Нет |
Серия и номер паспорта плательщика в следующем формате: |
|
N..12 | Нет |
Идентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов. Параметр возвращается только в том, случае если был передан партнером при регистрации. |
|
|
Нет |
|
В соответствии с требованиями ОФД обязательно следует передать один из двух параметров: email
или phone
. Если эти параметры не будет переданы в запросе, в ОФД будут отправлены данные, указанные в настройках фискализации в личном кабинете (подробнее см. инструкцию по работе с личным кабинетом).
deliveryInfo
состоит из следующих элементов:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..40 | Да, если передаётся блок deliveryInfo |
Город доставки. |
|
A..2 | Да, если передаётся блок deliveryInfo |
Двухбуквенный код страны доставки. |
|
ANS..20 | Нет |
Способ доставки. |
|
ANS..255 | Да, если передаётся блок deliveryInfo |
Адрес доставки. |
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
cartItems
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
Не актуально | Да |
Массив блоков, описывающих товарные позиции в корзине. Информация по каждой товарной позиции Корзины передаётся в отдельном блоке, входящем в состав items. Не используйте внутри этого блока сочетание символов «‘)», в противном случае это приведёт к ошибке на стороне шлюза. |
Все версии. |
items
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..12 | Да |
Уникальный идентификатор товарной позиции внутри корзины заказа. |
Все версии. |
|
ANS..255 | Да |
Наименование или описание товарной позиции в свободной форме. При отправке запроса в ОФД длина наименования будет обрезана до 128 символов.
Используйте |
Все версии. |
|
Не актуально | Нет |
Дополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже. Ограничение размера поля - 1024 байт. |
Все версии. |
|
N..18 | Да |
Элемент, описывающий общее количество товарных позиций одного |
Все версии. |
|
N..12 | Нет |
Сумма стоимости всех товарных позиций одного
При расчёте параметра |
Все версии. |
|
N3 | Нет |
Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа. |
Все версии. |
|
ANS..100 | Да |
Номер (идентификатор) товарной позиции в системе магазина.
При оплате с использованием бонусных баллов «Спасибо» данный параметр должен быть уникальным.
Во всех методах передача артикула |
Все версии. |
|
Не актуально | Нет |
Дополнительный блок с атрибутами описания скидки для товарной позиции. Блок параметров имеет справочный характер и не влияет на расчеты внутри корзины. Описание его атрибутов представлено ниже. |
Все версии. |
|
Не актуально | Нет |
Дополнительный блок с атрибутами описания агентской комиссии за продажу товара. Описание его атрибутов представлено ниже. |
Все версии. |
|
Не актуально | Только для магазинов с настройками фискализации |
Дополнительный тег с атрибутами описания налога. Описание вложенных тегов представлено ниже. |
Все версии. |
|
N..18 | Только для магазинов с настройками фискализации |
Стоимость одной товарной позиции в минимальных единицах валюты. Обязательно для продавцов с фискализацией.
|
Все версии. |
|
См. описание. | Только для магазинов с настройками фискализации |
Блок атрибутов товарной позиции. См. описание ниже. |
1.05 и более поздние версии. |
Параметр itemAttributes
должен содержать массив attributes
, а уже в этом массиве расположены атрибуты товарной позиции (см. пример и таблицу ниже).
"itemAttributes":{"attributes":[{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"1"}]}
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 |
Да |
Тип оплаты возможны следующие значения:
Приоритизация передачи значения происходит по следующему принципу (указано в убывающем порядке приоритета):
Для paymentMethod значением по умолчанию является 1 (полная предварительная оплата до момента передачи предмета расчета). |
1.05 и более поздние версии. |
|
N..2 |
Да |
Тип оплачиваемой позиции, возможны следующие значения:
Указанные выше значения доступны для ФФД 1.05.
Приоритизация передачи значения происходит по следующему принципу (указано в убывающем порядке приоритета):
Для paymentObject значением по умолчанию является 1 (товар). |
1.05 и более поздние версии. |
|
ANS | да (если передан markQuantity) |
Код товарной позиции. Принимаются только первые 256 байт. Возможные форматы для передачи:
|
1.05 и более поздние версии. |
|
| Нет |
Дробное количество маркированного товара. |
1.2 и более поздние версии. |
|
ANS..64 | Нет |
Значение реквизита пользователя. Можно передавать только после согласования с ФНС. |
1.05 и более поздние версии. |
|
N..2 | Обязателен, только если передан объект agent_info . |
Тип агента, возможно одно из следующих значений:
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора по приёму платежей в формате +N. |
1.05 и более поздние версии. |
|
Массив ANS..19 | Да |
Массив телефонов оператора перевода в формате +N. |
1.05 и более поздние версии. |
|
ANS..64 | Нет |
Наименование оператора перевода. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Адрес оператора перевода. |
1.05 и более поздние версии. |
|
N10..12 | Нет |
ИНН оператора перевода. |
1.05 и более поздние версии. |
|
Maccив ANS..19 | Да |
Массив телефонов поставщика в формате +N. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Наименование поставщика. |
1.05 и более поздние версии. |
|
N10..12 | Да |
ИНН поставщика. |
1.05 и более поздние версии. |
|
ANS..36 | Нет |
Уникальный идентификатор платежного документа |
1.05 и более поздние версии. |
|
A..256 | Нет |
ФИО плательщика. |
1.05 и более поздние версии. |
|
ANS..30 | Нет |
Лицевой счет поставщика услуги. |
1.05 и более поздние версии. |
|
ANS..20 | Нет |
Единый лицевой счёт поставщика услуг. |
1.05 и более поздние версии. |
|
N9 | Нет |
БИК Банка получателя платежа. |
1.05 и более поздние версии. |
|
ANS..100 | Нет |
Название Банка получателя платежа. |
1.05 и более поздние версии. |
|
N9 | Нет |
КПП получателя платежа. |
1.05 и более поздние версии. |
|
N20 | Нет |
Расчётный счёт получателя платежа. |
1.05 и более поздние версии. |
|
N..10 | Нет |
Сумма комиссии на стороне поставщика услуг в минимальных единицах валюты. |
1.05 и более поздние версии. |
quantity
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..18 | Да |
Количество товарных позиций данного |
Все версии. |
|
При передаче кириллицей ANS..10, при передаче латиницей - ANS..20 | Да |
Мера измерения количества товарной позиции. |
Все версии. |
Если ФФД версии 1.2 и более поздней, то здесь передаются параметры:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N1 | Да |
Количество товарных позиций данного positionId. Для версии ФФД 1.2+ значение всегда 1. |
1.2 и более поздние версии. |
|
N..3 | Да |
Единица измерения количества предмета расчета. При ФФД версии 1.2+ , если переданы параметры nomenclature и markQuantity, значение всегда 0. В остальных случаях принимает значения ниже |
1.2 и более поздние версии. |
Возможные значения measure
Значение | Описание |
---|---|
0 | Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами (а также в случае, если предметом расчета является товар, подлежащий обязательной маркировке средством идентификации (передан mark_code )) |
10 | Грамм |
11 | Килограмм |
12 | Тонна |
20 | Сантиметр |
21 | Дециметр |
22 | Метр |
30 | Квадратный сантиметр |
31 | Квадратный дециметр |
32 | Квадратный метр |
40 | Миллилитр |
41 | Литр |
42 | Кубический метр |
50 | Киловатт час |
51 | Гигакалория |
70 | Сутки (день) |
71 | Час |
72 | Минута |
73 | Секунда |
80 | Килобайт |
81 | Мегабайт |
82 | Гигабайт |
83 | Терабайт |
255 | Применяется при использовании иных мер измерения |
Параметры тэга markQuantity:
Обязательность параметров указана для использования в рамках тэга. Если тэг необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..12 | да |
Числитель дробной части предмета расчета. |
|
N..12 | да |
Знаменатель дробной части предмета расчета. |
itemDetails
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..255 | Да |
Дополнительная информация по товарной позиции. Представляет собой массив блоков, в каждом из которых передаётся информация об определённой характеристике товарной позиции. |
Все версии. |
itemDetailsParams
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..255 | Условно. Обязательно при наличии параметра itemDetailsParams . |
Дополнительная информация по товарной позиции. |
Все версии. |
|
AN..255 | Условно. Обязательно при наличии параметра itemDetailsParams . |
Наименование параметра описания детализации товарной позиции. |
Все версии. |
При наличии у Мерчанта пермиссий Разрешена оплата ЭС и Считать ARes.Y (frictionless) как полный 3DS 2.0, здесь передается параметр fes_TruCode
.
Пример:
{«name»:«fes_truCode»,«value»:«329921120.06002020100000000643»}, где:
name | ANS..255 | fes_TruCode |
value | NS30 | Код ТРУ (товара/работ/услуг). Перейти к описанию кодировки ТРУ. |
Указание произвольного количества бонусов «Спасибо»
При наличии у Мерчанта соответствующих настроек лояльности здесь можно передать параметр sbrf_spasibo:item_max_bonus_amount
со значением максимального количества бонусов «Спасибо», доступных для списания для каждой товарной позиции в корзине. Значение должно быть строго числом больше или равным 0.
Итоговая максимальная сумма бонусов для списания складывается из всех значений sbrf_spasibo:item_max_bonus_amount
, переданных в товарной корзине.
name | ANS..255 | sbrf_spasibo:item_max_bonus_amount |
value | NS30 | Максимальное количество бонусов «Спасибо» для позиции корзины. |
discount
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..20 | Да |
Тип скидки на товарную позицию. |
Все версии. |
|
N..20 | Да |
Значение скидки на товарную позицию. |
Все версии. |
agentInterest
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..20 | Да |
Тип агентской комиссии за продажу товара. |
Все версии. |
|
N..20 | Да |
Значение агентской комиссии за продажу товара. |
Все версии. |
tax
состоит из следующих элементов:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 | Нет |
Ставка НДС, доступны следующие значения:
Если в запросе не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом). |
Все версии. |
|
N..18 | Нет |
Сумма налога, высчитанная продавцом. Указывается в минимальных единицах валюты. |
Все версии. |
additionalOfdParams
состоит из следующих элементов:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 | Обязателен, только если передан объект agent_info . |
Тип агента, возможно одно из следующих значений:
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора по приёму платежей в формате +N. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Адрес оператора перевода. |
1.05 и более поздние версии. |
|
N10..12 | Нет |
ИНН оператора перевода. |
1.05 и более поздние версии. |
|
ANS..64 | Нет |
Наименование оператора перевода. |
1.05 и более поздние версии. |
|
Массив ANS..19 | Да |
Массив телефонов оператора перевода в формате +N. |
1.05 и более поздние версии. |
|
Maccив ANS..19 | Да |
Массив телефонов поставщика в формате +N. |
1.05 и более поздние версии. |
|
A..256 | Нет |
ФИО кассира. |
1.05 и более поздние версии. |
|
ANS..16 | Нет |
Дополнительный реквизит чека. |
1.05 и более поздние версии. |
|
ANS..24 | Нет |
Наименование дополнительного реквизита пользователя. |
1.05 и более поздние версии. |
|
ANS..24 | Нет |
Значение дополнительного реквизита пользователя. |
1.05 и более поздние версии. |
|
N..12 | Нет |
ИНН кассира |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Адрес покупателя (клиента). |
1.2 и более поздние версии. |
|
NS10 | Нет |
Дата рождения покупателя (клиента) в формате «dd.mm.yyyy» |
1.2 и более поздние версии. |
|
N3 | Нет |
Числовой код страны, гражданином которой является покупатель (клиент). Код страны указывается в соответствии с Общероссийским классификатором стран мира ОКСМ. |
1.2 и более поздние версии. |
|
N2 | Нет |
Числовой код вида документа, удостоверяющего личность (например, 21 - паспорт гр. РФ). |
1.2 и более поздние версии. |
|
NS11 | Нет |
Серия и номер паспорта плательщика: |
1.2 и более поздние версии. |
|
ANS..64 | Нет |
Электронный адрес покупателя. Обязательно должно быть заполнено строго одно из полей: |
1.2 и более поздние версии. |
|
NS..19 | Нет |
Телефон покупателя. Вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+» (номер «+371 2 1234567» необходимо передать как «+37121234567»). Обязательно должно быть заполнено строго одно из полей: |
1.2 и более поздние версии. |
|
N12 | Нет |
ИНН покупателя. |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Наименование покупателя (клиента). |
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
NS10 | Нет |
Дата нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита», в формате: |
1.2 и более поздние версии. |
|
ANS | Нет |
Идентификатор ФОИВ. Должно принимать одно из значений справочника ФОИВ. |
1.2 и более поздние версии. |
|
N..32 | Нет |
Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Состав значений, определенных нормативным актом федерального органа исполнительной власти |
1.2 и более поздние версии. |
|
ANS..20 | Нет (см. описание) |
Номер автомата.
|
1.05 и более поздние версии. |
|
ANS..243 | Нет (см. описание) |
Адрес расчетов.
|
1.05 и более поздние версии. |
|
ANS..243 | Нет (см. описание) |
Место расчетов.
|
1.05 и более поздние версии. |
Описание кодировки ТРУ
Код товаров/работ/услуг имеет размерность 19 знаков: 18 цифр и 1 знак разделитель: NNNNNNNNN.NNNNNNNNN
Для маркировки товаров, которые содержатся в перечне товаров/работ/услуг, ТСП должен выполнить обогащение данного кода, путем добавления значений: - кода производителя в формате YYYY; - кода модели в формате MMMM; - кода страны производителя по ОКСМ в формате ZZZ.
При отсутствии любого из параметров для обогащения, код товаров/работ/услуг дополняется нулями справа вместо соответствующего параметра. Полученное значение является полным кодом товаров/работ/услуги и имеет формат: NNNNNNNNN.NNNNNNNNNYYYYMMMMZZZ,
где: NNNNNNNNN (9 знаков) - код товара/услуги по ОКПД2 . - разделитель NNNNNNNNN (9 знаков) - код по классификатору Минтруда по Приказу №86Н от 13.02.2018 YYYY (4 знака) - код производителя MMMM (4 знака) - код модели ТСР (технических средств реабилитации) ZZZ (3 знака) - код страны производства по ОКСМ
Параметры ответа:
Параметры ответа представлены в таблице ниже.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS36 | Нет |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
Все версии. |
|
AN..512 | Нет |
URL-адрес платёжной формы, на который нужно перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в Чтобы получить возможность принимать оплату этим способом, у вас должны быть соответствующие полномочия в системе. В случае сомнений оставить обращение и получить быстрое решение можно в личном кабинете в разделе «Поддержка». |
Все версии. |
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
Все версии. |
|
|
Нет |
|
Все версии. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
1 |
Заказ с таким номером уже обработан. |
1 |
Неверный номер заказа. |
3 |
Неизвестная валюта. |
4 |
Номер заказа не может быть пуст. |
4 |
Имя продавца не может быть пустым. |
4 |
Отсутствует сумма. |
4 |
URL возврата не может быть пуст. |
4 |
Пароль не может быть пуст. |
5 |
Доступ запрещён. |
5 |
Пользователь отключён. |
7 |
Системная ошибка. |
8 |
|
8 |
Доп. параметр |
8 |
|
Пример запроса POST
amount=47000&returnUrl=http://kzntest.ru/&failUrl=https://ya.ru/&password=testPwd&userName=username-api&orderBundle={"customerDetails":{"phone":"%2B79888888877","inn":"516974792202","passport":"4507 443564"},"cartItems":{"items":[{"positionId":1,"name":"По-аджарски \"Лодочка\" SMALL","quantity":{"value":"1","measure":"0"},"itemCode":"270_235.00","itemPrice":23500,"tax":{"taxType":0,"taxSum":0},"itemAttributes":{"attributes":[{"name":"nomenclature","value":"010463003407001221CMK45BrhN0WLf"},{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"30"},{"name":"agent_info.type","value":"7"},{"name":"agent_info.paying.operation","value":"test operation"},{"name":"agent_info.paying.phones","value":"%2B79161234123"},{"name":"agent_info.paymentsOperator.phones","value":"%2B79161234456"},{"name":"agent_info.MTOperator.phones","value":"%2B79161234789"},{"name":"agent_info.MTOperator.name","value":"MT operator"},{"name":"agent_info.MTOperator.address","value":"Moscow"},{"name":"agent_info.MTOperator.inn","value":"8634330204"},{"name":"supplier_info.phones","value":"%2B79161234333"},{"name":"supplier_info.name","value":"Supplier"},{"name":"supplier_info.inn","value":"287381373424"},{"name":"excise","value":"10.0"},{"name":"country_code","value":"810"},{"name":"declaration_number","value":"12332234533"},{"name":"userData","value":"user data"},{"name":"markQuantity.numerator","value":"1"},{"name":"markQuantity.denominator","value":"2"},{"name":"sectoralItemProps[0].federalId","value":"001"},{"name":"sectoralItemProps[0].date","value":"10.10.2021"},{"name":"sectoralItemProps[0].number","value":"123/4567"},{"name":"sectoralItemProps[0].value","value":"value1"},{"name":"sectoralItemProps[1].federalId","value":"003"},{"name":"sectoralItemProps[1].date","value":"11.10.2021"},{"name":"sectoralItemProps[1].number","value":"321/4567"},{"name":"sectoralItemProps[1].value","value":"value2"}]}},{"positionId":2,"name":"Пирожок","quantity":{"value":"1","measure":"0"},"itemCode":"270_235.00","itemPrice":23500,"tax":{"taxType":0,"taxSum":0},"itemAttributes":{"attributes":[{"name":"nomenclature","value":"010463003407001221CMK45BrhN0WLf"},{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"30"},{"name":"agent_info.type","value":"7"},{"name":"agent_info.paying.operation","value":"test operation"},{"name":"agent_info.paying.phones","value":"%2B79161234123"},{"name":"agent_info.paymentsOperator.phones","value":"%2B79161234456"},{"name":"agent_info.MTOperator.phones","value":"%2B79161234789"},{"name":"agent_info.MTOperator.name","value":"MT operator"},{"name":"agent_info.MTOperator.address","value":"Moscow"},{"name":"agent_info.MTOperator.inn","value":"8634330204"},{"name":"supplier_info.phones","value":"%2B79161234333"},{"name":"supplier_info.name","value":"Supplier"},{"name":"supplier_info.inn","value":"287381373424"},{"name":"excise","value":"10.0"},{"name":"country_code","value":"810"},{"name":"declaration_number","value":"12332234533"},{"name":"userData","value":"user data"},{"name":"markQuantity.numerator","value":"1"},{"name":"markQuantity.denominator","value":"2"},{"name":"sectoralItemProps[0].federalId","value":"001"},{"name":"sectoralItemProps[0].date","value":"10.10.2021"},{"name":"sectoralItemProps[0].number","value":"123/4567"},{"name":"sectoralItemProps[0].value","value":"value1"},{"name":"sectoralItemProps[1].federalId","value":"003"},{"name":"sectoralItemProps[1].date","value":"11.10.2021"},{"name":"sectoralItemProps[1].number","value":"321/4567"},{"name":"sectoralItemProps[1].value","value":"value2"}]}}]}}
Пример запроса POST при наличии пермисии «Разрешена оплата ЭС»
returnUrl:http://test.ru/ language:ru currency:810 orderBundle:{"customerDetails":{"phone":"9888888888", "inn":"", "email":"email@mail.com"},"cartItems":{"items":[{"positionId":1,"name":"Трость опорная, регулируемая по высоте, без устройства противоскольжения","itemDetails":{"itemDetailsParams":[{"name":"fes_truCode","value":"329921120.06001010100000000643"}]},"quantity":{"value":"3.00","measure":"шт."},"itemCode":"270_235.00","itemPrice":40000,"tax":{"taxType":0,"taxSum":0}}, {"positionId":2,"name":"Трость белая тактильная цельная","itemDetails":{"itemDetailsParams":[{"name":"fes_truCode","value":"329921120.06002020100000000643"}]},"quantity":{"value":"3.00","measure":"шт."},"itemCode":"270_244.00","itemPrice":23500,"tax":{"taxType":0,"taxSum":0}}]}} jsonParams:{"fes_cashboxId":"900000000000000004"} amount:190500 failUrl:https://ya.ru/ userName:{{userName}} password:{{password}}
Пример ответа при наличии пермисии «Разрешена оплата ЭС»
returnUrl:http://test.ru/ language:ru currency:810 orderBundle:{"customerDetails":{"phone":"9888888888", "inn":"", "email":"email@mail.com"},"cartItems":{"items":[{"positionId":1,"name":"Трость опорная, регулируемая по высоте, без устройства противоскольжения","itemDetails":{"itemDetailsParams":[{"name":"fes_truCode","value":"329921120.06001010100000000643"}]},"quantity":{"value":"3.00","measure":"шт."},"itemCode":"270_235.00","itemPrice":40000,"tax":{"taxType":0,"taxSum":0}}, {"positionId":2,"name":"Трость белая тактильная цельная","itemDetails":{"itemDetailsParams":[{"name":"fes_truCode","value":"329921120.06002020100000000643"}]},"quantity":{"value":"3.00","measure":"шт."},"itemCode":"270_244.00","itemPrice":23500,"tax":{"taxType":0,"taxSum":0}}]}} jsonParams:{"fes_cashboxId":"900000000000000004"} amount:190500 failUrl:https://ya.ru/ userName:{{userName}} password:{{password}}
Пример ответа
{"orderId":"d296be1d-c092-773b-ab2c-68e60128092a","formUrl":"https://3dsec.sberbank.ru/payment/789/payment_ru.html?mdOrder=d296be1d-c092-773b-ab2c-68e60128092a"}
Запрос отмены оплаты заказа (reverse.do)
Для запроса отмены оплаты заказа используется запрос reverse.do
. Функция отмены доступна в течение ограниченного времени после оплаты, точные сроки необходимо уточнять в «Сбербанке».
Нельзя проводить отмены и возвраты по заказам, инициализирующим регулярные платежи, т. к. в этих случаях не происходит реального списания денег.
Операция отмены оплаты может быть совершена только один раз. Если она закончится ошибкой, то повторная операция отмены платежа не пройдёт. Эта функция доступна магазинам по согласованию с банком. Для выполнения операции отмены продавец должен обладать соответствующими правами.
При проведении частичной отмены (отмены части оплаты) сумма частичной отмены передается в необязательном параметре amount. Частичная отмена возможна при наличии у магазина соответствующего разрешения в системе. Частичная отмена невозможна для заказов с фискализацией, корзиной и лоялти.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса:
Параметры запроса представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
N..12 | Нет |
Сумма частичной отмены. Параметр, обязательный для частичной отмены. |
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
Строка | Нет |
Дополнительные параметры запроса. Формат вида: {«Имя1»: «Значение1», «Имя2»: «Значение2»}. При указании «showLoyalty»:«false» взаимодействие с сервисом лояльности осуществляться не будет. В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
|
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
Параметры ответа:
Параметры ответа представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
|
|
Нет |
|
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
5 |
|
5 |
Неуспешно. |
6 |
Неверный номер заказа. |
6 |
Незарегистрированный |
7 |
Недопустимая операция для текущего состояния заказа. |
7 |
Системная ошибка. |
7 |
Реверсал невозможен. Суммы холдирования и депозита должны быть равны для транзакции после снятия блокировки средств. |
7 |
Происходит процессинг данной транзакции. Пожалуйста, повторите запрос позднее. |
7 |
Реверсал невозможен. Причина: неверные внутренние значения, проверьте суммы холда, депозита. |
7 |
Реверсал невозможен. Данному платежу установлен флаг chargeback. |
Пример запроса POST
language=ru&orderId=9231a838-ac68-4a3e-bddb-d9781433d852
Пример ответа
{"errorCode":"0","errorMessage":"Успешно"}
Запрос возврата средств оплаты заказа (autoRefund.do)
Для возврата средств используется метод autoRefund.do
. В запросе передаётся общая сумма возврата, состоящая из суммы в деньгах и суммы баллов.
При полном возврате сумма денег и сумма бонусных баллов возвращаются в соответствии с суммами при оплате. При частичном возврате суммы распределяются согласно пропорции денег и баллов при оплате.
Запрос закончится ошибкой в случае, если средства по этому заказу не были списаны. Система позволяет вернуть средства более 1 раза, но не более первоначальной суммы списания.
Данную операцию можно осуществлять при наличии соответствующих прав в системе.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да | Логин магазина, полученный при подключении. |
|
AN..200 | Да | Пароль магазина, полученный при подключении. |
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
N..20 | Да |
Сумма возврата, состоящая из суммы в деньгах и суммы баллов. Может быть меньше или равна остатку в заказе. |
|
A2 | Да |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Нет |
Код ошибки. . |
|
|
Нет |
. |
Блок operations |
|||
|
AN..512 | Нет |
Идентификатор операции в процессинге лояльности. . |
|
AN..512 | Да |
Тип операции, возможны следующие значения:
. |
|
AN..512 | Нет |
Идентификатор операции в платёжном шлюзе. . |
|
N..12 | Нет | Сумма в баллах. |
|
AN..512 | Да |
Признак успешности операции, возможны следующие значения:
. |
Пример запроса:
https://3dsec.sberbank.ru/payment/rest/autoRefund.do?userName=login&password=password&orderId=62945d2e-3da5-42cf-b9c1-d456227ab51a&compositeRefundAmount=100000
Пример ответа:
{"operations":[{"pcId":2699144,"operation":"REFUND_PAYMENT","amount":1960,"successful":true,"transactionId":"1652"}, {"pcId":2699145,"operation":"REFUND_AWARD","amount":98040,"successful":true,"transactionId":"1653"}],"errorCode":"0"}
Расширенный запрос состояния заказа (getOrderStatusExtended.do)
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса:
Параметры запроса представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | да |
Логин магазина, полученный при подключении. Если вместо аутентификации по логину и паролю используется открытый токен (параметр token), параметр userName передавать не нужно. |
|
AN..200 | да |
Пароль магазина, полученный при подключении. Если для аутентификации при регистрации вместо логина и пароля используется открытый токен (параметр token), параметр password передавать не нужно. |
|
ANS36 | да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
ANS..32 | да |
Номер заказа в системе магазина. Необязательно только в случае подключения автоматической генерации номера заказа на шлюзе (для этого обратитесь в техническую поддержку). |
|
A2 | да |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
В запросе должен присутствовать либо orderId
, либо orderNumber
. Если в запросе присутствуют оба параметра, то приоритетным считается orderId
.
Параметры ответа для версий 01 и выше Эти параметры будут возвращены в ответе не зависимо от версии getOrderStatusExtended.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..32 | Да |
Номер (идентификатор) заказа в системе магазина. | Все версии. |
|
N1 | Нет |
По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Возможны следующие значения:
| Все версии. |
|
ANS..6 | Да |
Код ответа процессинга. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице. | Все версии. |
|
AN..512 | Да |
Расшифровка кода ответа на языке, переданном в параметре запроса language. | Все версии. |
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. См. описание кодов ошибок ниже. | Все версии. |
|
|
Нет |
|
Все версии. |
|
N..12 | Да |
Сумма платежа в минимальных единицах валюты. | Все версии. |
|
N3 | Нет |
Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. | Все версии. |
|
ANS | Да |
Дата регистрации заказа в формате UNIX-времени (POSIX-времени). | Все версии. |
|
ANS..600 | Нет |
Описание заказа, переданное при его регистрации. | Все версии. |
|
ANS..39 | Нет |
IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов). | 13 и выше. |
|
ANS | да |
Дата и время авторизации, выраженные в количестве миллисекунд, прошедших с полуночи (00:00:00 GMT) 1 января 1970 года. | 09 и выше. |
|
AN..24 | Нет |
Учётный номер авторизации платежа, который присваивается при регистрации платежа. | 19 и выше. |
|
AN..10 | Нет |
Идентификатор терминала в процессинге, через который осуществлялась оплата. | Все версии. |
|
AS..14 | Нет |
Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.). Может принимать следующие значения:
| Все версии. |
|
AN..20 | Нет |
Название дополнительного параметра. | Все версии. |
|
ANS..2000 | Нет |
Значение дополнительного параметра - до 2000 символов. | Все версии. |
Элемент cardAuthInfo (в элементе лежит структура, состоящая из списка элементов типа secureAuthInfo и атрибутов pan , expiration , cardholderName и approvalCode ). |
||||
Название | Тип | Обязательно | Описание | |
| N12…19 | Нет | Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа. |
|
| N6 | Да | Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа |
|
| AS..26 | Да | Имя держателя карты. Указан только после оплаты заказа. Длина поля ограничена 26 символами (латинские буквы, точка, пробел). |
|
| AN6 | Да | Код авторизации международной платёжной системы. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. |
|
Элемент secureAuthInfo состоит из следующих параметров. (параметры cavv и xid включены в элемент threeDSInfo ) |
||||
| N..4 | Да | Электронный коммерческий индикатор. |
|
| A1 | Да | Статус транзакции из ответа от ACS на запрос аутентификации (ARes). Передается при использовании 3DS 2. |
|
| A1 | Да | Статус транзакции из запроса для передачи результатов аутентификации пользователя от ACS (RReq). Передается при использовании 3DS 2. |
|
| N..12 | Да | Версия протокола 3DS. Возможные значения:
|
|
| ANS..200 | Да | Значение проверки аутентификации владельца карты. Указано только после оплаты заказа и в случае соответствующего разрешения. |
|
| ANS..80 | Да | Электронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае соответствующего разрешения. |
|
Элемент BindingInfo состоит из следующих параметров. |
||||
| AN..255 | Да | Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок. Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен. |
|
| AN..255 | Да | Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. |
|
Элемент paymentAmountInfo состоит из следующих параметров. |
||||
|
N..12 | Нет |
Сумма в минимальных единицах валюты (например, в копейках), удержанная на карте. Используется только при двухстадийных платежах. | 03 и выше. |
|
N..12 | Нет |
Сумма в минимальных единицах валюты (например, в копейках), подтверждённая для списания с карты. | 03 и выше. |
|
N..12 | Нет |
Сумма возврата в минимальных единицах валюты. | 03 и выше. |
|
A..10 | Нет |
Состояние заказа, параметр может принимать следующие значения:
| 03 и выше. |
Элемент bankInfo состоит из параметров. |
||||
|
ANS..50 | Нет |
Наименование банка-эмитента. | 03 и выше. |
|
AN..7 | Нет |
Код страны банка-эмитента. | 03 и выше. |
|
AN..160 | Нет |
Наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан. | 03 и выше. |
Элемент loyaltyInfo/loyaltyInfos (состоит из элемента loyaltyName и тэгов paymentBonus и awardBonus ) - Тэг, содержащий данные о состоянии бонусов по программам лояльности в заказе. |
||||
|
ANS..512 | Нет |
Наименование программы лояльности(для Сбербанк спасибо это «sbrf_spasibo» и «sbrf_sbermiles»). | 15 и выше. |
|
| Нет |
Тэг с атрибутами, содержащими данные о состоянии использованных бонусов для списания при оплате заказа | 04 и выше. |
|
| Нет |
Тэг с атрибутами, содержащими данные о состоянии средств, использованных для начисления бонусов при оплате заказа | 04 и выше. |
paymentBonus
состоит из следующих элементов.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..20 | Нет |
Сумма баллов к списанию при оплате заказа. |
|
N..20 | Нет |
Подтвержденная сумма в баллах для списания на момент запроса. |
|
N..20 | Да |
Сумма возврата в баллах на момент запроса. |
|
ANS..512 | Да |
Идентификатор операции в процессинге лояльности. |
|
ANS..512 | Да |
Признак успешности операции, возможны следующие значения:
|
|
ANS..512 | Да |
Тип последней проведенной операции со списываемыми баллами (PAYMENT, REVERSE, REFUND_PAYMENT) |
awardBonus
состоит из следующих элементов.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..20 | Нет |
Первоначальная сумма, на которую было произведено начисление бонусных баллов. |
|
N..20 | Нет |
Подтверждённая сумма заказа, на которую произведено начисление бонусных баллов. |
|
N..20 | Да |
Сумма возврата заказа, на которую произведено начисление бонусных баллов. |
|
ANS..512 | Да |
Идентификатор операции в процессинге лояльности. |
|
ANS..512 | Да |
Признак успешности операции, возможны следующие значения:
|
|
ANS..512 | Да |
Тип последней проведенной операции со списываемыми баллами (PAYMENT, REVERSE, REFUND_PAYMENT) |
Если в запросе на регистрацию заказа была передана корзина, то в ответе на расширенный запрос о состоянии заказа также передаётся блок orderBundle, содержащий корзину товаров заказа. Описание блока orderBundle представлено ниже. (Актуально для версии getOrderStatusExtended 03 и выше.).
orderBundle
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..21 | Нет |
Дата создания заказа в формате | 03 и выше. |
|
Не актуально | Нет |
Блок с атрибутами данных о покупателе. Описание его атрибутов представлено ниже. | 03 и выше. |
|
Не актуально | Да |
Блок с атрибутами товарных позиции корзины товаров. Описание его атрибутов представлено ниже. | 03 и выше. |
|
Не актуально | Да |
Блок с атрибутами бонусных программ, в которых участвуют товарные позиции из Корзины. Описание его атрибутов представлено ниже. Если параметр блок loyalties не передаётся в запросе и сумма к списанию в баллах рассчитывается не на стороне продавца, то этот блок всё равно будет возвращён в ответе на расширенный запрос о состоянии заказа. | 03 и выше. |
customerDetails
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..40 | Нет |
Адрес электронной почты покупателя. | 03 и выше. |
|
NS..12 | Нет |
Номер телефона клиента. Примеры:
В случае передачи номера в отдельном параметре и в дополнительных параметрах, в качестве основного использоваться будет номер, указанный в настоящем параметре
При использовании АТОЛ фискализации параметр | 03 и выше. |
|
ANS..40 | Нет |
Способ связи с покупателем. | 03 и выше |
|
|
Нет |
|
03 и выше |
deliveryInfo
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Нет |
Способ доставки. | 04 и выше. |
|
A..2 | Да |
Двухбуквенный код страны доставки. | 04 и выше. |
|
ANS..40 | Да |
Город доставки. | 04 и выше. |
|
ANS..255 | Да |
Адрес доставки. | 04 и выше. |
cartItems
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
Не актуально | Да |
Массив блоков, описывающих товарные позиции в корзине. Информация по каждой товарной позиции Корзины передаётся в отдельном блоке, входящем в состав items. Не используйте внутри этого блока сочетание символов «‘)», в противном случае это приведёт к ошибке на стороне шлюза. | 03 и выше. |
items
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..12 | Да |
Уникальный идентификатор товарной позиции внутри корзины заказа. | 03 и выше. |
|
ANS..100 | Да |
Наименование или описание товарной позиции в свободной форме.
Используйте | 03 и выше. |
|
| Нет |
Дополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже. | 04 и выше. |
|
N..18 | Да |
Элемент, описывающий общее количество товарных позиций одного | 03 и выше. |
|
N..12 | Да |
Сумма стоимости всех товарных позиций одного
При расчёте параметра | 03 и выше. |
|
N3 | Нет |
Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа. | 03 и выше. |
|
ANS..100 | Да |
Номер (идентификатор) товарной позиции в системе магазина.
Во всех методах передача артикула | 03 и выше. |
|
Не актуально | Нет |
Дополнительный блок с атрибутами описания скидки для товарной позиции. Блок параметров имеет справочный характер и не влияет на расчеты внутри корзины. Описание его атрибутов представлено ниже. | 04 и выше. |
|
Не актуально | Нет |
| 04 и выше. |
quantity
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
N..18 | Да |
Количество товарных позиций данного | 03 и выше. |
|
ANS..20 | Да |
Мера измерения количества товарной позиции. | 03 и выше. |
itemDetails
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..255 | Да |
Параметр описывающий дополнительную информацию по товарной позиции. Описание его атрибутов представлено ниже. | 04 и выше. |
itemDetailsParams
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..255 | Условно. Обязательно при наличии параметра itemDetailsParams |
Дополнительная информация по товарной позиции. | 04 и выше. |
|
AN..255 | Условно. Обязательно при наличии параметра itemDetailsParams |
Наименование параметра описания детализации товарной позиции. | 04 и выше. |
discount
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Да |
Тип скидки на товарную позицию. | 04 и выше. |
|
N..20 | Да |
Значение скидки на товарную позицию. | 04 и выше. |
agentInterest
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Да |
Тип агентской комиссии за продажу товара. | 04 и выше. |
|
N..20 | Да |
Значение агентской комиссии за продажу товара. | 04 и выше. |
loyalties
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Да |
Условное наименование бонусной программы, в которой участвует товарная позиция, выдаётся платёжным шлюзом. | 04 и выше. |
|
ANS..12 | Да |
Идентификатор товарной позиции, участвующей в указанной бонусной программе. | 04 и выше. |
|
N..18 | Да |
Общая сумма бонусов всех товарных позиций для данного | 04 и выше. |
|
N..18 | Нет |
Общая сумма бонусов всех товарных позиций для данного | 04 и выше. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
1 |
Ожидается [orderId] или [orderNumber]. |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
6 |
Заказ не найден. |
7 |
Системная ошибка. |
Пример запроса POST
orderId=694312ed-9dd1-4178-9009-e1ac1aa5fb92&language=ru
Пример ответа
{"errorCode":"0","errorMessage":"Успешно","orderNumber":"24398","orderStatus":2,"actionCode":0, "actionCodeDescription":"Запрос успешно обработан","amount":30000,"currency":"643", "date":1394094689585,"orderDescription":"testCart singlestep","ip":"0.0.0.7", "merchantOrderParams":[{"name":"sbrf_spasibo:amount_bonus","value":"300"}], "attributes":[{"name":"mdOrder","value":"694312ed-9dd1-4178-9009-e1ac1aa5fb92"}], "cardAuthInfo":{"expiration":"201512","cardholderName":"cardholder name","approvalCode":"123456","pan":"478978**1233"}, "authDateTime":1394094689585,"terminalId":"999714","authRefNum":"111111111111", "paymentAmountInfo":{"paymentState":"DEPOSITED","approvedAmount":30000,"depositedAmount":30000,"refundedAmount":0}, "bankInfo":{"bankCountryCode":"UNKNOWN","bankCountryName":"<Неизвестно>"}, "orderBundle":{"orderCreationDate":1373622660000, "customerDetails":{"email":"johnsmith@mail.ru","phone":"89851231234","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":1.0,"measure":"штук"},"itemAmount":10000,"itemCurrency":643,"itemCode":"T-M-14", "discount":{"discountType":"discount","discountValue":"777"}}, {"positionId":"2","name":"Universal Mirror Enduro", "itemDetails":{"itemDetailsParams":[{"value":"Noname","name":"brand"},{"value":"12mm","name":"diameter"}]}, "quantity":{"value":1.0,"measure":"штук"},"itemAmount":10000,"itemCurrency":643,"itemCode":"NM-15"}, {"positionId":"3","name":"Warm Grips","itemDetails":{"itemDetailsParams":[{"value":"Noname","name":"brand"}]}, "quantity":{"value":1.0,"measure":"штук"},"itemAmount":10000,"itemCurrency":643,"itemCode":"G-16"}]}}, "loyaltyInfo":{"loyaltyName":"sbrf_spasibo","paymentBonus": {"approvedAmountBonus":300,"depositedAmountBonus":300,"refundedAmountBonus":0,"pcId":"3139154", "successful":true,"paymentOperation":"PAYMENT"}, "awardBonus":{"approvedAmountAward":30000,"depositedAmountAward":30000,"refundedAmountAward":0,"pcId":"3139155", "successful":true,"paymentOperation":"AWARD"}}}
Пример ответа для версии getOrderStatusExtended
15
{ "errorCode":"0", "errorMessage":"Успешно", "orderNumber":"9064", "orderStatus":2, "actionCode":0, "actionCodeDescription":"", "amount":9800, "currency":"643", "date":1584012874234, "depositedDate":1584012899439, "orderDescription":"", "ip":"10.99.50.35", "merchantOrderParams":[ { "name":"sbrf_sbermiles:amount_bonus", "value":"100" }, { "name":"loyaltyId", "value":"sbrf_spasibo,sbrf_sbermiles" }, { "name":"sbrf_spasibo:amount_bonus", "value":"100" }, { "name":"sbrf_spasibo:change_rate", "value":"2.0" }, { "name":"sbrf_sbermiles:change_rate", "value":"1" }, { "name":"client_uuid", "value":"DB0427E0D30749FABBE8E9B214590A25" }, { "name":"new_card_payment", "value":"true" } ], "transactionAttributes":[ { "name":"merchantIp", "value":"10.99.50.35" } ], "attributes":[ { "name":"mdOrder", "value":"b6f698e1-fb8d-7b6d-8f56-130700ef5d58" } ], "cardAuthInfo":{ "maskedPan":"427601**6064", "expiration":"202412", "cardholderName":"CARDHOLDER NAME", "approvalCode":"123456", "paymentSystem":"VISA", "pan":"427601**6064" }, "authDateTime":1584012899096, "terminalId":"123456", "authRefNum":"580849427803", "paymentAmountInfo":{ "paymentState":"DEPOSITED", "approvedAmount":9800, "depositedAmount":9800, "refundedAmount":0, "feeAmount":0 }, "bankInfo":{ "bankName":"SBERBANK of Russia", "bankCountryCode":"RU", "bankCountryName":"Россия" }, "payerData":{ "email":"a-sbersafe0009@bpcbt.com", "phone":"9993330009" }, "loyaltyInfos":[ { "loyaltyName":"sbrf_sbermiles", "paymentBonus":{ "approvedAmountBonus":100, "depositedAmountBonus":100, "refundedAmountBonus":0, "pcId":"81753909", "successful":true, "paymentOperation":"PAYMENT" }, "awardBonus":{ "approvedAmountAward":9800, "depositedAmountAward":9800, "refundedAmountAward":0, "pcId":"81753912", "successful":true, "paymentOperation":"AWARD" } }, { "loyaltyName":"sbrf_spasibo", "paymentBonus":{ "approvedAmountBonus":100, "depositedAmountBonus":100, "refundedAmountBonus":0, "pcId":"81753908", "successful":true, "paymentOperation":"PAYMENT" }, "awardBonus":{ "approvedAmountAward":9800, "depositedAmountAward":9800, "refundedAmountAward":0, "pcId":"81753910", "successful":true, "paymentOperation":"AWARD" } } ], "chargeback":false, "paymentWay":"CARD" }
Запрос проведения оплаты по связкам (paymentOrderBinding.do)
Для проведения платежа по связкам используется запрос paymentOrderBinding.do
.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. |
|
ANS..36 | Да |
Номер заказа в платёжном шлюзе. Уникален в пределах платёжного шлюза. |
|
AN..255 | Да |
Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: |
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
|
ANS..39 | Нет |
IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов). |
|
N3 | Нет |
Код CVC/CVV2 на обратной стороне карты. |
|
ANS..40 | Нет |
Адрес электронной почты покупателя. |
|
ANS..* | Нет |
Идентификатор программы лояльности. Следует использовать значение sbrf_spasibo. |
|
N..20 | Нет |
Количество бонусных баллов к списанию. |
Параметры ответа
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..* | Нет |
При успешном ответе. В случае платежа без необходимости аутентификации на ACS – URL, на который производится переадресация после платежа. В случае 3DS-платежа – URL для возврата с ACS. |
|
ANS..* | Нет |
При успешном ответе. Результат попытки оплаты. Возможные значения представлены ниже.
|
|
N..2 | Да |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
|
|
Нет |
|
|
AN..512 | Нет |
При успешном ответе в случае платежа с использованием 3-D Secure. URL-адрес для перехода на сервер контроля доступа. |
|
AN..512 | Нет |
При успешном ответе в случае платежа с использованием 3-D Secure. Payment Authentication Request - запрос на аутентификацию платежа. |
|
AN..512 | Нет |
При успешном ответе в случае платежа, в котором выполнялась проверка на принадлежность карты к 3-D Secure. URL-адрес для возврата с сервера контроля доступа. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
1 |
|
1 | Необходимо указать CVC2/CVV2, поскольку у мерчанта нет разрешения на проведение оплаты без CVC |
1 | Неверный язык |
1 | [bindingId] не задан |
1 | [mdOrder] не задан |
1 | Срок действия карты истёк |
2 |
Связка не найдена. |
2 |
Заказ не найден. |
3 | Заказ не может быть оплачен, обратитесь к продавцу |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
5 | Исчерпаны попытки оплаты или закончилось время сессии |
7 |
Системная ошибка. |
Пример запроса POST
mdOrder=eb49300c-95b7-4dcd-9739-eee6c61f2ac4&bindingId=308042e8-2b28-484a-811e-f786c9776c3b&cvc=123&loyaltyId=sbrf_spasibo&pointsAmount=12000
Пример успешного ответа при SSL-платеже
{"redirect":"http://ya.ru?orderId=eb49300c-95b7-4dcd-9739-eee6c61f2ac4","info":"Ваш платёж обработан, происходит переадресация...","errorCode":0}
Пример успешного ответа при 3DS-платеже
{"info":"Ваш платёж обработан, происходит переадресация...","acsUrl":"https://test.paymentgate.ru/acs/auth/start.do","paReq":"eJxVUdtugkAQ/RXCOy7LRdQMa2ixKU28pGrfyTICqSzKpcW/765AbR8mOWcyOWfmDCy74qx9YVXn\npfB1OjF1DQUvk1ykvn48vBgzfcngkFWI4R55WyGDNdZ1nKKWJ74+TVz05tPE8NyZbThOfDJmFjcN\ni55Mz+MJzu25zmAXvOOVwWDEpM/EAjJSqVjxLBYNg5hfn6INcyxvappABgoFVlHIPCA9ABEXyPb4\nhWKVp1mzyQUCuTeBl61oqhubOjaQkUBbnVnWNJcFId5sPuFlAUT1gDy8d61CtdTo8oStw+C7r5W5\nCVNZx9v6ENmyfCBqApK4QWaZ1KXUcjVqLVx7Ycu77n2IC2XOqDqjh3BRDsGj/5eDDLeS2Y+bjwyw\nu5QC5YRU/sVAHts+v6rceCODyfbb7m3bfmzD22dnlycaFHF+DGl0y6hK8z6kFHMZity7l1QEiJIh\nw6PI8GOJ/v3+BweMtyE=","termUrl":"https://test.paymentgate.ru:443/testpayment/rest/finish3ds.do","errorCode":0}
Пример ответа с ошибкой
{"error":"Access denied","errorCode":5,"errorMessage":"Access denied"}
Запрос доступной программы лояльности и возможного количества бонусов к списанию (getPossibleLoyalty.do)
Запрос getPossibleLoyalty.do
позволяет запросить название программы лояльности, бонусные баллы которой можно использовать при оплате заказа, а также минимально и максимально возможное количество баллов для оплаты.
Поддерживается только POST.
Параметры запроса
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
|
AN..255 | Нет |
Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: |
Параметры ответа
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Да |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
|
|
Нет |
|
|
N..20 | Нет |
Минимальная сумма бонусных баллов, которая может быть использована при оплате заказа. |
|
N..20 | Нет |
Максимальная сумма бонусных баллов, которая может быть использована при оплате заказа. В рамках одного платежа пользователь не может потратить больше баллов, чем указано в этом параметре. |
|
AN..512 | Нет |
Код бонусной программы внутри системы. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
5 |
Доступ запрещён. |
6 |
Заказ не найден. |
7 |
Системная ошибка. |
Пример POST-запроса с передачей идентификатора связки
orderId=cef5266d-8e44-4f4f-a86a-3a2d2d666dab&bindingId=25d02dfe-edd6-4fad-86c2-419c3a467cf2&language=ru
Пример ответа
{"errorCode":"0","loyaltyOperations":[{"serviceName":"sbrf_spasibo","minAmount":0,"maxAmount":6000}]}
Запрос проверки доступного баланса бонусов (getInfo.do)
При наличии соответствующих расширений магазин может запросить баланс баллов «Спасибо» «Сбербанка» для определённого пользователя. Для этого используется запрос getInfo.do.
Поддерживается только POST.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да | Логин магазина, полученный при подключении. |
|
AN..200 | Да | Пароль магазина, полученный при подключении. |
|
N12…19 | Обязательно присутствие одного из параметров: pan или bindingId . |
Номер платёжной карты. При указании в запросе параметра seToken этот параметр не обязателен к передаче. |
|
AN..255 | Обязательно присутствие одного из параметров: pan или bindingId . |
Идентификатор связки, созданной ранее. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Нет |
Код ошибки. |
|
|
Нет |
|
|
N..20 | Нет |
Минимальная сумма бонусных баллов, которая может быть использована при оплате заказа. |
|
N..20 | Нет |
Максимальная сумма бонусных баллов, которая может быть использована при оплате заказа. В рамках одного платежа пользователь не может потратить больше баллов, чем указано в этом параметре. |
|
AN..512 | Нет |
Код бонусной программы внутри системы. |
Коды ошибок:
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок. |
5 | Доступ запрещён. |
7 | Системная ошибка. |
Пример запроса:
userName=test-api&password=testPwd&pan=4111111111111111
Пример ответа:
{ "errorCode": "0", "errorMessage": "Success", "loyaltyOperations": [ { "serviceName": "sbrf_spasibo", "minAmount": 0, "maxAmount": 199999485556 } ] }
Запрос отложенной регистрации бонусов Спасибо (deferredAward.do)
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. |
|
AN..256 | нет (нужно указать либо пару логин и пароль, либо токен) |
Открытый ключ, который можно использовать для аутентификации при выполнении запроса. Если для аутентификации используются логин и пароль, параметр Чтобы получить открытый ключ, обратитесь в техническую поддержку. |
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.
В случае, если был передан |
|
ANS..32 | Да |
Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно В запросе должен присутствовать либо orderId, либо orderNumber. Если в запросе присутствуют оба параметра, то приоритетным считается orderId. |
|
A2 | Да |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
Параметры ответа
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..32 | Да |
Номер заказа в системе магазина. Необязательно только в случае подключения автоматической генерации номера заказа на шлюзе (для этого обратитесь в техническую поддержку). |
|
N1 | Нет |
По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Ниже представлен список возможных значений:
Возможен также промежуточный статус orderStatus=7. По значению это статус PENDING, который используется при завершении двухстадийных заказов, и проставляется в момент завершения оригинального заказа. Он меняется на DEPOSITED (orderStatus=2) через некоторое время, когда проводится успешная операция в процессинге по инициирующему заказу. |
|
ANS..6 | Да |
Код ответа процессинга. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице. |
|
AN..512 | Да |
Коды ответа - цифровое обозначение результата, к которому привело обращение к системе со стороны пользователя. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице. |
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. См. описание кодов ошибок ниже. |
|
|
Нет |
|
Элемент operations |
|||
|
AN..512 | Нет |
Тип операции, возможны следующие значения:
|
|
N..20 | Нет |
Сумма баллов по операции |
|
AN..512 | Нет |
Идентификатор операции в платёжном шлюзе. |
|
AN..512 | Нет |
Признак успешности операции, возможны следующие значения:
|
|
AN..512 | Нет |
Идентификатор операции в процессинге лояльности. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
1 |
Ожидается |
7 |
Происходит процессинг данной транзакции. Пожалуйста, повторите запрос позднее. |
Пример запроса POST
username=testUsername&password=testPwd&orderId=30713439-087a-780f-8319-8f284806bca1
Пример ответа
{"errorCode":"0","errorMessage":"Успешно","operations":[{"operation":"AWARD","transactionId":"BE70B59FEE9E47AF8F28B270F12154A7","amount":681,"successful":true,"pcId":1005068383}]}
Реализация двухстадийной оплаты со Спасибо
Запрос регистрации заказа с предавторизацией
Указание произвольного количества бонусов «Спасибо» в запросе на регистрацию заказа с предавторизацией с передачей товарной корзины
При регистрации заказа, имея соответствующие настройки лояльности, возможно указать максимальное количество бонусов «Спасибо», доступных для списания у конкретных позиций в товарной корзине.
Для этого необходимо передать параметр sbrf_spasibo:item_max_bonus_amount
в атрибуте items.itemDetails.ItemDetailsParams
. Значение должно быть строго числом больше или равным 0.
Более подробно можно посмотреть описание запроса регистрации заказа с предавторизацией с передачей товарной корзины.
Запрос регистрации заказа с предавторизацией, передача корзины (registerPreAuth.do)
Для регистрации заказа в схеме приёма платежа на стороне платёжной системы используется запрос registerPreAuth.do
. В запросах на регистрацию заказа (с предавторизацией или без) корзина товаров передаётся в параметре orderBundle
.
- Все товарные позиции корзины должны быть выражены в одной и той же валюте (если валюта позиции указывается) и должны совпадать с валютой заказа.
- Сумма всех товарных позиций корзины должна быть равна сумме заказа.
- По каждой товарной позиции производится проверка переданного значения
quantity
. В случае если значение слишком большое или слишком маленькое, то запрос завершается ошибкой. - Все параметры Корзины валидируются на соответствие требуемому формату (длине).
В случае невыполнения хотя бы одного из указанных выше условий заказ считается неправильно сформированным и платёжный шлюз возвращает ошибку.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса:
Параметры запроса представлены в таблице ниже.
Название | Тип | Обязательно | Описание | Версия ФФД | ||||||
---|---|---|---|---|---|---|---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
Все версии. |
||||||
|
AN..200 | Да |
Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
Все версии. |
||||||
|
AN..256 | См. описание |
Значение, которое используется для аутентификации продавца при отправке запросов в платёжный шлюз. При передаче этого параметра параметры Чтобы получить открытый ключ, обратитесь в техническую поддержку. |
Все версии. |
||||||
|
ANS..32 | Да |
Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно |
Все версии. |
||||||
|
N..12 | Да |
Сумма платежа в минимальных единицах валюты (копейки, центы и т. п.). Должна совпадать с общей суммой по всем товарным позициям в корзине. Перед суммированием всех товарных позиций для каждой товарной позиции произведение количества (quantity) и стоимости (price) округляется до целого числа. Т. е., если после десятичной запятой стоит 5 и более, то округление происходит в большую сторону. Ниже приведены примеры округления.
Таким образом, параметр amount должен быть равен сумме округлённых товарных позиций. |
Все версии. |
||||||
|
N3 | Нет |
Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. |
Все версии. |
||||||
|
ANS..512 | Да |
Адрес, на который требуется перенаправить пользователя в случае успешной оплаты, а также в случае неуспешной оплаты (при отсутствии переданного параметра Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:
|
Все версии. |
||||||
|
ANS..512 | Нет |
Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>. Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:
Параметр необязательный. |
Все версии. |
||||||
|
ANS..512 | Нет |
Описание заказа в свободной форме. В процессинг банка для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля. Чтобы получить возможность отправлять это поле в процессинг, обратитесь в техническую поддержку. |
Все версии. |
||||||
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
Все версии. |
||||||
|
ANS..20 | Нет |
По значению данного параметра определяется, какие страницы платёжного интерфейса должны загружаться для клиента. Возможны следующие значения.
Где:
Если параметр отсутствует, либо не соответствует формату, то по умолчанию считается |
Все версии. |
||||||
|
ANS..255 | Нет |
Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок. Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен. |
Все версии. |
||||||
|
ANS..255 | Нет |
Чтобы зарегистрировать заказ от имени дочернего продавца, укажите его логин в этом параметре. |
Все версии. |
||||||
|
Строка | Нет |
Блок для передачи дополнительных параметров продавца. Поля дополнительной информации для последующего хранения, передаются в следующем виде.
Эти поля могут быть переданы в процессинг банка для последующего отображения в реестрах. Включение этой функциональности возможно по согласованию с банком в период интеграции.
Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом блоке в параметре с именем
В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
При наличии пермиссий у Мерчанта Разрешена оплата ЭС и Считать ARes.Y (frictionless) как полный 3DS 2.0, здесь обязательным параметром передается:
|
Все версии. |
||||||
|
N..10 | Нет |
Продолжительность жизни заказа в секундах. В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут). Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается. |
Все версии. |
||||||
|
UTC | Нет |
Дата и время окончания жизни заказа. Формат:
Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется |
Все версии. |
||||||
|
AN..255 | Нет |
Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: |
Все версии. |
||||||
|
Блок данных для передачи дополнительных параметров ОФД | Нет |
Некоторые параметры блока Передача этого блока возможна только при использовании следующих ОФД:
| |||||||
|
Не актуально | Да |
Блок, содержащий корзину товаров заказа. Описание его атрибутов представлено ниже. |
Все версии. |
||||||
|
N..2 | Нет |
Система налогообложения, доступны следующие значения:
Если в запросе не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом). |
Все версии. |
||||||
|
См. описание | Нет |
Блок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV. Обязателен, если активна соответствующая пермиссия для мерчанта («Разрешено использование AVS/AVV»). |
Все версии. |
По умолчанию в процессинг банка передаются поля:
orderNumber
– номер заказа в системе магазина;description
– описание заказа (не более 24 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n).
Параметры блока billingPayerData
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..50 | Нет |
Город, зарегистрированный по конкретной карте у Банка Эмитента |
|
AN..50 | Нет |
|
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 1. Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV». |
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 2. |
|
AN..50 | Нет |
Адрес, зарегистрированный по конкретной карте у Банка Эмитента Строка 3. |
|
AN..50 | Нет |
Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента. Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV». |
|
AN..50 | Нет |
Штат, зарегистрированный по конкретной карте у Банка Эмитента (ISO 3166-2) |
Ограничения поддержки параметров backToShopUrl, backToShopName
При передачи параметра backToShopUrl
, на платёжной странице будет отображаться кнопка возврата покупателя в магазин. backToShopName
- название кнопки возврата в магазин, которая будет отображаться, если передать параметр backToShopUrl
.
Существуют ограничения поддержки параметров backToShopUrl
, backToShopName
в определенных статиках ПС, а именно:
Статика | Поддержка параметра |
---|---|
rbc | Оба параметра не поддерживаются |
sbersafe | Оба параметра поддерживаются |
sbersafe_sberid | backToShopUrl - поддерживается, backrToShopName - не поддерживается |
orderBundle
состоит из следующих элементов:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..21 | Нет |
Дата создания заказа в формате |
Все версии. |
|
Не актуально | Нет |
Блок с атрибутами данных о покупателе. Описание его атрибутов представлено ниже. |
Все версии. |
|
Не актуально | Да |
Блок с атрибутами товарных позиции корзины товаров. Описание его атрибутов представлено ниже. |
Все версии. |
customerDetails
состоит из следующих элементов:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..40 | Нет |
Способ связи с покупателем. |
|
ANS..40 | Да |
Электронная почта покупателя, на которую будут отправлен кассовый чек.
Обязательно следует передать один из двух параметров: |
|
NS..12 | Нет |
Номер телефона клиента.
При использовании АТОЛ фискализации параметр |
|
ANS..100 | Нет |
Фамилия, имя и отчество плательщика. Параметр возвращается только в том, случае если был передан партнером при регистрации.
Если передается параметр fullName(ФИО) в параметрах CustomerDetails, то обязательно нужно передать дополнительные параметры:
ИНН или данные документа (1243 гражданство, 1244 дата рождения 1245 код документа, 1246 Реквизиты документа, удостоверяющего личность) |
|
ANS..100 | Нет |
Серия и номер паспорта плательщика в следующем формате: |
|
N..12 | Нет |
Идентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов. Параметр возвращается только в том, случае если был передан партнером при регистрации. |
|
|
Нет |
|
В соответствии с требованиями ОФД обязательно следует передать один из двух параметров: email
или phone
.
deliveryInfo
состоит из следующих элементов:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..40 | Да, если передаётся блок deliveryInfo |
Город доставки. |
|
A..2 | Да, если передаётся блок deliveryInfo |
Двухбуквенный код страны доставки. |
|
ANS..20 | Нет |
Способ доставки. |
|
ANS..255 | Да, если передаётся блок deliveryInfo |
Адрес доставки. |
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
cartItems
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
Не актуально | Да |
Массив блоков, описывающих товарные позиции в корзине. Информация по каждой товарной позиции Корзины передаётся в отдельном блоке, входящем в состав items. Не используйте внутри этого блока сочетание символов «‘)», в противном случае это приведёт к ошибке на стороне шлюза. |
Все версии. |
items
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..12 | Да |
Уникальный идентификатор товарной позиции внутри корзины заказа. |
Все версии. |
|
ANS..255 | Да |
Наименование или описание товарной позиции в свободной форме. При отправке запроса в ОФД длина наименования будет обрезана до 128 символов.
Используйте |
Все версии. |
|
Не актуально | Нет |
Дополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже. Ограничение размера поля - 1024 байт. |
Все версии. |
|
N..18 | Да |
Элемент, описывающий общее количество товарных позиций одного |
Все версии. |
|
N..12 | Нет |
Сумма стоимости всех товарных позиций одного
При расчёте параметра |
Все версии. |
|
N3 | Нет |
Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа. |
Все версии. |
|
ANS..100 | Да |
Номер (идентификатор) товарной позиции в системе магазина.
При оплате с использованием бонусных баллов «Спасибо» данный параметр должен быть уникальным.
Во всех методах передача артикула |
Все версии. |
|
Не актуально | Нет |
Дополнительный блок с атрибутами описания скидки для товарной позиции. Блок параметров имеет справочный характер и не влияет на расчеты внутри корзины. Описание его атрибутов представлено ниже. |
Все версии. |
|
Не актуально | Нет |
Дополнительный блок с атрибутами описания агентской комиссии за продажу товара. Описание его атрибутов представлено ниже. |
Все версии. |
|
Не актуально | Только для магазинов с настройками фискализации |
Дополнительный тег с атрибутами описания налога. Описание вложенных тегов представлено ниже. |
Все версии. |
|
N..18 | Только для магазинов с настройками фискализации |
Стоимость одной товарной позиции в минимальных единицах валюты. Обязательно для продавцов с фискализацией.
|
Все версии. |
|
См. описание. | Только для магазинов с настройками фискализации |
Блок атрибутов товарной позиции. См. описание ниже. |
1.05 и более поздние версии. |
Параметр itemAttributes
должен содержать массив attributes
, а уже в этом массиве расположены атрибуты товарной позиции (см. пример и таблицу ниже).
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 |
Да |
Тип оплаты возможны следующие значения:
Приоритизация передачи значения происходит по следующему принципу (указано в убывающем порядке приоритета):
Для paymentMethod значением по умолчанию является 1 (полная предварительная оплата до момента передачи предмета расчета). |
1.05 и более поздние версии. |
|
N..2 |
Да |
Тип оплачиваемой позиции, возможны следующие значения:
Указанные выше значения доступны для ФФД 1.05.
Приоритизация передачи значения происходит по следующему принципу (указано в убывающем порядке приоритета):
Для paymentObject значением по умолчанию является 1 (товар). |
1.05 и более поздние версии. |
|
ANS | да (если передан markQuantity) |
Код товарной позиции. Принимаются только первые 256 байт. Возможные форматы для передачи:
|
1.05 и более поздние версии. |
|
| Нет |
Дробное количество маркированного товара. |
1.2 и более поздние версии. |
|
ANS..64 | Нет |
Значение реквизита пользователя. Можно передавать только после согласования с ФНС. |
1.05 и более поздние версии. |
|
N..2 | Обязателен, только если передан объект agent_info . |
Тип агента, возможно одно из следующих значений:
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора по приёму платежей в формате +N. |
1.05 и более поздние версии. |
|
Массив ANS..19 | Да |
Массив телефонов оператора перевода в формате +N. |
1.05 и более поздние версии. |
|
ANS..64 | Нет |
Наименование оператора перевода. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Адрес оператора перевода. |
1.05 и более поздние версии. |
|
N10..12 | Нет |
ИНН оператора перевода. |
1.05 и более поздние версии. |
|
Maccив ANS..19 | Да |
Массив телефонов поставщика в формате +N. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Наименование поставщика. |
1.05 и более поздние версии. |
|
N10..12 | Да |
ИНН поставщика. |
1.05 и более поздние версии. |
|
ANS..36 | Нет |
Уникальный идентификатор платежного документа |
1.05 и более поздние версии. |
|
A..256 | Нет |
ФИО плательщика. |
1.05 и более поздние версии. |
|
ANS..30 | Нет |
Лицевой счет поставщика услуги. |
1.05 и более поздние версии. |
|
ANS..20 | Нет |
Единый лицевой счёт поставщика услуг. |
1.05 и более поздние версии. |
|
N9 | Нет |
БИК Банка получателя платежа. |
1.05 и более поздние версии. |
|
ANS..100 | Нет |
Название Банка получателя платежа. |
1.05 и более поздние версии. |
|
N9 | Нет |
КПП получателя платежа. |
1.05 и более поздние версии. |
|
N20 | Нет |
Расчётный счёт получателя платежа. |
1.05 и более поздние версии. |
|
N..10 | Нет |
Сумма комиссии на стороне поставщика услуг в минимальных единицах валюты. |
1.05 и более поздние версии. |
quantity
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..18 | Да |
Количество товарных позиций данного |
Все версии. |
|
При передаче кириллицей ANS..10, при передаче латиницей - ANS..20 | Да |
Мера измерения количества товарной позиции. |
Все версии. |
Если ФФД версии 1.2 и более поздней, то здесь передаются параметры:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N1 | Да |
Количество товарных позиций данного positionId. Для версии ФФД 1.2+ значение всегда 1. |
1.2 и более поздние версии. |
|
N..3 | Да |
Единица измерения количества предмета расчета. При ФФД версии 1.2+ , если переданы параметры nomenclature и markQuantity, значение всегда 0. В остальных случаях принимает значения ниже |
1.2 и более поздние версии. |
Возможные значения measure
Значение | Описание |
---|---|
0 | Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами (а также в случае, если предметом расчета является товар, подлежащий обязательной маркировке средством идентификации (передан mark_code )) |
10 | Грамм |
11 | Килограмм |
12 | Тонна |
20 | Сантиметр |
21 | Дециметр |
22 | Метр |
30 | Квадратный сантиметр |
31 | Квадратный дециметр |
32 | Квадратный метр |
40 | Миллилитр |
41 | Литр |
42 | Кубический метр |
50 | Киловатт час |
51 | Гигакалория |
70 | Сутки (день) |
71 | Час |
72 | Минута |
73 | Секунда |
80 | Килобайт |
81 | Мегабайт |
82 | Гигабайт |
83 | Терабайт |
255 | Применяется при использовании иных мер измерения |
Параметры тэга markQuantity:
Обязательность параметров указана для использования в рамках тэга. Если тэг необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..12 | да |
Числитель дробной части предмета расчета. |
|
N..12 | да |
Знаменатель дробной части предмета расчета. |
itemDetails
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..255 | Да |
Дополнительная информация по товарной позиции. Представляет собой массив блоков, в каждом из которых передаётся информация об определённой характеристике товарной позиции. |
Все версии. |
itemDetailsParams
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..255 | Условно. Обязательно при наличии параметра itemDetailsParams . |
Дополнительная информация по товарной позиции. |
Все версии. |
|
AN..255 | Условно. Обязательно при наличии параметра itemDetailsParams . |
Наименование параметра описания детализации товарной позиции. |
Все версии. |
При наличии у Мерчанта пермиссий Разрешена оплата ЭС и Считать ARes.Y (frictionless) как полный 3DS 2.0, здесь передается параметр fes_TruCode
.
Пример:
{«name»:«fes_truCode»,«value»:«329921120.06002020100000000643»}, где:
name | ANS..255 | fes_TruCode |
value | NS30 | Код ТРУ (товара/работ/услуг). Перейти к описанию кодировки ТРУ. |
Указание произвольного количества бонусов «Спасибо»
При наличии у Мерчанта соответствующих настроек лояльности здесь можно передать параметр sbrf_spasibo:item_max_bonus_amount
со значением максимального количества бонусов «Спасибо», доступных для списания для каждой товарной позиции в корзине. Значение должно быть строго числом больше или равным 0.
Итоговая максимальная сумма бонусов для списания складывается из всех значений sbrf_spasibo:item_max_bonus_amount
, переданных в товарной корзине.
name | ANS..255 | sbrf_spasibo:item_max_bonus_amount |
value | NS30 | Максимальное количество бонусов «Спасибо» для позиции корзины. |
discount
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..20 | Да |
Тип скидки на товарную позицию. |
Все версии. |
|
N..20 | Да |
Значение скидки на товарную позицию. |
Все версии. |
agentInterest
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..20 | Да |
Тип агентской комиссии за продажу товара. |
Все версии. |
|
N..20 | Да |
Значение агентской комиссии за продажу товара. |
Все версии. |
tax
состоит из следующих элементов:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 | Нет |
Ставка НДС, доступны следующие значения:
Если в запросе не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом). |
Все версии. |
|
N..18 | Нет |
Сумма налога, высчитанная продавцом. Указывается в минимальных единицах валюты. |
Все версии. |
additionalOfdParams
состоит из следующих элементов:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 | Обязателен, только если передан объект agent_info . |
Тип агента, возможно одно из следующих значений:
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора по приёму платежей в формате +N. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Адрес оператора перевода. |
1.05 и более поздние версии. |
|
N10..12 | Нет |
ИНН оператора перевода. |
1.05 и более поздние версии. |
|
ANS..64 | Нет |
Наименование оператора перевода. |
1.05 и более поздние версии. |
|
Массив ANS..19 | Да |
Массив телефонов оператора перевода в формате +N. |
1.05 и более поздние версии. |
|
Maccив ANS..19 | Да |
Массив телефонов поставщика в формате +N. |
1.05 и более поздние версии. |
|
A..256 | Нет |
ФИО кассира. |
1.05 и более поздние версии. |
|
ANS..16 | Нет |
Дополнительный реквизит чека. |
1.05 и более поздние версии. |
|
ANS..24 | Нет |
Наименование дополнительного реквизита пользователя. |
1.05 и более поздние версии. |
|
ANS..24 | Нет |
Значение дополнительного реквизита пользователя. |
1.05 и более поздние версии. |
|
N..12 | Нет |
ИНН кассира |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Адрес покупателя (клиента). |
1.2 и более поздние версии. |
|
NS10 | Нет |
Дата рождения покупателя (клиента) в формате «dd.mm.yyyy» |
1.2 и более поздние версии. |
|
N3 | Нет |
Числовой код страны, гражданином которой является покупатель (клиент). Код страны указывается в соответствии с Общероссийским классификатором стран мира ОКСМ. |
1.2 и более поздние версии. |
|
N2 | Нет |
Числовой код вида документа, удостоверяющего личность (например, 21 - паспорт гр. РФ). |
1.2 и более поздние версии. |
|
NS11 | Нет |
Серия и номер паспорта плательщика: |
1.2 и более поздние версии. |
|
ANS..64 | Нет |
Электронный адрес покупателя. Обязательно должно быть заполнено строго одно из полей: |
1.2 и более поздние версии. |
|
NS..19 | Нет |
Телефон покупателя. Вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+» (номер «+371 2 1234567» необходимо передать как «+37121234567»). Обязательно должно быть заполнено строго одно из полей: |
1.2 и более поздние версии. |
|
N12 | Нет |
ИНН покупателя. |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Наименование покупателя (клиента). |
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
NS10 | Нет |
Дата нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита», в формате: |
1.2 и более поздние версии. |
|
ANS | Нет |
Идентификатор ФОИВ. Должно принимать одно из значений справочника ФОИВ. |
1.2 и более поздние версии. |
|
N..32 | Нет |
Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Состав значений, определенных нормативным актом федерального органа исполнительной власти |
1.2 и более поздние версии. |
|
ANS..20 | Нет (см. описание) |
Номер автомата.
|
1.05 и более поздние версии. |
|
ANS..243 | Нет (см. описание) |
Адрес расчетов.
|
1.05 и более поздние версии. |
|
ANS..243 | Нет (см. описание) |
Место расчетов.
|
1.05 и более поздние версии. |
Описание кодировки ТРУ
Код товаров/работ/услуг имеет размерность 19 знаков: 18 цифр и 1 знак разделитель: NNNNNNNNN.NNNNNNNNN
Для маркировки товаров, которые содержатся в перечне товаров/работ/услуг, ТСП должен выполнить обогащение данного кода, путем добавления значений: - кода производителя в формате YYYY; - кода модели в формате MMMM; - кода страны производителя по ОКСМ в формате ZZZ.
При отсутствии любого из параметров для обогащения, код товаров/работ/услуг дополняется нулями справа вместо соответствующего параметра. Полученное значение является полным кодом товаров/работ/услуги и имеет формат: NNNNNNNNN.NNNNNNNNNYYYYMMMMZZZ,
где: NNNNNNNNN (9 знаков) - код товара/услуги по ОКПД2 . - разделитель NNNNNNNNN (9 знаков) - код по классификатору Минтруда по Приказу №86Н от 13.02.2018 YYYY (4 знака) - код производителя MMMM (4 знака) - код модели ТСР (технических средств реабилитации) ZZZ (3 знака) - код страны производства по ОКСМ
Параметры ответа:
Параметры ответа представлены в таблице ниже.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS36 | Нет |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
Все версии. |
|
AN..512 | Нет |
URL-адрес платёжной формы, на который нужно перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в Чтобы получить возможность принимать оплату этим способом, у вас должны быть соответствующие полномочия в системе. В случае сомнений оставить обращение и получить быстрое решение можно в личном кабинете в разделе «Поддержка». |
Все версии. |
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
Все версии. |
|
|
Нет |
|
Все версии. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
1 |
Заказ с таким номером уже обработан. |
1 |
Неверный номер заказа. |
3 |
Неизвестная валюта. |
4 |
Номер заказа не может быть пуст. |
4 |
Имя продавца не может быть пустым. |
4 |
Отсутствует сумма. |
4 |
URL возврата не может быть пуст. |
4 |
Пароль не может быть пуст. |
5 |
Доступ запрещён. |
5 |
Пользователь отключён. |
7 |
Системная ошибка. |
8 |
|
8 |
Доп. параметр |
8 |
|
Пример запроса POST
userName=username-api&password=testPwd&amount=47000&language=ru&returnUrl=http://yoursite.com&orderBundle={"customerDetails":{"phone":"%2B79888888877","inn":"516974792202","passport":"4507 443564"},"cartItems":{"items":[{"positionId":1,"name":"По-аджарски \"Лодочка\" SMALL","quantity":{"value":"1","measure":"0"},"itemCode":"270_235.00","itemPrice":23500,"tax":{"taxType":0,"taxSum":0},"itemAttributes":{"attributes":[{"name":"nomenclature","value":"010463003407001221CMK45BrhN0WLf"},{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"30"},{"name":"agent_info.type","value":"7"},{"name":"agent_info.paying.operation","value":"test operation"},{"name":"agent_info.paying.phones","value":"%2B79161234123"},{"name":"agent_info.paymentsOperator.phones","value":"%2B79161234456"},{"name":"agent_info.MTOperator.phones","value":"%2B79161234789"},{"name":"agent_info.MTOperator.name","value":"MT operator"},{"name":"agent_info.MTOperator.address","value":"Moscow"},{"name":"agent_info.MTOperator.inn","value":"8634330204"},{"name":"supplier_info.phones","value":"%2B79161234333"},{"name":"supplier_info.name","value":"Supplier"},{"name":"supplier_info.inn","value":"287381373424"},{"name":"excise","value":"10.0"},{"name":"country_code","value":"810"},{"name":"declaration_number","value":"12332234533"},{"name":"userData","value":"user data"},{"name":"markQuantity.numerator","value":"1"},{"name":"markQuantity.denominator","value":"2"},{"name":"sectoralItemProps[0].federalId","value":"001"},{"name":"sectoralItemProps[0].date","value":"10.10.2021"},{"name":"sectoralItemProps[0].number","value":"123/4567"},{"name":"sectoralItemProps[0].value","value":"value1"},{"name":"sectoralItemProps[1].federalId","value":"003"},{"name":"sectoralItemProps[1].date","value":"11.10.2021"},{"name":"sectoralItemProps[1].number","value":"321/4567"},{"name":"sectoralItemProps[1].value","value":"value2"}]}},{"positionId":2,"name":"Пирожок","quantity":{"value":"1","measure":"0"},"itemCode":"270_235.00","itemPrice":23500,"tax":{"taxType":0,"taxSum":0},"itemAttributes":{"attributes":[{"name":"nomenclature","value":"010463003407001221CMK45BrhN0WLf"},{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"30"},{"name":"agent_info.type","value":"7"},{"name":"agent_info.paying.operation","value":"test operation"},{"name":"agent_info.paying.phones","value":"%2B79161234123"},{"name":"agent_info.paymentsOperator.phones","value":"%2B79161234456"},{"name":"agent_info.MTOperator.phones","value":"%2B79161234789"},{"name":"agent_info.MTOperator.name","value":"MT operator"},{"name":"agent_info.MTOperator.address","value":"Moscow"},{"name":"agent_info.MTOperator.inn","value":"8634330204"},{"name":"supplier_info.phones","value":"%2B79161234333"},{"name":"supplier_info.name","value":"Supplier"},{"name":"supplier_info.inn","value":"287381373424"},{"name":"excise","value":"10.0"},{"name":"country_code","value":"810"},{"name":"declaration_number","value":"12332234533"},{"name":"userData","value":"user data"},{"name":"markQuantity.numerator","value":"1"},{"name":"markQuantity.denominator","value":"2"},{"name":"sectoralItemProps[0].federalId","value":"001"},{"name":"sectoralItemProps[0].date","value":"10.10.2021"},{"name":"sectoralItemProps[0].number","value":"123/4567"},{"name":"sectoralItemProps[0].value","value":"value1"},{"name":"sectoralItemProps[1].federalId","value":"003"},{"name":"sectoralItemProps[1].date","value":"11.10.2021"},{"name":"sectoralItemProps[1].number","value":"321/4567"},{"name":"sectoralItemProps[1].value","value":"value2"}]}}]}}
Пример запроса POST при наличии пермисии «Разрешена оплата ЭС»
returnUrl:http://test.ru/ language:ru currency:810 orderBundle:{"customerDetails":{"phone":"9888888888", "inn":"", "email":"email@mail.com"},"cartItems":{"items":[{"positionId":1,"name":"Трость опорная, регулируемая по высоте, без устройства противоскольжения","itemDetails":{"itemDetailsParams":[{"name":"fes_truCode","value":"329921120.06001010100000000643"}]},"quantity":{"value":"3.00","measure":"шт."},"itemCode":"270_235.00","itemPrice":40000,"tax":{"taxType":0,"taxSum":0}}, {"positionId":2,"name":"Трость белая тактильная цельная","itemDetails":{"itemDetailsParams":[{"name":"fes_truCode","value":"329921120.06002020100000000643"}]},"quantity":{"value":"3.00","measure":"шт."},"itemCode":"270_244.00","itemPrice":23500,"tax":{"taxType":0,"taxSum":0}}]}} jsonParams:{"fes_cashboxId":"900000000000000004"} amount:190500 failUrl:https://ya.ru/ userName:{{userName}} password:{{password}}
Пример ответа:
{"orderId":"b089befe-127a-75e4-a68f-918c0128092a","formUrl":"https://3dsec.sberbank.ru/payment/merchants/789/payment_ru.html?mdOrder=b089befe-127a-75e4-a68f-918c0128092a"}
Запрос завершения оплаты заказа с указанием суммы только в деньгах (deposit.do)
Для запроса завершения ранее пред авторизованного заказа используется запрос deposit.do
. Эту операцию можно осуществлять, если есть соответствующие права в системе.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса:
Параметры запроса представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
N..12 | Да |
Сумма платежа в копейках (или центах). Внимание!!! Если в этом параметре указать ноль, завершение произойдет на всю предавторизованную сумму. |
Параметры ответа:
Параметры ответа представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
|
|
Нет |
|
Коды ошибок:
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
5 |
Неверная сумма. |
5 |
Сумма депозита должна быть равной нулю или не менее одного рубля. |
6 |
Неверный номер заказа. |
6 |
Незарегистрированный |
7 |
Платёж должен быть в корректном состоянии. |
7 |
Системная ошибка. |
Пример запроса:
amount=100¤cy=643&language=ru&orderId=e5b59d3d-746b-4828-9da4-06f126e01b68&password=password&userName=userName
Пример ответа:
{"errorCode":0}
Запрос завершения на полную сумму в деньгах и баллах (autoCompletion.do)
Метод autocompletion.do не работает для карт, не вовлечённых в 3D-Secure.
Для завершения используется метод autoCompletion.do
.
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
N..20 | Да |
Сумма списания, состоящая из суммы в деньгах и суммы баллов. Может быть меньше или равна остатку в заказе. Если указать в этом параметре ноль, завершение произойдёт на всю предавторизованную сумму. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Да |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
|
|
Да |
|
|
AN..512 | Нет |
Идентификатор операции в процессинге лояльности. |
|
AN..512 | Нет |
Тип операции, возможны следующие значения:
|
|
AN..512 | Нет |
Идентификатор операции в платёжном шлюзе. |
|
Строка | Нет |
Сумма в баллах. |
|
AN..512 | Нет |
Признак успешности операции, возможны следующие значения:
|
Пример запроса:
userName=login&password=password&orderId=94e86702-d37a-44dc-b953-36f75f80507b&compositeCompletionAmount=90000
Пример ответа:
{"operations":[{"pcId":2699110,"operation":"REFUND_PAYMENT","amount":20,"successful":true,"transactionId":"1642"},{"pcId":2699111,"operation":"REFUND_AWARD","amount":10180,"successful":true,"transactionId":"1643"}],"errorCode":"0"}
Запрос отмены оплаты заказа (reverse.do)
Для запроса отмены оплаты заказа используется запрос reverse.do
. Функция отмены доступна в течение ограниченного времени после оплаты, точные сроки необходимо уточнять в «Сбербанке».
Нельзя проводить отмены и возвраты по заказам, инициализирующим регулярные платежи, т. к. в этих случаях не происходит реального списания денег.
Операция отмены оплаты может быть совершена только один раз. Если она закончится ошибкой, то повторная операция отмены платежа не пройдёт. Эта функция доступна магазинам по согласованию с банком. Для выполнения операции отмены продавец должен обладать соответствующими правами.
При проведении частичной отмены (отмены части оплаты) сумма частичной отмены передается в необязательном параметре amount. Частичная отмена возможна при наличии у магазина соответствующего разрешения в системе. Частичная отмена невозможна для заказов с фискализацией, корзиной и лоялти.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса:
Параметры запроса представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
N..12 | Нет |
Сумма частичной отмены. Параметр, обязательный для частичной отмены. |
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
Строка | Нет |
Дополнительные параметры запроса. Формат вида: {«Имя1»: «Значение1», «Имя2»: «Значение2»}. При указании «showLoyalty»:«false» взаимодействие с сервисом лояльности осуществляться не будет. В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
|
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
Параметры ответа:
Параметры ответа представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
|
|
Нет |
|
Коды ошибок:
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
5 |
|
5 |
Неуспешно. |
6 |
Неверный номер заказа. |
6 |
Незарегистрированный |
7 |
Недопустимая операция для текущего состояния заказа. |
7 |
Системная ошибка. |
7 |
Реверсал невозможен. Суммы холдирования и депозита должны быть равны для транзакции после снятия блокировки средств. |
7 |
Происходит процессинг данной транзакции. Пожалуйста, повторите запрос позднее. |
7 |
Реверсал невозможен. Причина: неверные внутренние значения, проверьте суммы холда, депозита. |
7 |
Реверсал невозможен. Данному платежу установлен флаг chargeback. |
Пример запроса POST
language=ru&orderId=9231a838-ac68-4a3e-bddb-d9781433d852
Пример ответа
{"errorCode":"0","errorMessage":"Успешно"}
Запрос возврата средств оплаты заказа (autoRefund.do)
Для возврата средств используется метод autoRefund.do
. В запросе передаётся общая сумма возврата, состоящая из суммы в деньгах и суммы баллов.
При полном возврате сумма денег и сумма бонусных баллов возвращаются в соответствии с суммами при оплате. При частичном возврате суммы распределяются согласно пропорции денег и баллов при оплате.
Запрос закончится ошибкой в случае, если средства по этому заказу не были списаны. Система позволяет вернуть средства более 1 раза, но не более первоначальной суммы списания. Данную операцию можно осуществлять при наличии соответствующих прав в системе.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да | Логин магазина, полученный при подключении. |
|
AN..200 | Да | Пароль магазина, полученный при подключении. |
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
N..20 | Да |
Сумма возврата, состоящая из суммы в деньгах и суммы баллов. Может быть меньше или равна остатку в заказе. |
|
A2 | Да |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Нет |
Код ошибки. . |
|
|
Нет |
. |
Блок operations |
|||
|
AN..512 | Нет |
Идентификатор операции в процессинге лояльности. . |
|
AN..512 | Да |
Тип операции, возможны следующие значения:
. |
|
AN..512 | Нет |
Идентификатор операции в платёжном шлюзе. . |
|
N..12 | Нет | Сумма в баллах. |
|
AN..512 | Да |
Признак успешности операции, возможны следующие значения:
. |
Пример запроса:
https://3dsec.sberbank.ru/payment/rest/autoRefund.do?userName=login&password=password&orderId=62945d2e-3da5-42cf-b9c1-d456227ab51a&compositeRefundAmount=100000
Пример ответа:
{"operations":[{"pcId":2699144,"operation":"REFUND_PAYMENT","amount":1960,"successful":true,"transactionId":"1652"}, {"pcId":2699145,"operation":"REFUND_AWARD","amount":98040,"successful":true,"transactionId":"1653"}],"errorCode":"0"}
Расширенный запрос состояния заказа
Для запроса состояния зарегистрированного заказа используется запрос getOrderStatusExtended.do
.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса:
Параметры запроса представлены в таблице ниже.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | да |
Логин магазина, полученный при подключении. Если вместо аутентификации по логину и паролю используется открытый токен (параметр token), параметр userName передавать не нужно. |
|
AN..200 | да |
Пароль магазина, полученный при подключении. Если для аутентификации при регистрации вместо логина и пароля используется открытый токен (параметр token), параметр password передавать не нужно. |
|
ANS36 | да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
ANS..32 | да |
Номер заказа в системе магазина. Необязательно только в случае подключения автоматической генерации номера заказа на шлюзе (для этого обратитесь в техническую поддержку). |
|
A2 | да |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
В запросе должен присутствовать либо orderId
, либо orderNumber
. Если в запросе присутствуют оба параметра, то приоритетным считается orderId
.
Параметры ответа для версий 01 и выше Эти параметры будут возвращены в ответе не зависимо от версии getOrderStatusExtended.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..32 | Да |
Номер (идентификатор) заказа в системе магазина. | Все версии. |
|
N1 | Нет |
По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Возможны следующие значения:
| Все версии. |
|
ANS..6 | Да |
Код ответа процессинга. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице. | Все версии. |
|
AN..512 | Да |
Расшифровка кода ответа на языке, переданном в параметре запроса language. | Все версии. |
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. См. описание кодов ошибок ниже. | Все версии. |
|
|
Нет |
|
Все версии. |
|
N..12 | Да |
Сумма платежа в минимальных единицах валюты. | Все версии. |
|
N3 | Нет |
Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. | Все версии. |
|
ANS | Да |
Дата регистрации заказа в формате UNIX-времени (POSIX-времени). | Все версии. |
|
ANS..600 | Нет |
Описание заказа, переданное при его регистрации. | Все версии. |
|
ANS..39 | Нет |
IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов). | 13 и выше. |
|
ANS | да |
Дата и время авторизации, выраженные в количестве миллисекунд, прошедших с полуночи (00:00:00 GMT) 1 января 1970 года. | 09 и выше. |
|
AN..24 | Нет |
Учётный номер авторизации платежа, который присваивается при регистрации платежа. | 19 и выше. |
|
AN..10 | Нет |
Идентификатор терминала в процессинге, через который осуществлялась оплата. | Все версии. |
|
AS..14 | Нет |
Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.). Может принимать следующие значения:
| Все версии. |
|
AN..20 | Нет |
Название дополнительного параметра. | Все версии. |
|
ANS..2000 | Нет |
Значение дополнительного параметра - до 2000 символов. | Все версии. |
Элемент cardAuthInfo (в элементе лежит структура, состоящая из списка элементов типа secureAuthInfo и атрибутов pan , expiration , cardholderName и approvalCode ). |
||||
Название | Тип | Обязательно | Описание | |
| N12…19 | Нет | Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа. |
|
| N6 | Да | Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа |
|
| AS..26 | Да | Имя держателя карты. Указан только после оплаты заказа. Длина поля ограничена 26 символами (латинские буквы, точка, пробел). |
|
| AN6 | Да | Код авторизации международной платёжной системы. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. |
|
Элемент secureAuthInfo состоит из следующих параметров. (параметры cavv и xid включены в элемент threeDSInfo ) |
||||
| N..4 | Да | Электронный коммерческий индикатор. |
|
| A1 | Да | Статус транзакции из ответа от ACS на запрос аутентификации (ARes). Передается при использовании 3DS 2. |
|
| A1 | Да | Статус транзакции из запроса для передачи результатов аутентификации пользователя от ACS (RReq). Передается при использовании 3DS 2. |
|
| N..12 | Да | Версия протокола 3DS. Возможные значения:
|
|
| ANS..200 | Да | Значение проверки аутентификации владельца карты. Указано только после оплаты заказа и в случае соответствующего разрешения. |
|
| ANS..80 | Да | Электронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае соответствующего разрешения. |
|
Элемент BindingInfo состоит из следующих параметров. |
||||
| AN..255 | Да | Номер (идентификатор) клиента в системе магазина. Используется для реализации функционала связок. Может присутствовать, если магазину разрешено создание связок. Указание этого параметра при платежах по связке необходимо - в противном случае платёж будет неуспешен. |
|
| AN..255 | Да | Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. |
|
Элемент paymentAmountInfo состоит из следующих параметров. |
||||
|
N..12 | Нет |
Сумма в минимальных единицах валюты (например, в копейках), удержанная на карте. Используется только при двухстадийных платежах. | 03 и выше. |
|
N..12 | Нет |
Сумма в минимальных единицах валюты (например, в копейках), подтверждённая для списания с карты. | 03 и выше. |
|
N..12 | Нет |
Сумма возврата в минимальных единицах валюты. | 03 и выше. |
|
A..10 | Нет |
Состояние заказа, параметр может принимать следующие значения:
| 03 и выше. |
Элемент bankInfo состоит из параметров. |
||||
|
ANS..50 | Нет |
Наименование банка-эмитента. | 03 и выше. |
|
AN..7 | Нет |
Код страны банка-эмитента. | 03 и выше. |
|
AN..160 | Нет |
Наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан. | 03 и выше. |
Элемент loyaltyInfo/loyaltyInfos (состоит из элемента loyaltyName и тэгов paymentBonus и awardBonus ) - Тэг, содержащий данные о состоянии бонусов по программам лояльности в заказе. |
||||
|
ANS..512 | Нет |
Наименование программы лояльности(для Сбербанк спасибо это «sbrf_spasibo» и «sbrf_sbermiles»). | 15 и выше. |
|
| Нет |
Тэг с атрибутами, содержащими данные о состоянии использованных бонусов для списания при оплате заказа | 04 и выше. |
|
| Нет |
Тэг с атрибутами, содержащими данные о состоянии средств, использованных для начисления бонусов при оплате заказа | 04 и выше. |
paymentBonus
состоит из следующих элементов.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..20 | Нет |
Сумма баллов к списанию при оплате заказа. |
|
N..20 | Нет |
Подтвержденная сумма в баллах для списания на момент запроса. |
|
N..20 | Да |
Сумма возврата в баллах на момент запроса. |
|
ANS..512 | Да |
Идентификатор операции в процессинге лояльности. |
|
ANS..512 | Да |
Признак успешности операции, возможны следующие значения:
|
|
ANS..512 | Да |
Тип последней проведенной операции со списываемыми баллами (PAYMENT, REVERSE, REFUND_PAYMENT) |
awardBonus
состоит из следующих элементов.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..20 | Нет |
Первоначальная сумма, на которую было произведено начисление бонусных баллов. |
|
N..20 | Нет |
Подтверждённая сумма заказа, на которую произведено начисление бонусных баллов. |
|
N..20 | Да |
Сумма возврата заказа, на которую произведено начисление бонусных баллов. |
|
ANS..512 | Да |
Идентификатор операции в процессинге лояльности. |
|
ANS..512 | Да |
Признак успешности операции, возможны следующие значения:
|
|
ANS..512 | Да |
Тип последней проведенной операции со списываемыми баллами (PAYMENT, REVERSE, REFUND_PAYMENT) |
Если в запросе на регистрацию заказа была передана корзина, то в ответе на расширенный запрос о состоянии заказа также передаётся блок orderBundle, содержащий корзину товаров заказа. Описание блока orderBundle представлено ниже. (Актуально для версии getOrderStatusExtended 03 и выше.).
orderBundle
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..21 | Нет |
Дата создания заказа в формате | 03 и выше. |
|
Не актуально | Нет |
Блок с атрибутами данных о покупателе. Описание его атрибутов представлено ниже. | 03 и выше. |
|
Не актуально | Да |
Блок с атрибутами товарных позиции корзины товаров. Описание его атрибутов представлено ниже. | 03 и выше. |
|
Не актуально | Да |
Блок с атрибутами бонусных программ, в которых участвуют товарные позиции из Корзины. Описание его атрибутов представлено ниже. Если параметр блок loyalties не передаётся в запросе и сумма к списанию в баллах рассчитывается не на стороне продавца, то этот блок всё равно будет возвращён в ответе на расширенный запрос о состоянии заказа. | 03 и выше. |
customerDetails
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..40 | Нет |
Адрес электронной почты покупателя. | 03 и выше. |
|
NS..12 | Нет |
Номер телефона клиента. Примеры:
В случае передачи номера в отдельном параметре и в дополнительных параметрах, в качестве основного использоваться будет номер, указанный в настоящем параметре
При использовании АТОЛ фискализации параметр | 03 и выше. |
|
ANS..40 | Нет |
Способ связи с покупателем. | 03 и выше |
|
|
Нет |
|
03 и выше |
deliveryInfo
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Нет |
Способ доставки. | 04 и выше. |
|
A..2 | Да |
Двухбуквенный код страны доставки. | 04 и выше. |
|
ANS..40 | Да |
Город доставки. | 04 и выше. |
|
ANS..255 | Да |
Адрес доставки. | 04 и выше. |
cartItems
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
Не актуально | Да |
Массив блоков, описывающих товарные позиции в корзине. Информация по каждой товарной позиции Корзины передаётся в отдельном блоке, входящем в состав items. Не используйте внутри этого блока сочетание символов «‘)», в противном случае это приведёт к ошибке на стороне шлюза. | 03 и выше. |
items
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..12 | Да |
Уникальный идентификатор товарной позиции внутри корзины заказа. | 03 и выше. |
|
ANS..100 | Да |
Наименование или описание товарной позиции в свободной форме.
Используйте | 03 и выше. |
|
| Нет |
Дополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже. | 04 и выше. |
|
N..18 | Да |
Элемент, описывающий общее количество товарных позиций одного | 03 и выше. |
|
N..12 | Да |
Сумма стоимости всех товарных позиций одного
При расчёте параметра | 03 и выше. |
|
N3 | Нет |
Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа. | 03 и выше. |
|
ANS..100 | Да |
Номер (идентификатор) товарной позиции в системе магазина.
Во всех методах передача артикула | 03 и выше. |
|
Не актуально | Нет |
Дополнительный блок с атрибутами описания скидки для товарной позиции. Блок параметров имеет справочный характер и не влияет на расчеты внутри корзины. Описание его атрибутов представлено ниже. | 04 и выше. |
|
Не актуально | Нет |
| 04 и выше. |
quantity
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
N..18 | Да |
Количество товарных позиций данного | 03 и выше. |
|
ANS..20 | Да |
Мера измерения количества товарной позиции. | 03 и выше. |
itemDetails
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..255 | Да |
Параметр описывающий дополнительную информацию по товарной позиции. Описание его атрибутов представлено ниже. | 04 и выше. |
itemDetailsParams
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..255 | Условно. Обязательно при наличии параметра itemDetailsParams |
Дополнительная информация по товарной позиции. | 04 и выше. |
|
AN..255 | Условно. Обязательно при наличии параметра itemDetailsParams |
Наименование параметра описания детализации товарной позиции. | 04 и выше. |
discount
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Да |
Тип скидки на товарную позицию. | 04 и выше. |
|
N..20 | Да |
Значение скидки на товарную позицию. | 04 и выше. |
agentInterest
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Да |
Тип агентской комиссии за продажу товара. | 04 и выше. |
|
N..20 | Да |
Значение агентской комиссии за продажу товара. | 04 и выше. |
loyalties
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Да |
Условное наименование бонусной программы, в которой участвует товарная позиция, выдаётся платёжным шлюзом. | 04 и выше. |
|
ANS..12 | Да |
Идентификатор товарной позиции, участвующей в указанной бонусной программе. | 04 и выше. |
|
N..18 | Да |
Общая сумма бонусов всех товарных позиций для данного | 04 и выше. |
|
N..18 | Нет |
Общая сумма бонусов всех товарных позиций для данного | 04 и выше. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
1 |
Ожидается [orderId] или [orderNumber]. |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
6 |
Заказ не найден. |
7 |
Системная ошибка. |
Пример запроса POST
orderId=694312ed-9dd1-4178-9009-e1ac1aa5fb92&language=ru
Пример ответа для версии getOrderStatusExtended 04:
{"errorCode":"0","errorMessage":"Успешно","orderNumber":"24398","orderStatus":2,"actionCode":0, "actionCodeDescription":"Запрос успешно обработан","amount":30000,"currency":"643", "date":1394094689585,"orderDescription":"testCart singlestep","ip":"0.0.0.7", "merchantOrderParams":[{"name":"sbrf_spasibo:amount_bonus","value":"300"}], "attributes":[{"name":"mdOrder","value":"694312ed-9dd1-4178-9009-e1ac1aa5fb92"}], "cardAuthInfo":{"expiration":"201512","cardholderName":"cardholder name","approvalCode":"123456","pan":"478978**1233"}, "authDateTime":1394094689585,"terminalId":"999714","authRefNum":"111111111111", "paymentAmountInfo":{"paymentState":"DEPOSITED","approvedAmount":30000,"depositedAmount":30000,"refundedAmount":0}, "bankInfo":{"bankCountryCode":"UNKNOWN","bankCountryName":"<Неизвестно>"}, "orderBundle":{"orderCreationDate":1373622660000, "customerDetails":{"email":"johnsmith@mail.ru","phone":"89851231234","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":1.0,"measure":"штук"},"itemAmount":10000,"itemCurrency":643,"itemCode":"T-M-14", "discount":{"discountType":"discount","discountValue":"777"}}, {"positionId":"2","name":"Universal Mirror Enduro", "itemDetails":{"itemDetailsParams":[{"value":"Noname","name":"brand"},{"value":"12mm","name":"diameter"}]}, "quantity":{"value":1.0,"measure":"штук"},"itemAmount":10000,"itemCurrency":643,"itemCode":"NM-15"}, {"positionId":"3","name":"Warm Grips","itemDetails":{"itemDetailsParams":[{"value":"Noname","name":"brand"}]}, "quantity":{"value":1.0,"measure":"штук"},"itemAmount":10000,"itemCurrency":643,"itemCode":"G-16"}]}}, "loyaltyInfo":{"loyaltyName":"sbrf_spasibo","paymentBonus": {"approvedAmountBonus":300,"depositedAmountBonus":300,"refundedAmountBonus":0,"pcId":"3139154", "successful":true,"paymentOperation":"PAYMENT"}, "awardBonus":{"approvedAmountAward":30000,"depositedAmountAward":30000,"refundedAmountAward":0,"pcId":"3139155", "successful":true,"paymentOperation":"AWARD"}}}
Пример ответа для версии getOrderStatusExtended
15
{ "errorCode":"0", "errorMessage":"Успешно", "orderNumber":"9064", "orderStatus":2, "actionCode":0, "actionCodeDescription":"", "amount":9800, "currency":"643", "date":1584012874234, "depositedDate":1584012899439, "orderDescription":"", "ip":"10.99.50.35", "merchantOrderParams":[ { "name":"sbrf_sbermiles:amount_bonus", "value":"100" }, { "name":"loyaltyId", "value":"sbrf_spasibo,sbrf_sbermiles" }, { "name":"sbrf_spasibo:amount_bonus", "value":"100" }, { "name":"sbrf_spasibo:change_rate", "value":"2.0" }, { "name":"sbrf_sbermiles:change_rate", "value":"1" }, { "name":"client_uuid", "value":"DB0427E0D30749FABBE8E9B214590A25" }, { "name":"new_card_payment", "value":"true" } ], "transactionAttributes":[ { "name":"merchantIp", "value":"10.99.50.35" } ], "attributes":[ { "name":"mdOrder", "value":"b6f698e1-fb8d-7b6d-8f56-130700ef5d58" } ], "cardAuthInfo":{ "maskedPan":"427601**6064", "expiration":"202412", "cardholderName":"CARDHOLDER NAME", "approvalCode":"123456", "paymentSystem":"VISA", "pan":"427601**6064" }, "authDateTime":1584012899096, "terminalId":"123456", "authRefNum":"580849427803", "paymentAmountInfo":{ "paymentState":"DEPOSITED", "approvedAmount":9800, "depositedAmount":9800, "refundedAmount":0, "feeAmount":0 }, "bankInfo":{ "bankName":"SBERBANK of Russia", "bankCountryCode":"RU", "bankCountryName":"Россия" }, "payerData":{ "email":"a-sbersafe0009@bpcbt.com", "phone":"9993330009" }, "loyaltyInfos":[ { "loyaltyName":"sbrf_sbermiles", "paymentBonus":{ "approvedAmountBonus":100, "depositedAmountBonus":100, "refundedAmountBonus":0, "pcId":"81753909", "successful":true, "paymentOperation":"PAYMENT" }, "awardBonus":{ "approvedAmountAward":9800, "depositedAmountAward":9800, "refundedAmountAward":0, "pcId":"81753912", "successful":true, "paymentOperation":"AWARD" } }, { "loyaltyName":"sbrf_spasibo", "paymentBonus":{ "approvedAmountBonus":100, "depositedAmountBonus":100, "refundedAmountBonus":0, "pcId":"81753908", "successful":true, "paymentOperation":"PAYMENT" }, "awardBonus":{ "approvedAmountAward":9800, "depositedAmountAward":9800, "refundedAmountAward":0, "pcId":"81753910", "successful":true, "paymentOperation":"AWARD" } } ], "chargeback":false, "paymentWay":"CARD" }
Запрос проведения оплаты по связке (paymentOrderBinding.do)
Для проведения платежа по связкам используется запрос paymentOrderBinding.do
.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. |
|
ANS..36 | Да |
Номер заказа в платёжном шлюзе. Уникален в пределах платёжного шлюза. |
|
AN..255 | Да |
Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: |
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
|
ANS..39 | Нет |
IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов). |
|
N3 | Нет |
Код CVC/CVV2 на обратной стороне карты. |
|
ANS..40 | Нет |
Адрес электронной почты покупателя. |
|
ANS..* | Нет |
Идентификатор программы лояльности. Следует использовать значение sbrf_spasibo. |
|
N..20 | Нет |
Количество бонусных баллов к списанию. |
Параметры ответа
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..* | Нет |
При успешном ответе. В случае платежа без необходимости аутентификации на ACS – URL, на который производится переадресация после платежа. В случае 3DS-платежа – URL для возврата с ACS. |
|
ANS..* | Нет |
При успешном ответе. Результат попытки оплаты. Возможные значения представлены ниже.
|
|
N..2 | Да |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
|
|
Нет |
|
|
AN..512 | Нет |
При успешном ответе в случае платежа с использованием 3-D Secure. URL-адрес для перехода на сервер контроля доступа. |
|
AN..512 | Нет |
При успешном ответе в случае платежа с использованием 3-D Secure. Payment Authentication Request - запрос на аутентификацию платежа. |
|
AN..512 | Нет |
При успешном ответе в случае платежа, в котором выполнялась проверка на принадлежность карты к 3-D Secure. URL-адрес для возврата с сервера контроля доступа. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
1 |
|
1 | Необходимо указать CVC2/CVV2, поскольку у мерчанта нет разрешения на проведение оплаты без CVC |
1 | Неверный язык |
1 | [bindingId] не задан |
1 | [mdOrder] не задан |
1 | Срок действия карты истёк |
2 |
Связка не найдена. |
2 |
Заказ не найден. |
3 | Заказ не может быть оплачен, обратитесь к продавцу |
5 |
Доступ запрещён. |
5 |
Пользователь должен сменить свой пароль. |
5 | Исчерпаны попытки оплаты или закончилось время сессии |
7 |
Системная ошибка. |
Пример запроса POST
mdOrder=eb49300c-95b7-4dcd-9739-eee6c61f2ac4&bindingId=308042e8-2b28-484a-811e-f786c9776c3b&cvc=123&loyaltyId=sbrf_spasibo&pointsAmount=12000
Пример успешного ответа при SSL-платеже
{"redirect":"http://ya.ru?orderId=eb49300c-95b7-4dcd-9739-eee6c61f2ac4","info":"Ваш платёж обработан, происходит переадресация...","errorCode":0}
Пример успешного ответа при 3DS-платеже
{"info":"Ваш платёж обработан, происходит переадресация...","acsUrl":"https://test.paymentgate.ru/acs/auth/start.do","paReq":"eJxVUdtugkAQ/RXCOy7LRdQMa2ixKU28pGrfyTICqSzKpcW/765AbR8mOWcyOWfmDCy74qx9YVXn\npfB1OjF1DQUvk1ykvn48vBgzfcngkFWI4R55WyGDNdZ1nKKWJ74+TVz05tPE8NyZbThOfDJmFjcN\ni55Mz+MJzu25zmAXvOOVwWDEpM/EAjJSqVjxLBYNg5hfn6INcyxvappABgoFVlHIPCA9ABEXyPb4\nhWKVp1mzyQUCuTeBl61oqhubOjaQkUBbnVnWNJcFId5sPuFlAUT1gDy8d61CtdTo8oStw+C7r5W5\nCVNZx9v6ENmyfCBqApK4QWaZ1KXUcjVqLVx7Ycu77n2IC2XOqDqjh3BRDsGj/5eDDLeS2Y+bjwyw\nu5QC5YRU/sVAHts+v6rceCODyfbb7m3bfmzD22dnlycaFHF+DGl0y6hK8z6kFHMZity7l1QEiJIh\nw6PI8GOJ/v3+BweMtyE=","termUrl":"https://test.paymentgate.ru:443/testpayment/rest/finish3ds.do","errorCode":0}
Пример ответа с ошибкой
{"error":"Access denied","errorCode":5,"errorMessage":"Access denied"}
Запрос доступной программы лояльности и возможного количества бонусов к списанию (getPossibleLoyalty.do)
Запрос getPossibleLoyalty.do
позволяет запросить название программы лояльности, бонусные баллы которой можно использовать при оплате заказа, а также минимально и максимально возможное количество баллов для оплаты.
Поддерживается только POST.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Параметры запроса
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр |
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
|
AN..255 | Нет |
Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает: |
Параметры ответа
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Да |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
|
|
Нет |
|
|
N..20 | Нет |
Минимальная сумма бонусных баллов, которая может быть использована при оплате заказа. |
|
N..20 | Нет |
Максимальная сумма бонусных баллов, которая может быть использована при оплате заказа. В рамках одного платежа пользователь не может потратить больше баллов, чем указано в этом параметре. |
|
AN..512 | Нет |
Код бонусной программы внутри системы. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
0 |
Обработка запроса прошла без системных ошибок. |
5 |
Доступ запрещён. |
6 |
Заказ не найден. |
7 |
Системная ошибка. |
Пример POST-запроса с передачей идентификатора связки
orderId=cef5266d-8e44-4f4f-a86a-3a2d2d666dab&bindingId=25d02dfe-edd6-4fad-86c2-419c3a467cf2&language=ru
Пример ответа
{"errorCode":"0","loyaltyOperations":[{"serviceName":"sbrf_spasibo","minAmount":0,"maxAmount":6000}]}
Запрос проверки доступного баланса бонусов (getInfo.do)
При наличии соответствующих расширений магазин может запросить баланс баллов «Спасибо» «Сбербанка» для определённого пользователя. Для этого используется запрос getInfo.do.
Поддерживается только POST.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да | Логин магазина, полученный при подключении. |
|
AN..200 | Да | Пароль магазина, полученный при подключении. |
|
N12…19 | Обязательно присутствие одного из параметров: pan или bindingId . |
Номер платёжной карты. При указании в запросе параметра seToken этот параметр не обязателен к передаче. |
|
AN..255 | Обязательно присутствие одного из параметров: pan или bindingId . |
Идентификатор связки, созданной ранее. |
Параметры ответа:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..2 | Нет |
Код ошибки. |
|
|
Нет |
|
|
N..20 | Нет |
Минимальная сумма бонусных баллов, которая может быть использована при оплате заказа. |
|
N..20 | Нет |
Максимальная сумма бонусных баллов, которая может быть использована при оплате заказа. В рамках одного платежа пользователь не может потратить больше баллов, чем указано в этом параметре. |
|
AN..512 | Нет |
Код бонусной программы внутри системы. |
Коды ошибок:
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок. |
5 | Доступ запрещён. |
7 | Системная ошибка. |
Пример запроса:
userName=test-api&password=testPwd&pan=4111111111111111
Пример ответа:
{ "errorCode": "0", "errorMessage": "Success", "loyaltyOperations": [ { "serviceName": "sbrf_spasibo", "minAmount": 0, "maxAmount": 199999485556 } ] }
Запрос возврата средств оплаты заказа с указанием суммы только в деньгах (refund.do)
Для частичного возврата средств используется запрос refund.do
с обязательным указанием корзины возвращаемых товаров. По этому запросу средства по заказу будут возвращены плательщику.
Запрос закончится ошибкой, если средства по этому заказу не были списаны. Система позволяет вернуть средства более 1 раза, но не более первоначальной суммы списания.
Для безошибочной обработки запроса достаточно передать параметры quantity
и positionId
.
В запросе на возврат Корзина указывается в блоке refundItems
.
- В случае полного возврата заказа, передача корзины товаров необязательна.
- При возврате заказа на сумму отличную от суммы списания (кроме передачи значения «0») обязательно должна передаваться корзина товаров.
- В случае проведения нескольких возвратов по заказам с корзиной все они должны осуществляться только по алгоритму возврата с корзиной.
- Сумма возврата (в деньгах) в корзине не должна превышать подтверждённую денежную сумму оригинального заказа (для запросов
autoRefund
сравниваются композитные суммы денег и баллов). - Все товарные позиции корзины должны быть выражены в одной и той же валюте (если валюта позиций указывается), совпадающей с валютой оригинального заказа. Для Сбербанк «Спасибо» валюта заказа должна быть рубли РФ (643-RUB).
- В корзине запрещены для передачи товарные позиции, отсутствующие в оригинальном заказе. Происходит проверка наличия указанного товара в корзине запроса на возврат в изначальном заказе. Необходимо совпадение элементов
positionId
,name
,itemCode
. Если хотя бы одно из значений не совпадает, считается, что данная товарная позиция отсутствует в оригинальном заказе. - Значение элемента
quantity
в корзине запроса на завершение не должно превышать значение аналогичного параметра в корзине заказа на регистрацию. - Значение элемента
itemAmount
блокаitems
не должно превышать значение аналогичного параметра в оригинальном заказе. Для запросаautoRefund
система производит сравнение значения элементаitemAmount
блокаitems
с суммой денег и баллов по аналогичной позиции в оригинальном заказе. - Все параметры корзины проверяются на соответствие требуемому формату (длине).
В случае невыполнения хотя бы одного из указанных выше условий запрос возврата заказа считается неправильно сформированным и платёжный шлюз должен вернуть ошибку.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса:
Название | Тип | Обязательно | Описание | Версия ФФД | ||
---|---|---|---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. |
Все версии. |
||
|
AN..200 | Да |
Пароль служебной учётной записи продавца. |
Все версии. |
||
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
Все версии. |
||
|
N..12 | Да |
Сумма возврата в валюте заказа (в минимальных единицах). Должна совпадать с общей суммой всех возвращаемых товарных позиций. |
Все версии. |
||
|
Не актуально | Да |
Тег для передачи информации о возвращаемых товарах - номер позиции товара в запросе, название, детали, единица измерения, количество, валюта, код товара, скидка, выгода агента. |
Все версии. |
||
|
A2 | Нет |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
Все версии. |
||
|
Блок данных для передачи дополнительных параметров ОФД | Нет |
Если блок Передача этого блока возможна только при использовании следующих ОФД:
|
1.05 и более поздние версии. |
||
|
| Нет |
Дополнительные параметры запроса. Формат вида: {«Имя1»: «Значение1», «Имя2»: «Значение2»}.
При осуществлении возврата заказа здесь, в случае необходимости, можно передавать размер удержания штрафа за возврат в виде параметра
Параметр penalty игнорируется при возвратах заказа с баллами (лояльностью), возвращается ошибка:
В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):
|
Все версии. |
refundItems
состоит из следующих элементов:
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
Не актуально | Нет |
Массив блоков, описывающих товарные позиции в корзине. Информация по каждой товарной позиции Корзины передаётся в отдельном блоке, входящем в состав items. Не используйте внутри этого блока сочетание символов «‘)», в противном случае это приведёт к ошибке на стороне шлюза. |
Все версии. |
items
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..12 | Да |
Уникальный идентификатор товарной позиции внутри корзины заказа. |
Все версии. |
|
ANS..255 | Да |
Наименование или описание товарной позиции в свободной форме. При отправке запроса в ОФД длина наименования будет обрезана до 128 символов.
Используйте |
Все версии. |
|
Не актуально | Нет |
Дополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже. Ограничение размера поля - 1024 байт. |
Все версии. |
|
N..18 | Да |
Элемент, описывающий общее количество товарных позиций одного |
Все версии. |
|
N..12 | Да |
Сумма стоимости всех товарных позиций одного
При расчёте параметра |
Все версии. |
|
N3 | Нет |
Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа. |
Все версии. |
|
ANS..100 | Да |
Номер (идентификатор) товарной позиции в системе магазина.
Во всех методах передача артикула |
Все версии. |
|
Не актуально | Нет |
Дополнительный блок с атрибутами описания скидки для товарной позиции. Блок параметров имеет справочный характер и не влияет на расчеты внутри корзины. Описание его атрибутов представлено ниже. |
Все версии. |
|
Не актуально | Нет |
Дополнительный блок с атрибутами описания агентской комиссии за продажу товара. Описание его атрибутов представлено ниже. |
Все версии. |
|
Не актуально | Нет |
Дополнительный тег с атрибутами описания налога. Описание вложенных тегов представлено ниже. |
Все версии. |
|
N..18 | Нет |
Стоимость одной товарной позиции в минимальных единицах валюты. Обязательно для продавцов с фискализацией.
|
Все версии. |
|
См. описание. | Нет |
Блок атрибутов товарной позиции. |
1.05 и более поздние версии. |
itemAttributes
Параметр itemAttributes
должен содержать массив attributes
, а уже в этом массиве расположены атрибуты товарной позиции (см. пример и таблицу ниже).
"itemAttributes":{"attributes":[{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"1"}]}
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 |
Да |
Тип оплаты возможны следующие значения:
Приоритизация передачи значения происходит по следующему принципу (указано в убывающем порядке приоритета):
Для paymentMethod значением по умолчанию является 1 (полная предварительная оплата до момента передачи предмета расчета). |
1.05 и более поздние версии. |
|
N..2 |
Да |
Тип оплачиваемой позиции, возможны следующие значения:
Указанные выше значения доступны для ФФД 1.05.
Приоритизация передачи значения происходит по следующему принципу (указано в убывающем порядке приоритета):
Для paymentObject значением по умолчанию является 1 (товар). |
1.05 и более поздние версии. |
|
ANS | да (если передан markQuantity ) |
Код товарной позиции. Принимаются только первые 256 байт. Возможные форматы для передачи:
|
1.05 и более поздние версии. |
|
| Нет |
Дробное количество маркированного товара. |
1.2 и более поздние версии. |
|
ANS..64 | Нет |
Значение реквизита пользователя. Можно передавать только после согласования с ФНС. |
1.05 и более поздние версии. |
|
N..2 | Обязателен, только если передан объект agent_info . |
Тип агента, возможно одно из следующих значений:
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора по приёму платежей в формате +N. |
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора перевода в формате +N. |
1.05 и более поздние версии. |
|
ANS..64 | Нет |
Наименование оператора перевода. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Адрес оператора перевода. |
1.05 и более поздние версии. |
|
N10..12 | Нет |
ИНН оператора перевода. |
1.05 и более поздние версии. |
|
Maccив ANS..19 | Нет |
Массив телефонов поставщика в формате +N. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Наименование поставщика. |
1.05 и более поздние версии. |
|
N10..12 | Нет |
ИНН поставщика. |
1.05 и более поздние версии. |
quantity
quantity
состоит из следующих элементов.
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..18 | Да |
Количество товарных позиций данного | |
|
ANS..20 | Да |
Мера измерения количества товарной позиции. |
Все версии. |
Если ФФД версии 1.2 и более поздней, то здесь передаются параметры:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N1 | Да |
Количество товарных позиций данного positionId. Для версии ФФД 1.2+ значение всегда 1. |
1.2 и более поздние версии. |
|
N..3 | Да |
Единица измерения количества предмета расчета. При ФФД версии 1.2+ , если переданы параметры nomenclature и markQuantity, значение всегда 0. В остальных случаях принимает значения |
1.2 и более поздние версии. |
Возможные значения measure
Значение | Описание |
---|---|
0 | Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами (а также в случае, если предметом расчета является товар, подлежащий обязательной маркировке средством идентификации (передан mark_code )) |
10 | Грамм |
11 | Килограмм |
12 | Тонна |
20 | Сантиметр |
21 | Дециметр |
22 | Метр |
30 | Квадратный сантиметр |
31 | Квадратный дециметр |
32 | Квадратный метр |
40 | Миллилитр |
41 | Литр |
42 | Кубический метр |
50 | Киловатт час |
51 | Гигакалория |
70 | Сутки (день) |
71 | Час |
72 | Минута |
73 | Секунда |
80 | Килобайт |
81 | Мегабайт |
82 | Гигабайт |
83 | Терабайт |
255 | Применяется при использовании иных мер измерения |
markQuantity
Параметры тэга markQuantity:
Обязательность параметров указана для использования в рамках тэга. Если тэг необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..12 | да |
Числитель дробной части предмета расчета. |
|
N..12 | да |
Знаменатель дробной части предмета расчета. |
itemDetails
itemDetails
состоит из следующих элементов.
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..255 | Да |
Дополнительная информация по товарной позиции. Представляет собой массив блоков, в каждом из которых передаётся информация об определённой характеристике товарной позиции. |
Все версии. |
itemDetailsParams
itemDetailsParams
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..255 | Да |
Наименование параметра описания детализации товарной позиции. |
Все версии. |
discount
discount
состоит из следующих элементов.
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..20 | Да |
Тип скидки на товарную позицию. |
Все версии. |
|
N..20 | Да |
Значение скидки на товарную позицию. |
Все версии. |
agentInterest
agentInterest
состоит из следующих элементов.
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
ANS..20 | Да |
Тип агентской комиссии за продажу товара. |
Все версии. |
|
N..20 | Да |
Значение агентской комиссии за продажу товара. |
Все версии. |
tax
tax
состоит из следующих элементов.
Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.
Название | Тип | Обязательно | Описание | |
---|---|---|---|---|
|
N..2 | Нет |
Ставка НДС, доступны следующие значения:
Если в запросе не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом). |
Все версии. |
|
N..18 | Нет |
Сумма налога, высчитанная продавцом. Указывается в минимальных единицах валюты. |
Все версии. |
additionalOfdParams
additionalOfdParams
состоит из следующих элементов.
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 | Обязателен, только если передан объект agent_info . |
Тип агента, возможно одно из следующих значений:
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
|
Нет |
|
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора по приёму платежей в формате +N. |
1.05 и более поздние версии. |
|
ANS..256 | Нет |
Адрес оператора перевода. |
1.05 и более поздние версии. |
|
N10..12 | Нет |
ИНН оператора перевода. |
1.05 и более поздние версии. |
|
ANS..64 | Нет |
Наименование оператора перевода. |
1.05 и более поздние версии. |
|
Массив ANS..19 | Нет |
Массив телефонов оператора перевода в формате +N. |
1.05 и более поздние версии. |
|
Maccив ANS..19 | Нет |
Массив телефонов поставщика в формате +N. |
1.05 и более поздние версии. |
|
A..256 | Нет |
ФИО кассира При запросе на возврат значение этого параметра может отличаться от переданного при регистрации заказа. |
1.05 и более поздние версии. |
|
ANS..16 | Нет |
Дополнительный реквизит чека. При запросе на возврат значение этого параметра может отличаться от переданного при регистрации заказа. |
1.05 и более поздние версии. |
|
ANS..24 | Нет |
Наименование дополнительного реквизита пользователя. При запросе на возврат значение этого параметра может отличаться от переданного при регистрации заказа. |
1.05 и более поздние версии. |
|
ANS..24 | Нет |
Значение дополнительного реквизита пользователя. При запросе на возврат значение этого параметра может отличаться от переданного при регистрации заказа. |
1.05 и более поздние версии. |
|
N..12 | Нет |
ИНН кассира |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Адрес покупателя (клиента). |
1.2 и более поздние версии. |
|
NS10 | Нет |
Дата рождения покупателя (клиента) в формате «dd.mm.yyyy» |
1.2 и более поздние версии. |
|
N3 | Нет |
Числовой код страны, гражданином которой является покупатель (клиент). Код страны указывается в соответствии с Общероссийским классификатором стран мира ОКСМ. |
1.2 и более поздние версии. |
|
N2 | Нет |
Числовой код вида документа, удостоверяющего личность (например, 21 - паспорт гр. РФ). |
1.2 и более поздние версии. |
|
NS11 | Нет |
Серия и номер паспорта плательщика: |
1.2 и более поздние версии. |
|
ANS..64 | Нет |
Электронный адрес покупателя. Обязательно должно быть заполнено строго одно из полей: |
1.2 и более поздние версии. |
|
NS..19 | Нет |
Телефон покупателя. Вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+» (номер «+371 2 1234567» необходимо передать как «+37121234567»). Обязательно должно быть заполнено строго одно из полей: |
1.2 и более поздние версии. |
|
N12 | Нет |
ИНН покупателя. |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Наименование покупателя (клиента). |
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
|
Нет |
|
1.2 и более поздние версии. |
|
NS10 | Нет |
Дата нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита», в формате: |
1.2 и более поздние версии. |
|
ANS | Нет |
Идентификатор ФОИВ. Должно принимать одно из значений справочника ФОИВ. |
1.2 и более поздние версии. |
|
N..32 | Нет |
Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» |
1.2 и более поздние версии. |
|
ANS..256 | Нет |
Состав значений, определенных нормативным актом федерального органа исполнительной власти |
1.2 и более поздние версии. |
|
ANS..20 | Нет (см. описание) |
Номер автомата.
|
1.05 и более поздние версии. |
|
ANS..243 | Нет (см. описание) |
Адрес расчетов.
|
1.05 и более поздние версии. |
|
ANS..243 | Нет (см. описание) |
Место расчетов.
|
1.05 и более поздние версии. |
Параметры ответа:
Название | Тип | Обязательно | Описание | Версия ФФД |
---|---|---|---|---|
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. |
Все версии. |
|
|
Нет |
|
Все версии. |
Коды ошибок:
Значение | Описание | Версия ФФД |
---|---|---|
0 |
Успешно. | |
5 |
Доступ запрещён. | |
5 |
Пользователь должен сменить свой пароль. | |
5 |
| |
5 |
Неверная сумма. | |
6 |
Неверный номер заказа. | |
7 |
Платёж должен быть в корректном состоянии. | |
7 |
Сумма возврата превышает сумму списания. | |
7 |
Системная ошибка. |
Пример запроса POST
userName=username-api&password=testPwd&orderId=d296be1d-c092-773b-ab2c-68e60128092a&amount=23500&refundItems={"items":[{"positionId":1,"name":"По-аджарски \"Лодочка\" SMALL","quantity":{"value":"1","measure":"0"},"itemCode":"270_235.00","itemPrice":23500,"tax":{"taxType":0,"taxSum":0},"itemAttributes":{"attributes":[{"name":"nomenclature","value":"010463003407001221CMK45BrhN0WLf"},{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"30"},{"name":"agent_info.type","value":"7"},{"name":"agent_info.paying.operation","value":"test operation"},{"name":"agent_info.paying.phones","value":"%2B79161234123"},{"name":"agent_info.paymentsOperator.phones","value":"%2B79161234456"},{"name":"agent_info.MTOperator.phones","value":"%2B79161234789"},{"name":"agent_info.MTOperator.name","value":"MT operator"},{"name":"agent_info.MTOperator.address","value":"Moscow"},{"name":"agent_info.MTOperator.inn","value":"8634330204"},{"name":"supplier_info.phones","value":"%2B79161234333"},{"name":"supplier_info.name","value":"Supplier"},{"name":"supplier_info.inn","value":"287381373424"},{"name":"excise","value":"10.0"},{"name":"country_code","value":"810"},{"name":"declaration_number","value":"12332234533"},{"name":"userData","value":"user data"},{"name":"markQuantity.numerator","value":"1"},{"name":"markQuantity.denominator","value":"2"},{"name":"sectoralItemProps[0].federalId","value":"001"},{"name":"sectoralItemProps[0].date","value":"10.10.2021"},{"name":"sectoralItemProps[0].number","value":"123/4567"},{"name":"sectoralItemProps[0].value","value":"value1"},{"name":"sectoralItemProps[1].federalId","value":"003"},{"name":"sectoralItemProps[1].date","value":"11.10.2021"},{"name":"sectoralItemProps[1].number","value":"321/4567"},{"name":"sectoralItemProps[1].value","value":"value2"}]}}]}
Пример запроса с передачей параметра penalty
userName=username-api&password=testPwd&amount=500000&orderId=f6d6416b-bef1-72a5-9446-9e4f00a39301&jsonParams={"penalty":"130000"}&refundItems={"items":[{"positionId":1,"name":"da","quantity":{"value":1,"measure":"qtqwt"},"itemAttributes":{"attributes":[{"name":"paymentMethod","value":"4"},{"name":"paymentObject","value":"10"}]},"itemAmount":250000,"itemCode":"50248","itemPrice":250000,"tax":{"taxType":4}}]}
Пример ответа:
{"errorCode":"0","errorMessage":"Успешно"}
Запрос отложенной регистрации бонусов Спасибо (deferredAward.do)
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
- A<n> – последовательность латинских букв длины <n>;
- A..<n> – последовательность латинских букв длиной, не превышающей <n>;
- N<n> – последовательность цифр длины <n>;
- N..<n> – последовательность цифр длиной, не превышающей <n>;
- AN<n> – последовательность латинских букв и цифр фиксированной длины <n>;
- AN..<n> – последовательность латинских букв и цифр длиной, не превышающей <n>;
- ANS<n> – последовательность латинских букв, цифр и символов фиксированной длины <n>
- ANS..<n> – последовательность латинских букв, цифр и символов длиной, не превышающей <n>;
- UTC – дата и время, при этом: дата должна быть передана без указания часового пояса, время московское, для протокола SOAP используется стандартная кодировка xs:dateTime.
Пользуясь протоколом REST, тело сообщения запроса следует отправлять с типом: 'Content-Type: application/x-www-form-urlencoded'.
Параметры запроса
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да |
Логин служебной учётной записи продавца. |
|
AN..200 | Да |
Пароль служебной учётной записи продавца. |
|
AN..256 | нет (нужно указать либо пару логин и пароль, либо токен) |
Открытый ключ, который можно использовать для аутентификации при выполнении запроса. Если для аутентификации используются логин и пароль, параметр Чтобы получить открытый ключ, обратитесь в техническую поддержку. |
|
ANS36 | Да |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.
В случае, если был передан |
|
ANS..32 | Да |
Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно В запросе должен присутствовать либо orderId, либо orderNumber. Если в запросе присутствуют оба параметра, то приоритетным считается orderId. |
|
A2 | Да |
Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию. |
Параметры ответа
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
ANS..32 | Да |
Номер заказа в системе магазина. Необязательно только в случае подключения автоматической генерации номера заказа на шлюзе (для этого обратитесь в техническую поддержку). |
|
N1 | Нет |
По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Ниже представлен список возможных значений:
Возможен также промежуточный статус orderStatus=7. По значению это статус PENDING, который используется при завершении двухстадийных заказов, и проставляется в момент завершения оригинального заказа. Он меняется на DEPOSITED (orderStatus=2) через некоторое время, когда проводится успешная операция в процессинге по инициирующему заказу. |
|
ANS..6 | Да |
Код ответа процессинга. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице. |
|
AN..512 | Да |
Коды ответа - цифровое обозначение результата, к которому привело обращение к системе со стороны пользователя. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице. |
|
N..2 | Нет |
Код ошибки. Может отсутствовать, если результат не привёл к ошибке. См. описание кодов ошибок ниже. |
|
|
Нет |
|
Элемент operations |
|||
|
AN..512 | Нет |
Тип операции, возможны следующие значения:
|
|
N..20 | Нет |
Сумма баллов по операции |
|
AN..512 | Нет |
Идентификатор операции в платёжном шлюзе. |
|
AN..512 | Нет |
Признак успешности операции, возможны следующие значения:
|
|
AN..512 | Нет |
Идентификатор операции в процессинге лояльности. |
Коды ошибок
Код ошибки | Текст ошибки |
---|---|
1 |
Ожидается |
7 |
Происходит процессинг данной транзакции. Пожалуйста, повторите запрос позднее. |
Пример запроса POST
username=testUsername&password=testPwd&orderId=30713439-087a-780f-8319-8f284806bca1
Пример ответа
{"errorCode":"0","errorMessage":"Успешно","operations":[{"operation":"AWARD","transactionId":"BE70B59FEE9E47AF8F28B270F12154A7","amount":681,"successful":true,"pcId":1005068383}]}