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

Расширенный запрос состояния заказа (getOrderStatusExtended.do)

Для запроса состояния зарегистрированного заказа используется запрос getOrderStatusExtended.do. Чтобы получить статус заказа, необходимо использовать значение параметра orderNumber (номер заказа в системе магазина).

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

  • 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

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

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

orderNumber

ANS..32

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

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

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

language

A2

Нет

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

merchantLogin

ANS..255

нет

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

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

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

Существует три набора параметров ответа. Какие именно наборы параметров будут возвращены, завит от версии getOrderStatusExtended, указанной в настройках продавца. Эти параметры будут возвращены в ответе независимо от версии 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-времени).

Все версии.

depositedDate

N

Нет

Дата оплаты заказа в формате UNIX-времени (POSIX-времени).

10 и выше.

orderDescription

ANS..600

Нет

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

Все версии.

refundedDate

ANS

Нет

Дата и время возврата средств.

13 и выше.

paymentWay

AS..14

да

Способ совершения платежа. Принимает значение:

  • IPOS - оплата iPOS.
09 и выше.

avsCode

A1

Нет

AVS Response Сode - код ответа AVS-проверки (проверка адреса и почтового индекса держателя карты). Возможные значения:

  • A – почтовый индекс и адрес совпадают;
  • B – адрес совпадает, почтовый индекс не совпадает;
  • C – почтовый индекс совпадает, адрес не совпадает;
  • D – почтовый индекс и адрес не совпадают;
  • E – проверка данных запрошена, но результат неуспешен;
  • F – некорректный формат запроса AVS/AVV проверки.
19 и выше.

spasiboAllowed

boolean

Нет

Признак наличия спасибо на связке

Все версии.
Элемент attributes – содержит сведения о номере заказа в системе платёжного шлюза. В параметре name передаётся значение mdOrder, а в параметр value - непосредственно номер заказа в системе платёжного шлюза

name

A7

Нет

Название атрибута, всегда принимает значение mdOrder.

Все версии.

value

ANS36

Нет

Значение атрибута - номер заказа в платежной системе (уникален в пределах системы).

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

name

AN..20

Нет

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

Все версии.

value

ANS..2000

Нет

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

Все версии.
В элементе merchantOrderParams передаются следующие параметры. registerOrderId - идентификатор заказа в прокси интернет-кредитования. А также следующие параметры.
Название Тип Обязательно Описание

rightTerms

ANS…255

Нет

Желаемый срок кредитования в месяцах. Возвращается в ответе, если при регистрации заказа был передан параметр rightTerms.

term

N..2

Да

Реальный срок кредитования в месяцах.

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

approvedAmount

N..12

Нет

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

03 и выше.

depositedAmount

N..12

Нет

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

03 и выше.

refundedAmount

N..12

Нет

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

03 и выше.

paymentState

A..10

Нет

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

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

totalAmount

N..12

Нет

Сумма заказа + fee (комиссия, если она была использована в заказе).

18 и выше.
Элемент bankInfo состоит из параметров.

bankName

ANS..50

Нет

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

03 и выше.

bankCountryCode

AN..7

Нет

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

03 и выше.

bankCountryName

AN..160

Нет

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

03 и выше.
Элемент payerData состоит из параметров.

email

ANS..40

Нет

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

13 и выше.

phone

NS..12

Нет

Номер телефона покупателя. Всегда нужно указывать код страны, при этом можно указывать или не указывать знак + . Таким образом, допустимы следующие варианты:

  • +79998887766;
  • 79998887766.
13 и выше.

postAddress

ANS..255

Нет

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

13 и выше.

orderBundle

Не актуально

Да

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

01 и выше.

orderBundle

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

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

orderCreationDate

ANS..21

Нет

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

01 и выше.

customerDetails

Не актуально

Нет

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

01 и выше.

cartItems

Не актуально

Да

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

01 и выше.

customerDetails

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

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

email

ANS..40

См. примечание ниже.

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

01 и выше.

phone

NS..12

См. примечание ниже.

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

  • +79000000000
  • 89000000000
  • 9000000000
  • 79000000000

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

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

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

01 и выше.

fullName

ANS..100

Нет

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

01 и выше

passport

ANS..100

Нет

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

01 и выше

inn

N..12

Нет

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

01 и выше

cartItems

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

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

items

Не актуально

Да

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

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

03 и выше.

items

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

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

positionId

ANS..12

Да

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

01 и выше.

name

ANS..100

Да

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

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

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

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

01 и выше.

quantity

N..18

Да

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

03 и выше.

itemAmount

N..12

Нет

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

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

01 и выше.

depositedItemAmount

Строка

Нет

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

07 и выше.

itemCurrency

N3

Нет

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

01 и выше.

itemCode

ANS..100

Да

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

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

01 и выше.

quantity

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

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

value

N..18

Да

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

01 и выше.

measure

ANS..20

Да

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

01 и выше.

Коды ошибок

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

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

1

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

5

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

5

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

6

Заказ не найден.

7

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

Примеры

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

orderNumber=НОМЕР_ЗАКАЗА_В_СИСТЕМЕ_МАГАЗИНА&language=ru

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

{errorCode: "0",
errorMessage: "Успешно",
orderNumber: "1542618252",
orderStatus: 6,
actionCode: -2007,
actionCodeDescription: "Истек срок ожидания ввода данных.",
amount: 3003799,
currency: "643",
date: 1542618252944,
orderDescription: "description 1",
merchantOrderParams: [{name: "email",
value: "32345678901234567890123456789012345678901234567890123456@test.ru"
}
],
attributes: [{name: "mdOrder",
value: "4fbc0be8-a29d-7462-b11d-3d8404b0d0be"
}
],
terminalId: "10465249",
paymentAmountInfo: {paymentState: "DECLINED",
approvedAmount: 0,
depositedAmount: 0,
refundedAmount: 0
},
bankInfo: {bankCountryCode: "UNKNOWN",
bankCountryName: "<Неизвестно>"
},
chargeback: false
}