Extended order status request (getOrderStatusExtended)

The request used for getting the status of a registered order is getOrderStatusExtended.

Use the following URL to connect to the Test Service (WSDL):
https://3dsec.sberbank.ru/payment/webservices/merchant-ws?wsdl.

In this document, the following data type conventions are used when describing request and response parameters:

  • A<n> – a sequence of Latin letters of length <n>;
  • A..<n> – a sequence of Latin letters with a length not exceeding <n>;
  • N<n> – a sequence of digits of length <n>;
  • N..<n> – a sequence of digits with a length not exceeding <n>;
  • AN<n> – a sequence of Latin letters and numbers of fixed length <n>;
  • AN.. <n> – a sequence of Latin letters and numbers with a length not exceeding <n>;
  • ANS<n> – a sequence of Latin letters, numbers and characters of fixed length <n>
  • ANS.. <n> – a sequence of Latin letters, numbers and characters with a length not exceeding <n>;
  • UTC – date and time, in this case: the date must be passed without specifying the time zone, Moscow time, for the SOAP protocol, the standard encoding xs: dateTime is used.

Request parameters

The request parameters are given in table below.

Name Type Mandatory Description

orderId

ANS36

Yes
(see note below)

Identifier of the order in the payment system. It is unique within the system. The identifier is missing if the order registration failed due to an error detailed in errorCode.

language

A2

No

Language in the ISO 639-1 encoding. If the language is not specified, the default language defined in the store settings is used.

merchantOrderNumber

ANS..32

Yes
(see note below)

Order identifier in the Store system.

The request must contain either orderId or merchantordernumber. If both parameters are present in the request, orderId has priority.

Response parameters

Several sets of response parameters exist. The exact sets of parameters to be returned depend on the version of getOrderStatusExtended specified in the Merchant settings.

Name Type Mandatory Description Version of getOrderStatusExtended

orderNumber

ANS..32

Yes

Order number in the store system.

This is optional only if the automatic generation of the order number is enabled on the gateway (for this, contact technical support).

All versions.

orderStatus

N1

No

The order status in the payment system is defined by the value of this parameter. It is missing if the order has not been found. Below is a list of possible values:

  • 0 – order is registered but unpaid;
  • 1 – the pre-authorized amount is held (for two-phase payments);
  • 2 – full authorization of the order amount was carried out;
  • 3 – authorization is canceled;
  • 4 – a refund operation was performed for the transaction;
  • 5 – authorization has been initiated through the access control server of the issuing bank;
  • 6 – authorization is declined.
All versions.

actionCode

N..5

Yes

Processing code Full list of processing response codes and description of these codes is available on a separate page.

All versions.

actionCodeDescription

AN..512

Yes

Description of actionCode returned by processing. Full list of processing response codes and description of these codes is available on a separate page.

All versions.

errorCode

ANS..3

No

Error code.

All versions.

errorMessage

AN..512

No

Error description in the language passed in the language parameter in the request.

All versions.

amount

N..12

Yes

Payment amount in minimum currency units.

All versions.

currency

N3

No

ISO 4217 code of the payment currency. If not specified, default value is used.

All versions.

date

ANS

Yes

Date of order registration in Unix-time format (POSIX-time).

All versions.

depositedDate

N

No

Date of order payment in Unix-time format (POSIX-time).

10 and higher.

orderDescription

ANS..600

No

Order description passed upon its registration.

All versions.

ip

ANS..39

Yes

IP-address of the buyer. IPv6 is supported in all requests (up to 39 characters).

All versions.

authRefNum

AN..24

No

Registration number of the payment authorization that has been assigned to it on the payment registration.

02 and higher.

refundedDate

ANS

No

Date and time of the refund.

13 and higher.

paymentWay

AS..14

yes

The way of order completion (a payment with entering card data, a payment using a binding, etc.). Possible values:

  • CARD – payment with entering of card details;
  • CARD_BINDING - payment by binding;
  • CARD_MOTO - payment through call center;
  • CARD_PRESENT - payment by cardPresent;
  • SBRF_SBOL – payment through Sberbank Online;
  • UPOP - payment through China Union Pay;
  • FILE_BINDING - payment by file;
  • SMS_BINDING - payment by SMS;
  • P2P - transfer from card to card;
  • P2P_BINDING - transfer by binding;
  • PAYPAL – payment from a PayPal account;
  • MTS – payment from MTS account;
  • APPLE_PAY - Apple Pay;
  • APPLE_PAY_BINDING - payment by Apple Pay binding;
  • ANDROID_PAY - Android Pay;
  • ANDROID_PAY_BINDING - payment by Android Pay binding;
  • GOOGLE_PAY_CARD - Google Pay, non-tokenized;
  • GOOGLE_PAY_CARD_BINDING - payment by binding with non-tokenized Google Pay card;
  • GOOGLE_PAY_TOKENIZED - Google Pay, tokenized;
  • GOOGLE_PAY_TOKENIZED_BINDING - payment by binding with tokenized Google Pay card;
  • SAMSUNG_PAY - Samsung Pay;
  • SAMSUNG_PAY_BINDING - payment by Samsung Pay binding;
  • IPOS - iPOS payment;
  • SBERPAY – SberPay payment;
  • SBERID – SberID payment.
09 and higher.

avsCode

A1

No

