Zip and Country Codes| 
                                
                            
                            
                                
                                Development
                                
                            
                            
                                
                                Reference Materials
                                
                            
                            
                                
                                
                                 
                                    
                                 
                                
                                
                            
                        
                    
                
            
        
    
                
                
    
    
    
    
    
    
        
  
                    
            
            
            
                            
                                                                                                    
                        
                                                
                         
                    
                     
                                                                                                                                
                                                                                                    
                                                    
                                
                                
                                Cross-reference Fields   
                                
                                    
                                                                                
                                            The system provides an ability to specify values that can be used for cross-referencing of entities between the gateway and a submitter’s system. The fields that can be provided by an integrated external system are listed below: 
 
| Entity
 | 
Field Name
 | 
Description
 | 
 
| Ticket
 | 
ticketNumber*
 | 
Identifier of a ticket assigned by a POS system.
 | 
 
| ticketId*
 | 
Identifier of a ticket generated by a terminal.
 | 
 
| Item
 | 
itemNumber*
 | 
Identifier of a item assigned by a POS system.
 | 
 
| itemId*
 | 
Identifier of a item generated by a terminal.
 | 
  
 
*Fields  ticketNumber/ticketId and  itemNumber/itemId can be used subsequently as a reference in the operations designed to update tickets (close-ticket) and update items (update-item, remove-item).                                          
                                     
                                 
                             
                                                    
                                
                                
                                Get Resource Response   
                                
                                    
                                                                                
                                            The content of the response for get-resource operation is the content of the files that terminal attempts to download from the TMS. To help you with the download process, the following HTTP headers will be set:
 
- Status-Code, most common values: 200 – resource was found and content can be read or 404 – resource was not found;
 
- Content-Type - identifies the content type of the file being served;
 
