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

Описание 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'.

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

Параметры запроса представлены в таблице ниже.

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

userName

AN..30

нет (нужно указать либо пару логин и пароль, либо токен)

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

password

AN..200

нет (нужно указать либо пару логин и пароль, либо токен)

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

token

AN..256

нет (нужно указать либо пару логин и пароль, либо токен)

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

Чтобы получить открытый ключ, обратитесь в техническую поддержку.

orderNumber

ANS..32

Да

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

amount

N..12

Да

Сумма платежа в минимальных единицах валюты.

currency

N3

Нет

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

returnUrl

ANS..512

Да

Адрес, на который требуется перенаправить пользователя в случае успешной оплаты, а также в случае неуспешной оплаты (при отсутствии переданного параметра failUrl). Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.

Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:

failUrl

ANS..512

Нет

Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.

Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:

Параметр необязательный.

dynamicCallbackUrl

ANS..512

Нет

Параметр позволяет воспользоваться функциональность динамической отправки callback-уведомлений. В нем можно передать адрес, на который будут отправляться все «платежные» callback-уведомления, активированные для продавца. Под платежными понимаются callback-уведомления о следующих событиях: успешный холд, платеж отклонен по таймауту,  платеж cardpresent отклонен, успешное списание, возврат, отмена. При этом активированные для мерчанта callback-уведомления, не относящиеся к платежам (включение/выключение связки, создание связки), будут отправляться на статический адрес для callback-ов.

Для использования функциональности динамической отправки callback-уведомлений необходимо, чтобы у мерчанта была выставлена соответствующая настройка: Тип callback-а: Динамический (CALLBACK_TYPE = DYNAMIC).

Чтобы мерчант мог получать callback-уведомления, для него необходима активация пермиссии: Разрешено выполнять callback операции.

description

ANS..512

Нет

Описание заказа в свободной форме. В процессинг банка для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля.

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

language

A2

Нет

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

feeInput

N..8

Нет

Сумма комиссии в минимальных единицах валюты.

Параметр передается только при включении соответствующей пермиссии.

pageView

ANS..20

Нет

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

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

Где:

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

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

clientId

ANS..255

Нет

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

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

merchantLogin

ANS..255

Нет

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

jsonParams

Строка

Нет

Дополнительные параметры запроса. Формат вида: {«Имя1»: «Значение1», «Имя2»: «Значение2»}. При сценарии оплаты app2app, back2app и mWeb2App передаются также следующие параметры (см. таблицу ниже). При указании «showLoyalty»:«false» взаимодействие с сервисом лояльности осуществляться не будет. В качестве дополнительных параметров в том числе возможно передать следующие:

  • «email» - если передать адрес электронной почты покупателя, он будет отображён на платёжной странице;
  • «phone» (обязательное поле) - если передать номер сотового телефона покупателя, он будет отображён на платёжной странице. Имеет ограничение по длине: от 7 до 15.

В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):

  • sbrf_spasibo:amount_bonus
  • sbrf_sbermiles:amount_bonus
  • loyaltyId
  • overridenClientId

sessionTimeoutSecs

N..10

Нет

Продолжительность жизни заказа в секундах.

В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут).

Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.

expirationDate

UTC

Нет

Дата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH:mm:ss.

Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs.

bindingId

AN..255

Нет

Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает:
1. Данный заказ может быть оплачен только с помощью связки;
2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.

features

AN..255

Нет

Возможно использование следующих значений.

  • AUTO_PAYMENT - Платёж проводится без проверки подлинности владельца карты (без CVC и 3-D Secure). Чтобы проводить подобные платежи и продавца должны быть соответствующие разрешения.
  • VERIFY - Если указать это значение после запроса на регистрацию заказа произойдёт верификация держателя карты без списания средств с его счёта, поэтому в запросе можно передавать нулевую сумму. Верификация позволяет убедиться, что карта находится в руках владельца, и впоследствии списывать с этой карты средства, не прибегая к проверке аутентификационных данных (CVC, 3D-Secure) при совершении последующих платежей.
  • Даже если сумма платежа будет передана в запросе, она не будет списана со счёта покупателя.
  • После успешной регистрации заказ сразу переводится в статус REVERSED (отменён).
  • FORCE_TDS - Принудительное проведение платежа с использованием проверки на вовлеченность в 3-D Secure. Если карта не вовлечена в 3-D Secure, то оплата пройдет с ECI = 01/06.
  • FORCE_SSL - Принудительное проведение платежа через SSL (без использования 3-D Secure).
  • FORCE_FULL_TDS - После проведения аутентификации с помощью 3-D Secure статус PaRes должен быть только Y, что гарантирует успешную аутентификацию пользователя. В противном случае транзакция не пройдёт.

email

ANS..40

Нет

Адрес электронной почты покупателя.

phone

NS..12

Нет*

Номер телефона клиента без лидирующей «7». Параметр phone, передаваемый напрямую, не валидируется.

billingPayerData

См. описание

Нет

Блок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV.

Обязателен, если активна соответствующая пермиссия для мерчанта («Разрешено использование AVS/AVV»).

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

  • orderNumber – номер заказа в системе магазина;
  • description – описание заказа (не более 24 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n).

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

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

billingCity

AN..50

Нет

Город, зарегистрированный по конкретной карте у Банка Эмитента

billingCountry

AN..50

Нет

billingAddressLine1

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 1.

Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV».

billingAddressLine2

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 2.

billingAddressLine3

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 3.

billingPostalCode

AN..50

Нет

Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента.

Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV».

billingState

AN..50

Нет

Штат, зарегистрированный по конкретной карте у Банка Эмитента (ISO 3166-2)



Параметры при сценарии оплаты app2app

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

app2app

Булевое значение

Нет

Атрибут, указывающий на способ оплаты через приложение СБОЛ (app2app). Возможны следующие значения:

  • true (истина);
  • false (ложь).

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

app.osType

ANS..32

См. описание

Тип ОС. Возможные значения:

  • ios;
  • android.

Обязательно, только если app2app=true.

См. описание



Параметры при сценарии оплаты back2app

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

back2app

булевое значение

Нет

Атрибут, указывающий на способ оплаты по сценарию back2app

Параметры при сценарии оплаты mWeb2App

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

sberpay.backurl

ANS..255

Нет

Данные для возврата в мобильное приложение Мерчанта, при успешной оплате mWeb2App. При сценарии оплаты «mWeb2App» необходимо передавать:

{"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

  • backToShopUrl - поддерживается;
  • backToShopName - не поддерживается

Скрытие 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).

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

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

Параметры ответа представлены в таблице ниже.

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

orderId

ANS36

Нет

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

formUrl

AN..512

Нет

URL-адрес платёжной формы, на который нужно перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.

Чтобы получить возможность принимать оплату этим способом, у вас должны быть соответствующие полномочия в системе. В случае сомнений оставить обращение и получить быстрое решение можно в личном кабинете в разделе «Поддержка».

errorCode

N..2

Нет

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

errorMessage

AN..512

Нет

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

externalParams

См. описание

Нет

Блок пар 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

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

sbolBankInvoiceId

ANS..1024

Нет

Уникальный идентификатор заказа, сгенерированный Банком.

sbolInactive

Булевое значение

Нет

Атрибут, информирующий о проходящих регламентных работах. Значение true - если проводятся регламентные работы.

Значение false - если не проводятся регламентные работы.

Параметр может возникать, если у мерчанта включена соответствующая пермиссия, и app2app = true.

Параметры externalParams при сценарии оплаты back2app

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

sbolInactive

Булевое значение

Нет

Атрибут, информирующий о проходящих регламентных работах

Значение true - если проводятся регламентные работы

Значение false - если не проводятся регламентные работы

sbolBankInvoiceId

ANS..1024

Нет

Уникальный идентификатор заказа, сгенерированный Банком.

Коды ошибок

Код ошибки Текст ошибки
0

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

1

Заказ с таким номером уже обработан.

1

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

1 Срок действия карты истёк.
3

Неизвестная валюта.

4

Номер заказа не может быть пуст.

4

Имя продавца не может быть пустым.

4

Отсутствует сумма.

4

URL возврата не может быть пуст.

4

Пароль не может быть пуст.

5

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

5

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

5

[jsonParams] неверен.

7

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

13

Мерчант не имеет привилегии выполнять проверочные платежи.

14

Features указаны некорректно.

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

amount=100&currency=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'.

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

Параметры запроса представлены в таблице ниже.

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


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

userName

AN..30

Да

Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

Все версии.

password

AN..200

Да

Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

Все версии.

token

AN..256

См. описание

Значение, которое используется для аутентификации продавца при отправке запросов в платёжный шлюз. При передаче этого параметра параметры userName и pаssword передавать не нужно.

Чтобы получить открытый ключ, обратитесь в техническую поддержку.

Все версии.

orderNumber

ANS..32

Да

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

Все версии.

amount

N..12

Да

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

Перед суммированием всех товарных позиций для каждой товарной позиции произведение количества (quantity) и стоимости (price) округляется до целого числа. Т. е., если после десятичной запятой стоит 5 и более, то округление происходит в большую сторону. Ниже приведены примеры округления.

  1. Если quantity = 0,111, а price = 5500, то результат: 611 (округлённое 610,5).
  2. Если quantity = 1,455, а price = 6900, то результат: 10040 (округлённое 10039,5).
  3. Если quantity = 1,211, а price = 6988, то результат: 8462 (округлённое 8462,468).

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

Все версии.

currency

N3

Нет

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

Все версии.

returnUrl

ANS..512

Да

Адрес, на который требуется перенаправить пользователя в случае успешной оплаты, а также в случае неуспешной оплаты (при отсутствии переданного параметра failUrl). Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.

Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:

Все версии.

failUrl

ANS..512

Нет

Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.

Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:

Параметр необязательный.

Все версии.

description

ANS..512

Нет

Описание заказа в свободной форме. В процессинг банка для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля.

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

Все версии.

language

A2

Нет

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

Все версии.

pageView

ANS..20

Нет

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

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

Где:

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

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

Все версии.

clientId

ANS..255

Нет

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

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

Все версии.

merchantLogin

ANS..255

Нет

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

Все версии.

jsonParams

Строка

Нет

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

{name1:value1,…,nameN:valueN}

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

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

Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом блоке в параметре с именем email. При указании «showLoyalty»:«false» взаимодействие с сервисом лояльности осуществляться не будет. В качестве дополнительных параметров в том числе возможно передать следующие::

  • «email» - если передать адрес электронной почты покупателя, он будет отображён на платёжной странице;
  • «phone» (обязательное поле) - если передать номер сотового телефона покупателя, он будет отображён на платёжной странице. Имеет ограничение по длине: от 7 до 15.

В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):

  • sbrf_spasibo:amount_bonus
  • sbrf_sbermiles:amount_bonus
  • loyaltyId
  • overridenClientId

При наличии пермиссий у Мерчанта Разрешена оплата ЭС и Считать ARes.Y (frictionless) как полный 3DS 2.0, здесь обязательным параметром передается:

Название Тип Описание
fes_cashboxId N18 Идентификатор НСПК кассы Мерчанта, через которую осуществляется оплата ЭС

Все версии.

sessionTimeoutSecs

N..10

Нет

Продолжительность жизни заказа в секундах.

В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут).

Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.

Все версии.

expirationDate

UTC

Нет

Дата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH:mm:ss.

Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs.

Все версии.

bindingId

AN..255

Нет

Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает:
1. Данный заказ может быть оплачен только с помощью связки;
2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.

Все версии.

additionalOfdParams

Блок данных для передачи дополнительных параметров ОФД

Нет

Некоторые параметры блока additionalOfdParams дублируют параметры блока cartItems.items.itemAttributes. Блок additionalOfdParams применяется ко всем позициям заказа, тогда как cartItems.items.itemAttributes применяется к индивидуальным позициям. Если в блоках additionalOfdParams и cartItems.items.itemAttributes будут переданы разные значения, то приоритетным значением будет то, которое было передано в cartItems.items.itemAttributes, то есть — для индивидуальной позиции.

Передача этого блока возможна только при использовании следующих ОФД:

  • АТОЛ;
  • Бизнес.Ру;
  • Эвотор.

orderBundle

Не актуально

Да

Блок, содержащий корзину товаров заказа. Описание его атрибутов представлено ниже.

Все версии.

taxSystem

N..2

Нет

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

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

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

Все версии.

billingPayerData

См. описание

Нет

Блок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV.

Обязателен, если активна соответствующая пермиссия для мерчанта («Разрешено использование AVS/AVV»).

Все версии.

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

  • orderNumber – номер заказа в системе магазина;
  • description – описание заказа (не более 24 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n).

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

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

billingCity

AN..50

Нет

Город, зарегистрированный по конкретной карте у Банка Эмитента

billingCountry

AN..50

Нет

billingAddressLine1

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 1.

Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV».

billingAddressLine2

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 2.

billingAddressLine3

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 3.

billingPostalCode

AN..50

Нет

Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента.

Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV».

