Для запроса состояния зарегистрированного заказа используется запрос getOrderStatusExtended.do.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..30 | Да | Логин магазина, полученный при подключении. |
|
AN..200 | Да | Пароль магазина, полученный при подключении. |
|
AN..64 | Да* |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует если регистрация заказа не удалась по причине ошибки, детализированной в ErrorCode. |
|
AN..32 | Да* |
Номер (идентификатор) заказа в системе магазина. |
|
A2 | Да |
Код языка в соответствии с ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке. |
* В запросе должен присутствовать либо orderId
, либо orderNumber
. Если в запросе присутствуют оба параметра, то приоритетным считается orderId
.
Существует несколько наборов параметров ответа. Какие именно наборы параметров будут возвращены, завит от версии getOrderStatusExtended
, указанной в настройках мерчанта.
Параметры ответа для версий 01 и выше:
Эти параметры будут возвращены в ответе не зависимо от версии getOrderStatusExtended.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
AN..32 | Да |
Номер (идентификатор) заказа в системе магазина. | Все версии. |
|
N1 | Нет |
По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Ниже представлен список возможных значений:
| Все версии. |
|
ANS..6 | Да | Код ответа. | Все версии. |
|
AN..512 | Да |
Расшифровка кода ответа на языке, переданном в параметре запроса language. | Все версии. |
|
N..2 | Нет |
Код ошибки. | Все версии. |
|
|
Нет |
|
Все версии. |
|
N..20 | Да | Сумма платежа в копейках (или центах). | Все версии. |
|
N3 | Нет | Код валюты платежа ISO 4217. Если не указан, считается равным 810 (российские рубли). | Все версии. |
|
ANS | Да |
Дата регистрации заказа. | Все версии. |
|
AN..512 | Нет |
Описание заказа, переданное при его регистрации. | Все версии. |
|
ANS..39 | Да |
IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов). | Все версии. |
|
ANS | Нет | Дата/время авторизации. | 02 и выше. |
|
AN..24 | Нет |
Учётный номер авторизации платежа, который присваивается при регистрации платежа. | 02 и выше. |
|
AN..10 | Нет |
Идентификатор терминала в процессинге, через который осуществлялась оплата. | 02 и выше. |
|
AS..14 | Да |
Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.). Может принимать следующие значения:
| 09 и выше. |
Элемент cardAuthInfo (в элементе лежит структура, состоящая из списка элементов типа secureAuthInfo и атрибутов pan, expiration, cardholderName и approvalCode ): |
||||
|
N12…19 | Нет |
Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа. | Все версии. |
|
N6 | Нет |
Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа | Все версии. |
|
AS..26 | Нет |
Имя держателя карты латиницей, если доступно. Длина поля ограничена 26 символами (латинские буквы, точка, пробел). | Все версии. |
|
AN6 | Нет |
Код авторизации международной платёжной системы. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. | Все версии. |
Элемент secureAuthInfo состоит из следующих элементов (параметры cavv и xid включены в элемент threeDSInfo ). |
||||
|
N..4 | Нет |
Электронный коммерческий индикатор. | Все версии. |
|
A1 | Нет |
Статус транзакции из ответа от ACS на запрос аутентификации (ARes). Передается при использовании 3DS 2. | Все версии. |
|
A1 | Нет |
Статус транзакции из запроса для передачи результатов аутентификации пользователя от ACS (RReq). Передается при использовании 3DS 2. | Все версии. |
|
N..12 | Нет |
Версия протокола 3DS. Возможные значения:
| Все версии. |
|
ANS..200 | Нет |
Значение проверки аутентификации владельца карты. Указано только после оплаты заказа и в случае соответствующего разрешения. | Все версии. |
|
ANS..80 | Нет |
Электронный коммерческий идентификатор транзакции. Указан только после оплаты заказа и в случае соответствующего разрешения. | Все версии. |
Элемент BindingInfo (элемент состоит из clientId и bindingId ): |
||||
|
AN..255 | Нет |
Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. Присутствует только если магазину разрешено создание связок. | Все версии. |
|
AN..255 | Нет |
Идентификатор связки созданной при оплате заказа или использованной для оплаты. Присутствует только если магазину разрешено создание связок. . | Все версии. |
Элемент paymentAmountInfo (состоит из approvedAmount , depositedAmount , refundedAmount и paymentState ): |
||||
|
N..12 | Нет |
Сумма, захолдированная на карте (используется только при двухстадийных платежах). | 03 и выше. |
|
N..12 | Нет |
Сумма, подтверждённая для списания с карты. | 03 и выше. |
|
N..12 | Нет |
Сумма возврата. | 03 и выше. |
|
A..10 | Нет |
Состояние платежа. | 03 и выше. |
Элемент bankInfo (состоит из bankName, bankCountryCode и bankCountryName ): |
||||
|
AN..200 | Нет |
Наименование банка-эмитента. . | 03 и выше. |
|
AN..7 | Нет |
Код страны банка-эмитента. | 03 и выше. |
|
AN..160 | Нет |
Наименование страны банка-эмитента на языке, переданном в параметре language в запросе, или на языке пользователя, вызвавшего метод, если язык в запросе не указан. | 03 и выше. |
Элемент loyaltyInfo/loyaltyInfos (состоит из элемента loyaltyName и тэгов paymentBonus и awardBonus ) - Тэг, содержащий данные о состоянии бонусных баллов по программам лояльности в заказе |
||||
Элемент loyaltyInfo (состоит из элемента loyaltyName и тэгов paymentBonus и awardBonus ) | Нет | Тэг, содержащий данные о состоянии бонусных баллов по программам лояльности в заказе | 04 и выше. | |
Элемент loyaltyInfos (состоит из элемента loyaltyName и тэгов paymentBonus и awardBonus ) | Нет | Тэг, содержащий данные о состоянии бонусных баллов по программам лояльности в заказе | 15 версия и выше. | |
|
ANS..512 | Нет |
Наименование программы лояльности(для Сбербанк спасибо это «sbrf_spasibo» и «sbrf_sbermiles»). | 15 версия и выше. |
paymentBonus | Нет | Тэг с атрибутами, содержащими данные о состоянии использованных баллов для списания при оплате заказа | 04 и выше. | |
awardBonus | Нет | Тэг с атрибутами, содержащими данные о состоянии средств, использованных для начисления баллов при оплате заказа | 04 и выше. |
Атрибуты элемента paymentBonus:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..20 | Нет |
Сумма баллов к списанию при оплате заказа. |
|
N..20 | Нет |
Подтвержденная сумма в баллах для списания на момент запроса. |
|
N..20 | Нет |
Сумма возврата в баллах на момент запроса. |
|
ANS..512 | Нет |
Идентификатор последней проведённой операции с суммой для начисления баллов в процессинге лояльности. |
|
ANS..512 | Да |
Признак успешности операции, возможны следующие значения:
|
|
ANS..512 | Да |
Тип последней проведенной операции со списываемыми баллами (PAYMENT, REVERSE, REFUND_PAYMENT) |
Атрибуты элемента awardBonus:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
N..20 | Нет |
Первоначальная сумма, на которую было произведено начисление бонусных баллов. |
|
N..20 | Нет |
Подтверждённая сумма заказа, на которую произведено начисление бонусных баллов. |
|
N..20 | Нет |
Сумма возврата заказа, на которую произведено начисление бонусных баллов. |
|
AN..512 | Нет |
Идентификатор последней проведённой операции с суммой для начисления баллов в процессинге лояльности. |
|
AN..512 | Да |
Признак успешности операции, возможны следующие значения:
|
|
ANS..512 | Да |
Тип последней проведенной операции с суммой для начисления баллов (AWARD, REVERSE, REFUND_AWARD). |
Если в запросе на регистрацию заказа была передана корзина, то в ответе на расширенный запрос о состоянии заказа также передаётся блок orderBundle
, содержащий корзину товаров заказа. Описание блока orderBundle
представлено ниже. (Актуально для версии getOrderStatusExtended 03
и выше.).
Параметр orderBundle:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..21 | Нет |
Дата создания заказа в формате | 03 и выше. |
| Нет |
Блок с атрибутами данных о покупателе. Описание его атрибутов представлено ниже. | 03 и выше. | |
| Нет |
Блок с атрибутами товарных позиции корзины товаров. Описание его атрибутов представлено ниже. | 03 и выше. | |
| Нет |
Блок с атрибутами бонусных программ, в которых участвуют товарные позиции из Корзины. Описание его атрибутов представлено ниже. Если параметр блок loyalties не передаётся в запросе и сумма к списанию в баллах рассчитывается не на стороне продавца, то этот блок всё равно будет возвращён в ответе на расширенный запрос о состоянии заказа. | 03 и выше. |
Параметры блока customerDetails:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..40 | Нет |
Адрес электронной почты покупателя. | 03 и выше. |
|
NS..12 | Нет | Номер телефона покупателя. | 03 и выше. |
|
ANS..40 | Нет |
Способ связи с покупателем. | 04 и выше. |
|
|
Нет |
|
04 и выше. |
Параметры блока deliveryInfo:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Нет |
Способ доставки. | 04 и выше. |
|
A..2 | Да |
Двухбуквенный код страны доставки. | 04 и выше. |
|
ANS..40 | Да |
Город доставки. | 04 и выше. |
|
ANS..255 | Да |
Адрес доставки. | 04 и выше. |
Параметры блока cartItems:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
| Нет |
Элемент массива с атрибутами товарной позиции в корзине. Описание его атрибутов представлено ниже. | 03 и выше. |
Атрибуты элемента items:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..12 | Да |
Идентификатор товарной позиции, участвующей в указанной бонусной программе. | 03 и выше. |
|
ANS..100 | Да |
Наименование или описание товарной позиции в свободной форме. | 03 и выше. |
| Нет |
Дополнительный блок с параметрами описания товарной позиции. Описание его атрибутов представлено ниже. | 04 и выше. | |
| Да |
Элемент, описывающий общее количество товарных позиций одного | 03 и выше. | |
|
N..18 | Да |
Сумма стоимости всех товарных позиций одного | 03 и выше. |
|
N3 | Нет |
Код валюты товарной позиции ISO 4217. Если не указан, считается равным валюте заказа. | 03 и выше. |
|
ANS..100 | Да |
Номер (идентификатор) товарной позиции в системе магазина.
Во всех методах передача артикула | 03 и выше. |
Атрибуты элемента quantity:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
N..18 | Да |
Количество товарных позиций данного positionId. Для указания дробных чисел используйте десятичную точку | 03 и выше. |
|
ANS..20 | Да |
Мера измерения количества товарной позиции. | 03 и выше. |
Параметры блока itemDetails:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
| Нет |
Параметр описывающий дополнительную информацию по товарной позиции. Описание его атрибутов представлено ниже. | 04 и выше. |
Атрибуты параметра itemDetailsParams:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..255 | Условно. Обязательно при наличии параметра itemDetailsParams |
Дополнительная информация по товарной позиции. | 04 и выше. |
|
ANS..255 | Условно. Обязательно при наличии параметра itemDetailsParams |
Наименование параметра описания детализации товарной позиции. | 04 и выше. |
Параметры блока loyalties:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Да |
Условное наименование бонусной программы, в которой участвует товарная позиция, выдаётся платёжным шлюзом. | 04 и выше. |
|
ANS..12 | Да |
Идентификатор товарной позиции, участвующей в указанной бонусной программе. | 04 и выше. |
|
N..18 | Да |
Общая сумма бонусов всех товарных позиций для данного | 04 и выше. |
|
N..18 | Нет |
Общая сумма бонусов всех товарных позиций для данного | 04 и выше. |
Коды ошибок (поле errorCode
):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | Заказ с таким номером уже зарегистрирован в системе |
2 | Заказ отклонен по причине ошибки в реквизитах платежа |
3 | Неизвестная (запрещенная) валюта |
4 | Отсутствует обязательный параметр запроса |
5 | Ошибка значение параметра запроса |
6 | Незарегистрированный OrderId |
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" }