Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Parameter

Mandatory field

Adopted values

Default value

Description

Ordernumber

Yes

String, 128  characters


Order number

Merchant_ID

Yes

Number


The enterprise identifier in IPS Assist

Login

Yes

8 - 20 characters


Login (Latin letters, digits and symbol _)

Password

Yes

8 - 20 characters


Password (Latin letters and digits)

StartYear

No

Year in "2011" format

Minus three days from the current date

Sampling start date (GMT)

StartMonth

No

1 - 12

Minus three days from the current date

StartDay

No

1 - 31

Minus three days from the current date

StartHour

No

0 - 23

Minus three days from the current date

StartMin

No

0 - 59

Minus three days from the current date

EndYear

No

Year in "2011" format

Current year

Sampling end date (GMT)

EndMonth

No

1 - 12

Current month

EndDay

No

1 - 31

Current day

EndHour

No

0 - 23

Current hour

EndMin

No

0 - 59

Current minute

Language

No

RU

EN

EN

Language of the results output

Format

Yes/No

3 - XML
4 - SOAP
5 - JSON

3

Format of the results output. Passed only for a request in POST format (by default, the response will be returned in XML format). For other formats, the response is returned in the same format in which the request was made.

...

Parameter

Value

Order parameters

billnumber

Unique order number in IPS Assist

ordernumber

Order number

testmode

Test mode

ordercomment

Comment

orderamount

Original amount of order

ordercurrency

Original currency of order

firstname

Payer's first name

lastname

Payer's last name

middlename

Payer's middle name

Email

Payer's e-mail

orderdate

Date of order

orderstate

Order status

errorcode2

Error code

packetdate

Request issue date

signature

1) For signature type MD5 - empty;

2) For PGP type - an X value, signed by IPS Assist secret key and converted into BASE64 string. 

checkvalue

1) For PGP type - empty;

2) For MD5 type - uppercase(md5(uppercase(md5(SALT) + md5(Х)))), where SALT - - secret word; Х - result of the following parameters string concatenation: merchant_id, ordernumber, orderamount, ordercurrency, orderstate (without delimiters), + means string concatenation.

Operation parameters

billnumber

Extended format of billnumber

operationtype

Operation type

operationstate

Operation status

amount

Operation amount

currency

Currency of operation

ipaddress

Payer's IP-address

clientip

Transactor's IP-address

meantype_id

Type of payment means

meansubtype

Payment means subtype

meannumber

Number of payment means

cardholder

Payment means holder

cardexpirationdate

Card expired date

issuebank

Name of issue bank

bankcountry

Country of issue bank

responsecode

Response code

message

Operation result message

customermessage

Result message for a customer

recommendation

Recommendation

approvalcode

Authorization code

protocolname

Protocol

processingname

Processing

operationdate

Operation date and time (GMT)

authresult

3Ds authorization result (Y - success, N - fail, A - Attempt, U - unknown, R - rejection, C –not -not completed for any reason, E - error)

authrequired

The card involvement in 3Ds check result (1 - involved, 0 - not involved, -1 - unknown, null - error appear during involvement check)

slipno

Financial transaction identifier

errorcode2

Error code

externalrefundid1

External refund ID

3DSecure parameters

version

3DSecure protocol version

alphaauthresult

3Ds authorization result (Y - success, N - fail, A - Attempt, U - unable to authenticate, R - rejection, C –not -not completed for any reason, E - error, I - Informational Only)

challenge

Interaction with the cardholder (C - yes, F - no, D - Decoupled Authentication)

eci

Electronic Commerce Indicator (5 - full authentication, 6 - authentication attempt, 7 - without authentication)

Anchor
1
1

...

1The parameter is sent only if it was sent in the cancellation request using the wscancel service and the results output format is JSON or XML.

Anchor
2
2


2To transfer this parameter, please, contact the support service (support@belassist.by).

Expand
titleImportant features of using the parameter