billingState

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 состоит из следующих элементов:

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

orderCreationDate

ANS..21

Нет

Дата создания заказа в формате YYYY-MM-DDTHH:mm:ss.

Все версии.

customerDetails

Не актуально

Нет

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

Все версии.

cartItems

Не актуально

Да

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

Все версии.

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

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

contact

ANS..40

Нет

Способ связи с покупателем.

email

ANS..40

Да

Электронная почта покупателя, на которую будут отправлен кассовый чек.

Обязательно следует передать один из двух параметров: email или phone.

phone

NS..12

Нет

Номер телефона клиента.

При использовании АТОЛ фискализации параметр phone следует передавать в следующем формате:

Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов кроме символа «» (номер «371 2 1234567» необходимо передать как »+37121234567«). Если номер телефона относится к России (префикс »+7«), то значение можно передавать без префикса (номер »+79251234567« можно передать как «9251234567»). Максимальная длина строки - 64 символа. В запросе должно быть обязательно заполнено одно из полей: email или phone.

fullName

ANS..100

Нет

Фамилия, имя и отчество плательщика. Параметр возвращается только в том, случае если был передан партнером при регистрации.


Если передается параметр fullName(ФИО) в параметрах CustomerDetails, то обязательно нужно передать дополнительные параметры: ИНН или данные документа (1243 гражданство, 1244 дата рождения 1245 код документа, 1246 Реквизиты документа, удостоверяющего личность)

Если в запросе на регистрацию указано только fullName без доп параметров, то отобразится следующая ошибка: «Запрос не валиден: Если ИНН клиента не был заполнен, то необходимо указать дату рождения клиента, код документа и данные документа.».

passport

ANS..100

Нет

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

inn

N..12

Нет

Идентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов. Параметр возвращается только в том, случае если был передан партнером при регистрации.

deliveryInfo

Не актуально

Нет

Блок с атрибутами адреса для доставки. Описание его атрибутов представлено ниже.

В соответствии с требованиями ОФД обязательно следует передать один из двух параметров: email или phone. Если эти параметры не будет переданы в запросе, в ОФД будут отправлены данные, указанные в настройках фискализации в личном кабинете (подробнее см. инструкцию по работе с личным кабинетом).

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

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

city

ANS..40

Да, если передаётся блок deliveryInfo

Город доставки.

country

A..2

Да, если передаётся блок deliveryInfo

Двухбуквенный код страны доставки.

deliveryType

ANS..20

Нет

Способ доставки.

postAddress

ANS..255

Да, если передаётся блок deliveryInfo

Адрес доставки.

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

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

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

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

items

Не актуально

Да

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

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

Все версии.

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

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

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

positionId

ANS..12

Да

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

Все версии.

name

ANS..255

Да

Наименование или описание товарной позиции в свободной форме. При отправке запроса в ОФД длина наименования будет обрезана до 128 символов.

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

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

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

Все версии.

itemDetails

Не актуально

Нет

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

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

Все версии.

quantity

N..18

Да

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

Все версии.

itemAmount

N..12

Нет

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

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

Все версии.

itemCurrency

N3

Нет

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

Все версии.

itemCode

ANS..100

Да

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

При оплате с использованием бонусных баллов «Спасибо» данный параметр должен быть уникальным.


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

Все версии.

discount

Не актуально

Нет

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

Все версии.

agentInterest

Не актуально

Нет

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

Все версии.

tax

Не актуально

Только для магазинов с настройками фискализации

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

Все версии.

itemPrice

N..18

Только для магазинов с настройками фискализации

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

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

Все версии.

itemAttributes

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

Только для магазинов с настройками фискализации

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

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

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

Параметр itemAttributes должен содержать массив attributes, а уже в этом массиве расположены атрибуты товарной позиции (см. пример и таблицу ниже).

"itemAttributes":{"attributes":[{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"1"}]}

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

paymentMethod

N..2

Да

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

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

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

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

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

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

paymentObject

N..2

Да

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

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

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

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

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

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

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

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

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

nomenclature

ANS

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

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

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

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

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

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

markQuantity

Нет

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

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

userData

ANS..64

Нет

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

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

agent_info.type

N..2

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

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

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

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

agent_info.paying.operation

ANS..24

Нет

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

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

agent_info.paying.phones

массив ANS..19

Нет

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

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

agent_info.paymentsOperator.phones

Массив ANS..19

Нет

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

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

agent_info.MTOperator.phones

Массив ANS..19

Да

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

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

agent_info.MTOperator.name

ANS..64

Нет

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

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

agent_info.MTOperator.address

ANS..256

Нет

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

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

agent_info.MTOperator.inn

N10..12

Нет

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

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

supplier_info.phones

Maccив ANS..19

Да

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

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

supplier_info.name

ANS..256

Нет

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

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

supplier_info.inn

N10..12

Да

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

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

supplier_info.documentId

ANS..36

Нет

Уникальный идентификатор платежного документа

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

supplier_info.payerName

A..256

Нет

ФИО плательщика.

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

supplier_info.payerLs

ANS..30

Нет

Лицевой счет поставщика услуги.

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

supplier_info.ls

ANS..20

Нет

Единый лицевой счёт поставщика услуг.

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

supplier_info.bankBic

N9

Нет

БИК Банка получателя платежа.

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

supplier_info.bankName

ANS..100

Нет

Название Банка получателя платежа.

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

supplier_info.kpp

N9

Нет

КПП получателя платежа.

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

supplier_info.rs

N20

Нет

Расчётный счёт получателя платежа.

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

supplier_info.commission

N..10

Нет

Сумма комиссии на стороне поставщика услуг в минимальных единицах валюты.

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

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

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

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

value

N..18

Да

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

Все версии.

measure

При передаче кириллицей ANS..10, при передаче латиницей - ANS..20

Да

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

Все версии.

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

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

value

N1

Да

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

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

measure

N..3

Да

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

ниже

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

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

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

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

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

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

numerator

N..12

да

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

denominator

N..12

да

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

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

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

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

itemDetailsParams

ANS..255

Да

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

Все версии.

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

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

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

value

ANS..255

Условно. Обязательно при наличии параметра itemDetailsParams.

Дополнительная информация по товарной позиции.

Все версии.

name

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 состоит из следующих элементов:

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

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

discountType

ANS..20

Да

Тип скидки на товарную позицию.

Все версии.

discountValue

N..20

Да

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

Все версии.

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

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

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

interestType

ANS..20

Да

Тип агентской комиссии за продажу товара.

Все версии.

interestValue

N..20

Да

Значение агентской комиссии за продажу товара.

Все версии.

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

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

taxType

N..2

Нет

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

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

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

Все версии.

taxSum

N..18

Нет

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

Все версии.

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

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

agent_info.type

N..2

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

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

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

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

agent_info.paying.operation

ANS..24

Нет

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

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

agent_info.paying.phones

массив ANS..19

Нет

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

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

agent_info.paymentsOperator.phones

Массив ANS..19

Нет

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

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

agent_info.MTOperator.address

ANS..256

Нет

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

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

agent_info.MTOperator.inn

N10..12

Нет

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

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

agent_info.MTOperator.name

ANS..64

Нет

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

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

agent_info.MTOperator.phones

Массив ANS..19

Да

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

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

supplier_info.phones

Maccив ANS..19

Да

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

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

cashier

A..256

Нет

ФИО кассира.

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

additional_check_props

ANS..16

Нет

Дополнительный реквизит чека.

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

additional_user_props.name

ANS..24

Нет

Наименование дополнительного реквизита пользователя.

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

additional_user_props.value

ANS..24

Нет

Значение дополнительного реквизита пользователя.

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

cashier_inn

N..12

Нет

ИНН кассира

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

client.address

ANS..256

Нет

Адрес покупателя (клиента).

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

client.birth_date

NS10

Нет

Дата рождения покупателя (клиента) в формате «dd.mm.yyyy»

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

client.citizenship

N3

Нет

Числовой код страны, гражданином которой является покупатель (клиент). Код страны указывается в соответствии с Общероссийским классификатором стран мира ОКСМ.

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

client.document_code

N2

Нет

Числовой код вида документа, удостоверяющего личность (например, 21 - паспорт гр. РФ).

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

client.passport_number

NS11

Нет

Серия и номер паспорта плательщика: 1111 222222

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

client.email

ANS..64

Нет

Электронный адрес покупателя. Обязательно должно быть заполнено строго одно из полей: email или phone.

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

client.phone

NS..19

Нет

Телефон покупателя. Вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+» (номер «+371 2 1234567» необходимо передать как «+37121234567»). Обязательно должно быть заполнено строго одно из полей: email или phone.

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

client.inn

N12

Нет

ИНН покупателя.

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

client.name

ANS..256

Нет

Наименование покупателя (клиента).

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

operatingCheckProps.name

ANS

Нет

Идентификатор операции Принимает значения «0» до определения значения реквизита ФНС России.

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

operatingCheckProps.name

ANS

Нет

Идентификатор операции Принимает значения «0» до определения значения реквизита ФНС России.

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

operatingCheckProps.timestamp

NS19

Нет

Дата и время операции в формате: dd.mm.yyyy HH:MM:SS

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

operatingCheckProps.value

ANS..64

Нет

Данные операции.

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

sectoralCheckProps.date

NS10

Нет

Дата нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита», в формате: dd.mm.yyyy

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

sectoralCheckProps.federalId

ANS

Нет

Идентификатор ФОИВ. Должно принимать одно из значений справочника ФОИВ.

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

sectoralCheckProps.number

N..32

Нет

Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита»

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

sectoralCheckProps.value

ANS..256

Нет

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

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

company.automat_number

ANS..20

Нет (см. описание)

Номер автомата.

Условия для обязательной передачи параметра:

  • ФФД 1.05 - для вендинга и транспорта;
  • ФФД 1.2 - для вендинга и транспорта.

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

company.location

ANS..243

Нет (см. описание)

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

Условия для обязательной передачи параметра:

  • ФФД 1.05 - для вендинга, транспорта, курьеров;
  • ФФД 1.2 - для вендинга, транспорта, курьевров.

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

company.payment_address

ANS..243

Нет (см. описание)

Место расчетов.

Условия для обязательной передачи параметра:

  • ФФД 1.05 - для вендинга, транспорта, курьеров;
  • ФФД 1.2 - для вендинга, транспорта, курьеров.

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 знака) - код страны производства по ОКСМ

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

Параметры ответа представлены в таблице ниже.

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

orderId

ANS36

Нет

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

Все версии.

formUrl

AN..512

Нет

URL-адрес платёжной формы, на который нужно перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.

Чтобы получить возможность принимать оплату этим способом, у вас должны быть соответствующие полномочия в системе. В случае сомнений оставить обращение и получить быстрое решение можно в личном кабинете в разделе «Поддержка».

Все версии.

errorCode

N..2

Нет

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

Все версии.

errorMessage

AN..512

Нет

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

Все версии.

Коды ошибок

Код ошибки Текст ошибки
0

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

1

Заказ с таким номером уже обработан.

1

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

3

Неизвестная валюта.

4

Номер заказа не может быть пуст.

4

Имя продавца не может быть пустым.

4

Отсутствует сумма.

4

URL возврата не может быть пуст.

4

Пароль не может быть пуст.

5

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

5

Пользователь отключён.

7

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

8

[depositItems.totalAmount] сумма товарных позиций в корзине не совпадает с общей суммой.

8

Доп. параметр amount_bonus запрещён, если в запросе указана корзина.

8

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

Пример запроса 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'.

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

Параметры запроса представлены в таблице ниже.

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

userName

AN..30

Да

Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

password

AN..200

Да

Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

amount

N..12

Нет

Сумма частичной отмены. Параметр, обязательный для частичной отмены.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

jsonParams

Строка

Нет

Дополнительные параметры запроса. Формат вида: {«Имя1»: «Значение1», «Имя2»: «Значение2»}. При указании «showLoyalty»:«false» взаимодействие с сервисом лояльности осуществляться не будет.

В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):

  • sbrf_spasibo:amount_bonus
  • sbrf_sbermiles:amount_bonus
  • loyaltyId
  • overridenClientId

language

A2

Нет

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

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

Параметры ответа представлены в таблице ниже.

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

errorCode

N..2

Нет

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

errorMessage

AN..512

Нет

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

Коды ошибок

Код ошибки Текст ошибки
0

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

5

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

5

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

5

[orderId] не задан.

5

Неуспешно.

6

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

6

Незарегистрированный orderId.

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'.

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

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

userName

AN..30

Да Логин магазина, полученный при подключении.

password

AN..200

Да Пароль магазина, полученный при подключении.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

compositeRefundAmount

N..20

Да

Сумма возврата, состоящая из суммы в деньгах и суммы баллов. Может быть меньше или равна остатку в заказе.

language

A2

Да

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

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

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

errorCode

N..2

Нет

Код ошибки.

.

errorMessage

AN..512

Нет

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

.

Блок operations

