To notify the merchant about payment results in real-time the IPS Assist provides the service for synchronous sending the results of the payment to the merchant server. After completion of the buyer payment (by bankcard or by e-cash) the message is being sent to the merchant server via HTTP POST or SOAP method with parameters of the payment.
In the Personal Account you can specify the URL for sending the results, the type of signature and the secret word.
After you configure and activate the service the results of transactions by bankcards and electronic cash (payments, confirmations, cancellations - depending on settings) will be sent to the enterprise server. The results of payment transactions completed due to a timeout are not sent.
Attention! For security reasons results are sent only on ports 443, 8443, 80, 8080. No other ports can be used to receive the results!
To use the service through HTTPS a certificate from the trusted certification authority must be used.
The list of the sent parameters:
Parameter | Value |
merchant_id | The merchant identifier in IPS Assist |
ordernumber | Order number |
billnumber | Unique order number in IPS Assist |
testmode | Test mode |
ordercomment | Comment |
orderamount | Original amount of order |
ordercurrency | Original currency of order |
amount | Order amount |
currency | Order currency |
rate | Currency rate |
firstname | Payer's first name |
lastname | Payer's last name |
middlename | Payer's middle name |
Payer's e-mail | |
clientip | Customer IP-address |
ipaddress | Payer's IP-address |
meantype_id | Payment means ID |
meantypename | Type of payment means |
meansubtype | Subtype of payment means |
meannumber | Number of payment means |
cardholder | Payment means holder |
cardexpirationdate | Card expired date |
issuebank | Issuing bank name |
bankcountry | Country of issuing bank |
orderdate | Date of order(GMT) |
orderstate | Order status |
responsecode | Response code |
message | Message |
customermessage | Result message for customer |
recommendation | Recommendation |
approvalcode | Authorization code |
protocoltypename | Protocol |
processingname | Processing name |
operationtype | Operation type |
operationdate | Operation date and time(GMT) |
authresult | 3Ds authorization result (Y - success, N - fail, A - Attempt, U - unknown, R - rejection, C -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) |
packetdate | Request date (GMT) |
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 | Request validation code 1) For signature type MD5 - calculated as: uppercase(md5(uppercase(md5(SALT) + md5(Х)))), where SALT - the secret word; Х - is string concatenation of merchant_id, ordernumber, orderamount, ordercurrency, orderstate string representations (without delimiters). 2) For PGP type - empty |
errorcategory3 | Category of responses by unsuccessful payments received from VISA |
merchantadvicecode3 | |
slipno | Financial transaction identifier |
payment_Id1 | External operation ID |
fiscalreceipt_Id1 | Cheque ID |
status1 | Cheque status |
fiscal_receipt_number1 | Cheque number in the shift |
shift_number1 | Shift number |
receipt_datetime1 | Date and time of the document from FS |
total1 | The total amount of the document |
fn_number | FS number |
ecr_registration_number1 | CR registration number |
fiscal_document_number1 | Fiscal number of the document |
fiscal_document_attribute1 | Fiscal document attribute |
errortext1 | Error text |
taxationsystem1 | Code of the taxation system |
chequeItems2 | The string with the cheque items in the JSON format according to the document "Payment with cheque". |
extrrn3 | Unique payment number in processing |
3DSecure parameters | |
version | 3DSecure protocol version |
alphaauthresult | 3Ds authorization result (Y - success, N - fail, A - Attempt, U - unable to authenticate, R - rejection, C -not completed for any reason, E - error, I - Informational Only, S - without authentication due to low risk score) |
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) |
1 Fiscalization parameters are sent only when the "Send fiscal results" option is enabled in the Personal Account of IPS Assist.
2 Order items are sent only if the "Send order positions" option is enabled in the Personal Account of IPS Assist.
3To transfer this parameter, please, contact the support service (support@assist.ru).
If the expected response setting is different from HTTP 200, then in response to the message about the payment results, the IPS Assist expects an xml package from the enterprise system.
The response must be generated depending on the Protocol Type setting in the Personal Account section Payment result options.
For POST protocol type
In case of the successful receiving and processing message the format of the replay packet should be:
<?xml version="1.0" encoding="UTF-8"?> <pushpaymentresult firstcode="0" secondcode="0"> <order> <billnumber>value</billnumber> <packetdate>value</packetdate> </order> </pushpaymentresult>
In case of failure:
<?xml version="1.0" encoding="UTF-8"?> <pushpaymentresult firstcode="value" secondcode="value"> </pushpaymentresult>
For SOAP protocol type
In case of the successful receiving and processing message the format of the replay packet should be:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <m:PushPaymentResultResponse xmlns:m="http://www.assist.ru/wsdl"> <return xmlns:si="http://www.assist.ru/type/" xsi:type="si:SOAPStruct"> <billnumber>5696145241469255.1</billnumber> <packetdate>26.06.2019 08:44:00</packetdate> </return> </m:PushPaymentResultResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
In case of failure:
<?xml version="1.0" encoding="windows-1251"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Fault> <faultcode>5</faultcode> <faultstring>143</faultstring> <detail /> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
For the description of the first and second codes of the automated interfaces refer to table "Error codes"
The system repeats sending the payment result message with increasing intervals during the four hours but not more than 8 times, if:
- the setting of expected response is different from HTTP 200 and the merchant does not respond with either a successful or unsuccessful payment result message;
- the setting of expected response is HTTP 200, but the received response is different.
Attention! When the received replay indicates a failure in message handling the sending of payment results is not repeated. Values of firstcode, secondcode are used for used to diagnose the problems.
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.