The parameter is useful for orders in Declined and Timeout statuses, it helps to identify a payment error (for example, to build a report on various errors), but it does not determine the payment status. The parameter will be present in both the operation data block and the order data block. In most cases, the errorcode parameter will be 0 for an order. This does not mean that the order has been successfully paid. This means that there is no error code at the order level. The payment status is determined by the orderstate and the responsecode. In addition, an order that does not contain an operation can be created (and subsequently closed with an error).

An example of a request result for an order without an operation:

Code Block
languagexml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://www.paysecure.ru/ws/"><soapenv:Body>
<ws:orderresultResponse><orderresult>
   <order>
      <ordernumber>2022_07_12_00_order2</ordernumber>
      <billnumber>516009019085079</billnumber>
      <testmode>0</testmode>
      <ordercomment>test payment</ordercomment>
      <orderamount>67.

...

35</orderamount>
      <ordercurrency>BYN</ordercurrency>
      <firstname/>
      <lastname/>
      <middlename/>
      <email>test@test.by</email>
      <orderdate>31.08.2022 15:53:38</orderdate>
      <orderstate>Declined</orderstate>
      <errorcode>14</errorcode>
      <packetdate>31.08.2022 15:54</packetdate>
      <signature/>
      <checkvalue>BD01127113BB4E085C2FDCC98175466A</checkvalue>
      </order></orderresult>
</ws:orderresultResponse></soapenv:Body></soapenv:Envelope>

An example of a request result for an order with an operation:

Code Block
languagexml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://www.paysecure.ru/ws/"><soapenv:Body>
<ws:orderresultResponse><orderresult>
   <order>
      <ordernumber>FS1662389086973_40</ordernumber>
      <billnumber>5747838257354506</billnumber>
      <testmode>0</testmode>
      <ordercomment>test payment</ordercomment>
      <orderamount>67.35</orderamount>
      <ordercurrency>BYN</ordercurrency>
      <firstname/>
      <lastname/>
      <middlename/>
      <email>test@test.by</email>
      <orderdate>31.08.2022 15:53:38</orderdate>
      <orderstate>Declined</orderstate>
      <errorcode>0</errorcode>
      <packetdate>31.08.2022 15:54</packetdate>
      <signature/>
      <checkvalue>BD01127113BB4E085C2FDCC98175466A</checkvalue>
      <operation>
         <billnumber>5747838257354506.1</billnumber>
         <operationtype>100</operationtype>
         <operationstate>Failure</operationstate>
         <orderamount>67.35</orderamount>
         <ordercurrency>BYN</ordercurrency>
         <clientip>81.211.118.98</clientip>
         <ipaddress>0.0.0.0</ipaddress>
         <meantype_id>1</meantype_id>
         <meantypename>VISA</meantypename>
         <meansubtype>Visa Platinum Business / Visa Business Enhanced (U.S.)</meansubtype>
         <meannumber>428564****0018</meannumber>
         <cardholder>N/A</cardholder>
         <cardexpirationdate>12/25</cardexpirationdate>
         <issuebank>BANK</issuebank>
         <bankcountry>Россия</bankcountry>
         <responsecode>AS100</responsecode>
         <message>Отсутствует связь с компонентом аутентификации по 3-D Secure.</message>
         <customermessage>Ошибка аутентификации по 3-D Secure.</customermessage>
         <recommendation>Попытайтесь повторить операцию через некоторое время.</recommendation>
         <approvalcode></approvalcode>
         <protocoltypename>NET</protocoltypename>
         <processingname>XXX</processingname>
         <operationdate>31.08.2022 15:53:38</operationdate>
         <authresult></authresult>
         <authrequired>0</authrequired>
         <slipno></slipno>
         <threedsdata>
            <version>2.2.0</version>
            <alphaauthresult></alphaauthresult>
            <challenge>F</challenge>
            <eci></eci>
         </threedsdata>
         <errorcode>3DS72</errorcode>
      </operation>
   </order></orderresult>
</ws:orderresultResponse></soapenv:Body></soapenv:Envelope>
Warning

