TMS APIs

Version

Current Specification Version: V8.2.0

View Change History

General Information


Overview  

The purpose of this document is to provide documentation for 3rd parties to integrate with CSI Pay terminal management.

Connectivity Information  

The connection URL for the sandbox server: https://portal-stage.csipay.com/gates/tms/xurl. The callback URL for returns: must be provided by the merchant.
Authorization is done via service users. To access the API, a service user is required to be granted with a corresponding privilege. A user can submit API requests using either associated credentials or temporary password generated via authentication operation.

When submitting an API request, you can use either UniPay server URL or the Sanitizing Data Filter (Unibroker) server URL as an endpoint.
Requests that contain tokenized card numbers/bank account numbers can be submitted directly to {Unipay} server.
To reduce PCI exposure, requests with non-tokenized (raw) account data should be passed through the sanitizing data filter server. Otherwise, L04 error will be returned (Processing of raw account data is not allowed through the specified API end-point for the current user).
If you don’t have a specific reason, we recommend sending all the requests to the same endpoint (data filter).
To learn more about service users and end-points used for API submission, review Security Management guide.

Request method is POST.
The content-type must be set to application/x-www-form-urlencoded when get-update, get-resource, log-state operations are performed.
The content-type must be set to multipart/form-data or application/x-msdownload when upload-log operation is performed.

Request fields are passed within HTTPS request body (including cases with callbacks) and are required to be URL-encoded.
Response fields are passed within HTTPS response body.
Both request and response field values are passed using name1=key1&name2=key2 format.

Supported Operations

Get Credentials   
allows a terminal to get initial authentication credentials or reset existing ones.
Log Credentials   
allows a terminal to confirm to TMS successful change of credentials (received through Get Credentials operation).
Get Parameters   
allows a terminal to receive the latest version of the terminal parameters as they are set in TMS.
In get-parameters response you receive a set of parameters, that can include parameters with prefix @@ - these parameters cannot be modified.
Please note that all parameters that are returned in the response are optional and can be reviewed via the corresponding integration notes.
Set Parameters   
allows a terminal to update TMS with any changes in the terminal parameter values.
In set-prameters request you can set parameters with prefix @@ to define them as parameters that can't be modified.
Please note that all parameters that are submitted in the request are optional and can be reviewed via the corresponding integration notes.
Activate Terminal   
allows a terminal to activate itself with TMS.
Get Update   
allows a terminal to get the information about updates available for the terminal.
Get Configuration   
allows a terminal to get information about the terminal profile, terminal data and EMV data.
Please note that all parameters that are returned in the response are optional and can be reviewed via the corresponding integration notes.
Get Resource   
allows a terminal to download required resources for the update (compiled binary files).

Note: For Get Resource Response see integration notes for more information.

Log Update State   
allows a terminal to update TMS with the outcome of update procedures (received as part of Get Update operation).
Upload Log   
allows a terminal to upload a log to TMS.
Log State   
allows a terminal to transmit its current state (connection path) to TMS.
Get Time   
allows a terminal to get current time.
Get Key   
allows a terminal to get a value of MAC or P2PE key. Type of the key can be specified in the request.
Log Diagnostics   
allows a terminal to send terminal diagnostics information to TMS.
Merchant Info   
allows the submitter to get the business information about a merchant.
Initialize Terminal   
allows to associate a physical device with terminal ID and get it initialized.
Request Authentication   
allows a physical device to request delivery of a second authentication factor necessary to initialize the device.
Authenticate Terminal   
allows a physical device to get authenticated to perform other operations.

Message Formats


Usage:

R - required in request/always present in response for direct debit transactions and credit card transactions of all levels (I, II, III).
O - optional in request/not always present in response.
C - conditional; conditions of the usage are defined below the corresponding section.
E - echo back from request; if present in request, it is present in response, if it is not present in request, it is not present in response.
R2 - required in request/always present in response for credit card transactions of level II and III only; optional for direct debit and level I credit card transactions.
R3 - required in request/always present in response for credit card transactions of III only; optional for direct debit and level I, II credit card transactions.
SR - required in request/always present in response for split transactions only.
I - for internal use only.
N - not used.
* - required fields in these specific sections are only required if this specific feature is used.