Для запроса состояния зарегистрированного заказа используется запрос getOrderStatusExtended.
В настоящем документе при описании параметров запросов и ответов используются следующие обозначения типов данных:
Параметры запроса:
Название | Тип | Обязательно | Описание |
---|---|---|---|
|
AN..64 | Да* |
Номер заказа в платежной системе. Уникален в пределах системы. Отсутствует, если регистрация заказа не удалась по причине ошибки, детализированной в errorCode. |
|
A2 | Нет |
Код языка в соответствии с ISO 639-1. Если не указан, считается, что язык – русский. Сообщение ошибке будет возвращено именно на этом языке. |
|
AN..32 | Да* |
Номер (идентификатор) заказа в системе магазина. |
* В запросе необходимо передать или параметр orderId
, или merchantOrderNumber
. Если в запросе передаются оба параметра, приоритет orderId
выше.
Существует несколько наборов параметров ответа. Какие именно наборы параметров будут возвращены, завит от версии getOrderStatusExtended
, указанной в настройках мерчанта.
Параметры ответа для версий 01 и выше:
Эти параметры будут возвращены в ответе не зависимо от версии getOrderStatusExtended
.
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
AN..32 | Да |
Номер (идентификатор) заказа в системе магазина. | Все версии. |
|
N1 | Нет |
По значению этого параметра определяется состояние заказа в платёжной системе. Отсутствует, если заказ не был найден. Ниже представлен список возможных значений:
| Все версии. |
|
ANS..6 | Да | Код ответа. | Все версии. |
|
AN..512 | Да |
Расшифровка кода ответа на языке, переданном в параметре запроса language. | Все версии. |
|
N..2 | Нет |
Код ошибки. | Все версии. |
|
|
Нет |
|
Все версии. |
|
N..20 | Да | Сумма платежа в копейках (или центах). | Все версии. |
|
N3 | Нет | Код валюты платежа ISO 4217. Если не указан, считается равным 643 (российские рубли). | Все версии. |
|
ANS | Да |
Дата регистрации заказа. | Все версии. |
|
AN..512 | Нет |
Описание заказа, переданное при его регистрации. | Все версии. |
|
ANS..39 | Да |
IP-адрес покупателя. IPv6 поддерживается во всех запросах (до 39 символов). | Все версии. |
|
ANS | Нет | Дата/время авторизации. | 02 и выше. |
|
AN..24 | Нет |
Учётный номер авторизации платежа, который присваивается при регистрации платежа. | 02 и выше. |
|
AN..10 | Нет |
Идентификатор терминала в процессинге, через который осуществлялась оплата. | 02 и выше. |
|
AS..14 | Да |
Способ совершения платежа (платёж в с вводом карточных данных, оплата по связке и т. п.). Может принимать следующие значения:
| 09 и выше. |
Элемент cardAuthInfo (в элементе лежит структура, состоящая из списка элементов типа secureAuthInfo и атрибутов maskedPan, expiration, cardholderName и approvalCode ): |
||||
|
N..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 не передаётся в запросе и сумма к списанию в баллах рассчитывается не на стороне продавца, то этот блок всё равно будет возвращён в ответе на расширенный запрос о состоянии заказа. | 04 и выше. |
Параметры блока 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 |
---|---|---|---|---|
|
ANS..20 | Да |
Мера измерения количества товарной позиции. | 03 и выше. |
Параметры блока itemDetails:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
| Нет |
Параметр описывающий дополнительную информацию по товарной позиции. Описание его атрибутов представлено ниже. | 04 и выше. |
Атрибуты параметра itemDetailsParams:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..255 | Условно. Обязательно при наличии параметра itemDetailsParams |
Наименование параметра описания детализации товарной позиции. | 04 и выше. |
Параметры блока loyalties:
Название | Тип | Обязательно | Описание | Версия getOrderStatusExtended |
---|---|---|---|---|
|
ANS..20 | Да |
Условное наименование бонусной программы, в которой участвует товарная позиция, выдаётся платёжным шлюзом. | 04 и выше. |
|
ANS..12 | Да |
Идентификатор товарной позиции, участвующей в указанной бонусной программе. | 04 и выше. |
|
N..18 | Да |
Общая сумма бонусов всех товарных позиций для данного | 04 и выше. |
|
N..18 | Нет |
Общая сумма бонусов всех товарных позиций для данного | 04 и выше. |
Коды ошибок (поле errorCode
):
Значение | Описание |
---|---|
0 | Обработка запроса прошла без системных ошибок |
1 | Ожидается [orderId] или [orderNumber] |
5 | Доступ запрещён |
5 | Пользователь должен сменить свой пароль |
6 | Заказ не найден |
7 | Системная ошибка |
Пример запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mer="http://engine.paymentgate.ru/webservices/merchant"> <soapenv:Header/> <soapenv:Body> <mer:getOrderStatusExtended> <order orderId="694312ed-9dd1-4178-9009-e1ac1aa5fb92" language=" "> <merchantOrderNumber>?</merchantOrderNumber> </order> </mer:getOrderStatusExtended> </soapenv:Body> </soapenv:Envelope>
Пример ответа:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:getOrderStatusExtendedResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> <return orderNumber="24398" orderStatus="2" actionCode="0" actionCodeDescription="Запрос успешно обработан" amount="30000" currency="643" date="2014-03-06T12:31:29.585+04:00" orderDescription="testCart singlestep" ip="0.0.0.7" errorCode="0" errorMessage="Успешно"> <merchantOrderParams name="sbrf_spasibo:amount_bonus" value="300"/> <attributes name="mdOrder" value="694312ed-9dd1-4178-9009-e1ac1aa5fb92"/> <cardAuthInfo maskedPan="478978**1233" expiration="201512" cardholderName="cardholder name" approvalCode="123456"/> <authDateTime>2014-03-06T12:31:29.585+04:00</authDateTime> <terminalId>999714</terminalId> <authRefNum>111111111111</authRefNum> <paymentAmountInfo paymentState="DEPOSITED" approvedAmount="30000" depositedAmount="30000" refundedAmount="0"/> <bankInfo bankCountryCode="UNKNOWN" bankCountryName="<Неизвестно>"/> <orderBundle> <orderCreationDate>2013-07-12T13:51:00+04:00</orderCreationDate> <customerDetails> <email>johnsmith@mail.ru</email> <phone>89851231234</phone> <contact>Mega Tester</contact> <deliveryInfo> <deliveryType>courier</deliveryType> <country>RU</country> <city>Moscow</city> <postAddress>Земляной Вал 50А стр.2</postAddress> </deliveryInfo> </customerDetails> <cartItems> <items positionId="3"> <name>Warm Grips</name> <itemDetails> <itemDetailsParams name="brand">Noname</itemDetailsParams> </itemDetails> <quantity measure="штук">1.0</quantity> <itemAmount>10000</itemAmount> <itemCurrency>643</itemCurrency> <itemCode>G-16</itemCode> </items> <items positionId="1"> <name>Metzeler Enduro 3 Sahara</name> <itemDetails> <itemDetailsParams name="brand">Metzeler</itemDetailsParams> <itemDetailsParams name="radius">17inch</itemDetailsParams> </itemDetails> <quantity measure="штук">1.0</quantity> <itemAmount>10000</itemAmount> <itemCurrency>643</itemCurrency> <itemCode>T-M-14</itemCode> <discount> <discountType>discount</discountType> <discountValue>777</discountValue> </discount> </items> <items positionId="2"> <name>Universal Mirror Enduro</name> <itemDetails> <itemDetailsParams name="brand">Noname</itemDetailsParams> <itemDetailsParams name="diameter">12mm</itemDetailsParams> </itemDetails> <quantity measure="штук">1.0</quantity> <itemAmount>10000</itemAmount> <itemCurrency>643</itemCurrency> <itemCode>NM-15</itemCode> </items> </cartItems> </orderBundle> <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"/> </loyaltyInfo> </return> </ns1:getOrderStatusExtendedResponse> </soap:Body> </soap:Envelope>
Пример ответа для версии getOrderStatusExtended 15
и выше:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:getOrderStatusExtendedResponse xmlns:ns1="http://engine.paymentgate.ru/webservices/merchant"> <return orderNumber="1254003" orderStatus="2" actionCode="0" actionCodeDescription="" amount="8234100" currency="643" date="2020-03-18T17:56:54.386+03:00" depositedDate="2020-03-18T18:03:50.859+03:00" orderDescription="Тестовая оплата" ip="84.53.237.7" errorCode="0" errorMessage="Успешно"> <merchantOrderParams name="sbrf_sbermiles:amount_bonus" value="240500"/> <merchantOrderParams name="loyaltyId" value="sbrf_spasibo,sbrf_sbermiles"/> <merchantOrderParams name="sbrf_spasibo:amount_bonus" value="1525400"/> <merchantOrderParams name="sbrf_spasibo:change_rate" value="1"/> <merchantOrderParams name="test" value="test"/> <merchantOrderParams name="sbrf_sbermiles:change_rate" value="1.2"/> <merchantOrderParams name="client_uuid" value="B0201548AD304A55BA59983882C46B83"/> <merchantOrderParams name="new_card_payment" value="true"/> <merchantOrderParams name="pay-button" value="true"/> <transactionAttributes name="merchantIp" value="84.53.237.7"/> <attributes name="mdOrder" value="c559e30a-f363-70cf-9e5a-e5e65e205139"/> <cardAuthInfo maskedPan="427601**6080" expiration="202412" cardholderName="CARDHOLDER NAME" approvalCode="123456" paymentSystem="VISA"/> <authDateTime>2020-03-18T17:57:45.194+03:00</authDateTime> <terminalId>123456</terminalId> <authRefNum>243686633625</authRefNum> <paymentAmountInfo paymentState="DEPOSITED" approvedAmount="8234100" depositedAmount="8234100" refundedAmount="0" feeAmount="0"/> <bankInfo bankName="SBERBANK OF RUSSIA" bankCountryCode="RU" bankCountryName="Россия"/> <payerData email="kuznecov@liqu.ru" phone="9040326222"/> <orderBundle> <customerDetails> <email>kuznecov@liqu.ru</email> <phone>9040326222</phone> </customerDetails> <cartItems> <items positionId="1"> <name>Стиральная машина Siemens WS12T460OE</name> <quantity measure="шт">1.0</quantity> <itemAmount>6587281</itemAmount> <depositedItemAmount>6587281</depositedItemAmount> <itemCurrency>643</itemCurrency> <itemCode>78864</itemCode> </items> <items positionId="2"> <name>Услуга - Доставка</name> <quantity measure="шт">1.0</quantity> <itemAmount>823410</itemAmount> <depositedItemAmount>823410</depositedItemAmount> <itemCurrency>643</itemCurrency> <itemCode>0002</itemCode> </items> <items positionId="3"> <name>что-то - Доставка</name> <quantity measure="шт">1.0</quantity> <itemAmount>823409</itemAmount> <depositedItemAmount>823409</depositedItemAmount> <itemCurrency>643</itemCurrency> <itemCode>0004</itemCode> </items> </cartItems> <loyalties> <loyalties loyaltyProgramName="sbrf_spasibo" positionId="1"> <bonusAmountForDebit>1220320</bonusAmountForDebit> <bonusAmountForCredit>0</bonusAmountForCredit> </loyalties> <loyalties loyaltyProgramName="sbrf_spasibo" positionId="2"> <bonusAmountForDebit>152540</bonusAmountForDebit> <bonusAmountForCredit>0</bonusAmountForCredit> </loyalties> <loyalties loyaltyProgramName="sbrf_spasibo" positionId="3"> <bonusAmountForDebit>152540</bonusAmountForDebit> <bonusAmountForCredit>0</bonusAmountForCredit> </loyalties> <loyalties loyaltyProgramName="sbrf_sbermiles" positionId="1"> <bonusAmountForDebit>192399</bonusAmountForDebit> <bonusAmountForCredit>0</bonusAmountForCredit> </loyalties> <loyalties loyaltyProgramName="sbrf_sbermiles" positionId="2"> <bonusAmountForDebit>24050</bonusAmountForDebit> <bonusAmountForCredit>0</bonusAmountForCredit> </loyalties> <loyalties loyaltyProgramName="sbrf_sbermiles" positionId="3"> <bonusAmountForDebit>24051</bonusAmountForDebit> <bonusAmountForCredit>0</bonusAmountForCredit> </loyalties> </loyalties> </orderBundle> <loyaltyInfos loyaltyName="sbrf_sbermiles"> <paymentBonus approvedAmountBonus="240500" depositedAmountBonus="240500" refundedAmountBonus="0" pcId="81924304" successful="true" paymentOperation="PAYMENT"/> <awardBonus approvedAmountAward="8234100" depositedAmountAward="8234100" refundedAmountAward="0" pcId="81924386" successful="true" paymentOperation="AWARD"/> </loyaltyInfos> <loyaltyInfos loyaltyName="sbrf_spasibo"> <paymentBonus approvedAmountBonus="1525400" depositedAmountBonus="1525400" refundedAmountBonus="0" pcId="81924303" successful="true" paymentOperation="PAYMENT"/> <awardBonus approvedAmountAward="8234100" depositedAmountAward="8234100" refundedAmountAward="0" pcId="81924385" successful="true" paymentOperation="AWARD"/> </loyaltyInfos> <chargeback>false</chargeback> <paymentWay>CARD</paymentWay> </return> </ns1:getOrderStatusExtendedResponse> </soap:Body> </soap:Envelope>