Generic ATM Interface User Guide PDF
Generic ATM Interface User Guide PDF
Generic ATM Interface User Guide PDF
No part of this document may be reproduced or transmitted in any form or by any means, for any purpose,
without the express written permission of TEMENOS HEADQUARTERS SA.
Amendment History
Comments:
The user guide is created for Multiport ATM Interface of ISO8583:87/93 versions and Phoenix nix
Interface.
GPACK
2
Generic ATM Framework
Table of Contents
1. Assumptions 8
2. Functionality Overview 8
Application Servers supported by ATM Interface 8
3. General Flow diagram 9
How is it working? 9
Purpose .............................................................................................................................. 9
Message processing in T24 ............................................................................................. 10
4. Transactions Supported 11
4.1 NETWORK MESSAGES ....................................................................................... 11
4.2 BALANCE ENQUIRY............................................................................................. 11
4.3 CASH WITHDRAWAL ........................................................................................... 12
4.4 MINI STATEMENT ................................................................................................ 13
4.5 STATEMENT REQUEST* ..................................................................................... 13
4.6 PURCHASE TRANSACTIONS ............................................................................. 14
4.7 INTRABANK TRANSACTIONS ............................................................................. 15
4.8 CASH DEPOSIT*................................................................................................... 16
4.9 UTILITY BILL PAYMENT* ..................................................................................... 16
4.10 CHEQUE DEPOSIT* ............................................................................................. 17
4.11 CHEQUE BOOK REQUEST* ................................................................................ 17
4.12 FULL REVERSALS ............................................................................................... 18
4.13 PARTIAL REVERSALS ......................................................................................... 18
4.14 PAYMENT VIA TELLER*....................................................................................... 19
5. ATM Parameterization 19
5.1 INTRF.MESSAGE ................................................................................................. 19
5.2 INTRF.MAPPING ................................................................................................... 23
5.3 ATM.PARAMETER ................................................................................................ 28
5.4 ATM.BRANCH ....................................................................................................... 31
5.5 ATM.BIN.ACCT ..................................................................................................... 32
5.6 ATM.UTIL.TABLE .................................................................................................. 33
5.7 ATM.POS.MERCHANT.ACCT .............................................................................. 34
5.8 ATM.POS.BIN.ACCT ............................................................................................. 35
5.9 ATM.TRANSACTION ............................................................................................ 36
5.10 ATM.DUAL.TRANSACTION .................................................................................. 39
5.11 ATM.RES.CODE.TABLE ....................................................................................... 39
5.12 ATM.STMT.REQ .................................................................................................... 40
5.13 RAD.LOG.PARAMETER ....................................................................................... 41
GPACK
3
Generic ATM Framework
GPACK
4
Generic ATM Framework
GPACK
5
Generic ATM Framework
GPACK
6
Generic ATM Framework
GPACK
7
Generic ATM Framework
1. Assumptions
It is assumed that the reader of this document is familiar with the navigation around T24 product and is
familiar with the T24 Accounting concepts, FT, AC.LOCKED.EVENTS Modules.
This document provides information about the Functional workflow, templates/versions/enquires used
and ISO Message standards supported in ATM Interface.
2. Functionality Overview
ISO 8583 is a standard for creating and reading financial transaction messages including Point of Sale
(POS) transactions, Automated Teller Machines (ATM) and network-to-network, real-time financial
transactions. These messages enable consumers to withdraw money from ATM's and conduct
business in a real-time world.
The ATM Interface is developed as a middle layer between the ATM SWITCH and T24. The interface
consists of a plug-in for Application Server to receive the messages via a dedicated port and translate
the ISO messages. Application Server sends the ISO message to T24 where the ISO message
converted to OFS message format based on the mapping files to be updated on to T24 applications.
After the transaction has been completed at T24, the response ISO messages are formatted within the
scope of the ATM Interface. The response messages are indicated with the appropriate error or ok
status depending upon the T24 applications reply status.
The protocol used for communication between the host and the switch is usually TCP/IP via sockets.
ATM interface provide a high performance multi-threaded synchronous socket listener that has custom
functionality/intelligence built-in for handling ISO messages with length prefix through TCP/IP.
Application Server can be configured for listening ISO messages on any number of ports as required
by the load on the site. However, a judicious choice should be made considering the load so that not
to leave too many ports listening idle. The switch should try to throw open multiple
sockets/connections on the same port(s) when the load increases.
The main features of this interface is to caters all the standard ATM operations like Cash withdrawal,
Point of Sale, Balance enquiry, Mini statement, Statement request, Account transfer, Cash Deposit
and Cheque Book Request.
Note: ATM Interface supports ISO 8583:87 and ISO 8583:93 versions only. All Functionality specified
below is supported for both ISO 8583:87/93 versions.
GPACK
8
Generic ATM Framework
How is it working?
When a customer uses an ATM terminal connected to the switch server, the switch sends a message
to T24. Depending upon the message and various functions, accounting entries are generated in T24
and responded either with an error message or requested details back to the ATM Interface. These
transactions could be done from any ATM and depending on where and which customer is doing the
transaction we could broadly classify them as:
ON US TRANSACTIONS – T24 customer doing transaction in an ATM attached to T24
branch
NETWORK TRANSACTIONS - T24 customer doing transaction in an ATM attached to non-
T24 / other institution’s branches
LORO TRANSACTIONS - Non-T24 customers doing transaction in ATM attached to T24
branch.
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.
Purpose
All online transactions will be approved or rejected by T24.
The time-out will be agreed between Gpack and the switch on a case to case basis
considering the prevailing network and other conditions.
STAN, DATE.TIME will be used as unique identifier for each message by T24 unless
otherwise specified.
GPACK
9
Generic ATM Framework
The following section will explain functionally about the architecture of ATM Interface:
Application Server
Request to T24
ATM Interface
The routine will parse the ISO
string and classify the type of
AT.ISO.PRE.PROCESS.MSG message. Read the mapping
record based on request
(Convert the ISO message to OFS message message and convert the ISO
<T24 understandable format>) message to OFS message
Application Server
PORT
10
Generic ATM Framework
4. Transactions Supported
Below are the transactions supported in Generic ATM Interface
Network Messages
Balance Enquiry
Cash Withdrawal Transactions
Mini Statement Messages
Statement Request*
POS Transactions
Intra Bank Funds Transfer Transactions
Cash Deposit*
Cheque Issue*
Cheque Deposit*
Utility Bill Payments*
Cash Withdrawal Reversal
Intra Bank Funds Transfer Reversal
POS Reversal
Cash deposit Reversal*
Cheque Deposit Reversal*
Utility Bill Payments Reversal*
GPACK
11
Generic ATM Framework
The below workflow describes the applications and accounting levels entries raised during On-Us,
Remote On-Us, Off-Us transactions
Note: Same Workflow happens when T24 goes Off-line and advice messages are posted.
GPACK
12
Generic ATM Framework
The below workflow describes the applications and accounting levels entries raised during On-Us
transactions.
The below workflow describes the applications and accounting levels entries raised during On-Us
transactions.
GPACK
13
Generic ATM Framework
The below workflow describes the applications and accounting levels entries raised during
Authorization request based transactions.
Difference between Base II and standard transactions is Base II will be sent as Advice message
whereas other case will be sent as On-line message
The below workflow describes the applications and accounting levels entries raised during On-line
& Base II based transactions.
GPACK
14
Generic ATM Framework
The below workflow describes the applications and accounting levels entries raised during On-Us
transactions
Note: Same Workflow happens when T24 goes Off-line and advice messages are posted.
GPACK
15
Generic ATM Framework
The below workflow describes the applications and accounting levels entries raised during On-Us
transactions
Note: Same Workflow happens when T24 goes Off-line and advice messages are posted.
The below workflow describes the applications and accounting levels entries raised during On-Us,
Remote On-Us transactions
Note: Same Workflow happens when T24 goes Off-line and advice messages are posted.
GPACK
16
Generic ATM Framework
The below workflow describes the applications and accounting levels entries raised during On-Us
transactions
Note: Same Workflow happens when T24 goes Off-line and advice messages are posted.
The below workflow describes the applications and accounting levels entries raised during On-Us
transactions.
GPACK
17
Generic ATM Framework
In case of any network issues/T24 host down the response for request message will not reach the
switch. In such a case switch will send the reversal message to T24 host to reverse the original
transaction. T24 will get the original transaction reference based on the original data sent by switch
and reverse the accounting entries in T24
Reversal will be done immediately whenever the reversal request received by T24.
In case of FUNDS TRANSFER, we validate if original transaction is already stored in T24. If so,
we will credit customer account based on the replacement amount sent.
Reversal will be done immediately whenever the reversal request received by T24.
GPACK
18
Generic ATM Framework
Note: Version provided above is for reference purpose to understand the functional flow.
5. ATM Parameterization
5.1 INTRF.MESSAGE
This Application forms the skeleton of ATM Interface. This application contains the position, length for
each and every data element of RAW ISO Message as per ISO 8583 standards. This application
forms the base for Conversion/formatting the ISO message to OFS message and it’s vice versa.
File Type: H
GPACK
19
Generic ATM Framework
GPACK
20
Generic ATM Framework
FIXED,VARIABLE,BITMAP
17
INTRF.FLD.S.M A For future use
18
INTRF.FLD.MAND A For future use
19
TXN.FIELD.POS A This is a multivalve set. ATM.TRANSACTION field
positions are mapped here. Customized hook
routines can be attached here for updating the
fields in ATM.TRANSACTION. Click here for a
sample screenshot.
20
MV.RESERVED For future use
21
INTRF.POST.RTN A This field hold routine name. Routine attached
here should have one argument value passed.
Customized hook routines can be attached here
for post-mapping validations. Click here for a
sample screenshot.
22
LOCAL.REF A For future use for local references
23
RESERVED.FIELDS Reserved fields for future use.
TABLE 1 – INTRF.MESSAGE
DETAILED FIELD DESCRIPTIONS:
GPACK
21
Generic ATM Framework
Here we can add/amend/delete the incoming ISO Message based on Clients requirement and
proceed further.
GO BACK
A routine can be attached here and INTRF.MAPPING record Id can be formed based on client’s
requirement.
GO BACK
22
Generic ATM Framework
Here we can attach a routine and directly write the data in respective field of ATM.TRANSACTION.
GO BACK
A routine can be attached here for adding/amending/removing the data and send it back to switch.
GO BACK
5.2 INTRF.MAPPING
This is a mapping file, which stores various details like T24 application, user name, password, version
to be used and mapping between each message field to its T24 application field.
GPACK
23
Generic ATM Framework
File Type: H
File Classification: INT
GPACK
24
Generic ATM Framework
18
GLO.CONSTANT A If the value to be passed to this T24 field is a
constant, data should be entered here.
19
FIELD.SOURCE A This field will decide whether the value to be
passed is a constant or a part of the message or
external or routine
20
FIELD.SRC.VALUE A This field will hold the routine name if a routine is
specified in FIELD.SOURCE. Customized routines
can be attached here for passing the value to the
GLO.FLD.NAME. Click here for a sample
screenshot.
21
RES.Y.N A This field holds the value of Y or N decides
Currently not used. For future use purpose.
22
ERROR.CONV.TAB A For future use in error –mapping
23
TYPE.OF.TXN A This field holds the value of ENQ or FIN
Decides whether the transaction is Financial or
Enquiry. Mandatory field for non-financial request
mapping record with value as ENQ.
24
TXN.CODE A For future use
25
XX.LOCAL.REF A For future use for local references
26
RESERVED.FIELDS Reserved fields for future use.
TABLE 2 – INTRF.MAPPING
Sample Scenario:
In Balance Enquiry Request message, above routine formats the balance to be sent in Field
54. Client can attach a new format routine based on his requirement and change the balance format
sent to Field 54. Balance format routine should have two incoming argument and one outgoing
GPACK
25
Generic ATM Framework
argument which contains the balance formatted data as per the client requirement. This routine will be
triggered from No file enquiry routine for balance formation.
In Case of Mini statement Request message, above routine formats the mini statement to be
sent in field 48. Client can attach a new format routine based on his requirement and change the Mini
statement format sent to Field 48. Mini statement format routine should have three incoming argument
and one outgoing argument which contains the mini stamen detail with formatted data as per the client
requirement. This routine will be triggered from No file enquiry routine for mini statement formation.
Note: For Separate/Multiple charges transaction entries, we are using generic routine
AT.POST.CHG.TXN.RTN for raising entries and AT.REV.CHG.TXN.RTN [for reversal mapping
records alone] for reversing entries. These routines have to be attached in PRE.RTN of corresponding
Response Mapping Records. These routines will be triggered based on the parameterization done in
ATM.CHG.TABLE and ATM.SPLIT.CHG.TABLE.
GO BACK
GPACK
26
Generic ATM Framework
If FIELD.SOURCE is set as RTN, then Routine must be attached in FIELD.SRC.VALUE. The outcome
value of the routine will be assigned to its respective GLO.FLD.NAME value. Routine must have two
arguments passed inside e.g. AT.ISO.CALC.CR.ACCT (INCOMING, OUTGOING).
Sample Scenario:
For Inter Bank Funds transfer, we need Debit and Credit Acct no’s for raising FT Entry.
Below snapshot provides an idea about configuring values for Debit and Credit Account numbers.
If a value from incoming ISO Message is to be passed directly into DEBIT.ACCT.NO, then Intrf Fld Ps
can be set to its respective incoming position (102) and its Field Source can be set as INT.
If a value has to be fetched based on incoming ISO Message positions, then those values can be
placed in Intrf Fld Ps like this: 32*C%*49*C%*103.
32,49 and103 – Represents the incoming ISO Message position
C – Represents the specifying the constant value in the part of incoming value. Generally used to
include the Delimiter value”%” between different value position.
% - it’s the constant value which is used as delimiter.
Field Source should be set as RTN.
Field Src Value should have the Routine name.
Sample Scenario:
If ISO position 32, 49 and 103 has below values
nd th
32 – 123456, 49 – 840, 103 – 43268.
The incoming variable (first argument) will hold the value as “123456%840%43268”. Second argument
will hold the actual account number for the particular T24 OFS field (defined in the Glo Fld Name)
Sample Routine is provided as below:
GPACK
27
Generic ATM Framework
GO BACK
Note: If separate charges are going to be configured in framework, AT.GET.BAL.AFT.TXN has to be
attached in FieldSrc Value and Field Source should be set as RTN for all response mapping records.
If this routine is attached, then account balance after charges will be reflected in the balance field.
5.3 ATM.PARAMETER
This is a mapping file, which stores the various details like the T24 application, user name, password
and version to be used, the mapping between each message field to T24 application field.
File Type: H
File Classification: INT
GPACK
28
Generic ATM Framework
5
FILE.PATH A This is the path where the balance upload file is to
be stored.
6
DAYS.IN.HIST Days before the log file are to be archived. User
has to input it as e.g.:+5C.
7
OFS.USER A User Sign on to be used by OFS.
8
OFS.PASSWORD PASSWD Password of the user entered above.
9
DEF.ATM.BRANCH N If Terminal Id was not configured in
ATM.BRANCH, then default Terminal id stored
here will be taken and processed.
10
DEF.ATM.BIN N If Other Bank’s Bin was not configured in
ATM.BIN.ACCT, then default bin stored here will
be taken and processed.
11
DEF.POS.MRCNT N If any Bank owned POS device id was not
configured in ATM.POS.MERCHANT.ACCT, then
default device id stored here will be taken and
processed.
12
DEF.POS.BIN N If Other Bank’s Pos Device Id was not configured
in ATM.POS.BIN.ACCT, then default device id
stored here will be taken and processed.
13
CHG.CCY.POS N Currency position for raising charge entries
14
TXN.CCY.POS N Transaction currency field position for raising
accounting entries.
15
MSG.ID A This is a mandatory field stores the type of ISO
Message format used for validating the incoming
requests. IF 5002 is set, then BASE24 based
Messages can be posted. If 5003 is set, then
standard ISO Messages can be posted. If 5004 is
set, then PHOENIX based messages can be
posted.
16
UNIQUE.ID A ISO Message Fields will be stored here. Data from
these fields will be generated as Unique Id for
each transaction.
17
GEN.COM.CODE A Default Company Code.
18
LOCK.PERIOD N For Authorization request transactions, the lock
period mentioned will be used for locking the
amount. User has to input it as e.g.:+10C.
19
DUAL.TXN.ID A ISO Message Fields will be stored here .Unique id
for releasing the locked amount and raising
accounting entry. Customized routine can also be
attached here. Click here for a sample screenshot.
20
CHG.OFS.SOURC A OFS SOURCE stored here can be used for raising
charges or can be used in any customized hook
GPACK
29
Generic ATM Framework
TABLE 3 – ATM.PARAMETER
FIGURE 7. ATM.PARAMETER
GPACK
30
Generic ATM Framework
GO BACK
5.4 ATM.BRANCH
This file stores the details like which ATM belongs to which branch and Company in T24. Id of each
record is formed based on the Terminal Id sent in ISO Message.
File Type: H
TABLE 4 – ATM.BRANCH
GPACK
31
Generic ATM Framework
FIGURE 9. ATM.BRANCH
5.5 ATM.BIN.ACCT
This file stores the details like receivable and payable accounts for visa/master card transactions. Id of
each record is formed based on the Acquirer bin of other banks or first 6 digit of PAN No.
File Type: H
TABLE 5 – ATM.BIN.ACCT
GPACK
32
Generic ATM Framework
5.6 ATM.UTIL.TABLE
This file stores the details for Utility Payments. Record Id can be based on any incoming data from
ISO Message or a constant name based on client’s requirement.
File Type: H
TABLE 6 – ATM.UTIL.TABLE
GPACK
33
Generic ATM Framework
5.7 ATM.POS.MERCHANT.ACCT
This file stores the details like company code, account for POS based transactions. Id of each record
is formed based on the POS device Id sent in ISO Message.
File Type: H
TABLE 7 – ATM.POS.MERCHANT.ACCT
GPACK
34
Generic ATM Framework
5.8 ATM.POS.BIN.ACCT
This file stores the details like receivable and payable accounts for POS based transactions. Id of
each record is formed based on the Acquirer bin of other banks or first 6 digit of PAN No.
File Type: H
GPACK
35
Generic ATM Framework
TABLE 8 – ATM.POS.BIN.ACCT
5.9 ATM.TRANSACTION
This is a live file which stores the details of transactions like FT/ACKL reference number which got
generated, date, transaction amount, credit account, currency and other data’s required for reversing
transactions. ID of each record is formed, based on the Unique ID data got from ISO Message.
File Type: L
GPACK
36
Generic ATM Framework
4
BOOKING.DATE D Stores the transaction Date
5
DEBIT.ACCT.NO A Stores the debited account no
6
DR.CUSTOMER.ID A Stores debited customer account number
7
CREDIT.ACCT.NO A Stores Credit account number.
8
TXN.AMOUNT AMT Stores the transacted amount.
9
DR.TXN.CODE A Stores Debit transaction code
10
CR.TXN.CODE A Stores Credit transaction code
11
CHARGE.CODE A Stores the charge type
12
CHRG.AMOUNT AMT Stores the charged amount
13
CHRG.ACCOUNT A Stores the charged account
14
CHRG.CUST.ID A Stores the customer no from whom charges is
collected
15
CHRG.CR.ACCT A Stores the credit account to which charge amount
is credited
16
CHRG.DR.TXN.CODE A Stores the charged Debit transaction code
17
CHRG.CR.TXN.CODE A Stores the charged Credit transaction code
18
NARRATIVE A Stores the Narrative of the Transaction happened
19
CURRENCY.MARKET A Stores the currency market
20
TRANS.STATUS A Stores whether the transaction is PROCESSED or
REVERSED or LOCKED.
21
REVERSAL.FLAG A Stores ‘YES’ if Transaction is reversed.
22
ORIG.STMT.NOS A Stores the STMT Entries rose during the
transaction and update the STMT entries when
raised during the reversal.
23
STMT.NOS A Stores the STMT Entries raised during the
transaction.
24
NETWORK.TYPE A For future use.
25
BIN.REFERENCE A Stores whether the Acquirer bin sent in ISO
Message
26
PAN.NUMBER A Stores the PAN Number sent in ISO Message
27
LOCKED.AMOUNT AMT Stores the amount locked during Authorization
request.
GPACK
37
Generic ATM Framework
28
LINKED.TRANS A For future Use
29
AUTH.CODE A Stores the Unique Auth Code generated for each
transaction.
30
RETRIEVAL.REF.NO A Stores the Retrieval Reference Number sent in
ISO Message
31
ACQ.OR.ISS A Stores whether the Transaction is Acquirer or
Issuance.
32
ATM.OR.POS A Stores whether the transaction is happened
through ATM or POS
33
MTI.CODE A Stores the MTI of each transaction sent in ISO
Message
34
PROC.CODE A Stores the Processing code of each transaction
sent in ISO Message
35
MERCHANT.ID A Stores the Merchant Id of each transaction sent in
ISO Message
36
VERSION.NAME A Stores the Version and its Application used for
processing the transaction
37
CARD.ACC.ID A Stores the Terminal/POS device Id of each
transaction sent in ISO Message
38
CARD.ACC.NAME.LOC A Stores the Merchant/Terminal location of each
transaction sent in ISO Message
39
CHRG.TRANS.REF A Stores the Unique FT/ACKL Id generated.
40
CHRG.DEBIT.AC A Stores the Charges Debit Account No
41
CHRG.CREDIT.AC A Stores the Charges Credit Account No
42
CHRG.AMT AMT Stores the Charged Amount.
43
CHRG.STMT.NOS A Stores the charges STMT entries raised during the
transaction.
44
ERROR.MSG A For Future Use.
TABLE 9 – ATM.TRANSACTION
GPACK
38
Generic ATM Framework
5.10 ATM.DUAL.TRANSACTION
This is a live file which stores unique id for Authorization request. Id of the record is formed based on
DUAL.TXN.ID provided in ATM.PARAMETER.
File Type: L
TABLE 10 – ATM.DUAL.TRANSACTION
5.11 ATM.RES.CODE.TABLE
This file contains the Errors/Overrides and its response codes which has to be triggered, when a
transaction is not successful.
File Type: H
GPACK
39
Generic ATM Framework
TABLE 11 – ATM.RES.CODE.TABLE
5.12 ATM.STMT.REQ
This file stores the Statement requests raised each day. Id of this table is Unique Id data got from ISO
Message.
File Type: H
GPACK
40
Generic ATM Framework
TABLE 12 – ATM.STMT.REQ
5.13 RAD.LOG.PARAMETER
This file is used for processing the requests and response in a particular file as xml format.
File Type: H
GPACK
41
Generic ATM Framework
5
LOCAL.REF For future use for local references.
6
RESERVED.FIELDS Reserved fields for future use.
TABLE 13 – RAD.LOG.PARAMETER
5.14 ATM.CHG.TABLE
This file is used for raising charges for all transactions. Record ID should be ‘SYSTEM’
File Type: W
GPACK
42
Generic ATM Framework
8
PROC.CODE A Processing Code for the ISO Message.
9
BIN.NO A BIN No which has to be charged.
10
TXN.CCY A Stores the Currency.
11
SPLIT.CHG.ID A This field stores the record’s Id which will be
created in ATM.SPLIT.CHG.TABLE
12 Stores the Amount to be charged.
CHG.AMT A
13 Stores the Amount position which is passed in ISO
CHG.AMT.POSN A
Message.
14 Stores the Percentage of amount to be charged.
CHG.PERC A
15
CHARGE.TYPE A Stores the Commission type record name.
16
DR.ACCT.TYPE A Stores whether the Account type is CUST or IA.
If IA is set, then Charges will be triggered by
routine attached in INTRF.MAPPING. For More
Info, Click Here.
17
CHG.DR.ACCT A Stores the Debit Account Number. This field is
mandatory if DR.ACCT.TYPE is set as IA.
18
CHG.CR.ACCT A Stores the Credit Account Number.
19
CHG.VERSION A Stores the Version used for raising charges.
20
LOCAL.REF For future use for local references.
21
RESERVED.FIELDS Reserved fields for future use.
TABLE 15 – ATM.CHG.TABLE
GPACK
43
Generic ATM Framework
If Online is selected, then the Field having the Charge amount in ISO MESSAGE have to be
configured in ATM.CHG.TABLE
Sample screenshot is provided below
GPACK
44
Generic ATM Framework
If Param is selected, then CHG.RULE.ID has to be configured based on client’s need and charge
amount nor charge percent can be configured there.
Sample screenshot is provided below
If RTN is selected, then Framework will trigger the routine attached in FLD.POS.RTN through
CHECK.REC.RTN field in Version. There should be no arguments passed inside the attached
Routine.
Sample Routine is provided as below:
GPACK
45
Generic ATM Framework
This function doesn’t support split charges or any setup level charges in ATM.CHG.TABLE. If user
wishes to use RTN, then User has to raise all the charges by himself. Framework will just trigger the
routine.
GO BACK
Note: After configuring the charges, the record should be verified using “V” function to update the
concated table ATM.CHG.DETAIL based on the CHG.ID.RULE.
If multiple charges have to be configured, configure all the charges in ATM.SPLIT.CHG.TABLE.
IF SEPARATE.FT is set to YES, then Separate FT will be raised for charges independent of the Main
FT.
5.15 ATM.CHG.DETAIL
This is a LIVE file. The data’s from ATM.CHG.TABLE will be written here based on the CHG.ID.RULE
provided.
File Type: L
GPACK
46
Generic ATM Framework
TABLE 16 – ATM.CHG.DETAIL
5.16 ATM.SPLIT.CHG.TABLE
This file is used for raising multiple charges entry raised for single transaction. ID would be any free
text.
File Type: H
GPACK
47
Generic ATM Framework
3
CHG.TXN.CCY A Stores the Currency.
4 A Stores the Amount to be charged
CHG.AMT
5 A Stores the Percentage of amount to be charged
CHG.PERC
6
DR.ACCT.TYPE A Stores whether the Account type is CUST or IA.
7 A
CHG.DR.ACCT Stores the Debit Account Number
8 A
CHG.CR.ACCT Stores the Credit Account Number
9
LOCAL.REF For future use for local references.
10
RESERVED.FIELDS Reserved fields for future use.
TABLE 14 – ATM.SPLIT.CHG.TABLE
Note: Charges based on Percentage won’t support for Balance Inquiry & Mini statement. Hence
configure the charges as amount for these scenarios in ATM.CHG.TABLE &
ATM.SPLIT.CHG.TABLE.
GPACK
48
Generic ATM Framework
5.17 ATM.GEN.MAPPING
This is a mapping file used for forming ISO Message from T24 side. T24 can initiate an ISO
Message based on the parameters configured in this table.
File Type: H
File Classification: INT
GPACK
49
Generic ATM Framework
17
GLO.FLD.LN.TYPE A Length of the field
18
GLO.CONSTANT A If the value to be passed to this T24 field is a
constant, data should be entered here.
19
FIELD.SOURCE A This field will decide whether the value to be
passed is a constant or a part of the message or
external or routine
20
FIELD.SRC.VALUE A This field will hold the routine name if a routine is
specified in FIELD.SOURCE. Customized routines
can be attached here for passing the value to the
GLO.FLD.NAME. Click here for a sample
screenshot.
21
RES.Y.N A This field holds the value of Y or N decides
Whether this message type has a valid response.
Not Used.
22
ERROR.CONV.TAB A For future use in error –mapping
23
TYPE.OF.TXN A This field holds the value of ENQ or FIN
decides whether the transaction is Financial or
Enquiry
24
TXN.CODE A For future use
25
XX.LOCAL.REF A For future use for local references
26
RESERVED.FIELDS Reserved fields for future use.
TABLE 17 – ATM.GEN.MAPPING
GPACK
50
Generic ATM Framework
Sample Scenario:
AT.ISO.GEN.MSG is a generic routine used for forming ISO Message from T24 end, based on the
configuration done in ATM.GEN.MAPPING table. This routine has to be attached as Input routine in
the Version which client creates for his requirement.
Sample Version has been shown as below:
Customized routines can be attached based on clients needs. Configuring customized routines is
similar to attaching the routines in INTRF.MAPPING. Click here for More Info.
Note: ATM.GEN.MAP.ID is the LOCAL REF Field which is used for providing Third party based
Mapping ID’s. Client can configure this Field in AUTO NEW CONTENT or can attach routines in the
version to form the Request Id based on his needs.
5.18 VERSIONS
Versions which are currently used in ATM Interface
VERSION>FUNDS.TRANSFER,ATM
VERSION>FUNDS.TRANSFER,ATM.FP
VERSION>FUNDS.TRANSFER,ATM.AC
VERSION>FUNDS.TRANSFER,ATM.AC.FP
VERSION>AC.LOCKED.EVENTS,ATM
VERSION>FUNDS.TRANSFER,ATM.POS
VERSION>FUNDS.TRANSFER,ATM.POS.FP
VERSION>FUNDS.TRANSFER,ATM.CD
VERSION>FUNDS.TRANSFER,ATM.CD.FP
VERSION>CHEQUE.ISSUE,ATM
VERSION>FUNDS.TRANSFER,ATM.CHQ
VERSION>FUNDS.TRANSFER,ATM.CHQ.FP
GPACK
51
Generic ATM Framework
VERSION>ATM.STMT.REQ,ATM
VERSION>FUNDS.TRANSFER,ATM.CHG
VERSION>FUNDS.TRANSFER,ATM.UTIL.FP
VERSION>FUNDS.TRANSFER,ATM.UTIL
VERSION>FUNDS.TRANSFER,REV.WD
VERSION>AC.LOCKED.EVENTS,ATM.FP
VERSION>AC.LOCKED.EVENTS,ATM.CW
VERSION>AC.LOCKED.EVENTS,ATM.CW.FP
VERSION>AC.LOCKED.EVENTS,ATM.FP
VERSION>AC.LOCKED.EVENTS,REV.WD
5.19 ENQUIRES
Enquires which are currently used in ATM Interface.
ENQ.NOFILE.SPF
E.ISO.ATM.BAL.ENQ
E.ISO.ATM.MINI.STMT
5.20 SERVICES
ATM Interface has provided a service which helps in taking backup of ATM.TRANSACTION
table. This BNK/ATM.TXNS.ARCHIVE service archives the records to history based on the DAYS
provided in ATM.PARAMETER TABLE.
BAL.AFT.TXN:
This field is used for storing the working & available balance for all transactions. Refer #Field 54 for
more details.
AT.AUTH.CODE:
This field is used for storing unique code generated by T24 for populating in ISO Response for each
transaction.
ATM.GEN.MAP.ID:
This field is used for storing the Mapping ID’s used for generating the ISO Message from T24 Host.
GPACK
52
Generic ATM Framework
TELLER
FUNDS.TRANSFER
AC.LOCKED.EVENTS
CHEQUE.ISSUE
AT.CALC.AVAIL.BALANCE
This routine is used to provide the balance of each account
This routine will calculate the balances based in the locked amount and transaction
amount i.e. WORK.BAL - LOCKED.AMT - TXN.AMT
AT.FMT.TXN.AMT
This routine is attached in version of all transactions
GPACK
53
Generic ATM Framework
This routine will format the amount based on the decimals in the currency table.
AT.GEN.ISO.REQ.MSG
This routine is used to initiate an ISO Message
This routine will generate the ISO request message based on the mapping file defined in
the request ATM.GEN.MAPPING record
AT.GEN.ISO.RES.MSG
This routine will convert the ISO request message and parse the message based on the
mapping file defined in the request ATM.GEN.MAPPING record
AT.GET.CHEQUE.ISSUE.ID
This routine forms the record id for CHEQUE.ISSUE application.
This routine validates if the account category is present in CHEQUE.TYPE. If present,
based on this Cheque ID is formed.
AT.GET.ISO.FLD.VALUE
This routine fetches the Incoming ISO Message values based on the ISO field positions
sent in IN argument. OUT argument contains the record data’s.
AT.GET.STMT.ID
This routine is used to form Record Id for ATM.STMT.REQ application
AT.ISO.CALC.CR.ACCT
This routine is used to fetch the Credit account no for ATM based transactions.
If it’s our bank transaction, based on BANK IMD and Terminal ID, credit account no will be
fetched.
If it’s another bank transaction, based on BANK IMD, Credit account no will be fetched
from ATM.BIN.ACCT Table.
If no Terminal id or ATM.BIN.ACCT is configured, then default Branch or BIN configured in
ATM.PARAMETER will be fetched.
AT.ISO.CALC.DR.ACCT
This routine is used to fetch the Debit account no for ATM based transactions.
This routine picks the debit account no for LORO transactions.
When other bank customer does a transaction, Debit account number will be picked from
ATM.BIN.ACCT based on the PAN NO.
AT.ISO.CALC.UTIL.ACCT
This routine is used to fetch the Credit account no for UTILITY BILL PAYMENTS
GPACK
54
Generic ATM Framework
AT.ISO.FMT.BAL.RTN
This routine is used to form Balances for all transaction.
Ledger and available balances are calculated here.
AT.ISO.GEN.MSG
This routine is attached in VERSION of any TT or FT to trigger CALLJ
This routine is used only when T24 has to initiate an ISO Message.
This routine will validate the message received from third party system
AT.ISO.MINI.FMT.RTN
This routine is used to form the MINI statement entries.
AT.ISO.REV
This routine is used in full reversal and partial reversal.
This routine will decide whether the transaction has to be reversed or initiated.
This routine checks if there is any original transaction present in ATM.TRANSACTION.
If original transaction is present then it will reverse the transaction
If original transaction is present and partial amount is sent, then it initiates a new
transaction
AT.ISO.PRE.PROCESS.MSG
This routine will convert the ISO request message to OFS request message which will be
posted through OFS SOURCE based on the mapping file defined in the request
INTRF.MAPPING record.
AT.ISO.POST.PROCESS.MSG
This routine will convert the OFS response to ISO response based on the Response mapping
configured in the INTRF.MAPPING
AT.PHX.CHECK.MSG.RTN
This routine will check if the incoming message is a Network message or a transaction
message
This routine will load the INTRF.MESSAGE skeleton based on the ISO MESSAGE
AT.POS.CREDIT.ACCT.NO
This routine is used to fetch the Credit account no for POS based transactions.
If it’s our bank transaction, based on BANK IMD and POS device ID, Merchant account no
will be fetched from ATM.POS.MERCHANT.ACCT.
If it’s another bank transaction, based on BANK IMD, Credit account no will be fetched
from ATM.POS.BIN.ACCT Table.
If no POS id or ATM.POS.BIN.ACCT is configured, then default POS or BIN configured in
ATM.PARAMETER will be fetched.
GPACK
55
Generic ATM Framework
AT.POS.DEBIT.ACCT.NO
This routine is used to fetch the Debit account no for POS based transactions.
This routine picks the debit account no for LORO transactions.
When other bank customer does a transaction, Debit account number will be picked from
ATM.POS.BIN.ACCT based on the PAN NO.
AT.POST.CHG.TXN.RTN
This routine is used for raising separate charges.
This routine will check if the charges are configured in ATM.CHG.TABLE or
ATM.SPLIT.CHG.TABLE
Based on the configurations, this routine will trigger raise a separate transaction
Once the transaction is raised, ATM.TRANSACTION table is updated automatically.
AT.REV.CHG.TXN.RTN
This routine is used to reverse charges raised.
This routine will check if the charges are raised from ATM.TRANSACTION table
If charges are raised, then these charges are reversed and ATM.TRANSACTION table is
updated with reversal status.
ATM.CHK.POST.RESTRICT
This routine is used to check if there is any posting restrict is present
This routine is attached to INTRF.MAPPING record for NON Financial transactions.
ATM.COMP.SELECT
This routine is used to get the company and financial mnemonic of the Account number
coming in ISO message
ATM.ISO.ERR.CODE.RTN
This routine is used to check the error code of the particular transaction.
This routine will be triggered in OUT.MSG routine.
This routine will check if FT is transaction is successful. If its successful, then success
response code is sent through the ISO Message
If the transaction is failed, then based on the error code mapped in ATM.RES.CODE.TABLE,
the error response code will be sent through ISO Message
ATM.TXNS.ARCHIVE.RTN
This routine is used to archive the transactions from ATM.TRANSACTION to its history table
based on the days mentioned in ATM.PARAMETER
GPACK
56
Generic ATM Framework
ATM.UPD.TXN.LOG.RTN
This routine is used for logging the entries into ATM.TRANSACTION.
This routine will update the table for all financial and non-financial transactions.
CAL.COMPANY.CDE
This routine is used to trigger the company code based on the account number or terminal id
sent from ISO Message
E.ISO.ATM.BAL.ENQ.BLD.RTN
This is an Enquiry routine which generates the balance message.
E.ISO.ATM.MINI.STMT.BLD.RTN
This is an Enquiry routine which generates the Mini Statement message.
E.ISO.RET.SPF.STATUS
This enquiry routine is used for Network Messages
This routine is used to check if the SYSTEM is on online and send the success response code
back
V.ACLK.CALC.TO.DATE
This routine will check the LOCK Period from ATM.PARAMETER and lock the amount for
AC.LOCKED.EVENTS
V.ACLK.REV.UPD.ATM.KEY.ID
This routine will update the ATM.TRANSACTION table, if reversal or partial reversal is
successfully raised for AC.LOCKED.EVENTS.
V.ACLK.UPD.ATM.KEY.ID
This routine will update the ATM.TRANSACTION table, if AC.LOCKED.EVENTS transaction
is successfully raised for AC.LOCKED.EVENTS.
V.ATM.CHK.POST.RESTRICT
This routine will check if there is any posting restricts
This routine has to be attached only for ATM.STMT.REQ and CHEQUE.ISSUE applications
V.ATM.GET.CHG.TYPE
This routine is used for charges.
This routine will check if charges have to be raised with the Main FT.
If so, then the charge code and charge amount will be passed with the main FT
GPACK
57
Generic ATM Framework
V.BAL.DUP.CHECK
This routine is used to check if the transaction is a duplicate of the existing transaction
If so, then error will be triggered preventing rising of a new entry
V.CHG.FT.UPD.ATM.KEY.ID
This routine is attached to charges version.
This routine will update the ATM.TRANSACATION with the charges details.
V.CHQ.ATM.KEY.ID
This routine is attached to CHEQUE.ISSUE version
This routine will update the balance returned and Auth code for the cheque ISO Message
V.FT.REV.UPD.ATM.KEY.ID
This routine will update the ATM.TRANSACTION table, if reversal or partial reversal is
successfully raised for FUNDS.TRANSFER.
V.FT.UNBLK.ACCT
This routine is used to release the Locked amount.
This routine will check the ATM.DUAL.TRANSCATION table and fetch the Reversal ID.
Then based on the reversal id, ATM.TRANSCATION recorded is opened and LOCKED
AMOUNT is fetched, then the locked amount is released here
V.FT.UPD.ATM.KEY.ID
This routine is used to update the ATM.TRANSACTION table, if transaction is successfully
raised for FUNDS.TRANSFER
GPACK
58
Generic ATM Framework
6.1.2.2 Bitmaps
Primary Bitmap
Format b-64
Length 16 bytes
Description
The primary bitmap is required in all messages. It determines which data elements are present. The
bits are interpreted from left to right where a 1 indicates the field in that bit position is present and a 0
indicates the absence of that field.
Secondary Bitmap
Format b-64
Length 16 bytes
Description
The secondary bitmap is present only if data elements 65-128 are present in the message. The
secondary bitmap has the same description as the primary bitmap.
Note: For T24 ATM Interface Primary & secondary bitmaps are mandatory.
GPACK
59
Generic ATM Framework
Description
This field is required in all 01xx, 02xx, 04xx, 06xx, 08xx, 7xxx and 9xxx messages.
• A two digit process code
• A two digit from account
• A two digit to account
GPACK
60
Generic ATM Framework
1200/1220/1420
GPACK
61
Generic ATM Framework
This data element is required in all IST/Switch messages. It represents the date and time, in UTC
format, at which the transaction first entered the EFT (electronic funds transfer) network. Once set,
this field remains unchanged for the life of the transaction.
Representation
MM Month indicator
DD Day of month
hh 24 Hour clock (00-23)
mm Minutes
ss Seconds
Example
To express May 6, 2:30.376 p.m. use 0506143037.
GPACK
62
Generic ATM Framework
GPACK
63
Generic ATM Framework
Length 2 bytes
Description
This field represents a code used to indicate the maximum number of PIN characters accepted by the
point-of-service device used to construct the personal identification number (PIN) data. The field must
contain the actual number of PIN characters if they are less than 4 or more than 12.
64
Generic ATM Framework
A reference number supplied by the system retaining the original source information and used to
assist in locating that information or a copy thereof.
GPACK
65
Generic ATM Framework
3 10 X Debit/Credit indicator(D/C)
Example
120126840D000000002500120126840D000000002500120126840D000000002500
GPACK
66
Generic ATM Framework
4 8 X Debit/Credit indicator(D/C)
9 28 X Debit/Credit indicator(D/C)
Example
To represent an available balance
1001840C0000000010981002840C000000001098.
GPACK
67
Generic ATM Framework
Representation
This field is a numeric zero filled fields which is right justified.
Value Meaning
001 Sign on
002 Signoff
301 Echo test
GPACK
68
Generic ATM Framework
GPACK
69
Generic ATM Framework
GPACK
70
Generic ATM Framework
GPACK
71
Generic ATM Framework
Description
This field is required in all 01xx, 02xx, 04xx, 06xx, 08xx, 7xxx and 9xxx messages.
• A two digit process code
• A two digit from account
• A two digit to account
GPACK
72
Generic ATM Framework
GPACK
73
Generic ATM Framework
GPACK
74
Generic ATM Framework
GPACK
75
Generic ATM Framework
A code identifying the institution that forwards the transaction in an interchange system en route to the
card issuer.
Note: Further Response codes with their errors can be configured in ATM.RES.COD.TABLE
GPACK
76
Generic ATM Framework
Example
To represent an available balance
1000000001098000000001098.
GPACK
77
Generic ATM Framework
GPACK
78
Generic ATM Framework
Example
14-04-11TRANSFER 100000.00 DB14-04-11TRANSFER 100000.00 DB
GPACK
79
Generic ATM Framework
7.1Base24/ ATM
7.1.1 Online Transactions
Bit# Field Name 0100 0110 Description
/0200 /0210
/1100 /1110
/1200 /1210
- Primary Bitmap M M
1 Secondary Bitmap M M
3 Processing Code M M
4 Amount, Transaction M M
5 Amount, Settlement C
15 Settlement Date C C
18 Merchant Type M M
22 POS Entry Mode C C
25 POS Condition Code C C
26 POS Pin Capture Code C C
28 Amount, Transaction fee M M
29 ATM Surcharge Fee C C
32 Acquiring Institution Code M M Acquirer bin no
35 Track-2 Data C C
GPACK
80
Generic ATM Framework
- Primary Bitmap M M
1 Secondary Bitmap M M
3 Processing Code M M
4 Amount, Transaction M M
5 Amount, Settlement C C
GPACK
81
Generic ATM Framework
15 Settlement Date C C
18 Merchant Type M M
22 POS Entry Mode C C
25 POS Condition Code C C
26 POS Pin Capture Code C C
GPACK
82
Generic ATM Framework
transaction.
- Primary Bitmap M M
1 Secondary Bitmap M M
3 Processing Code M M
4 Amount, Transaction M M
5 Amount, Settlement C C
GPACK
83
Generic ATM Framework
GPACK
84
Generic ATM Framework
7.2Phoenix
7.2.1 Online Transactions
Bit# Field Name 0200 0210 Description
/205 /215
3 Processing Code M M
4 Amount, Transaction M M
5 Amount, Settlement C
9 Transaction Fee C
GPACK
85
Generic ATM Framework
3 Processing Code M M
4 Amount, Transaction M M
5 Amount, Settlement C
9 Transaction Fee C
GPACK
86
Generic ATM Framework
17 Merchant Type M M
GPACK
87
Generic ATM Framework
GPACK
88
Generic ATM Framework
Similarly if AUTH CODE is not displayed kindly follow the above steps to attach this generic
routine AT.GET.AUTH.CODE
Note: This routine can also be attached if charges are raised based on Separate FT concept. if
attached, the latest balances after charges are raised will be reflected.
Question: Does foreign currency support in ATM Framework?
Answer: Yes, it will support based on configurations. Kindly follow the below instructions
In Request Message of INTRF.MAPPING records, kindly configure as below
Intrf Fld Ps will be as 49. Set it based on requirements and attach the generic routine
AT.CALC.FCY.CCY with Field source set as Rtn
Ex: change it as Transaction currency [i.e Txn currency posn - 49 here] *C%* Settlement currency
[i.e. Foreign currency posn - 51 here]
Note: Transaction currency position should always be provided and it should be similar to
TXN.CCY set in ATM.PARAMETER.
Similarly do the same for Credit Amount as transaction amount field position *C%* settlement
amount position and attach the generic routine AT.CALC.FCY.AMT with Field source set as Rtn
, if needed
GPACK
89
Generic ATM Framework
Question: How to log the transaction details for Non financial transactions and for failed
transactions?
Answer: Kindly attach this ATM.UPD.TXN.LOG.RTN to RESPONSE mapping record. This routine
will update all the transaction details even for failure transactions and also for Non Financial
transactions.
9. Exceptions
* - Indicates the transactions which are not available for PHOENIX Interface in Generic Framework.
However these transactions can be provided based on the request from client.
**- Indicates the fields which are not supported for Base24/ATM interfaces
GPACK
90