References
API Endpoints
Swagger Docs: TecsClient ECR Rest Endpoint
Endpoint | Method | Description |
---|---|---|
https://{-*}.tecs.at/tecsclientrest/makeTransaction | POST | Initiate a payment transaction. |
To replace {-*}
with the desired environment you work in, refer to API Endpoints.
SmartPOS Message Type Table
This is the table of Transaction Message Types determining the transaction type. This is a collection of String constants defined under Transaction.MessageType
Constant Field | Value |
---|---|
ABORT | 0017 |
BALANCE | 0001 |
CANCEL | 0013 |
CONNECTION_STATUS | 2667 |
REFUND | 0011 |
DIAGNOSTIC | 2668 |
GET_TERMINAL_STATUS | 9043 |
PRE_AUTHORIZATION | 0001 |
RECONCILIATION_REQUEST | 0033 |
SALE | 0001 |
SCANNER | 7363 |
SCANNER_CAMER | 7364 |
TIP_SALE | 0907 |
For some transactions, these values have to be used in combination with txOrigin
. For example, for a pre-auth transaction we have:
-
transaction.msgType = Transaction.MessageType.PRE_AUTHORIZATION;
-
transaction.txOrigin = "5";
For the full list of txOrigin
values, refer to References
Transaction Origin Indicators
This field, originInd, specifies the type of request for card data.
Transaction Origin Identifiers
Android NaTALI User Guide
Version: 1.164.1.10
Android NaTALI application provides functionality to authorize EMV and contactless transactions Android SmartPOS device. As mentioned in the Getting Started, the configuration of the terminal can be changed during runtime. Every terminal has its own unique ID (Terminal ID - TID).
Connection Types
Apart from the capability to connect to localhost:9990
via TCP, Bluetooth Connection and Serial Port Connection Solution can be implemented with SmartPOS iConnection Java Interface.
Hosts and Ports
Before initializing NaTALI, make sure to allow the following hosts and ports in the firewall to be able to connect via any connection type (e.g. 3G, 4G, Wi-Fi, Ethernet, etc.) to our TECS system and establish communication between terminals and our Test or Production environment. More precisely, This is the NaTALIE connection to the TECS Payment Backend Systems whereas localhost:9990
is where NaTALIE is hosted on for the ECR app to establish the connection to.
Production Environment
Host | Port |
---|---|
prod-swyft.tecspayment.com | 8445 |
prod-swyft.tecspayment.com | 9445 |
prod.tecspayment.com | 9514 |
prod.tecspayment.com | 9440 |
prod-swyft.tecspayment.com | 8445 |
prod.tecspayment.com | 8448 |
Testing Environment
Host | Port |
---|---|
test.tecs.at | 8445 |
test.tecs.at | 9445 |
test.tecs.at | 514 |
test.tecs.at | 9440 |
test.tecs.at | 8445 |
test.tecs.at | 8448 |
List of NaTALI modes
NaTALI mode | Connection | NaTALI on terminal mode | Terminal OS | ECR system | Integration over |
---|---|---|---|---|---|
Stand-Alone solution | localhost on the terminal | Internal TECS client | Android | Java | SmartPOS SDK |
Semi-integrated mode | local network (ethernet, wifi) | Internal TECS client | Android | Java | SmartPOS SDK |
Semi-integrated Bridge Mode | local network (ethernet, wifi) | Internal TECS client | Android | Any | SmartPOS SDK |
PinPad Mode | cloud | PIN PAD mode | Android | Any | API TECS engine |
Bridge Mode and ISV Protocol must be delivered by the ECR
Use cases
Initialization
NaTALI runs as a background service on the device startup. In the first 30-some seconds the NaTALI is in initialization state and is not ready to be used, this state notifies the device with the status Payment is alive. When the initialization is completed, NaTALI switches to the state Payment is ready and is ready to be used.
Initiate a transaction
To initiate a transaction, it is necessary to connect the ECR app to the NaTALI application. After the connection has been established, the ECR app is ready to send transaction requests. Triggering a transaction results in NaTALI launching the SwipeTapCard
activity and will change its state to Payment waiting for card. From this point on, the standard transaction flow will take place. The response of the transaction is sent back to the ECR app and NaTALI returns to the Payment is ready state. This is typically a TCP connection on localhost:9990
.
SmartPOS interface
In brief, SmartPOS interface ensures communication between the external SmartPOS systems and NaTALI. It is basically used to initiate a transaction that is eventually sent to TECS Payment Backend Systems. It is the SmartPOS SDK that handles the communication with NaTALI.
Possible states of the NaTALI application
During runtime, NaTALI goes through different states which can determinate its behavior. The current state of the application is shown in the status bar through the basic Android notification. This notification shows the terminal ID of the current terminal, connection interface and state of application.
Payment is alive
The application has started with the configuration loading.
Payment is ready
The application is ready to pay.
Payment is stopped
The application is not running but it automatically resets within 60 seconds.
Payment's interpreter error
The application is running, but payment can't be made. In this scenario, kill application or restart terminal.
Payment is launching
The application is turned off, but it is (re)starting. This state is hard to spot as it takes 500 milliseconds.
Payment is reloading
Android reloads the application. This state occurs in case the user kills the application.
Payment processing
In this application status, the service buttons (power, back, home, last tasks buttons) are inactive during this state.
Payment waiting for card
The application is waiting for card. Service buttons (power, back, home, last tasks buttons) are inactive during this state.
NaTALI state flow
The workflow of NaTALI states is as follows:
As depicted, the Payment Ready state is capable of jumping into either
Payment is stopped
orPayment's interpreter error
state should any irregularities occur before initiating the transaction
Updated 5 months ago