pcId

AN..512

Нет

Идентификатор операции в процессинге лояльности.

.

operation

AN..512

Да

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

  • PAYMENT;
  • AWARD;
  • REVERSE;
  • REFUND_PAYMENT;
  • REFUND_AWARD.

.

transactionId

AN..512

Нет

Идентификатор операции в платёжном шлюзе.

.

amount

N..12

Нет Сумма в баллах.

successful

AN..512

Да

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

  • true (успешно);
  • false (неуспешно).

.

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

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'.

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

Параметры запроса представлены в таблице ниже.

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

userName

AN..30

да

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

password

AN..200

да

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

orderId

ANS36

да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

orderNumber

ANS..32

да

Номер заказа в системе магазина.

Необязательно только в случае подключения автоматической генерации номера заказа на шлюзе (для этого обратитесь в техническую поддержку).

language

A2

да

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

В запросе должен присутствовать либо orderId, либо orderNumber. Если в запросе присутствуют оба параметра, то приоритетным считается orderId.

Параметры ответа для версий 01 и выше Эти параметры будут возвращены в ответе не зависимо от версии getOrderStatusExtended.

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

orderNumber

ANS..32

Да

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

Все версии.

orderStatus

N1

Нет

По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Возможны следующие значения:

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

actionCode

ANS..6

Да

Код ответа процессинга. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице.

Все версии.

actionCodeDescription

AN..512

Да

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

Все версии.

errorCode

N..2

Нет

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

Все версии.

errorMessage

AN..512

Нет

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

Все версии.

amount

N..12

Да

Сумма платежа в минимальных единицах валюты.

Все версии.

currency

N3

Нет

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

Все версии.

date

ANS

Да

Дата регистрации заказа в формате UNIX-времени (POSIX-времени).

Все версии.

orderDescription

ANS..600

Нет

Описание заказа, переданное при его регистрации.

Все версии.

ip

ANS..39

Нет

IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов).

13 и выше.

authDateTime

ANS

да

Дата и время авторизации, выраженные в количестве миллисекунд, прошедших с полуночи (00:00:00 GMT) 1 января 1970 года.

09 и выше.

authRefNum

AN..24

Нет

Учётный номер авторизации платежа, который присваивается при регистрации платежа.

19 и выше.

terminalId

AN..10

Нет

Идентификатор терминала в процессинге, через который осуществлялась оплата.

Все версии.

paymentWay

AS..14

Нет

Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.). Может принимать следующие значения:

  • CARD - оплата с вводом карточных данных;
  • CARD_BINDING - оплата связкой;
  • CARD_MOTO - оплата через колл-центр;
  • CARD_PRESENT - оплата как cardPresent;
  • SBRF_SBOL - оплата через Сбербанк Онлайн;
  • SBRF_SBOL_BINDING - оплата через связку Сбербанк Онлайн;
  • UPOP - оплата через China Union Pay;
  • FILE_BINDING - оплата через файл;
  • FILE_SBP_C2B_BINDING - СБП оплата через файл;
  • SMS_BINDING - оплата через смс;
  • P2P - перевод с карты на карту;
  • P2P_BINDING - перевод связкой;
  • PAYPAL - оплата со счёта PayPal;
  • MTS - оплата со счёта МТС;
  • APPLE_PAY - Apple Pay;
  • APPLE_PAY_BINDING - оплата связкой Apple Pay;
  • APPLE_PAY_RAW - оплата Apple Pay с данными по связке на стороне мерчанта (инициирующие и последующие платежи);
  • ANDROID_PAY - Android Pay;
  • ANDROID_PAY_BINDING - оплата связкой Android Pay;
  • GOOGLE_PAY_CARD - Google Pay нетокенизированная;
  • GOOGLE_PAY_RAW - оплата Google Pay с данными по связке на стороне мерчанта (инициирующие и последующие платежи);
  • GOOGLE_PAY_CARD_BINDING - оплата связкой с не токенизированной картой GooglePay;
  • GOOGLE_PAY_TOKENIZED - Google Pay токенизированная;
  • GOOGLE_PAY_TOKENIZED_BINDING - оплата связкой с токенизированной картой GooglePay;
  • SAMSUNG_PAY - Samsung Pay;
  • SAMSUNG_PAY_BINDING - оплата связкой Samsung Pay;
  • SAMSUNG_PAY_RAW - оплата Samsung Pay с данными по связке на стороне мерчанта (инициирующие и последующие платежи);
  • IPOS - оплата iPOS;
  • SBERID - оплата SberID;
  • SENDY - оплата Sendy;
  • SBP_C2B - Оплата СБП (Сервис Быстрых платежей) для C2B;
  • SBP_C2B_BINDING - оплата связкой СБП (Сервис Быстрых Платежей) для C2B;
  • SBP_B2C - выплаты СБП;
  • TOKEN_PAY - оплата токеном напрямую;
  • TOKEN_PAY_BINDING - оплата токенизированной связкой;
  • YANDEX_PAY_CARD - YandexPay нетокенизированная;
  • YANDEX_PAY_TOKENIZED - YandexPay токенизированная;
  • YANDEX_PAY_CARD_BINDING - оплата связкой с не токенизированной картой YandexPay;
  • YANDEX_PAY_TOKENIZED_BINDING - оплата связкой с токенизированной картой YandexPay;
  • MONEY_STREAM - оплата с баланса мобильного телефона через сервис MoneyStream;
  • BNPL - оплата заказа через механизм BNPL (Buy Now Pay Later);
  • MTS_INSTALLMENT - оплата в рассрочку через МТС Банк;
  • MTS_PAY - MTS Pay;
  • QR - оплата по QR-коду;
  • ALFAPAY_PLATIQR - оплата Alfa Pay по QR-коду;
  • TINKOFFPAY_PLATIQR - оплата Tinkoff Pay по QR-коду.
Все версии.

name

AN..20

Нет

Название дополнительного параметра.

Все версии.

value

ANS..2000

Нет

Значение дополнительного параметра - до 2000 символов.

Все версии.
Элемент cardAuthInfo (в элементе лежит структура, состоящая из списка элементов типа secureAuthInfo и атрибутов pan, expiration, cardholderName и approvalCode).
Название Тип Обязательно Описание

pan

N12…19

Нет

Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.

expiration

N6

Да

Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа

cardholderName

AS..26

Да

Имя держателя карты. Указан только после оплаты заказа. Длина поля ограничена 26 символами (латинские буквы, точка, пробел).

approvalCode

AN6

Да

Код авторизации международной платёжной системы. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы.

Элемент secureAuthInfo состоит из следующих параметров. (параметры cavv и xid включены в элемент threeDSInfo)

eci

N..4

Да

Электронный коммерческий индикатор.

aresTransStatus

A1

Да

Статус транзакции из ответа от ACS на запрос аутентификации (ARes). Передается при использовании 3DS 2.

rreqTransStatus

A1

Да

Статус транзакции из запроса для передачи результатов аутентификации пользователя от ACS (RReq). Передается при использовании 3DS 2.

threeDSProtocolVersion

N..12

Да

Версия протокола 3DS. Возможные значения:

  • «1.0.2» для 3DS1;
  • «2.1.0» для 3DS2.;
  • «2.2.0» для 3DS2.

cavv

ANS..200

Да

Значение проверки аутентификации владельца карты. Указано только после оплаты заказа и в случае соответствующего разрешения.

xid

ANS..80

Да

Электронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае соответствующего разрешения.

Элемент BindingInfo состоит из следующих параметров.

clientId

AN..255

Да

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

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

bindingId

AN..255

Да

Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.

Элемент paymentAmountInfo состоит из следующих параметров.

approvedAmount

N..12

Нет

Сумма в минимальных единицах валюты (например, в копейках), удержанная на карте. Используется только при двухстадийных платежах.

03 и выше.

depositedAmount

N..12

Нет

Сумма в минимальных единицах валюты (например, в копейках), подтверждённая для списания с карты.

03 и выше.

refundedAmount

N..12

Нет

Сумма возврата в минимальных единицах валюты.

03 и выше.

paymentState

A..10

Нет

Состояние заказа, параметр может принимать следующие значения:

  • CREATED - заказ создан;
  • APPROVED - заказ подтверждён;
  • DEPOSITED - заказ завершён;
  • DECLINED - заказ отклонён;
  • REVERSED - заказ отменён;
  • REFUNDED - произведён возврат средств по заказу.
03 и выше.
Элемент bankInfo состоит из параметров.

bankName

ANS..50

Нет

Наименование банка-эмитента.

03 и выше.

bankCountryCode

AN..7

Нет

Код страны банка-эмитента.

03 и выше.

bankCountryName

AN..160

Нет

Наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан.

03 и выше.
Элемент loyaltyInfo/loyaltyInfos (состоит из элемента loyaltyName и тэгов paymentBonus и awardBonus) - Тэг, содержащий данные о состоянии бонусов по программам лояльности в заказе.

loyaltyName

ANS..512

Нет

Наименование программы лояльности(для Сбербанк спасибо это «sbrf_spasibo» и «sbrf_sbermiles»).

15 и выше.

paymentBonus

Нет

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

04 и выше.

awardBonus

Нет

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

04 и выше.

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

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

approvedAmountBonus

N..20

Нет

Сумма баллов к списанию при оплате заказа.

depositedAmountBonus

N..20

Нет

Подтвержденная сумма в баллах для списания на момент запроса.

refundedAmountBonus

N..20

Да

Сумма возврата в баллах на момент запроса.

pcId

ANS..512

Да

Идентификатор операции в процессинге лояльности.

successful

ANS..512

Да

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

  • true (успешно);
  • false (неуспешно).

paymentOperation

ANS..512

Да

Тип последней проведенной операции со списываемыми баллами (PAYMENT, REVERSE, REFUND_PAYMENT)

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

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

approvedAmountAward

N..20

Нет

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

depositedAmountAward

N..20

Нет

Подтверждённая сумма заказа, на которую произведено начисление бонусных баллов.

refundedAmountAward

N..20

Да

Сумма возврата заказа, на которую произведено начисление бонусных баллов.

pcId

ANS..512

Да

Идентификатор операции в процессинге лояльности.

successful

ANS..512

Да

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

  • true (успешно);
  • false (неуспешно).

paymentOperation

ANS..512

Да

Тип последней проведенной операции со списываемыми баллами (PAYMENT, REVERSE, REFUND_PAYMENT)

Если в запросе на регистрацию заказа была передана корзина, то в ответе на расширенный запрос о состоянии заказа также передаётся блок orderBundle, содержащий корзину товаров заказа. Описание блока orderBundle представлено ниже. (Актуально для версии getOrderStatusExtended 03 и выше.).

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

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

orderCreationDate

ANS..21

Нет

Дата создания заказа в формате YYYY-MM-DDTHH:mm:ss.

03 и выше.

customerDetails

Не актуально

Нет

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

03 и выше.

cartItems

Не актуально

Да

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

03 и выше.

loyalties

Не актуально

Да

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

Если параметр блок loyalties не передаётся в запросе и сумма к списанию в баллах рассчитывается не на стороне продавца, то этот блок всё равно будет возвращён в ответе на расширенный запрос о состоянии заказа.

03 и выше.

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

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

email

ANS..40

Нет

Адрес электронной почты покупателя.

03 и выше.

phone

NS..12

Нет

Номер телефона клиента. Примеры:

  • +79000000000
  • 89000000000
  • 9000000000
  • 79000000000

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

При использовании АТОЛ фискализации параметр phone следует передавать в следующем формате:

Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов кроме символа «» (номер «371 2 1234567» необходимо передать как »+37121234567«). Если номер телефона относится к России (префикс »+7«), то значение можно передавать без префикса (номер »+79251234567« можно передать как «9251234567»). Максимальная длина строки - 64 символа. В запросе должно быть обязательно заполнено одно из полей: email или phone.

03 и выше.

contact

ANS..40

Нет

Способ связи с покупателем.

03 и выше

deliveryInfo

Не актуально

Нет

Блок с атрибутами адреса для доставки. Описание его атрибутов представлено ниже.

03 и выше

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

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

deliveryType

ANS..20

Нет

Способ доставки.

04 и выше.

country

A..2

Да

Двухбуквенный код страны доставки.

04 и выше.

city

ANS..40

Да

Город доставки.

04 и выше.

postAddress

ANS..255

Да

Адрес доставки.

04 и выше.

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

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

items

Не актуально

Да

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

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

03 и выше.

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

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

positionId

ANS..12

Да

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

03 и выше.

name

ANS..100

Да

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

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

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

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

03 и выше.

itemDetails

Нет

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

04 и выше.

quantity

N..18

Да

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

03 и выше.

itemAmount

N..12

Да

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

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

03 и выше.

itemCurrency

N3

Нет

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

03 и выше.

itemCode

ANS..100

Да

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

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

03 и выше.

discount

Не актуально

Нет

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

04 и выше.

agentInterest

Не актуально

Нет
04 и выше.

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

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