- Content-Length - identifies the length of the file delivered.
 
                                          
                                     
                                 
                             
                                                    
                                
                                
                                Password Encoding   
                                
                                    
                                                                                
                                            If passwords, as well as other fields, contain special characters (#, @, % etc.), the value of the fiels must be URL encoded.
 
For example, if the password is: 'Pa$$word', the URL encoded version of this password should be: Pa%24%24word.
 
For more information please read this  article.
                                          
                                     
                                 
                             
                                                    
                                
                                
                                System Message   
                                
                                    
                                                                                
                                            For cases when it is necessary to pass control information from a terminal to the TMS,  systemMessage field is used.
 
Currently, the following values are supported: 
 
- #initialized - terminal can pass this value to notify TMS that the terminal has been initialized.
 
- #ininjection – terminal can pass this value to notify TMS that the certificate has been signed. 
 
- #provisioned - terminal can pass this value to notify TMS that the terminal is initialized and ready for activation by a merchant. 
 
- #active - terminal can pass this value to notify TMS that the terminal has been registered and activated.
 
- #restart - terminal can pass this value to notify TMS that a registered terminal has performed an unplanned restart. The format of this message is the following: #restart(yyyyMMddHHmm,U), where yyyyMMddHHmm is a date and time of restart, and U indicates that restart was unplanned.
 
 
Note: 
 
- hashtag symbol (#) should be passed as URL-encoded value, otherwise the operation will get failed. See integration notes for more information.
 
- such statuses as #initialized and #ininjection are used for Sunmi terminals only. The #provisioned status is used both for Sunmi and Ingeniko terminals.
 
                                          
                                     
                                 
                             
                                                    
                                
                                
                                TMS parameters   
                                
                                    
                                                                                
                                            Terminal application behavior is controlled by a series of parameters, which are managed by the TMS. The terminal parameters get synchronized with the terminal both automatically and manually:
 
- automatic synchronization occurs on the regular basis (every hour) by calling get-configuration operation;
 
- manual synchronization occurs when the Parameters menu is opened on the terminal. 
 
 
When the terminal is used, a user can review or manage the TMS parameters via the Parameters menu. Some parameters cannot be changed due to being set as read-only at the TMS level. Such parameters are sent to the terminal with  @@ prefix included and cannot be modified at the terminal level. 
 
To access the menu, manager PIN is required. In case if terminal services (such as get-credentials, get-time, get-parameters, get-update) are needed to access, administrator PIN is required. 
 
See the following  table to review a full list of the terminal parameters.                                          
                                     
                                 
                             
                                                    
                                
                                
                                Terminal Code   
                                
                                    
                                                                                
                                            When provisioning terminals in the portal, you have the ability to enter a 3-digit, numerical terminal code. This terminal code is passed in all API requests to identify the transaction’s target device. As such, it’s important that these terminal codes be tracked within your system. If you do not enter a terminal code, one will be assigned automatically. Each terminal will have a sticker which displays the terminal’s key, a numerical identifier which is comprised of the concatenated account code and terminal code. When a terminal arrives at its destination, the recipient should have the ability to register the device within your software, using the terminal code or key. We recommend that you enter the terminal in your database when you first provision it, making sure to include the terminal code and its related account code. This will allow you to associate the terminal with its recipient upon registration.                                         
                                     
                                 
                             
                                                    
                                
                                
                                Terminal Hot Keys   
                                
                                    
                                                                                
                                            Terminals of ICT, IPP, IWL, ISC Touch (Ingenico) and MX915, MX925 (VeriFone) models have special function buttons. They can be used to simplify an interaction with the terminal. You can use tables below as the reference to understand how the buttons are programmed in any of the terminal modes. Also, with these hot keys, you can quickly access a particular function that you need by pressing keys on the terminal keypad, as opposed to making selections within the terminal menus, which might be more time consuming.
 
Note:  F1->[number] implies subsequent pressing of the key. For example, F1->7->1 means F1 is followed by 7, and 7 is followed by 1 on the terminal keypad.
 Ingenico/Verifone
 
| Button
 | 
Cloud
 | 
Standalone
 | 
 
| Ingenico
 | 
Verifone
 | 
#
 | 
 
| F1
 | 
1
 | 
0
 | 
-
 | 
Sale
 | 
 
| 1
 | 
-
 | 
Credit
 | 
 
| 2
 | 
-
 | 
Void
 | 
 
| 3
 | 
-
 | 
Clear Batch
 | 
 
| 4
 | 
-
 | 
Capture
 | 
 
| 5
 | 
-
 | 
Close Batch
 | 
 
| 6
 | 
-
 | 
Balance Inquiry
 | 
 
| 7
 | 
Services
 | 
 
| 8
 | 
Parameters
 | 
 
| 9
 | 
Diagnostic
 | 
 
| F2
 | 
2
 | 
-
 | 
-
 | 
Sale
 | 
 
| F3
 | 
3
 | 
-
 | 
-
 | 
Credit
 | 
 
| F4
 | 
4
 | 
-
 | 
-
 | 
Void
 | 
 
F->Recovery Note: System PIN is required to gain access to Telium system menu and Recovery menu item.
 |  
0+-< pressed simultaneously Note: Combination must be held for 7 seconds.
 |  
-
 | 
Recovery
 | 
  
 
Services
The following table is  Services menu, which is available at F1 -> 7 button in Ingenico and 1 -> 7 button in Verifone terminal menus.
 
| Button
 | 
Menu Services
 | 
Cloud
 | 
Standalone
 | 
 
| 1
 | 
Run merchant-info
 | 
x
 | 
x
 | 
 
| 2
 | 
Run log-state
 | 
x
 | 
 | 
 
| 3
 | 
Run get-credentials
 | 
x
 | 
x
 | 
 
| 4
 | 
Run get-parameters
 | 
x
 | 
x
 | 
 
| 5
 | 
Run get-update
 | 
x
 | 
x
 | 
 
| 6
 | 
Run get-time
 | 
x
 | 
x
 | 
  
 
 
                                            
                                     
                                 
                             
                                                    
                                
                                
                                Operations Frequency   
                                
                                    
                                                                                
                                            Unlike other APIs, operations of the TMS API get executed mostly automatically. To learn how often and at what time automatic operations are run, see the table below. Note that the given time corresponds to the terminal time.
 
| Operation
 | 
Frequency
 | 
Description
 | 
 
| Get Parameters
 | 
Runs every hour (e.g. at 9:00; 10:00, 11:00, etc) and when a terminal gets restarted.
 | 
Retrieves terminal parameters from the server.
 | 
 
| Get Credentials
 | 
Runs every 5th day of the month at 04:15 АМ.
 | 
Changes a terminal password (requests are submitted simultaneously).
 | 
 
| Log Credentials
 | 
 
| Get Configuration
 | 
Runs every hour (e.g. at 9:00; 10:00, 11:00, etc) and when a terminal gets restarted.
 | 
Retrieves terminal EMV (contact/contactless) configurations.
 | 
 
| Get Time
 | 
Runs at 3:20 АМ and when a terminal gets restarted.
 | 
Retrieves server time to synchronize it with a time of a terminal. 
 | 
 
| Get Update
 | 
Runs at 4:00 АМ and when a terminal gets restarted.
 | 
Checks whether new terminal updates are available.
 | 
 
| Log Diagnostics
 | 
Runs at 4:30 АМ and when a terminal gets restarted.
 | 
Sends terminal diagnostics information to the server.
 | 
 
| Upload Log
 | 
Runs during diagnostics and when a terminal gets turned on or restarted.
 | 
Uploads a terminal log to the server.
 | 
 
| Log State
 | 
Runs when a terminal gets turned on or restarted.
 | 
Sends various information to the server (notifications about provisioned terminals, planned/unplanned restarts, etc).
 | 
 
| Get Key
 | 
Runs when a terminal gets restarted and with each void if macValue is invalid. The key is received in response automatically after processing every 200 transactions or earlier if a response notifying about a new key is retrieved from a processor.
 | 
Retrieves  MAC key.
 | 
 
Runs when a terminal gets restarted. The key is received in response automatically every 18 months.
 | 
Retrieves P2PE key.
 | 
  
 
 
The rest of TMS API operations are run manually. To learn in which cases such operations can be run, see the table below. 
 
| Operation
 | 
When can be run
 | 
Description
 | 
 
| Activate Terminal
 | 
During a terminal’s activation.
 | 
Activates a terminal.
 | 
 
| Set Parameters
 | 
After modification of terminal parameters on a terminal.
 | 
Saves changes done via a terminal on the server.
 | 
 
| Get Resource
 | 
During the update.
 | 
Retrieves a particular resource during the update process.
 | 
 
| Log Update State
 | 
During the update.
 | 
Logs data associated with the update.
 | 
  
 
                                         
                                     
                                 
                             
                                                    
                                
                                
                                Profile Data   
                                
                                    
                                                                                
                                            The merchant-info request will provide a complete list of 'processor MID' and 'processor TID' associated with the given profile. This feature was added to check all MIDs and TIDs configured for the industries of this profile. This list is transmitted in the ‘profileData’ field using JSON format. Each MID and TID pair is stored as separate objects grouped by industry.
 
 
Example of ‘profileData’ in JSON format:
 
[
 
	{
 
		"configurations": [
 
			{
 
				"merchantId": "290000111",
 
				"industry": "retail",
 
				"terminalId": "12345678901"
 
			},
 
			{
 
				"merchantId": "290007000",
 
				"industry": "moto",
 
				"terminalId": "29000700002"
 
			},
 
			{
 
				"merchantId": "2900070003",
 
				"industry": "ecommerce",
 
				"terminalId": "290007000023"
 
			}
 
		],
 
		"type": "cards-realtime/elavon-eu"
 
	}
 
]
                                         
                                     
                                 
                             
                                                
                        
                    
                
                
                
                
                
            
        
        
        
        
        
    
    
    
    
    
    
    
    
    
     
    			
    				
    		
    		
    			
    	
    			
    			
    					
    			
    		
    				
    	        
    	        
    											
    										
    
    
    
    
    
    
 
 |