To transfer the encrypted payment data block send a request to the IPS Assist server via HTTP POST method (n UTF-8 coding).
The request URL for transfer the encrypted payment data block:
https://<SERVER_NAME>/pay/tokenpay.cfm ,
As <SERVER_NAME> you should use the received from support service (support@assist.ru) value as the domain name.
List of request parameters:
Parameter | Mandatory field | Adopted values | Default value | Description |
Merchant_ID | Yes | Number | The enterprise identifier in IPS Assist | |
Login | Yes | 8-20 characters | Login in IPS Assist (Latin letters, digits and symbol _) | |
Password | Yes | 8-20 characters | Password in IPS Assist (Latin letters and digits) | |
OrderNumber | Yes | 128 characters | Order number in the merchant payments system | |
OrderAmount | Yes | Number, 15 digits (delimiter: '.') | Payment amount, in original currency (e.g., 10.34). | |
OrderCurrency | No | 3 characters | Currency of legal entity/enterprise | Code of currency of the OrderAmount |
OrderComment | No | 256 characters | Comment. | |
Delay | No | 0 – one-stage operation 1 – double-stage operation | 0 | Attribute of a bankcard authorization for the double-stage operation mode. |
Language | No | RU – Russian, EN – English | Language of legal entity/enterprise | Language of authorized pages |
ClientIP | No | Maximum of 15 digits, 4 delimiters «.» | IP-address of the customer | |
TokenType | No | 1 – Apple Pay; 2 – Google Pay; 3 – Samsung Pay | 1 | Payment Token Type Identifier |
PaymentToken | No | JSON | Payment Token | |
Lastname | No | 70 characters | Customer's last name. | |
Firstname | No | 70 characters | Customer's first name. | |
Middlename | No | 70 characters | Customer's middle name. | |
No | 128 characters | Customer's e-mail. | ||
Address | No | 256 characters | Customer's address. | |
HomePhone | No | 64 characters | Customer's home phone number. | |
WorkPhone | No | 20 characters | Customer's work phone number. | |
MobilePhone | No | 20 characters | Customer's mobile phone number. | |
Fax | No | 20 characters | Customer's fax number. | |
Country | No | 3 characters | Customer's country. | |
State | No | 3 characters | Customer's region. | |
City | No | 70 characters | Customer's city. | |
Zip | No | 25 characters | Customer's post zip code. | |
isConvert | No | 0 – don't convert to the base currency 1 - don't convert to the base currency if possible 2 – always convert to the base currency | 1 | Currency conversion indicator |
Format | No | 4 – SOAP | 5 | Results format. |
Signature | No | String | The string is joined from the following order parameters: Merchant_ID;OrderNumber;OrderAmount;OrderCurrency with semicolon as delimiter. Then the MD5 hash prepared from this string. Hash is signed by private RSA key of the merchant. Key length - 1024. Received bit sequence is a signature. Signature is transferred BASE64 coded string. | |
RecurringIndicator | No | 1 –recurring payment 0 – standard payment | 0 | Recurring payment indicator |
RecurringMinAmount | No/Yes | Number, 15 dig. (decimal separator '.') | Minimum payment amount for recurring payments Mandatory when RecurringIndicator = 1 | |
RecurringMaxAmount | No/Yes | Number, 15 dig. (decimal separator '.') | Maximum payment amount for recurring payments Mandatory when RecurringIndicator = 1 | |
RecurringPeriod | No/Yes | 10 digits number | Recurring interval in days Mandatory when RecurringIndicator = 1 | |
RecurringMaxDate | No/Yes | Date in string representation DD.MM.YYYY | Finish date of recurring payments Mandatory when RecurringIndicator = 1 | |
Chequeitems | No/Yes** | String in JSON-format | Cheque items according to the document “Payment with cheque”. | |
GenerateReceipt | No | 0 or 1 | 1 | Permission to generate of a fiscal receipt. If the value of parameter is 0, the generation of a fiscal receipt is prohibited for this order. |
Tax | No | 10 characters | Parameter is determined by the “Default tax rate” option of the merchant and used in the mode without transfer of the cheque items (the entire amount must be paid with one rate). | |
ReceiptLine | No | 128 characters | Parameter is determined by the “Default text of cheque item” option of the merchant and used in the mode without transfer of the cheque items. | Text description of the cheque item, if the cheque has one single item. |
FPMode | No | Number | Parameter is determined by the “Default payment method” option of the merchant and used in the mode without transfer of the cheque items. | |
TaxationSystem | No/Yes* | Number | From the merchant’s or CRE settings |
*If the merchant uses several tax systems, the transfer of this parameter becomes mandatory.
**The cosist of the cheque (fields with the name, price per unit of product, tax rate and payment method for each item) is determined according to the following rules.
- If the request contains the ChequeItems structure (see the document “Payment with a cheque”), then a cheque is generated with the number of items according to the number of rows passed to ChequeItems, the parameters must be specified in each item:
- product и/или name;
- price;
- quantity;
- amount;
herewith:
the name of each item is built as the combination of the product and name parameters, separated by a space (if both are transferred) or as one of the product or name parameters, respectively (if only one is transferred);
if the Tax or FPmode parameters are not transferred in items, then they can be transferred in the request parameters (in this case, the values of these parameters will be the same for all cheque items transferred to ChequeItems);
if the Tax or FPmode parameters are not transferred in the request parameters, then their values are taken from the merchant settings (the values of these parameters will be the same for all cheque items transferred to ChequeItems);
if the merchant settings for these parameters are missing, the request processing ends with an error (there is not enough data to perform the operation).
2.If the request does not contain the CheckItems structure, then a cheque is generated with one item, in which:
- the item name is taken from the ReceiptLine parameter, if it is transferred in the request; if the ReceiptLine parameter is not transferred in the request, then the item name is taken from the merchant settings; if the merchant settings for these parameters are missing, then the name "Payment for the order" is used for the name;
- the unit price of product is taken from the request parameter Amount;
- the quantity is always equal 1;
if the Tax or FPmode parameters are not transferred in the request parameters, then their values are taken from the merchant settings;
if the merchant settings for these parameters are missing, the request processing ends with an error (there is not enough data to perform the operation).
The list of response parameters:
Name | Description |
Order parameters | |
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 |
firstname | Payer's first name |
lastname | Payer's last name |
middlename | Payer's middle name |
Payer's e-mail | |
orderdate | Date of order (GMT) |
orderstate | Order status |
packetdate | Request issue date (GMT) |
signature | · For signature type 'MD5' - empty · For signature type 'PGP' – value X signed by secured key of IPS Assist, BASE64 encoded |
checkvalue | 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: billnumber.<operation number> |
operationtype | Operation type |
operationstate | Operation status |
amount | Operation amount |
currency | Currency of operation |
ipaddress | Payer's IP-address |
clientip | Client's IP-address |
meantype_id | Payment means ID |
meantypename | Type of payment means |
meansubtype | Payment means subtype |
meannumber | Number of payment means |
cardholder | Payment means holder |
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 |
protocoltypename | Protocol |
processingname | Processing name |
operationdate | Operation date and time(GMT) |
authresult | 3Ds authorization result (Y – success, N - fail, A - Attempt, U – unknown) |
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 |
firstcode* | The first code of automated interfaces error |
secondcode* | The second code of automated interfaces error |
continueurl* | The address to redirect to the authentication page for the buyer |