value

N..18

Да

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

03 и выше.

measure

ANS..20

Да

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

03 и выше.

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

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

itemDetailsParams

ANS..255

Да

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

04 и выше.

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

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

value

ANS..255

Условно. Обязательно при наличии параметра itemDetailsParams

Дополнительная информация по товарной позиции.

04 и выше.

name

AN..255

Условно. Обязательно при наличии параметра itemDetailsParams

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

04 и выше.

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

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

discountType

ANS..20

Да

Тип скидки на товарную позицию.

04 и выше.

discountValue

N..20

Да

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

04 и выше.

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

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

interestType

ANS..20

Да

Тип агентской комиссии за продажу товара.

04 и выше.

interestValue

N..20

Да

Значение агентской комиссии за продажу товара.

04 и выше.

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

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

loyaltyProgramName

ANS..20

Да

Условное наименование бонусной программы, в которой участвует товарная позиция, выдаётся платёжным шлюзом.

04 и выше.

positionId

ANS..12

Да

Идентификатор товарной позиции, участвующей в указанной бонусной программе.

04 и выше.

bonusAmountForDebit

N..18

Да

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

04 и выше.

bonusAmountForCredit

N..18

Нет

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

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'.

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

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

userName

AN..30

Да

Логин служебной учётной записи продавца.

password

AN..200

Да

Пароль служебной учётной записи продавца.

mdOrder

ANS..36

Да

Номер заказа в платёжном шлюзе. Уникален в пределах платёжного шлюза.

bindingId

AN..255

Да

Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает:
1. Данный заказ может быть оплачен только с помощью связки;
2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.

language

A2

Нет

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

ip

ANS..39

Нет

IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов).

cvc

N3

Нет

Код CVC/CVV2 на обратной стороне карты.

email

ANS..40

Нет

Адрес электронной почты покупателя.

loyaltyId

ANS..*

Нет

Идентификатор программы лояльности. Следует использовать значение sbrf_spasibo.

pointsAmount

N..20

Нет

Количество бонусных баллов к списанию.

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

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

redirect

ANS..*

Нет

При успешном ответе. В случае платежа без необходимости аутентификации на ACS – URL, на который производится переадресация после платежа. В случае 3DS-платежа – URL для возврата с ACS.

info

ANS..*

Нет

При успешном ответе. Результат попытки оплаты. Возможные значения представлены ниже.

  • Ваш платёж обработан, происходит переадресация…
  • Операция отклонена. Проверьте введённые данные, достаточность средств на карте и повторите операцию. Происходит переадресация…
  • Извините, платёж не может быть совершён. Происходит переадресация…
  • Операция отклонена. Обратитесь в магазин. Происходит переадресация…
  • Операция отклонена. Обратитесь в банк, выпустивший карту. Происходит переадресация…
  • Операция невозможна. Аутентификация держателя карты завершена неуспешно. Происходит переадресация…
  • Нет связи с банком. Повторите позже. Происходит переадресация…
  • Истёк срок ожидания ввода данных. Происходит переадресация…
  • Не получен ответ от банка. Повторите позже. Происходит переадресация…

errorCode

N..2

Да

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

errorMessage

AN..512

Нет

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

acsUrl

AN..512

Нет

При успешном ответе в случае платежа с использованием 3-D Secure. URL-адрес для перехода на сервер контроля доступа.

paReq

AN..512

Нет

При успешном ответе в случае платежа с использованием 3-D Secure. Payment Authentication Request - запрос на аутентификацию платежа.

termUrl

AN..512

Нет

При успешном ответе в случае платежа, в котором выполнялась проверка на принадлежность карты к 3-D Secure. URL-адрес для возврата с сервера контроля доступа.

Коды ошибок

Код ошибки Текст ошибки
0

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

1

[cvc] не задан.

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.


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

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

userName

AN..30

Да

Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

password

AN..200

Да

Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

language

A2

Нет

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

bindingId

AN..255

Нет

Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает:
1. Данный заказ может быть оплачен только с помощью связки;
2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.

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

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

errorCode

N..2

Да

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

errorMessage

AN..512

Нет

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

minAmount

N..20

Нет

Минимальная сумма бонусных баллов, которая может быть использована при оплате заказа.

maxAmount

N..20

Нет

Максимальная сумма бонусных баллов, которая может быть использована при оплате заказа. В рамках одного платежа пользователь не может потратить больше баллов, чем указано в этом параметре.

serviceName

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.

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

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

userName

AN..30

Да Логин магазина, полученный при подключении.

password

AN..200

Да Пароль магазина, полученный при подключении.

pan

N12…19

Обязательно присутствие одного из параметров: pan или bindingId.

Номер платёжной карты.

При указании в запросе параметра seToken этот параметр не обязателен к передаче.

bindingId

AN..255

Обязательно присутствие одного из параметров: pan или bindingId.

Идентификатор связки, созданной ранее.

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

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

errorCode

N..2

Нет

Код ошибки.

errorMessage

AN..512

Нет

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

minAmount

N..20

Нет

Минимальная сумма бонусных баллов, которая может быть использована при оплате заказа.

maxAmount

N..20

Нет

Максимальная сумма бонусных баллов, которая может быть использована при оплате заказа. В рамках одного платежа пользователь не может потратить больше баллов, чем указано в этом параметре.

serviceName

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'.

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

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

userName

AN..30

Да

Логин служебной учётной записи продавца.

password

AN..200

Да

Пароль служебной учётной записи продавца.

token

AN..256

нет (нужно указать либо пару логин и пароль, либо токен)

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

Чтобы получить открытый ключ, обратитесь в техническую поддержку.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

В случае, если был передан token, то необходимо передать только orderId.

orderNumber

ANS..32

Да

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

В запросе должен присутствовать либо orderId, либо orderNumber. Если в запросе присутствуют оба параметра, то приоритетным считается orderId.

language

A2

Да

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

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

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

orderNumber

ANS..32

Да

Номер заказа в системе магазина.

Необязательно только в случае подключения автоматической генерации номера заказа на шлюзе (для этого обратитесь в техническую поддержку).

orderStatus

N1

Нет

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

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

Возможен также промежуточный статус orderStatus=7. По значению это статус PENDING, который используется при завершении двухстадийных заказов, и проставляется в момент завершения оригинального заказа. Он меняется на DEPOSITED (orderStatus=2) через некоторое время, когда проводится успешная операция в процессинге по инициирующему заказу.

actionCode

ANS..6

Да

Код ответа процессинга. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице.

actionCodeDescription

AN..512

Да

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

errorCode

N..2

Нет

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

errorMessage

AN..512

Нет

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

Элемент operations

operation

AN..512

Нет

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

  • PAYMENT;
  • AWARD;
  • REVERSE;
  • REFUND_PAYMENT;
  • REFUND_AWARD.

amount

N..20

Нет

Сумма баллов по операции

transactionId

AN..512

Нет

Идентификатор операции в платёжном шлюзе.

successful

AN..512

Нет

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

  • true (успешно);
  • false (неуспешно).

pcId

AN..512

Нет

Идентификатор операции в процессинге лояльности.

Коды ошибок

Код ошибки Текст ошибки
1

Ожидается [orderId] или [orderNumber].

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'.

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

Параметры запроса представлены в таблице ниже.

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

userName

AN..30

Да

Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

Все версии.

password

AN..200

Да

Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

Все версии.

token

AN..256

См. описание

Значение, которое используется для аутентификации продавца при отправке запросов в платёжный шлюз. При передаче этого параметра параметры userName и pаssword передавать не нужно.

Чтобы получить открытый ключ, обратитесь в техническую поддержку.

Все версии.

orderNumber

ANS..32

Да

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

Все версии.

amount

N..12

Да

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

Перед суммированием всех товарных позиций для каждой товарной позиции произведение количества (quantity) и стоимости (price) округляется до целого числа. Т. е., если после десятичной запятой стоит 5 и более, то округление происходит в большую сторону. Ниже приведены примеры округления.

  1. Если quantity = 0,111, а price = 5500, то результат: 611 (округлённое 610,5).
  2. Если quantity = 1,455, а price = 6900, то результат: 10040 (округлённое 10039,5).
  3. Если quantity = 1,211, а price = 6988, то результат: 8462 (округлённое 8462,468).

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

Все версии.

currency

N3

Нет

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

Все версии.

returnUrl

ANS..512

Да

Адрес, на который требуется перенаправить пользователя в случае успешной оплаты, а также в случае неуспешной оплаты (при отсутствии переданного параметра failUrl). Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.

Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:

Все версии.

failUrl

ANS..512

Нет

Адрес, на который требуется перенаправить пользователя в случае неуспешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://test.ru вместо test.ru). В противном случае пользователь будет перенаправлен по адресу следующего вида: http://<адрес_платёжного_шлюза>/<адрес_продавца>.

Адрес нельзя указывать относительным путем, т.е. они не должны начинаться на «.» и «/». В противном случае вернется ошибка 4: «URL возврата некорректен». Например:

Параметр необязательный.

Все версии.

description

ANS..512

Нет

Описание заказа в свободной форме. В процессинг банка для включения в финансовую отчётность продавца передаются только первые 24 символа этого поля.

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

Все версии.

language

A2

Нет

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

Все версии.

pageView

ANS..20

Нет

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

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

Где:

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

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

Все версии.

clientId

ANS..255

Нет

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

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

Все версии.

merchantLogin

ANS..255

Нет

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

Все версии.

jsonParams

Строка

Нет

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

{name1:value1,…,nameN:valueN}

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

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

Если для продавца настроена отправка уведомлений покупателю, адрес электронной почты покупателя должен передаваться в этом блоке в параметре с именем email. При указании «showLoyalty»:«false» взаимодействие с сервисом лояльности осуществляться не будет. В качестве дополнительных параметров в том числе возможно передать следующие::

  • «email» - если передать адрес электронной почты покупателя, он будет отображён на платёжной странице;
  • «phone» (обязательное поле) - если передать номер сотового телефона покупателя, он будет отображён на платёжной странице. Имеет ограничение по длине: от 7 до 15.

В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):

  • sbrf_spasibo:amount_bonus
  • sbrf_sbermiles:amount_bonus
  • loyaltyId
  • overridenClientId

При наличии пермиссий у Мерчанта Разрешена оплата ЭС и Считать ARes.Y (frictionless) как полный 3DS 2.0, здесь обязательным параметром передается:

Название Тип Описание
fes_cashboxId N18 Идентификатор НСПК кассы Мерчанта, через которую осуществляется оплата ЭС

Все версии.

sessionTimeoutSecs

N..10

Нет

Продолжительность жизни заказа в секундах.

В случае если параметр не задан, будет использовано значение, указанное в настройках мерчанта или время по умолчанию (1200 секунд = 20 минут).

Если в запросе присутствует параметр expirationDate, то значение параметра sessionTimeoutSecs не учитывается.

Все версии.

expirationDate

UTC

Нет

Дата и время окончания жизни заказа. Формат: yyyy-MM-ddTHH:mm:ss.

Если этот параметр не передаётся в запросе, то для определения времени окончания жизни заказа используется sessionTimeoutSecs.

Все версии.

bindingId

AN..255

Нет

Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает:
1. Данный заказ может быть оплачен только с помощью связки;
2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.

Все версии.

additionalOfdParams

Блок данных для передачи дополнительных параметров ОФД

Нет

Некоторые параметры блока additionalOfdParams дублируют параметры блока cartItems.items.itemAttributes. Блок additionalOfdParams применяется ко всем позициям заказа, тогда как cartItems.items.itemAttributes применяется к индивидуальным позициям. Если в блоках additionalOfdParams и cartItems.items.itemAttributes будут переданы разные значения, то приоритетным значением будет то, которое было передано в cartItems.items.itemAttributes, то есть — для индивидуальной позиции.

Передача этого блока возможна только при использовании следующих ОФД:

  • АТОЛ;
  • Бизнес.Ру;
  • Эвотор.

orderBundle

Не актуально

Да

Блок, содержащий корзину товаров заказа. Описание его атрибутов представлено ниже.

Все версии.

taxSystem

N..2

Нет

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

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

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

Все версии.

billingPayerData

См. описание

Нет

Блок c регистрационными данными клиента (адрес, почтовый индекс), необходимыми для прохождения проверки адреса в рамках сервисов AVS/AVV.

Обязателен, если активна соответствующая пермиссия для мерчанта («Разрешено использование AVS/AVV»).

Все версии.

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

  • orderNumber – номер заказа в системе магазина;
  • description – описание заказа (не более 24 символов, запрещены к использованию %, +, конец строки \r и перенос строки \n).

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

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

billingCity

AN..50

Нет

Город, зарегистрированный по конкретной карте у Банка Эмитента

billingCountry

AN..50

Нет

billingAddressLine1

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 1.

Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV».

billingAddressLine2

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 2.

billingAddressLine3

AN..50

Нет

Адрес, зарегистрированный по конкретной карте у Банка Эмитента

