ATM Framework - Interface - User - Guide
ATM Framework - Interface - User - Guide
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
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. Document Purpose
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.
The following section will explain functionally about the architecture of ATM Interface:
GPACK
9
Generic ATM Framework
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
GPACK
10
Generic ATM Framework
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
GPACK
16
Generic ATM Framework
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
Note: Same Workflow happens when T24 goes Off-line and advice messages are posted.
GPACK
17
Generic ATM Framework
The below workflow describes the applications and accounting levels entries raised during On-Us
transactions.
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.
GPACK
18
Generic ATM Framework
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.
Note: Version provided above is for reference purpose to understand the functional flow.
GPACK
19
Generic ATM Framework
5. ATM Parameterization
5.1 INTRF.MESSAGE
This Application forms the skeleton of ATM Interface capturing the information required identifying the
indicators in the ISO message and for capturing the logic required for identifying the mapping record
for processing each type of transaction from the ISO message. It 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
File Classification: INT
NO Field Description
1
DESCRIPTION Description for the table, free field.
2
TRACK.FILE.NAME For Future use
3
INTRF.PRE.RTN This field hold routine name. Routine attached
here should have one argument value passed.
Customized hook routines can be attached here
for pre-mapping validations. Click here for a
sample screenshot.
4
MAPPING.ID This field holds the values for forming
INTRF.MAPPING data record Id. A routine can be
attached here or data values i.e. ISO‖ 0 3 70 (In
different multi-values) can be stored here. The fata
values are the fields in the ISO message. Click
here for a sample screenshot.
5
INTRF.HEAD.NAME Interface specific Header name. In reference to
ISO to be used as names in the specification. Ex:
ISO Stat, H3ERR etc,. If no header is used. This
field can be left as null
6
INTRF.HEAD.DELIM For future use
7
INTRF.HEAD.POS Header position. Represents Header field
numbers. If no header is used. This field can be
left as null
8
INTRF.HEAD.LEN Length of the field. If no header is used. This field
can be left as null
9
INTRF.HEAD.TYPE Field type in case of ISO ex: FIXED, VARIABLE,
BITMAP. If no header is used. This field can be
left as null
10
INTRF.HEAD.S.M For future use
11
INTRF.HEAD.MAND For future use
GPACK
20
Generic ATM Framework
12
INTRF.FLD.NAME Interface specific field name. Names to be used as
in the ISO specification. Ex: Message Type
Indicator.
13
INTRF.FLD.DELIM For future use
14
INTRF.FLD.POS Field position. Represents ISO field numbers in
case ISO Messages.
15
INTRF.FLD.LEN Length of the field (Max length in case of ISO)
16
INTRF.FLD.TYPE Field type in case of ISO ex:
FIXED,VARIABLE,BITMAP
17
INTRF.FLD.S.M For future use
18
INTRF.FLD.MAND For future use
19
TXN.FIELD.POS This is a multivalve set. 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 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
MSG.FORMAT Indicates which type of transaction for which the
record is created. i.e. ISO_BASE24_PHOENIX
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
GPACK
22
Generic ATM Framework
Here we can attach a routine and directly write the data in respective field of ATM.TRANSACTION.
GO BACK
GPACK
23
Generic ATM Framework
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. This table will hold
the information that will be used for transforming the ISO message to OFS. Multiple options has been
provided in this table with provision to attach hook routines in multiple places. This helps in
customizing the incoming request according to each specific requirement.
File Type: H
File Classification: INT
GPACK
24
Generic ATM Framework
8
OFS.OPERATION Holds the Processing Flag of either PROCESS or
VALIDATE.
9
OFS.UTIL.NAME This field will hold the version name or enquiry
name to be used by OFS.
10
COMP.COD.MODE This field indicates which company the transaction
has hit, the customer account company or the
company to which the ATM machine is attached.
This field holds the value CUST or ATM.
11
OFS.COM.CODE This field holds routine which loads the Company.
If CUST is selected in above field, then Company
Id is loaded based on customer account. If ATM is
selected, then Company Id is loaded based on
Company code configured in Terminal
12
ID.GEN Will accept Y or N contains information about the
id of the application being updated by OFS.
13
OFS.USER User Sign on to be used by OFS.
14
OFS.PASSWORD Password of the user entered above.
15
RES.MAP.ID Response mapping id for the request
16
INTRF.FLD.NAME This is a multivalve set. Interface field name (Part
of the message, descriptive) is provided here.
17
INTRF.FLD.PS Position of this field within the message.
18
GLO.FLD.NAME Corresponding T24 application field name given in
OFS Format, ie, Field name as per the Standard
selection record concatenated by Value marker
number and sub value marker number, separated
by ‘:’. Eg, ACCOUNT.NUMBER:1:1
19
GLO.FLD.LN.TYPE Length of the field
20
GLO.CONSTANT If the value to be passed to this T24 field is a
constant, data should be entered here.
21
FIELD.SOURCE This field will decide whether the value to be
passed is a constant or a part of the message or
external or should be arrive through a routine
22
FIELD.SRC.VALUE 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.
23
RES.Y.N This field holds the value of Y or N decides
Currently not used. For future use purpose.
24
ERROR.CONV.TAB For future use in error –mapping
GPACK
25
Generic ATM Framework
25
TYPE.OF.TXN 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.
26
TXN.CODE For future use.
27
MESSAGE.ID To capture the INTRF.MESSAGE records which
support the mapping format
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
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
GPACK
26
Generic ATM Framework
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
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.
GPACK
27
Generic ATM Framework
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
32nd – 123456, 49th – 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:
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.
GPACK
28
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 INTRF.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.3 ATM.PARAMETER
This is the parameter table for ATM interface and holds the information like the network identification
numbers for the bank BIN’s, name/path for files processed by VISA for offline processing, default user
name/password to be used while generating OFS message in T24, the default BIN/POS accounts to
be used for transactions and several other information to be used while forming the ofs message
based on the ISO request and for updating the ATM Transaction information, logs etc,.
File Type: H
File Classification: INT
GPACK
29
Generic ATM Framework
2
NETWORK.IMD This is an Optional field which is used to include
the network groups(IMD) in bank own network
(apart from BANK.IMD value).
3
FILE.TYPE Stores the name of the file type used for
processing balances like VISA PROCESS,
BALANCE FILE
4
FILE.NAME This will store the file name that is used to upload
the balances before EOD.
5
FILE.PATH 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 User Sign on to be used by OFS.
8
OFS.PASSWORD Password of the user entered above.
9
DEF.ATM.BRANCH If all the Terminal Id is not configured in
ATM.TERMINAL.ACCT, then default Terminal id
stored here will be taken and processed.
10
DEF.ATM.BIN If Other Bank’s Bin was not configured in
ATM.TERMINAL.ACCT, then default bin stored
here will be taken and processed.
11
DEF.POS.MRCNT If any Bank owned POS device id was not
configured in ATM.TERMINAL.ACCT, then default
device id stored here will be taken and processed.
12
DEF.POS.BIN If Other Bank’s Pos Device Id was not configured
in ATM.TERMINAL.ACCT, then default device id
stored here will be taken and processed.
13
CHG.CCY.POS Currency position for raising charge entries
14
TXN.CCY.POS Transaction currency field position for raising
accounting entries.
15
MSG.ID 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 ISO Message Fields will be stored here. Data from
these fields will be generated as Unique Id for
each transaction.
17
GEN.COM.CODE Default Company Code.
18
LOCK.PERIOD For Authorization request transactions, the lock
GPACK
30
Generic ATM Framework
TABLE 3 – ATM.PARAMETER
GPACK
31
Generic ATM Framework
FIGURE 7. ATM.PARAMETER
5.4 ATM.TERMINAL.ACCT
The ATM terminal/POS machine ID details are stored in this file. This file stores information on
Accounts to be used for transaction, by transaction type or the default accounts and also captures
which branch and Company in T24 the terminal/POS machine belongs to. Id of each record is
universally agreed and is passed to T24 by the ISO Message.
File Type: H
GPACK
32
Generic ATM Framework
GPACK
33
Generic ATM Framework
TABLE 4 – ATM.TERMINAL.ACCT
FIGURE 9. ATM.TERMINAL.ACCT
5.5 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: H
GPACK
34
Generic ATM Framework
5
DEBIT.ACCT.NO Stores the debited account no
6
DR.CUSTOMER.ID Stores debited customer account number
7
CREDIT.ACCT.NO Stores Credit account number.
8
TXN.AMOUNT Stores the transacted amount.
9
DR.TXN.CODE Stores Debit transaction code
10
CR.TXN.CODE Stores Credit transaction code
11
CHARGE.CODE Stores the charge type
12
CHRG.AMOUNT Stores the charged amount
13
CHRG.ACCOUNT Stores the charged account
14
CHRG.CUST.ID Stores the customer no from whom charges is
collected
15
CHRG.CR.ACCT Stores the credit account to which charge amount
is credited
16
CHRG.DR.TXN.CODE Stores the charged Debit transaction code
17
CHRG.CR.TXN.CODE Stores the charged Credit transaction code
18
NARRATIVE Stores the Narrative of the Transaction happened
19
CURRENCY.MARKET Stores the currency market
20
TRANS.STATUS Stores whether the transaction is PROCESSED or
REVERSED or LOCKED or DULPICATE or
PARTIALLY-REVERSED or UNLOCKED based
on the messages posted.
21
REVERSAL.FLAG Stores ‘YES’ if Transaction is reversed will be set
to No, when Reversal record is hitting T24 before
the Original Txn posted.
22
ORIG.STMT.NOS Stores the STMT Entries rose during the
transaction and update the STMT entries when
raised during the reversal.
23
STMT.NOS Stores the STMT Entries raised during the
transaction.
24
NETWORK.TYPE For future use.
25
BIN.REFERENCE Stores whether the Acquirer bin sent in ISO
Message
26
PAN.NUMBER Stores the PAN Number sent in ISO Message
27
LOCKED.AMOUNT Stores the amount locked during Authorization
GPACK
35
Generic ATM Framework
request.
28
LINKED.TRANS For future Use
29
AUTH.CODE Stores the Unique Auth Code generated for each
transaction.
30
RETRIEVAL.REF.NO Stores the Retrieval Reference Number sent in
ISO Message
31
ACQ.OR.ISS Stores whether the Transaction is Acquirer or
Issuance.
32
ATM.OR.POS Stores whether the transaction is happened
through ATM or POS
33
MTI.CODE Stores the MTI of each transaction sent in ISO
Message
34
PROC.CODE Stores the Processing code of each transaction
sent in ISO Message
35
MERCHANT.ID Stores the Merchant Id of each transaction sent in
ISO Message
36
VERSION.NAME Stores the Version and its Application used for
processing the transaction
37
CARD.ACC.ID Stores the Terminal/POS device Id of each
transaction sent in ISO Message
38
CARD.ACC.NAME.LOC Stores the Merchant/Terminal location of each
transaction sent in ISO Message
39
CHRG.VERSION.NAME Version used to raise Charge based transaction
40
CHRG.TRANS.REF Stores the Unique FT/ACKL Id generated.
41
CHRG.DEBIT.AC Stores the Charges Debit Account No
42
CHRG.CREDIT.AC Stores the Charges Credit Account No
43
CHRG.AMT Stores the Charged Amount.
44
CHRG.STMT.NOS Stores the charges STMT entries raised during the
transaction.
45
ERROR.MSG Failure error message
46
ERROR.CODE Failure response code
47
ISO.NUMBER INTRF.MAPPING record ID
48
STAN.NO Stores the STAN No of each transaction sent in
ISO Message
GPACK
36
Generic ATM Framework
49
TIMESTAMP Stores the DATE of each transaction sent in ISO
Message
50
TXN.TYPE Stores the FT.TXN.TYPE.CONDITION used for
raising the FT
51
BAL.AFT.TXN The account balance after the transaction
52
DEPARTMENT.CODE For Future use
53
ACCOUNT.OFFICER For Future use
TABLE 9 – ATM.TRANSACTION
5.6 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
GPACK
37
Generic ATM Framework
TABLE 10 – ATM.DUAL.TRANSACTION
5.7 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
TABLE 11 – ATM.RES.CODE.TABLE
GPACK
38
Generic ATM Framework
5.8 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
TABLE 12 – ATM.STMT.REQ
GPACK
39
Generic ATM Framework
5.9 ATM.CHG.TABLE
This file is used for raising charges for all transactions. Record ID should be ‘SYSTEM’
File Type: W
File Classification: INT
GPACK
40
Generic ATM Framework
TABLE 15 – ATM.CHG.TABLE
GPACK
41
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
The outgoing argument should have only the amount position of ISO message and not the amount
itself.
GPACK
42
Generic ATM Framework
If Param is selected, then CHG.RULE.ID must 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:
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.
GPACK
43
Generic ATM Framework
5.10 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. This is to speed up the identification of the charge to be applied while processing an ATM
transaction.
File Type: L
TABLE 16 – ATM.CHG.DETAIL
GPACK
44
Generic ATM Framework
5.11 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
TABLE 14 – ATM.SPLIT.CHG.TABLE
GPACK
45
Generic ATM Framework
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.
5.12 ATM.PROCESSING.CODE
This file stores the Processing code for all the transactions. Record id should be created with
File Type: H
GPACK
46
Generic ATM Framework
TABLE 15 – ATM.PROCESSING.CODE
5.13 ATM.MTI
This file is used for storing Message Type Indicators.
File Type: H
GPACK
47
Generic ATM Framework
TABLE 16 – ATM.MTI
5.14 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
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
GPACK
48
Generic ATM Framework
VERSION>AC.LOCKED.EVENTS,ATM.CW.FP
VERSION>AC.LOCKED.EVENTS,ATM.FP
VERSION>AC.LOCKED.EVENTS,REV.WD
5.15 ENQUIRES
Enquires which are currently used in ATM Interface.
ENQ.NOFILE.SPF
E.ISO.ATM.BAL.ENQ
E.ISO.ATM.MINI.STMT
5.16 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.
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
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.
GPACK
49
Generic ATM Framework
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
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.
GPACK
50
Generic ATM Framework
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.
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.
GPACK
51
Generic ATM Framework
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
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.
GPACK
52
Generic ATM Framework
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
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.
GPACK
53
Generic ATM Framework
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
54
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.
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
55
Generic ATM Framework
1200
GPACK
56
Generic ATM Framework
GPACK
57
Generic ATM Framework
GPACK
58
Generic ATM Framework
GPACK
59
Generic ATM Framework
GPACK
60
Generic ATM Framework
3 10 X Debit/Credit indicator(D/C)
Example
120126840D000000002500120126840D000000002500120126840D000000002500
61
Generic ATM Framework
Example
To represent the code for US currency, use 840.
Note: this value has to be provided in TXN.CCY field in ATM.PARAMETER
4 8 X Debit/Credit indicator(D/C)
9 28 X Debit/Credit indicator(D/C)
Example
To represent an available balance
GPACK
62
Generic ATM Framework
1001840C0000000010981002840C000000001098.
GPACK
63
Generic ATM Framework
GPACK
64
Generic ATM Framework
GPACK
65
Generic ATM Framework
GPACK
66
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
67
Generic ATM Framework
GPACK
68
Generic ATM Framework
GPACK
69
Generic ATM Framework
GPACK
70
Generic ATM Framework
This field indicates the method by which the PAN was captured as well as the terminals PIN entry
capabilities.
GPACK
71
Generic ATM Framework
GPACK
72
Generic ATM Framework
Example
To represent an available balance
1000000001098000000001098.
GPACK
73
Generic ATM Framework
GPACK
74
Generic ATM Framework
Example
14-04-11TRANSFER 100000.00 DB14-04-11TRANSFER 100000.00 DB
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
GPACK
75
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
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
37 Retrieval Reference Number M M
38 Authorization Number - M This field must be present
for all transactions
authorized by the issuer
processor.
39 Response Code - M This field indicates the
disposition of the
transaction.
41 Card Acceptor Terminal Identification M M
42 Card Acceptor Identification Code C C
43 Card Acceptor Name and Location M M
48 Additional Data C C This field is mandatory for
Mini statement alone.
Since this field will contain
all the transaction details.
49 Currency Code, Transaction M M Original transaction
currency
50 Currency Code, Settlement C C Present if bit 5 is present
51 Currency Code, Cardholder Billing M M
52 Personal Identification Number (PIN) - -
54 Additional Amount - M Contains the balance of
the account.
60 For Private Use C C
- Primary Bitmap M M
GPACK
76
Generic ATM Framework
1 Secondary Bitmap M M
3 Processing Code M M
4 Amount, Transaction M M
5 Amount, Settlement C 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
GPACK
77
Generic ATM Framework
currency
50 Currency Code, Settlement C C Present if bit 5 is present
51 Currency Code, Cardholder Billing M M Present if bit 6 is present
52 Personal Identification Number (PIN) - -
54 Additional Amount - M Contains the balance of
the account.
60 For Private Use C C
- 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
78
Generic ATM Framework
GPACK
79
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
80
Generic ATM Framework
3 Processing Code M M
4 Amount, Transaction M M
5 Amount, Settlement C
9 Transaction Fee C
GPACK
81
Generic ATM Framework
GPACK
82
Generic ATM Framework
3 Settlement date M M
4 Response Code - M This field indicates the
disposition of the
transaction.
5 Network Management Code M M Contains the Sign on or
signoff or Echo message.
GPACK
83
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.
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 field 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
GPACK
84
Generic ATM Framework
, if needed
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
85