Attention! Please, note that several operations can be created within one order (payment, payment confirmation, cancellation). Furthermore, there can be several payment operations within one order, if some of them were unsuccessful. The order can have the only one successful payment operation. Thus there can be several enclosed operations within one order number in the response to a request for the operations results.

Warning

Attention! The testmode value of response has to be checked. If the payment was made in test mode (testmode = 1), then the shipment of goods or providing of services for the current request is not required.

Warning

There are performance limitations when using the service.

An example of a request result in XML format:

Code Block
languagexml
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<!DOCTYPE result [
<!ATTLIST result
          firstcode CDATA #REQUIRED
          secondcode CDATA #REQUIRED
          count CDATA #REQUIRED>
<!ELEMENT result (order*)>
<!ELEMENT order (ordernumber?,billnumber?,testmode?,ordercomment?,orderamount?,ordercurrency?,firstname?,lastname?,middlename?,email?,orderdate?,orderstate?,packetdate?,signature?,checkvalue?,operation*)>
<!ELEMENT ordernumber (#PCDATA)>
<!ELEMENT billnumber (#PCDATA)>
<!ELEMENT testmode (#PCDATA)>
<!ELEMENT ordercomment (#PCDATA)>
<!ELEMENT orderamount (#PCDATA)>
<!ELEMENT ordercurrency (#PCDATA)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT middlename (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT orderdate (#PCDATA)>
<!ELEMENT orderstate (#PCDATA)>
<!ELEMENT packetdate (#PCDATA)>
<!ELEMENT signature (#PCDATA)>
<!ELEMENT checkvalue (#PCDATA)>
<!ELEMENT operation (billnumber?,operationtype?,operationstate?,amount?,currency?,clientip?,ipaddress?,meantype_id?,meantypename?,meansubtype?,meannumber?,cardholder?,cardexpirationdate?,issuebank?,bankcountry?,responsecode?,message?,customermessage?,recommendation?,approvalcode?,protocoltypename?,processingname?,operationdate?,authresult?,authrequired?, slipno?)>
<!ELEMENT operationtype (#PCDATA)>
<!ELEMENT operationstate (#PCDATA)>
<!ELEMENT amount (#PCDATA)>
<!ELEMENT currency (#PCDATA)>
<!ELEMENT clientip (#PCDATA)>
<!ELEMENT ipaddress (#PCDATA)>
<!ELEMENT meantype_id (#PCDATA)>
<!ELEMENT meantypename (#PCDATA)>
<!ELEMENT meansubtype (#PCDATA)>
<!ELEMENT meannumber (#PCDATA)>
<!ELEMENT cardholder (#PCDATA)>
<!ELEMENT cardexpirationdate (#PCDATA)>
<!ELEMENT issuebank (#PCDATA)>
<!ELEMENT bankcountry (#PCDATA)>
<!ELEMENT responsecode (#PCDATA)>
<!ELEMENT message (#PCDATA)>
<!ELEMENT customermessage (#PCDATA)>
<!ELEMENT recommendation (#PCDATA)>
<!ELEMENT approvalcode (#PCDATA)>
<!ELEMENT protocoltypename (#PCDATA)>
<!ELEMENT processingname (#PCDATA)>
<!ELEMENT operationdate (#PCDATA)>
<!ELEMENT authresult (#PCDATA)>
<!ELEMENT authrequired (#PCDATA)>
<!ELEMENT slipno (#PCDATA)>]>
<result firstcode='0' secondcode='0' count='1'>
<order>
<ordernumber>0001-01</ordernumber>
<billnumber>511111100000001</billnumber>
<testmode>1</testmode>
<ordercomment>тестовый платеж</ordercomment>
<orderamount>100.00</orderamount>
<ordercurrency>BYN</ordercurrency>
<firstname>Test</firstname>
<lastname>Testov</lastname>
<middlename>Testovich</middlename>
<email>test@testpost.by</email>
<orderdate>06.07.2016 11:23:13</orderdate>
<orderstate>Approved</orderstate>
<packetdate>06.07.2016 12:05</packetdate>
<signature></signature>
<checkvalue> </checkvalue>
<operation>
<billnumber>511111100000001.1</billnumber>
<operationtype>100</operationtype>
<operationstate>Success</operationstate>
<amount>100.00</amount>
<currency>BYN</currency>
<clientip>111.23.11.23</clientip>
<ipaddress>0.0.0.0</ipaddress>
<meantype_id>1</meantype_id>
<meantypename>VISA</meantypename>
<meansubtype>Classic</meansubtype>
<meannumber>411111****1111</meannumber>
<cardholder>TEST</cardholder>
<cardexpirationdate>12/20</cardexpirationdate>
<issuebank>New Bank</issuebank>
<bankcountry>Russia</bankcountry>
<responsecode>AS000</responsecode>
<message> </message>
<customermessage> </customermessage>
<recommendation></recommendation>
<approvalcode>F41412</approvalcode>
<protocoltypename>NET</protocoltypename>
<processingname>Name</processingname>
 <operationdate>06.07.2016 11:24:13</ operationdate>
<authresult>Y</authresult>
<authrequired>1</authrequired>
</slipno></operation>
<threedsdata>
  <version>1.0.0</version>
  <alphaauthresult>Y</alphaauthresult>
  <challenge>C</challenge>
  <eci>5</eci>
</threedsdata>
<operation>
<billnumber>511111100000001.2</billnumber>
<operationtype>200</operationtype>
<operationstate>Success</operationstate>
<amount>100.00</amount>
<currency>BYN</currency>
<clientip>111.23.11.23</clientip>
<ipaddress>0.0.0.0</ipaddress>
<meantype_id>1</meantype_id>
<meantypename>VISA</meantypename>
<meansubtype>Classic</meansubtype>
<meannumber>411111****1111</meannumber>
<cardholder>TEST</cardholder>
<cardexpirationdate>12/20</cardexpirationdate>
<issuebank>New Bank</issuebank>
<bankcountry>Russia</bankcountry>
<responsecode>AS000</responsecode>
<message> </message>
<customermessage> </customermessage>
<recommendation></recommendation>
<approvalcode></approvalcode>
<protocoltypename></protocoltypename>
<processingname>Name</processingname>
<operationdate>06.07.2016 19:24:13</operationdate>
<authresult></authresult>
<authrequired></authrequired>
</slipno>
</operation></order></result>

An example of request result in XML format, returning the error (wrong password):

Code Block
languagexml
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<!DOCTYPE result [...]>
<result firstcode="7" secondcode="102" count="0"></result>

For the description of the first and second codes of the automated interfaces refer to the table "Error codes". Tables "Order state", "Operation type", "Response Codes", "Currency codes" also include the descriptions of possible order statuses, types of operations, response codes and currency codes, respectively. The first 6 digits and the last 4 digits of the card number are returned as the field <meannumber> value; the other digits are hidden under symbol *.

The WEB-service description for SOAP format can be seen on page:

https://<SERVER-NAME>/orderresult/orderresult.wsdl.

Note

If the order payment attempt was unsuccessful (card is not authorized or timeout), then the payment repeat will create a new unique number (billnumber) in the IPS Assist for the same order number of internet-shop, which will be reflected in the response to the order status request. In this case, the response to the request contains all the operations performed under this order number with all relevant unique billnumbers of IPS Assist in order of implementation of them.

An example of request result in SOAP format for the case of successful payment order at the second attempt, the first attempt was closed due to a timeout, and the second (successful) consists of two operations:

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://www.paysecure.ru/ws/"><soapenv:Body>
<ws:orderresultResponse><orderresult>
   <order>
      <ordernumber>13032014_122</ordernumber>
      <billnumber>5500069208498005</billnumber>
      <testmode>1</testmode>
      <ordercomment>тестовый платеж</ordercomment>
      <orderamount>100.00</orderamount>
      <ordercurrency>BYN</ordercurrency>
      <firstname>Test</firstname>
      <lastname>Testov</lastname>
      <middlename>T.</middlename>
      <email>test@test.by</email>
      <orderdate>06.07.2016 13:38:24</orderdate>
      <orderstate>Timeout</orderstate>
      <packetdate>06.07.2016 14:55</packetdate>
      <signature></signature>
      <checkvalue>863F176DC699131758B2230EA93BC911</checkvalue>
   </order>
   <order>
      <ordernumber>13032014_122</ordernumber>
      <billnumber>5500069208498070</billnumber>
      <testmode>1</testmode>
      <ordercomment>тестовый платеж</ordercomment>
      <orderamount>100.00</orderamount>
      <ordercurrency>BYN</ordercurrency>
      <firstname>Test</firstname>
      <lastname>Testov</lastname>
      <middlename>T.</middlename>
      <email>test@test.by</email>
      <orderdate>06.07.2016 14:52:09</orderdate>
      <orderstate>Approved</orderstate>
      <packetdate>06.07.2016 14:55</packetdate>
      <signature></signature>
      <checkvalue>E458CD73F1AA3F994F4D97C40613FD0A</checkvalue>
      <operation>
         <billnumber>5500069208498070.1</billnumber>
         <operationtype>100</operationtype>
         <operationstate>Success</operationstate>
         <amount>100.00</amount>
         <currency>BYN</currency>
         <clientip>10.10.10.10</clientip>
         <ipaddress>0.0.0.0</ipaddress>
         <meantype_id>1</meantype_id>
         <meantypename>VISA</meantypename>
         <meansubtype>Busines</meansubtype>
         <meannumber>462710****4724</meannumber>
         <cardholder>TEST</cardholder>
         <cardexpirationdate>12/20</cardexpirationdate>
         <issuebank>Bank</issuebank>
         <bankcountry>RUS</bankcountry>
         <responsecode>AS000</responsecode>
         <message> </message>
         <customermessage> </customermessage>
         <recommendation></recommendation>
         <approvalcode>X53576</approvalcode>
         <protocoltypename>NET</protocoltypename>
         <processingname>Fake</processingname>
         <operationdate>06.07.2016 14:52:10</operationdate>
         <authresult></authresult>
         <authrequired>0</authrequired>
         <slipno></slipno>
         <threedsdata>
             <version>1.0.0</version>
             <alphaauthresult>C</alphaauthresult>
             <challenge>C</challenge>
             <eci></eci>
         </threedsdata>
      </operation>
      <operation>
         <billnumber>5500069208498070.2</billnumber>
         <operationtype>200</operationtype>
         <operationstate>Success</operationstate>
         <amount>100.00</amount>
         <currency>BYN</currency>
         <clientip>10.10.10.10</clientip>
         <ipaddress>0.0.0.0</ipaddress>
         <meantype_id>1</meantype_id>
         <meantypename>VISA</meantypename>
         <meansubtype>Busines</meansubtype>
         <meannumber>462710****4724</meannumber>
         <cardholder>TEST</cardholder>
         <cardexpirationdate>12/20</cardexpirationdate>
         <issuebank>Bank</issuebank>
         <bankcountry>RUS</bankcountry>
         <responsecode>AS000</responsecode>
         <message> </message>
         <customermessage> </customermessage>
         <recommendation></recommendation>
         <approvalcode></approvalcode>
         <protocoltypename></protocoltypename>
         <processingname>Fake</processingname>
         <operationdate>06.07.2016 14:53:37</operationdate>
         <authresult></authresult>
         <authrequired>0</authrequired>
         <slipno></slipno>
         <threedsdata>
             <version>1.0.0</version>
             <alphaauthresult>Y</alphaauthresult>
             <challenge>C</challenge>
             <eci>5</eci>
         </threedsdata>
      </operation>
   </order>
</orderresult></ws:orderresultResponse></soapenv:Body></soapenv:Envelope>
Warning
titleAttention!

The following root certificates have to be installed on the requester side in the Trusted Root Certification Authorities Store for correct work with WEB-services via secure communication over TLS:

Before to start, check the presence of these certificates in the trust store and add tit if necessary.

Back on top