Строка 3.

billingPostalCode

AN..50

Нет

Почтовый индекс, зарегистрированный по конкретной карте у Банка Эмитента.

Обязательно, если у Мерчанта активирована пермиссия «Разрешено использование AVS/AVV».

billingState

AN..50

Нет

Штат, зарегистрированный по конкретной карте у Банка Эмитента (ISO 3166-2)

Ограничения поддержки параметров backToShopUrl, backToShopName

При передачи параметра backToShopUrl, на платёжной странице будет отображаться кнопка возврата покупателя в магазин. backToShopName - название кнопки возврата в магазин, которая будет отображаться, если передать параметр backToShopUrl.

Существуют ограничения поддержки параметров backToShopUrl, backToShopName в определенных статиках ПС, а именно:

Статика Поддержка параметра
rbc Оба параметра не поддерживаются
sbersafe Оба параметра поддерживаются
sbersafe_sberid backToShopUrl - поддерживается, backrToShopName - не поддерживается

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

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

orderCreationDate

ANS..21

Нет

Дата создания заказа в формате YYYY-MM-DDTHH:mm:ss.

Все версии.

customerDetails

Не актуально

Нет

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

Все версии.

cartItems

Не актуально

Да

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

Все версии.

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

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

contact

ANS..40

Нет

Способ связи с покупателем.

email

ANS..40

Да

Электронная почта покупателя, на которую будут отправлен кассовый чек.

Обязательно следует передать один из двух параметров: email или phone.

phone

NS..12

Нет

Номер телефона клиента.

При использовании АТОЛ фискализации параметр phone следует передавать в следующем формате:

Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов кроме символа «» (номер «371 2 1234567» необходимо передать как »+37121234567«). Если номер телефона относится к России (префикс »+7«), то значение можно передавать без префикса (номер »+79251234567« можно передать как «9251234567»). Максимальная длина строки - 64 символа. В запросе должно быть обязательно заполнено одно из полей: email или phone.

fullName

ANS..100

Нет

Фамилия, имя и отчество плательщика. Параметр возвращается только в том, случае если был передан партнером при регистрации.


Если передается параметр fullName(ФИО) в параметрах CustomerDetails, то обязательно нужно передать дополнительные параметры: ИНН или данные документа (1243 гражданство, 1244 дата рождения 1245 код документа, 1246 Реквизиты документа, удостоверяющего личность)

Если в запросе на регистрацию указано только fullName без доп параметров, то отобразится следующая ошибка: «Запрос не валиден: Если ИНН клиента не был заполнен, то необходимо указать дату рождения клиента, код документа и данные документа.».

passport

ANS..100

Нет

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

inn

N..12

Нет

Идентификационный номер налогоплательщика. Допускается передавать 10 или 12 символов. Параметр возвращается только в том, случае если был передан партнером при регистрации.

deliveryInfo

Не актуально

Нет

Блок с атрибутами адреса для доставки. Описание его атрибутов представлено ниже.

В соответствии с требованиями ОФД обязательно следует передать один из двух параметров: email или phone.

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

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

city

ANS..40

Да, если передаётся блок deliveryInfo

Город доставки.

country

A..2

Да, если передаётся блок deliveryInfo

Двухбуквенный код страны доставки.

deliveryType

ANS..20

Нет

Способ доставки.

postAddress

ANS..255

Да, если передаётся блок deliveryInfo

Адрес доставки.

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

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

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

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

items

Не актуально

Да

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

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

Все версии.

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

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

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

positionId

ANS..12

Да

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

Все версии.

name

ANS..255

Да

Наименование или описание товарной позиции в свободной форме. При отправке запроса в ОФД длина наименования будет обрезана до 128 символов.

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

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

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

Все версии.

itemDetails

Не актуально

Нет

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

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

Все версии.

quantity

N..18

Да

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

Все версии.

itemAmount

N..12

Нет

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

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

Все версии.

itemCurrency

N3

Нет

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

Все версии.

itemCode

ANS..100

Да

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

При оплате с использованием бонусных баллов «Спасибо» данный параметр должен быть уникальным.


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

Все версии.

discount

Не актуально

Нет

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

Все версии.

agentInterest

Не актуально

Нет

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

Все версии.

tax

Не актуально

Только для магазинов с настройками фискализации

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

Все версии.

itemPrice

N..18

Только для магазинов с настройками фискализации

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

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

Все версии.

itemAttributes

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

Только для магазинов с настройками фискализации

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

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

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

Параметр itemAttributes должен содержать массив attributes, а уже в этом массиве расположены атрибуты товарной позиции (см. пример и таблицу ниже).

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

paymentMethod

N..2

Да

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

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

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

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

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

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

paymentObject

N..2

Да

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

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

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

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

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

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

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

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

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

nomenclature

ANS

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

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

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

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

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

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

markQuantity

Нет

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

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

userData

ANS..64

Нет

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

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

agent_info.type

N..2

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

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

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

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

agent_info.paying.operation

ANS..24

Нет

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

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

agent_info.paying.phones

массив ANS..19

Нет

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

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

agent_info.paymentsOperator.phones

Массив ANS..19

Нет

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

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

agent_info.MTOperator.phones

Массив ANS..19

Да

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

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

agent_info.MTOperator.name

ANS..64

Нет

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

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

agent_info.MTOperator.address

ANS..256

Нет

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

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

agent_info.MTOperator.inn

N10..12

Нет

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

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

supplier_info.phones

Maccив ANS..19

Да

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

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

supplier_info.name

ANS..256

Нет

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

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

supplier_info.inn

N10..12

Да

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

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

supplier_info.documentId

ANS..36

Нет

Уникальный идентификатор платежного документа

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

supplier_info.payerName

A..256

Нет

ФИО плательщика.

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

supplier_info.payerLs

ANS..30

Нет

Лицевой счет поставщика услуги.

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

supplier_info.ls

ANS..20

Нет

Единый лицевой счёт поставщика услуг.

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

supplier_info.bankBic

N9

Нет

БИК Банка получателя платежа.

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

supplier_info.bankName

ANS..100

Нет

Название Банка получателя платежа.

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

supplier_info.kpp

N9

Нет

КПП получателя платежа.

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

supplier_info.rs

N20

Нет

Расчётный счёт получателя платежа.

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

supplier_info.commission

N..10

Нет

Сумма комиссии на стороне поставщика услуг в минимальных единицах валюты.

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

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

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

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

value

N..18

Да

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

Все версии.

measure

При передаче кириллицей ANS..10, при передаче латиницей - ANS..20

Да

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

Все версии.

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

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

value

N1

Да

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

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

measure

N..3

Да

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

ниже

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

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

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

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

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

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

numerator

N..12

да

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

denominator

N..12

да

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

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

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

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

itemDetailsParams

ANS..255

Да

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

Все версии.

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

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

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

value

ANS..255

Условно. Обязательно при наличии параметра itemDetailsParams.

Дополнительная информация по товарной позиции.

Все версии.

name

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 состоит из следующих элементов:

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

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

discountType

ANS..20

Да

Тип скидки на товарную позицию.

Все версии.

discountValue

N..20

Да

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

Все версии.

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

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

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

interestType

ANS..20

Да

Тип агентской комиссии за продажу товара.

Все версии.

interestValue

N..20

Да

Значение агентской комиссии за продажу товара.

Все версии.

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

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

taxType

N..2

Нет

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

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

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

Все версии.

taxSum

N..18

Нет

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

Все версии.

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

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

agent_info.type

N..2

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

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

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

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

agent_info.paying.operation

ANS..24

Нет

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

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

agent_info.paying.phones

массив ANS..19

Нет

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

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

agent_info.paymentsOperator.phones

Массив ANS..19

Нет

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

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

agent_info.MTOperator.address

ANS..256

Нет

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

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

agent_info.MTOperator.inn

N10..12

Нет

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

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

agent_info.MTOperator.name

ANS..64

Нет

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

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

agent_info.MTOperator.phones

Массив ANS..19

Да

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

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

supplier_info.phones

Maccив ANS..19

Да

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

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

cashier

A..256

Нет

ФИО кассира.

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

additional_check_props

ANS..16

Нет

Дополнительный реквизит чека.

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

additional_user_props.name

ANS..24

Нет

Наименование дополнительного реквизита пользователя.

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

additional_user_props.value

ANS..24

Нет

Значение дополнительного реквизита пользователя.

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

cashier_inn

N..12

Нет

ИНН кассира

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

client.address

ANS..256

Нет

Адрес покупателя (клиента).

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

client.birth_date

NS10

Нет

Дата рождения покупателя (клиента) в формате «dd.mm.yyyy»

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

client.citizenship

N3

Нет

Числовой код страны, гражданином которой является покупатель (клиент). Код страны указывается в соответствии с Общероссийским классификатором стран мира ОКСМ.

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

client.document_code

N2

Нет

Числовой код вида документа, удостоверяющего личность (например, 21 - паспорт гр. РФ).

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

client.passport_number

NS11

Нет

Серия и номер паспорта плательщика: 1111 222222

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

client.email

ANS..64

Нет

Электронный адрес покупателя. Обязательно должно быть заполнено строго одно из полей: email или phone.

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

client.phone

NS..19

Нет

Телефон покупателя. Вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+» (номер «+371 2 1234567» необходимо передать как «+37121234567»). Обязательно должно быть заполнено строго одно из полей: email или phone.

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

client.inn

N12

Нет

ИНН покупателя.

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

client.name

ANS..256

Нет

Наименование покупателя (клиента).

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

operatingCheckProps.name

ANS

Нет

Идентификатор операции Принимает значения «0» до определения значения реквизита ФНС России.

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

operatingCheckProps.name

ANS

Нет

Идентификатор операции Принимает значения «0» до определения значения реквизита ФНС России.

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

operatingCheckProps.timestamp

NS19

Нет

Дата и время операции в формате: dd.mm.yyyy HH:MM:SS

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

operatingCheckProps.value

ANS..64

Нет

Данные операции.

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

sectoralCheckProps.date

NS10

Нет

Дата нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита», в формате: dd.mm.yyyy

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

sectoralCheckProps.federalId

ANS

Нет

Идентификатор ФОИВ. Должно принимать одно из значений справочника ФОИВ.

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

sectoralCheckProps.number

N..32

Нет

Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита»

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

sectoralCheckProps.value

ANS..256

Нет

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

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

company.automat_number

ANS..20

Нет (см. описание)

Номер автомата.

Условия для обязательной передачи параметра:

  • ФФД 1.05 - для вендинга и транспорта;
  • ФФД 1.2 - для вендинга и транспорта.

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

company.location

ANS..243

Нет (см. описание)

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

Условия для обязательной передачи параметра:

  • ФФД 1.05 - для вендинга, транспорта, курьеров;
  • ФФД 1.2 - для вендинга, транспорта, курьевров.

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

company.payment_address

ANS..243

Нет (см. описание)

Место расчетов.

Условия для обязательной передачи параметра:

  • ФФД 1.05 - для вендинга, транспорта, курьеров;
  • ФФД 1.2 - для вендинга, транспорта, курьеров.

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 знака) - код страны производства по ОКСМ

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

Параметры ответа представлены в таблице ниже.

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

orderId

ANS36

Нет

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

Все версии.

formUrl

AN..512

Нет

URL-адрес платёжной формы, на который нужно перенаправить браузер клиента. Не возвращается, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode.

Чтобы получить возможность принимать оплату этим способом, у вас должны быть соответствующие полномочия в системе. В случае сомнений оставить обращение и получить быстрое решение можно в личном кабинете в разделе «Поддержка».

Все версии.

errorCode

N..2

Нет

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

Все версии.

errorMessage

AN..512

Нет

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

Все версии.

Коды ошибок

Код ошибки Текст ошибки
0

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

1

Заказ с таким номером уже обработан.

1

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

3

Неизвестная валюта.

4

Номер заказа не может быть пуст.

4

Имя продавца не может быть пустым.

4

Отсутствует сумма.

4

URL возврата не может быть пуст.

4

Пароль не может быть пуст.

5

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

5

Пользователь отключён.

7

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

8

[depositItems.totalAmount] сумма товарных позиций в корзине не совпадает с общей суммой.

8

Доп. параметр amount_bonus запрещён, если в запросе указана корзина.

8

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

Пример запроса 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'.

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

Параметры запроса представлены в таблице ниже.

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

userName

AN..30

Да

Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

password

AN..200

Да

Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

amount

N..12

Да

Сумма платежа в копейках (или центах).

Внимание!!! Если в этом параметре указать ноль, завершение произойдет на всю предавторизованную сумму.

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

Параметры ответа представлены в таблице ниже.

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

errorCode

N..2

Нет

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

errorMessage

AN..512

Нет

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

Коды ошибок:

Код ошибки Текст ошибки
0

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

5

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

5

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

5

Неверная сумма.

5

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

6

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

6

Незарегистрированный orderId.

7

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

7

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

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

