ATM and POS - Functional User Guide
ATM and POS - Functional User Guide
2. Functionality in T24
ATM interface is a middle layer that resides between Switch(ATM) and T24(Host), the
middle layer is connected to the application server with a dedicate port, which listens for the
incoming ISO messages from the interface. The incoming message is then converted to T24 readable
format (OFS - Open Financial Service) to process the message. Either success / failure the response
will be sent back to the switch in the same manner as it received. The ISO messages are
transmitted from the Switch to T24 via TCP/IP.
Application Server can be configured for listening ISO messages on required number of ports
(this is decided based on the usage volume of ATM/POS). Application servers supported by T24 ATM
Interface.
TC Server
Jboss
Websphere
Weblogic
Once the interface is started, the parameters required for the Interface are read
from the mapping tables. Java Listener listens to a port where ATM Switch will be sending
the ISO8583 messages. Once the raw ISO8583 message is read from the port, ATM Interface
converts this raw ISO message into OFS message format and sends it to T24, for the
execution of corresponding transaction. After the transaction has been completed at T24,
the response messages are formatted in ISO8583 format and sent back to ATM Switch.
The below picture is a generic flow chart for ISO message processing in T24
4. How to do ATM testing
To test an ATM interfaces, it is must to know about ISO messages & their respective data
elements in the message, Parameter setup in T24.
A. ISO Messages
As mentioned ISO8583 is the format where the switch exchanges the communication of the
transactions to the host (Core Banking System) made by a card. T24 supports ISO 8583:87 and ISO
8583:93 versions only, where all mentioned financial / non-financial transaction are supported by
both the versions. ISO messages are made of three parts
The first 4 characters after header message is called MTI, indicates of what type of message either
Online or Offline which defines how message should flow to the system.
Online – transaction that happens on real time which hits the host
Offline – transaction that hits the host after certain interval of time
Example:
0800 >> Request for network sign on
0810 >> Response for network sign on
0200 >> Online request for a financial transaction
0210 >> Online response for a financial transaction
0220 >> Offline request for a financial transaction
0221 >> Financial transactions repeat
0230 >> Offline response for a financial transaction
0420 >> Reversal request
0421 >> Reversal repeat
0430 >> Reversal response
One or more bitmaps indicating data elements like Transaction Date / Amount / Base
Currency / Account Currency / Card data / ATM ID / ATM Location / Country Code
Reserved fields, Data elements indicating data elements Debit Account Number / Bank
Institution ID / Credit Account No / Not used fields
ISO0160000700200B23CE4812EB0801800000000140000040120000000005307160212112048029295112
3470212201002126011826051020514745375576280500007084=20102211629092800000D13657222222
000000 IO11129 INFICATT TONTON JB250 634012NETWNETW-
003013BNK NETW10100P116340800000009100131441350& 0000200350! BD00328
00000000000005307160000000000000000000634 TT T T00000
00000000000000000000000000000000000000
The below table indicates the data elements & their values in each position
ATM Parameterization
The following are the files that are configured in T24 to process the ISO messages
ATM.PARAMETER >> The file stores the details about user name for the ATM to access T24
application, Bank Institution ID, ISO version, Processing Code, Mapping filed for unique ID of
transaction, Network ID (VISA/Master), Default ATM / POS branch & ATM / POS bin numbers.
ATM.BRANCH >> This file store the details about the ATM machines belonging to which branch /
location, type of machine (CDM only / ATM & CDM / ATM only), corresponding ATM GL account
numbers.
ATM.BIN.ACCT >> This file stores the details about receivable and payable accounts for visa/master
card transactions done via ATM only. Id of each record is formed based on the Acquirer bin of other
banks or first 6 digits of PAN No or Network numbers.
ATM.POS.BIN.ACCT >> This file is similar to ATM.BIN.ACCT where details about the receivable and
payable accounts for visa/master card transactions done via POS only. Id of each record is formed
based on the Acquirer bin of other banks or first 6 digits of PAN No or Network numbers.
ATM.SPLIT.CHG.TABLE >> This files stores the values whether the multiple entries to be raised for
the transaction (charges separately). This records defined here should be internally used
in ATM.CHG.TABLE
ATM.RES.CODE.TABLE >> This file stores the details about what sort of response to be sent to the
switch for the processed transactions.
Example:
Message.1: Invalid Account Response Code.1: 76, means the host will respond with “76”, as
response code for the failure transactions due to invalid accounts.
INTRF.MAPPING >> this files stores the details about the values that to be consider for processing
the transaction. Mapping records for each transaction, which indicates what application, version to
be used to raise accounting entries.
5. Challenges faced
Connection establishment between the SWITCH and application server
T24 fails to read the messages from the application server queue, configuration changes to
recognize the incoming messages (Ex: Messages available in MQ, but T24 fails to process it)
Transaction processing fails due connection timeout between the SWITCH & application
server (Timeout settings that need to be handled at SWITCH, application server & the host T24)
Parameter Setup missing in T24
Transaction processing per minute, if throughput of transaction is more in number, TOT of
each transactions increases (performance measures)
6. Mitigate Challenges
Monitoring the listener port & the sender port configurations frequently
Monitoring the queue depth frequently & clearing the messages from the queue if by taking
backup of the data in the queue
Revisit the above mentioned parameter setup related to ATM in T24
Get the details from the bank about their ATM usage transactions per day & accordingly
configuration changes needs to be setup at application server level (performance testing)
Add ATM matrix for better coverage
Sample test cases that to be covered
7. Frequently faced defects
Consideration of other branch customer accounts and type of account for financial
transactions
o Example:
Customer accounts are differentiated based on which branch they belong,
so frequent failure happens due to other branch accounts (apart from Main Brach)
Financial transaction failing for Savings account but working for current
account
Incorrect mapping of response code which is sent back to the SWITCH
o Example:
Consider that the SWITCH expects “00” response code for any successful
transaction, but instead some other code is sent, in this case the SWITCH considers the
transaction as failure but the customer account would have been debited
Off us transaction failures
o Example:
Cash withdrawal from other financial institutions that does not use T24 ATM
interfaces
Cash withdrawal using other financial institutions card / credit card in
SWITCH that is integrated with T24 ATM Interface
View Mini statement
o Example:
Failure happens due to length of the transaction description of an account
When no transactions are available in an account
Transactional charges / fees not debited from the account
o Example:
Transaction fee which supposed to be collected for the financial
transaction is not debited from the customer account, due to incorrect charge setup and also the
logic of handling debit entries for fee transactional charges
Void financial transactions
o Example:
Transactions that supposed to be reversed are not exactly reversed in the
account, this mostly happens in case of transaction time out.
Note:
Without a physical ATM / Simulator, T24 ATM Interface can be tested by placing the incoming
ISO message in the application server or post the ISO message via telnet.
Performance of the T24 ATM interface can be tested by sending ISO messages as a bunch to
the application server queue.