AVS Response Code – AVS response code (verification of cardholder's registration address and postal code). The possible values are:

  • A – Both address and postal code match;
  • B – Address matches, postal code does not match;
  • C – Postal code matches, address does not match;
  • D – Neither address nor postal code match;
  • E – Verification requested but not available;
  • F – Transaction improperly requests verification.
09 and higher.
The merchantOrderParams element is present in a response if an order contains additional parameters of the merchant. Each additional order parameter is contained in a separate merchantOrderParams element.

Name

name

Type

AN..20

Type2

ANS..255

Type3

A7

Type4

ANS..100

Description

REST

Name of the additional parameter.

REST Online Lending

The attribute name, always takes the value of mdOrder.

WS

Name of the additional parameter.

Spasibo

Name or the description of an item in any format.

Spasibo2

Name of the parameter describing the details of a line item

AN..20

No

Name of the additional parameter.

All versions.

value

AN..1024

No

The value of the additional parameter is up to 1024 characters.

All versions.
cardAuthInfo element. Contains a structure consisting of a list of secureAuthInfo element and the following parameters.

maskedPan

N..19

No

Masked number of the card that has been used for the payment. This parameter is to be specified only after the order has been paid.

All versions.

expiration

ANS

No

Expiry date of the card in the format YYYYMM.

All versions.

cardholderName

A..200

No

Cardholder's name in Latin characters, if available.

All versions.

approvalCode

AN6

No

International payment system authorization code. This field has a fixed length (six characters) and can contain digits and Latin letters.

All versions.

chargeback

A..5

No

The parameter defines whether the funds have been forcibly returned to the buyer by the bank. The following values are available:

  • true – funds were returned;
  • false – funds were not returned.
06 and higher.

paymentSystem

N..10

yes

The payment system name. Available values:

  • VISA;
  • MASTERCARD;
  • AMEX;
  • JCB;
  • CUP;
  • MIR.
08 and higher.

product

AN..255

yes

Additional details on corporate cards. This information is filled in by technical support. If such details are missing, an empty value is returned.

08 and higher.

productCategory

string

yes

Additional details about corporate cards. These details are filled in by the technical support service through the administrative console. If such details are missing, an empty value is returned. The possible values are: DEBIT, CREDIT, PREPAID, NON_MASTERCARD, CHARGE, DIFFERED_DEBIT.

17.
The secureAuthInfo element (the element consists of the eci and threeDSInfo elements the latter being an object with the cavv and xid parameters):

eci

N..4

No

Electronic Commerce Indicator.

All versions.

cavv

ANS..200

No

The value of the cardholder authentication check. Indicated only after payment of the order and in case of respective permission.

All versions.

xid

ANS..80

No

Electronic Commerce Indicator of the transaction. The indicator is specified only after an order has been paid and in case the corresponding permission is present.

All versions.
The bindingInfo element consists of the following parameters.

clientId

ANS..255

No

Identifier of the Customer in the Store system. This parameter is used for the binding functionality. May be present if the store is allowed to create bindings.

Specifying this parameter when processing payments with the use of bindings is mandatory. Otherwise, a payment will be unsuccessful.

All versions.

bindingId

AN..255

No

Identifier of the binding created earlier.

All versions.

authDateTime

ANS

No

Authorization date and time in Unix time (POSIX time).

02 and higher.

terminalId

AN..10

No

Identifier of the terminal in processing through which the payment was made.

02 and higher.
The paymentAmountInfo element consists of the following parameters.

approvedAmount

N..12

No

Amount confirmed to be debited.

03 and higher.

depositedAmount

N..12

No

The amount in the minimum currency units (for example, in kopecks), confirmed to be debited from the card.

03 and higher.

refundedAmount

N..12

No

The refund amount in minimum currency units.

03 and higher.

paymentState

A..10

No

Payment status.

03 and higher.

feeAmount

N..12

No

Commission amount in minimum currency units.

11 and higher.

totalAmount

N..12

No

Order amount + fee (if applicable to the order).

18 and higher.
The bankInfo element contains the following parameters.

bankName

ANS..50

No

Name of the issuing bank.

03 and higher.

bankCountryCode

AN..7

No

Country codes of the issuing bank.

03 and higher.

bankCountryName

AN..160

No

Country of the issuing bank.

03 and higher.
The payerData element contains the following parameters.

email

ANS..40

No

Customer's email address.

13 and higher.

transactionAttributes

Element

No

The transactionAttributes element contains information about order details.

  • name = merchantIp, contains information about the merchant's IP address
  • name = sbolBankInvoiceId contains the ID of the transaction in SBOL.
14 and higher.

Error codes

Error code Error text
1

Expected [orderId] or [orderNumber].

7

Transaction is being processed now. Please try again later.

Error codes

Error code Error text
0

The request has been processed without system errors.

5

Access denied.

5

The user must change the password.

5

[orderId] not specified.

6

Unregistered orderId.

7

System error.

Examples

Request example

<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="942e8534-ac73-4e3c-96c6-f6cc448018f7" language="en">
             <!--Optional:-->
             <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="0s7a84sPe49Hdsddd0134567a0" orderStatus="2" actionCode="0" actionCodeDescription="Request processed successfully" amount="33000" currency="643" date="2013-11-13T16:51:02.785+04:00" orderDescription=" " errorCode="0" errorMessage="Success">
             <attributes name="mdOrder" value="942e8534-ac73-4e3c-96c6-f6cc448018f7"/>
             <cardAuthInfo maskedPan="411111**1111" expiration="201512" cardholderName="Ivan" approvalCode="123456"/>
             <authDateTime>2013-11-13T16:51:02.898+04:00</authDateTime>
             <terminalId>111113</terminalId>
             <authRefNum>111111111111</authRefNum>
             <paymentAmountInfo paymentState="DEPOSITED" approvedAmount="33000" depositedAmount="33000" refundedAmount="0"/>
             <bankInfo bankName="TEST CARD" bankCountryCode="RU" bankCountryName="Russian Federation"/>
          </return>
       </ns1:getOrderStatusExtendedResponse>
    </soap:Body>
 </soap:Envelope>