amount=100&currency=643&language=ru&orderId=e5b59d3d-746b-4828-9da4-06f126e01b68&password=password&userName=userName

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

{"errorCode":0}

Запрос завершения на полную сумму в деньгах и баллах (autoCompletion.do)

Метод autocompletion.do не работает для карт, не вовлечённых в 3D-Secure.

Для завершения используется метод autoCompletion.do.

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

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

userName

AN..30

Да

Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

password

AN..200

Да

Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

compositeCompletionAmount

N..20

Да

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

Если указать в этом параметре ноль, завершение произойдёт на всю предавторизованную сумму.

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

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

errorCode

N..2

Да

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

errorMessage

AN..512

Да

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

pcId

AN..512

Нет

Идентификатор операции в процессинге лояльности.

operation

AN..512

Нет

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

  • PAYMENT;
  • AWARD;
  • REVERSE;
  • REFUND_PAYMENT;
  • REFUND_AWARD.

transactionId

AN..512

Нет

Идентификатор операции в платёжном шлюзе.

amount

Строка

Нет

Сумма в баллах.

successful

AN..512

Нет

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

  • true (успешно);
  • false (неуспешно).

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

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'.

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

Параметры запроса представлены в таблице ниже.

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

userName

AN..30

Да

Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

password

AN..200

Да

Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

amount

N..12

Нет

Сумма частичной отмены. Параметр, обязательный для частичной отмены.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

jsonParams

Строка

Нет

Дополнительные параметры запроса. Формат вида: {«Имя1»: «Значение1», «Имя2»: «Значение2»}. При указании «showLoyalty»:«false» взаимодействие с сервисом лояльности осуществляться не будет.

В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):

  • sbrf_spasibo:amount_bonus
  • sbrf_sbermiles:amount_bonus
  • loyaltyId
  • overridenClientId

language

A2

Нет

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

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

Параметры ответа представлены в таблице ниже.

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

errorCode

N..2

Нет

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

errorMessage

AN..512

Нет

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

Коды ошибок:

Код ошибки Текст ошибки
0

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

5

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

5

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

5

[orderId] не задан.

5

Неуспешно.

6

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

6

Незарегистрированный orderId.

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'.

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

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

userName

AN..30

Да Логин магазина, полученный при подключении.

password

AN..200

Да Пароль магазина, полученный при подключении.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

compositeRefundAmount

N..20

Да

Сумма возврата, состоящая из суммы в деньгах и суммы баллов. Может быть меньше или равна остатку в заказе.

language

A2

Да

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

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

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

errorCode

N..2

Нет

Код ошибки.

.

errorMessage

AN..512

Нет

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

.

Блок operations

pcId

AN..512

Нет

Идентификатор операции в процессинге лояльности.

.

operation

AN..512

Да

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

  • PAYMENT;
  • AWARD;
  • REVERSE;
  • REFUND_PAYMENT;
  • REFUND_AWARD.

.

transactionId

AN..512

Нет

Идентификатор операции в платёжном шлюзе.

.

amount

N..12

Нет Сумма в баллах.

successful

AN..512

Да

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

  • true (успешно);
  • false (неуспешно).

.

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

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'.

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

Параметры запроса представлены в таблице ниже.

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

userName

AN..30

да

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

password

AN..200

да

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

orderId

ANS36

да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

orderNumber

ANS..32

да

Номер заказа в системе магазина.

Необязательно только в случае подключения автоматической генерации номера заказа на шлюзе (для этого обратитесь в техническую поддержку).

language

A2

да

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

В запросе должен присутствовать либо orderId, либо orderNumber. Если в запросе присутствуют оба параметра, то приоритетным считается orderId.

Параметры ответа для версий 01 и выше Эти параметры будут возвращены в ответе не зависимо от версии getOrderStatusExtended.

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

orderNumber

ANS..32

Да

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

Все версии.

orderStatus

N1

Нет

По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Возможны следующие значения:

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

actionCode

ANS..6

Да

Код ответа процессинга. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице.

Все версии.

actionCodeDescription

AN..512

Да

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

Все версии.

errorCode

N..2

Нет

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

Все версии.

errorMessage

AN..512

Нет

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

Все версии.

amount

N..12

Да

Сумма платежа в минимальных единицах валюты.

Все версии.

currency

N3

Нет

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

Все версии.

date

ANS

Да

Дата регистрации заказа в формате UNIX-времени (POSIX-времени).

Все версии.

orderDescription

ANS..600

Нет

Описание заказа, переданное при его регистрации.

Все версии.

ip

ANS..39

Нет

IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов).

13 и выше.

authDateTime

ANS

да

Дата и время авторизации, выраженные в количестве миллисекунд, прошедших с полуночи (00:00:00 GMT) 1 января 1970 года.

09 и выше.

authRefNum

AN..24

Нет

Учётный номер авторизации платежа, который присваивается при регистрации платежа.

19 и выше.

terminalId

AN..10

Нет

Идентификатор терминала в процессинге, через который осуществлялась оплата.

Все версии.

paymentWay

AS..14

Нет

Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.). Может принимать следующие значения:

  • CARD - оплата с вводом карточных данных;
  • CARD_BINDING - оплата связкой;
  • CARD_MOTO - оплата через колл-центр;
  • CARD_PRESENT - оплата как cardPresent;
  • SBRF_SBOL - оплата через Сбербанк Онлайн;
  • SBRF_SBOL_BINDING - оплата через связку Сбербанк Онлайн;
  • UPOP - оплата через China Union Pay;
  • FILE_BINDING - оплата через файл;
  • FILE_SBP_C2B_BINDING - СБП оплата через файл;
  • SMS_BINDING - оплата через смс;
  • P2P - перевод с карты на карту;
  • P2P_BINDING - перевод связкой;
  • PAYPAL - оплата со счёта PayPal;
  • MTS - оплата со счёта МТС;
  • APPLE_PAY - Apple Pay;
  • APPLE_PAY_BINDING - оплата связкой Apple Pay;
  • APPLE_PAY_RAW - оплата Apple Pay с данными по связке на стороне мерчанта (инициирующие и последующие платежи);
  • ANDROID_PAY - Android Pay;
  • ANDROID_PAY_BINDING - оплата связкой Android Pay;
  • GOOGLE_PAY_CARD - Google Pay нетокенизированная;
  • GOOGLE_PAY_RAW - оплата Google Pay с данными по связке на стороне мерчанта (инициирующие и последующие платежи);
  • GOOGLE_PAY_CARD_BINDING - оплата связкой с не токенизированной картой GooglePay;
  • GOOGLE_PAY_TOKENIZED - Google Pay токенизированная;
  • GOOGLE_PAY_TOKENIZED_BINDING - оплата связкой с токенизированной картой GooglePay;
  • SAMSUNG_PAY - Samsung Pay;
  • SAMSUNG_PAY_BINDING - оплата связкой Samsung Pay;
  • SAMSUNG_PAY_RAW - оплата Samsung Pay с данными по связке на стороне мерчанта (инициирующие и последующие платежи);
  • IPOS - оплата iPOS;
  • SBERID - оплата SberID;
  • SENDY - оплата Sendy;
  • SBP_C2B - Оплата СБП (Сервис Быстрых платежей) для C2B;
  • SBP_C2B_BINDING - оплата связкой СБП (Сервис Быстрых Платежей) для C2B;
  • SBP_B2C - выплаты СБП;
  • TOKEN_PAY - оплата токеном напрямую;
  • TOKEN_PAY_BINDING - оплата токенизированной связкой;
  • YANDEX_PAY_CARD - YandexPay нетокенизированная;
  • YANDEX_PAY_TOKENIZED - YandexPay токенизированная;
  • YANDEX_PAY_CARD_BINDING - оплата связкой с не токенизированной картой YandexPay;
  • YANDEX_PAY_TOKENIZED_BINDING - оплата связкой с токенизированной картой YandexPay;
  • MONEY_STREAM - оплата с баланса мобильного телефона через сервис MoneyStream;
  • BNPL - оплата заказа через механизм BNPL (Buy Now Pay Later);
  • MTS_INSTALLMENT - оплата в рассрочку через МТС Банк;
  • MTS_PAY - MTS Pay;
  • QR - оплата по QR-коду;
  • ALFAPAY_PLATIQR - оплата Alfa Pay по QR-коду;
  • TINKOFFPAY_PLATIQR - оплата Tinkoff Pay по QR-коду.
Все версии.

name

AN..20

Нет

Название дополнительного параметра.

Все версии.

value

ANS..2000

Нет

Значение дополнительного параметра - до 2000 символов.

Все версии.
Элемент cardAuthInfo (в элементе лежит структура, состоящая из списка элементов типа secureAuthInfo и атрибутов pan, expiration, cardholderName и approvalCode).
Название Тип Обязательно Описание

pan

N12…19

Нет

Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.

expiration

N6

Да

Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа

cardholderName

AS..26

Да

Имя держателя карты. Указан только после оплаты заказа. Длина поля ограничена 26 символами (латинские буквы, точка, пробел).

approvalCode

AN6

Да

Код авторизации международной платёжной системы. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы.

Элемент secureAuthInfo состоит из следующих параметров. (параметры cavv и xid включены в элемент threeDSInfo)

eci

N..4

Да

Электронный коммерческий индикатор.

aresTransStatus

A1

Да

Статус транзакции из ответа от ACS на запрос аутентификации (ARes). Передается при использовании 3DS 2.

rreqTransStatus

A1

Да

Статус транзакции из запроса для передачи результатов аутентификации пользователя от ACS (RReq). Передается при использовании 3DS 2.

threeDSProtocolVersion

N..12

Да

Версия протокола 3DS. Возможные значения:

  • «1.0.2» для 3DS1;
  • «2.1.0» для 3DS2.;
  • «2.2.0» для 3DS2.

cavv

ANS..200

Да

Значение проверки аутентификации владельца карты. Указано только после оплаты заказа и в случае соответствующего разрешения.

xid

ANS..80

Да

Электронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае соответствующего разрешения.

Элемент BindingInfo состоит из следующих параметров.

clientId

AN..255

Да

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

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

bindingId

AN..255

Да

Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок.

Элемент paymentAmountInfo состоит из следующих параметров.

approvedAmount

N..12

Нет

Сумма в минимальных единицах валюты (например, в копейках), удержанная на карте. Используется только при двухстадийных платежах.

03 и выше.

depositedAmount

N..12

Нет

Сумма в минимальных единицах валюты (например, в копейках), подтверждённая для списания с карты.

03 и выше.

refundedAmount

N..12

Нет

Сумма возврата в минимальных единицах валюты.

03 и выше.

paymentState

A..10

Нет

Состояние заказа, параметр может принимать следующие значения:

  • CREATED - заказ создан;
  • APPROVED - заказ подтверждён;
  • DEPOSITED - заказ завершён;
  • DECLINED - заказ отклонён;
  • REVERSED - заказ отменён;
  • REFUNDED - произведён возврат средств по заказу.
03 и выше.
Элемент bankInfo состоит из параметров.

bankName

ANS..50

Нет

Наименование банка-эмитента.

03 и выше.

bankCountryCode

AN..7

Нет

Код страны банка-эмитента.

03 и выше.

bankCountryName

AN..160

Нет

Наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан.

03 и выше.
Элемент loyaltyInfo/loyaltyInfos (состоит из элемента loyaltyName и тэгов paymentBonus и awardBonus) - Тэг, содержащий данные о состоянии бонусов по программам лояльности в заказе.

loyaltyName

ANS..512

Нет

Наименование программы лояльности(для Сбербанк спасибо это «sbrf_spasibo» и «sbrf_sbermiles»).

15 и выше.

paymentBonus

Нет

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

04 и выше.

awardBonus

Нет

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

04 и выше.

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

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

approvedAmountBonus

N..20

Нет

Сумма баллов к списанию при оплате заказа.

depositedAmountBonus

N..20

Нет

Подтвержденная сумма в баллах для списания на момент запроса.

refundedAmountBonus

N..20

Да

Сумма возврата в баллах на момент запроса.

pcId

ANS..512

Да

Идентификатор операции в процессинге лояльности.

successful

ANS..512

Да

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

  • true (успешно);
  • false (неуспешно).

paymentOperation

ANS..512

Да

Тип последней проведенной операции со списываемыми баллами (PAYMENT, REVERSE, REFUND_PAYMENT)

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

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

approvedAmountAward

N..20

Нет

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

depositedAmountAward

N..20

Нет

Подтверждённая сумма заказа, на которую произведено начисление бонусных баллов.

refundedAmountAward

N..20

Да

Сумма возврата заказа, на которую произведено начисление бонусных баллов.

pcId

ANS..512

Да

Идентификатор операции в процессинге лояльности.

successful

ANS..512

Да

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

  • true (успешно);
  • false (неуспешно).

paymentOperation

ANS..512

Да

Тип последней проведенной операции со списываемыми баллами (PAYMENT, REVERSE, REFUND_PAYMENT)

Если в запросе на регистрацию заказа была передана корзина, то в ответе на расширенный запрос о состоянии заказа также передаётся блок orderBundle, содержащий корзину товаров заказа. Описание блока orderBundle представлено ниже. (Актуально для версии getOrderStatusExtended 03 и выше.).

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

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

orderCreationDate

ANS..21

Нет

Дата создания заказа в формате YYYY-MM-DDTHH:mm:ss.

03 и выше.

customerDetails

Не актуально

Нет

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

03 и выше.

cartItems

Не актуально

Да

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

03 и выше.

loyalties

Не актуально

Да

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

Если параметр блок loyalties не передаётся в запросе и сумма к списанию в баллах рассчитывается не на стороне продавца, то этот блок всё равно будет возвращён в ответе на расширенный запрос о состоянии заказа.

03 и выше.

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

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

email

ANS..40

Нет

Адрес электронной почты покупателя.

03 и выше.

phone

NS..12

Нет

Номер телефона клиента. Примеры:

  • +79000000000
  • 89000000000
  • 9000000000
  • 79000000000

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

При использовании АТОЛ фискализации параметр phone следует передавать в следующем формате:

Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов кроме символа «» (номер «371 2 1234567» необходимо передать как »+37121234567«). Если номер телефона относится к России (префикс »+7«), то значение можно передавать без префикса (номер »+79251234567« можно передать как «9251234567»). Максимальная длина строки - 64 символа. В запросе должно быть обязательно заполнено одно из полей: email или phone.

03 и выше.

contact

ANS..40

Нет

Способ связи с покупателем.

03 и выше

deliveryInfo

Не актуально

Нет

Блок с атрибутами адреса для доставки. Описание его атрибутов представлено ниже.

03 и выше

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

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

deliveryType

ANS..20

Нет

Способ доставки.

04 и выше.

country

A..2

Да

Двухбуквенный код страны доставки.

04 и выше.

city

ANS..40

Да

Город доставки.

04 и выше.

postAddress

ANS..255

Да

Адрес доставки.

04 и выше.

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

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

items

Не актуально

Да

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

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

03 и выше.

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

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

positionId

ANS..12

Да

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

03 и выше.

name

ANS..100

Да

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

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

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

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

03 и выше.

itemDetails

Нет

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

04 и выше.

quantity

N..18

Да

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

03 и выше.

itemAmount

N..12

Да

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

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

03 и выше.

itemCurrency

N3

Нет

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

03 и выше.

itemCode

ANS..100

Да

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

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

03 и выше.

discount

Не актуально

Нет

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

04 и выше.

agentInterest

Не актуально

Нет
04 и выше.

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

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

value

N..18

Да

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

03 и выше.

measure

ANS..20

Да

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

03 и выше.

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

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

itemDetailsParams

ANS..255

Да

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

04 и выше.

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

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

value

ANS..255

Условно. Обязательно при наличии параметра itemDetailsParams

Дополнительная информация по товарной позиции.

04 и выше.

name

AN..255

Условно. Обязательно при наличии параметра itemDetailsParams

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

04 и выше.

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

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

discountType

ANS..20

Да

Тип скидки на товарную позицию.

04 и выше.

discountValue

N..20

Да

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

04 и выше.

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

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

interestType

ANS..20

Да

Тип агентской комиссии за продажу товара.

04 и выше.

interestValue

N..20

Да

Значение агентской комиссии за продажу товара.

04 и выше.

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

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

loyaltyProgramName

ANS..20

Да

Условное наименование бонусной программы, в которой участвует товарная позиция, выдаётся платёжным шлюзом.

04 и выше.

positionId

ANS..12

Да

Идентификатор товарной позиции, участвующей в указанной бонусной программе.

04 и выше.

bonusAmountForDebit

N..18

Да

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

04 и выше.

bonusAmountForCredit

N..18

Нет

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

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'.

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

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

userName

AN..30

Да

Логин служебной учётной записи продавца.

password

AN..200

Да

Пароль служебной учётной записи продавца.

mdOrder

ANS..36

Да

Номер заказа в платёжном шлюзе. Уникален в пределах платёжного шлюза.

bindingId

AN..255

Да

Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает:
1. Данный заказ может быть оплачен только с помощью связки;
2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.

language

A2

Нет

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

ip

ANS..39

Нет

IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов).

cvc

N3

Нет

Код CVC/CVV2 на обратной стороне карты.

email

ANS..40

Нет

Адрес электронной почты покупателя.

loyaltyId

ANS..*

Нет

Идентификатор программы лояльности. Следует использовать значение sbrf_spasibo.

pointsAmount

N..20

Нет

Количество бонусных баллов к списанию.

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

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

redirect

ANS..*

Нет

При успешном ответе. В случае платежа без необходимости аутентификации на ACS – URL, на который производится переадресация после платежа. В случае 3DS-платежа – URL для возврата с ACS.

info

ANS..*

Нет

При успешном ответе. Результат попытки оплаты. Возможные значения представлены ниже.

  • Ваш платёж обработан, происходит переадресация…
  • Операция отклонена. Проверьте введённые данные, достаточность средств на карте и повторите операцию. Происходит переадресация…
  • Извините, платёж не может быть совершён. Происходит переадресация…
  • Операция отклонена. Обратитесь в магазин. Происходит переадресация…
  • Операция отклонена. Обратитесь в банк, выпустивший карту. Происходит переадресация…
  • Операция невозможна. Аутентификация держателя карты завершена неуспешно. Происходит переадресация…
  • Нет связи с банком. Повторите позже. Происходит переадресация…
  • Истёк срок ожидания ввода данных. Происходит переадресация…
  • Не получен ответ от банка. Повторите позже. Происходит переадресация…

errorCode

N..2

Да

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

errorMessage

AN..512

Нет

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

acsUrl

AN..512

Нет

При успешном ответе в случае платежа с использованием 3-D Secure. URL-адрес для перехода на сервер контроля доступа.

paReq

AN..512

Нет

При успешном ответе в случае платежа с использованием 3-D Secure. Payment Authentication Request - запрос на аутентификацию платежа.

termUrl

AN..512

Нет

При успешном ответе в случае платежа, в котором выполнялась проверка на принадлежность карты к 3-D Secure. URL-адрес для возврата с сервера контроля доступа.

Коды ошибок

Код ошибки Текст ошибки
0

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

1

[cvc] не задан.

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.

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

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

userName

AN..30

Да

Логин служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

password

AN..200

Да

Пароль служебной учётной записи продавца. При передаче логина и пароля для аутентификации в платёжном шлюзе параметр token передавать не нужно.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

language

A2

Нет

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

bindingId

AN..255

Нет

Идентификатор созданной ранее связки. Может использоваться, только если у продавца есть разрешение на работу со связками. Если этот параметр передаётся в данном запросе, то это означает:
1. Данный заказ может быть оплачен только с помощью связки;
2. Плательщик будет перенаправлен на платёжную страницу, где требуется только ввод CVC.

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

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

errorCode

N..2

Да

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

errorMessage

AN..512

Нет

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

minAmount

N..20

Нет

Минимальная сумма бонусных баллов, которая может быть использована при оплате заказа.

maxAmount

N..20

Нет

Максимальная сумма бонусных баллов, которая может быть использована при оплате заказа. В рамках одного платежа пользователь не может потратить больше баллов, чем указано в этом параметре.

serviceName

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.

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

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

userName

AN..30

Да Логин магазина, полученный при подключении.

password

AN..200

Да Пароль магазина, полученный при подключении.

pan

N12…19

Обязательно присутствие одного из параметров: pan или bindingId.

Номер платёжной карты.

При указании в запросе параметра seToken этот параметр не обязателен к передаче.

bindingId

AN..255

Обязательно присутствие одного из параметров: pan или bindingId.

Идентификатор связки, созданной ранее.

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

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

errorCode

N..2

Нет

Код ошибки.

errorMessage

AN..512

Нет

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

minAmount

N..20

Нет

Минимальная сумма бонусных баллов, которая может быть использована при оплате заказа.

maxAmount

N..20

Нет

Максимальная сумма бонусных баллов, которая может быть использована при оплате заказа. В рамках одного платежа пользователь не может потратить больше баллов, чем указано в этом параметре.

serviceName

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'.

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

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

userName

AN..30

Да

Логин служебной учётной записи продавца.

Все версии.

password

AN..200

Да

Пароль служебной учётной записи продавца.

Все версии.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

Все версии.

amount

N..12

Да

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

Все версии.

refundItems

Не актуально

Да

Тег для передачи информации о возвращаемых товарах - номер позиции товара в запросе, название, детали, единица измерения, количество, валюта, код товара, скидка, выгода агента.

Все версии.

language

A2

Нет

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

Все версии.

additionalOfdParams

Блок данных для передачи дополнительных параметров ОФД

Нет

Если блок additionalOfdParams был передан при регистрации заказа, его можно передать при возврате средств. При этом значения некоторых параметров, переданных при регистрации, можно изменить.

Передача этого блока возможна только при использовании следующих ОФД:

  • АТОЛ;
  • Бизнес.Ру;
  • Эвотор.

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

jsonParams

Нет

Дополнительные параметры запроса. Формат вида: {«Имя1»: «Значение1», «Имя2»: «Значение2»}.

При осуществлении возврата заказа здесь, в случае необходимости, можно передавать размер удержания штрафа за возврат в виде параметра penalty:

{«penalty»:«1300»}

Параметр penalty игнорируется при возвратах заказа с баллами (лояльностью), возвращается ошибка:

{«errorCode»:«5»,«errorMessage»:«Penalty is not supported for orders with loyalty»}

В параметре запрещено передавать зарезервированные имена (в случае их передачи заказ может быть отклонен):

  • sbrf_spasibo:amount_bonus
  • sbrf_sbermiles:amount_bonus
  • loyaltyId
  • overridenClientId

Все версии.

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

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

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

items

Не актуально

Нет

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

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

Все версии.

items

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

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

positionId

ANS..12

Да

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

Все версии.

name

ANS..255

Да

Наименование или описание товарной позиции в свободной форме. При отправке запроса в ОФД длина наименования будет обрезана до 128 символов.

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

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

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

Все версии.

itemDetails

Не актуально

Нет

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

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

Все версии.

quantity

N..18

Да

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

Все версии.

itemAmount

N..12

Да

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

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

Все версии.

itemCurrency

N3

Нет

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

Все версии.

itemCode

ANS..100

Да

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

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

Все версии.

discount

Не актуально

Нет

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

Все версии.

agentInterest

Не актуально

Нет

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

Все версии.

tax

Не актуально

Нет

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

Все версии.

itemPrice

N..18

Нет

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

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

Все версии.

itemAttributes

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

Нет

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

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

itemAttributes

Параметр itemAttributes должен содержать массив attributes, а уже в этом массиве расположены атрибуты товарной позиции (см. пример и таблицу ниже).

"itemAttributes":{"attributes":[{"name":"paymentMethod","value":"1"},{"name":"paymentObject","value":"1"}]}

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

paymentMethod

N..2

Да

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

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

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

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

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

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

paymentObject

N..2

Да

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

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

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

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

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

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

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

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

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

nomenclature

ANS

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

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

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

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

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

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

markQuantity

Нет

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

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

userData

ANS..64

Нет

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

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

agent_info.type

N..2

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

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

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

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

agent_info.paying.operation

ANS..24

Нет

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

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

agent_info.paying.phones

массив ANS..19

Нет

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

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

agent_info.paymentsOperator.phones

Массив ANS..19

Нет

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

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

agent_info.MTOperator.phones

Массив ANS..19

Нет

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

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

agent_info.MTOperator.name

ANS..64

Нет

Наименование оператора перевода.

1.05 и более поздние версии.

agent_info.MTOperator.address

ANS..256

Нет

Адрес оператора перевода.

1.05 и более поздние версии.

agent_info.MTOperator.inn

N10..12

Нет

ИНН оператора перевода.

1.05 и более поздние версии.

supplier_info.phones

Maccив ANS..19

Нет

Массив телефонов поставщика в формате +N.

1.05 и более поздние версии.

supplier_info.name

ANS..256

Нет

Наименование поставщика.

1.05 и более поздние версии.

supplier_info.inn

N10..12

Нет

ИНН поставщика.

1.05 и более поздние версии.

quantity

quantity состоит из следующих элементов.

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.

Название Тип Обязательно Описание Версия ФФД

value

N..18

Да

Количество товарных позиций данного positionId. Для указания дробных чисел используйте десятичную точку.

measure

ANS..20

Да

Мера измерения количества товарной позиции.

Все версии.

Если ФФД версии 1.2 и более поздней, то здесь передаются параметры:

Название Тип Обязательно Описание Версия ФФД

value

N1

Да

Количество товарных позиций данного positionId. Для версии ФФД 1.2+ значение всегда 1.

1.2 и более поздние версии.

measure

N..3

Да

Единица измерения количества предмета расчета. При ФФД версии 1.2+ , если переданы параметры nomenclature и markQuantity, значение всегда 0. В остальных случаях принимает значения

1.2 и более поздние версии.

Возможные значения measure

Значение Описание
0 Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами (а также в случае, если предметом расчета является товар, подлежащий обязательной маркировке средством идентификации (передан mark_code))
10 Грамм
11 Килограмм
12 Тонна
20 Сантиметр
21 Дециметр
22 Метр
30 Квадратный сантиметр
31 Квадратный дециметр
32 Квадратный метр
40 Миллилитр
41 Литр
42 Кубический метр
50 Киловатт час
51 Гигакалория
70 Сутки (день)
71 Час
72 Минута
73 Секунда
80 Килобайт
81 Мегабайт
82 Гигабайт
83 Терабайт
255 Применяется при использовании иных мер измерения

markQuantity

Параметры тэга markQuantity:

Обязательность параметров указана для использования в рамках тэга. Если тэг необязательный и в запросе отсутствует, то и входящие в него параметры не должны передаваться.

Название Тип Обязательно Описание

numerator

N..12

да

Числитель дробной части предмета расчета.

denominator

N..12

да

Знаменатель дробной части предмета расчета.

itemDetails

itemDetails состоит из следующих элементов.

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.

Название Тип Обязательно Описание Версия ФФД

itemDetailsParams

ANS..255

Да

Дополнительная информация по товарной позиции. Представляет собой массив блоков, в каждом из которых передаётся информация об определённой характеристике товарной позиции.

Все версии.

itemDetailsParams

itemDetailsParams состоит из следующих элементов.

Название Тип Обязательно Описание Версия ФФД

name

ANS..255

Да

Наименование параметра описания детализации товарной позиции.

Все версии.

discount

discount состоит из следующих элементов.

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.

Название Тип Обязательно Описание Версия ФФД

discountType

ANS..20

Да

Тип скидки на товарную позицию.

Все версии.

discountValue

N..20

Да

Значение скидки на товарную позицию.

Все версии.

agentInterest

agentInterest состоит из следующих элементов.

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.

Название Тип Обязательно Описание Версия ФФД

interestType

ANS..20

Да

Тип агентской комиссии за продажу товара.

Все версии.

interestValue

N..20

Да

Значение агентской комиссии за продажу товара.

Все версии.

tax

tax состоит из следующих элементов.

Обязательность параметров указана для использования в рамках блока. Если блок необязательный и отсутствует, то и параметры в него входящие не должны передаваться.

Название Тип Обязательно Описание

taxType

N..2

Нет

Ставка НДС, доступны следующие значения:

  • 0 – без НДС;
  • 1 – НДС по ставке 0%;
  • 2 – НДС чека по ставке 10%;
  • 4 – НДС чека по расчетной ставке 10/110;
  • 6 – НДС чека по ставке 20%;
  • 7 – НДС чека по расчётной ставке 20/120;
  • 10 – НДС чека по ставке 5%;
  • 11 – НДС чека по расчетной ставке 5/105;
  • 12 – НДС чека по ставке 7%;
  • 13 – НДС чека по расчетной ставке 7/107.

Если в запросе не передаётся корзина с данными фискализации, оператору фискальных данных передаются значения по умолчанию, указанные в настройках личного кабинета (подробнее см. инструкцию по работе с личным кабинетом).

Все версии.

taxSum

N..18

Нет

Сумма налога, высчитанная продавцом. Указывается в минимальных единицах валюты.

Все версии.

additionalOfdParams

additionalOfdParams состоит из следующих элементов.

Название Тип Обязательно Описание Версия ФФД

agent_info.type

N..2

Обязателен, только если передан объект agent_info.

Тип агента, возможно одно из следующих значений:

  • 1 - банковский платёжный агент;
  • 2 - банковский платёжный субагент;
  • 3 - платёжный агент;
  • 4 - платёжный субагент;
  • 5 - поверенный;
  • 6 - комиссионер;
  • 7 - иной агент.

1.05 и более поздние версии.

agent_info.paying.operation

ANS..24

Нет

Наименование операции платёжного агента.

1.05 и более поздние версии.

agent_info.paying.phones

массив ANS..19

Нет

Массив телефонов платёжного агента в формате +N.

1.05 и более поздние версии.

agent_info.paymentsOperator.phones

Массив ANS..19

Нет

Массив телефонов оператора по приёму платежей в формате +N.

1.05 и более поздние версии.

agent_info.MTOperator.address

ANS..256

Нет

Адрес оператора перевода.

1.05 и более поздние версии.

agent_info.MTOperator.inn

N10..12

Нет

ИНН оператора перевода.

1.05 и более поздние версии.

agent_info.MTOperator.name

ANS..64

Нет

Наименование оператора перевода.

1.05 и более поздние версии.

agent_info.MTOperator.phones

Массив ANS..19

Нет

Массив телефонов оператора перевода в формате +N.

1.05 и более поздние версии.

supplier_info.phones

Maccив ANS..19

Нет

Массив телефонов поставщика в формате +N.

1.05 и более поздние версии.

cashier

A..256

Нет

ФИО кассира

При запросе на возврат значение этого параметра может отличаться от переданного при регистрации заказа.

1.05 и более поздние версии.

additional_check_props

ANS..16

Нет

Дополнительный реквизит чека.

При запросе на возврат значение этого параметра может отличаться от переданного при регистрации заказа.

1.05 и более поздние версии.

additional_user_props.name

ANS..24

Нет

Наименование дополнительного реквизита пользователя.

При запросе на возврат значение этого параметра может отличаться от переданного при регистрации заказа.

1.05 и более поздние версии.

additional_user_props.value

ANS..24

Нет

Значение дополнительного реквизита пользователя.

При запросе на возврат значение этого параметра может отличаться от переданного при регистрации заказа.

1.05 и более поздние версии.

cashier_inn

N..12

Нет

ИНН кассира

1.2 и более поздние версии.

client.address

ANS..256

Нет

Адрес покупателя (клиента).

1.2 и более поздние версии.

client.birth_date

NS10

Нет

Дата рождения покупателя (клиента) в формате «dd.mm.yyyy»

1.2 и более поздние версии.

client.citizenship

N3

Нет

Числовой код страны, гражданином которой является покупатель (клиент). Код страны указывается в соответствии с Общероссийским классификатором стран мира ОКСМ.

1.2 и более поздние версии.

client.document_code

N2

Нет

Числовой код вида документа, удостоверяющего личность (например, 21 - паспорт гр. РФ).

1.2 и более поздние версии.

client.passport_number

NS11

Нет

Серия и номер паспорта плательщика: 1111 222222

1.2 и более поздние версии.

client.email

ANS..64

Нет

Электронный адрес покупателя. Обязательно должно быть заполнено строго одно из полей: email или phone.

1.2 и более поздние версии.

client.phone

NS..19

Нет

Телефон покупателя. Вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+» (номер «+371 2 1234567» необходимо передать как «+37121234567»). Обязательно должно быть заполнено строго одно из полей: email или phone.

1.2 и более поздние версии.

client.inn

N12

Нет

ИНН покупателя.

1.2 и более поздние версии.

client.name

ANS..256

Нет

Наименование покупателя (клиента).

1.2 и более поздние версии.

operatingCheckProps.name

ANS

Нет

Идентификатор операции Принимает значения «0» до определения значения реквизита ФНС России.

1.2 и более поздние версии.

operatingCheckProps.name

ANS

Нет

Идентификатор операции Принимает значения «0» до определения значения реквизита ФНС России.

1.2 и более поздние версии.

operatingCheckProps.timestamp

NS19

Нет

Дата и время операции в формате: dd.mm.yyyy HH:MM:SS

1.2 и более поздние версии.

operatingCheckProps.value

ANS..64

Нет

Данные операции.

1.2 и более поздние версии.

sectoralCheckProps.date

NS10

Нет

Дата нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита», в формате: dd.mm.yyyy

1.2 и более поздние версии.

sectoralCheckProps.federalId

ANS

Нет

Идентификатор ФОИВ. Должно принимать одно из значений справочника ФОИВ.

1.2 и более поздние версии.

sectoralCheckProps.number

N..32

Нет

Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита»

1.2 и более поздние версии.

sectoralCheckProps.value

ANS..256

Нет

Состав значений, определенных нормативным актом федерального органа исполнительной власти

1.2 и более поздние версии.

company.automat_number

ANS..20

Нет (см. описание)

Номер автомата.

Условия для обязательной передачи параметра:

  • ФФД 1.05 - для вендинга и транспорта;
  • ФФД 1.2 - для вендинга и транспорта.

1.05 и более поздние версии.

company.location

ANS..243

Нет (см. описание)

Адрес расчетов.

Условия для обязательной передачи параметра:

  • ФФД 1.05 - для вендинга, транспорта, курьеров;
  • ФФД 1.2 - для вендинга, транспорта, курьевров.

1.05 и более поздние версии.

company.payment_address

ANS..243

Нет (см. описание)

Место расчетов.

Условия для обязательной передачи параметра:

  • ФФД 1.05 - для вендинга, транспорта, курьеров;
  • ФФД 1.2 - для вендинга, транспорта, курьеров.

1.05 и более поздние версии.

Параметры ответа:

Название Тип Обязательно Описание Версия ФФД

errorCode

N..2

Нет

Код ошибки. Может отсутствовать, если результат не привёл к ошибке.

Все версии.

errorMessage

AN..512

Нет

Описание ошибки на языке, переданном в параметре language в запросе.

Все версии.

Коды ошибок:

Значение Описание Версия ФФД
0

Успешно.

5

Доступ запрещён.

5

Пользователь должен сменить свой пароль.

5

[orderId] не задан.

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'.

Параметры запроса

Название Тип Обязательно Описание

userName

AN..30

Да

Логин служебной учётной записи продавца.

password

AN..200

Да

Пароль служебной учётной записи продавца.

token

AN..256

нет (нужно указать либо пару логин и пароль, либо токен)

Открытый ключ, который можно использовать для аутентификации при выполнении запроса. Если для аутентификации используются логин и пароль, параметр token передавать не нужно.

Чтобы получить открытый ключ, обратитесь в техническую поддержку.

orderId

ANS36

Да

Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode.

В случае, если был передан token, то необходимо передать только orderId.

orderNumber

ANS..32

Да

Номер (идентификатор) заказа в системе магазина, уникален для каждого магазина в пределах системы. Если номер заказа генерируется на стороне платёжного шлюза, этот параметр передавать необязательно

В запросе должен присутствовать либо orderId, либо orderNumber. Если в запросе присутствуют оба параметра, то приоритетным считается orderId.

language

A2

Да

Язык в кодировке ISO 639-1. Если не указан, будет использован язык, указанный в настройках магазина как язык по умолчанию.

Параметры ответа

Название Тип Обязательно Описание

orderNumber

ANS..32

Да

Номер заказа в системе магазина.

Необязательно только в случае подключения автоматической генерации номера заказа на шлюзе (для этого обратитесь в техническую поддержку).

orderStatus

N1

Нет

По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Ниже представлен список возможных значений:

  • 0 - заказ зарегистрирован, но не оплачен;
  • 1 - предавторизованная сумма удержана (для двухстадийных платежей);
  • 2 - проведена полная авторизация суммы заказа;
  • 3 - авторизация отменена;
  • 4 - по транзакции была проведена операция возврата;
  • 5 - инициирована авторизация через сервер контроля доступа банка-эмитента;
  • 6 - авторизация отклонена.

Возможен также промежуточный статус orderStatus=7. По значению это статус PENDING, который используется при завершении двухстадийных заказов, и проставляется в момент завершения оригинального заказа. Он меняется на DEPOSITED (orderStatus=2) через некоторое время, когда проводится успешная операция в процессинге по инициирующему заказу.

actionCode

ANS..6

Да

Код ответа процессинга. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице.

actionCodeDescription

AN..512

Да

Коды ответа - цифровое обозначение результата, к которому привело обращение к системе со стороны пользователя. Полный перечень кодов ответов процессинга и расшифровки этих кодов размещены на отдельной странице.

errorCode

N..2

Нет

Код ошибки. Может отсутствовать, если результат не привёл к ошибке.

errorMessage

AN..512

Нет

Описание ошибки на языке, переданном в параметре language в запросе.

Элемент operations

operation

AN..512

Нет

Тип операции, возможны следующие значения:

  • PAYMENT;
  • AWARD;
  • REVERSE;
  • REFUND_PAYMENT;
  • REFUND_AWARD.

amount

N..20

Нет

Сумма баллов по операции

transactionId

AN..512

Нет

Идентификатор операции в платёжном шлюзе.

successful

AN..512

Нет

Признак успешности операции, возможны следующие значения:

  • true (успешно);
  • false (неуспешно).

pcId

AN..512

Нет

Идентификатор операции в процессинге лояльности.

Коды ошибок

Код ошибки Текст ошибки
1

Ожидается [orderId] или [orderNumber].

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}]}