Professional Documents
Culture Documents
Technical Specification
ISO 8583 Host Interface
Sarvatra
Host-‐to-‐Host
Interface
Specification
Document Control
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
2
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Table Of Contents
INTRODUCTION ....................................................................................................................... 4
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
3
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Introduction
It has been decided that the Sarvatra EFT Switch <-> CBS Host interface would be
driven through the industry standard ISO 8583 (1987) financial message exchange
format.
Once the interface is in place a bank’s customer would be issued an ATM/ debit
card. The bank’s customer would use the ATM/debit card at one of the ATMs or
POS terminals connected to the Sarvatra EFT Switch. The customer could choose a
transaction from the list of transactions available, which are Balance Inquiry, Cash
Withdrawal, Mini Statement, or Pin Change. If the customer does a Cash
Withdrawal transaction, they would enter the required information at the ATM/POS
terminal, swipe their card and enter their PIN. The ATM/POS terminal would
connect to the Sarvatra EFT Switch and pass the transaction details to the switch.
The switch would validate and verify the customer after which the switch would
send an authorization request transaction to the CBS Host through the newly
developed interface. The host would authorize or deny the transaction and send a
response back to the switch. The switch will then format the appropriate message
for the ATM/POS terminal and send it to the ATM/POS terminal. The ATM would
then dispense cash to the customer. If there is any problem in dispensing the cash,
the switch generates a reversal and sends to the CBS host for processing. In case
of POS terminal the customer would receive the approval at the POS terminal. The
customer would be handed over the cash and the receipt by the branch and the
transaction would be complete.
This document will cover the following message formats required to build the ISO
8583 message interface between Sarvatra EFT Switch and CBS Host.
Messages:
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
4
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
The Connectivity
The two system, Sarvatra EFT Switch and the CBS Host would be interfaced
through an ISO8583 messaging layer encapsulated over TCP/IP.
The CBS Host would play the role of the client in the TCP/IP connection while the
Sarvatra EFT Switch would play the server. Sockets would be used on either end.
The side being the client will be responsible for establishing the connection with the
server and re-establishing the connection on a connection failure. The server side
would be responsible for accepting connection requests on a designated port and
validating that the calling IP address is a known IP address and defined in the
switch.
There would be only one TCP/IP socket connection between the client and the
server. This connection would be kept alive at all times reducing connection
overhead and ensuring constant availability of the interface. This single connection
would be used to pass multiple messages from the Sarvatra EFT Switch to the CBS
Host and vice-versa. To keep track of the messages, each message sent by the
switch to the host will contain a unique retrieval reference number which must be
returned as is in the response message so that the switch can locate the original
transaction in its log. The use of the unique retrieval reference number allows the
switch to simultaneously send transactions to the host without waiting for a
response to an earlier transaction. This improves transaction response time.
The TCP/IP interface would have a length indicator in front of each message. The
length indicator serves the purpose of a delimiter. The reading interface would
determine the start and end of a message by reading the length indicator that
arrives in front of every message. Reading the length indicator would indicate the
length of the message that follows.
The DLI would exclude its own length. So for example if the Data to be sent across
was 100 bytes then the length indicator would say 0100 and not 0104 which
includes its own 4 byte length. The DLI would have leading zeros.
Both interfaces, Sarvatra EFT Switch and CBS Host must setup the DLI on all
messages sent or received between the two systems.
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
5
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
The Messages
The application messaging interface between Sarvatra EFT Switch and the CBS
Host application would be using the ISO8583 : 1987 industry standard interface.
The ISO 8583 interface is a bit map interface where each message is constructed
with a message type followed by a bit map and finally the actual fields containing
data.
We would support following types of messages between Sarvatra EFT Switch and
the CBS Host:
1. Sign On
2. Sign Off
3. Hand Shake
4. ATM Balance Inquiry
5. ATM Mini Statement
6. ATM Cash Withdrawal
7. ATM Cash Withdrawal Reversal
8. POS Balance Inquiry
9. POS Cash Withdrawal
10. POS Mini Statement
11. ATM/POS PIN Change
12. NFS Issuer Balance Inquiry
13. NFS Issuer Withdrawal
14. NFS Issuer Withdrawal Reversal
15. NFS Issuer Mini Statement
16. NFS Issuer PIN Change
17. NFS Acquirer Withdrawal
18. NFS Acquirer Withdrawal Reversal
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
6
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
This message is sent from the switch to the host as an informative message when
an ATM connected to the switch acquires transaction of a NFS member bank’s card
but the transaction needs to be reversed either because of a communication failure
or an error at the ATM. This message is to be used by the host to pass appropriate
entries for the ATM cash withdrawal reversal. The message must be approved by
the host. The switch ignores the response sent by the host.
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
8
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
This section describes the message format required in ISO 8583 : 1987 method for
the types of messages that will be supported through the ISO 8583 host interface.
The types of message discussed below are specified in previous section.
The ISO 8583 message formats have two versions. The 1987 and the 1993
enhanced version. As the 1987 is the most common format used and less complex
to use, we will proceed with the 1987 format.
The ISO 8583 format starts with a message type followed by a bit map and finally
the actual data.
The message type is 4 bytes and can have the values 0800-0810, 0200-0210 or
0420-0430. The 0800-0810 is called a Network Management Message and is used
when transmitting Sign On, Sign Off and Handshake message. A field within the
message data itself differentiates the Sign On, Sign Off and Handshake messages.
The 0200-0210 is called a Financial transaction and the 0420-0430 is the reversal
of a previously authorized financial transaction.
Following the message type is the bit map. A bit map is a binary representation of
the fields that are present in the data portion of this message. The bit map can be
a total of 16 hex bytes. The first 8 hex bytes is called the primary bit map and the
second 8 hex bytes is called the secondary bit map. The 8 hex byte primary bit
map would have 64 bits. (8 bits per byte multiplied by 8 bytes). Each bit
represents a field defined by the ISO standard. Therefore if an implementation can
accomplish its requirements in the first 64 bits then only a primary bit map is used.
If fields are required that are present beyond the 64th bit, bits 65 to 128 then a
secondary bit map is automatically appended to the primary bit map. A bit within
the primary bit map (bit 1) indicates if the secondary bit map is present. If a bit is
set on (1 in binary) then it means the field is on and should be included in the data
portion of the message that is to follow. If the bit is off (0 in binary) then the field
is not present in the message.
Following the bit map is the actual data. Depending on the bits that were on, the
data for those bits will follow in the data stream in the same order as the bits are
present in the bit map(s).
What follows is the actual message formats for the message types required to build
the ISO 8583 interface between Sarvatra EFT Switch and CBS Host.
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
9
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
10
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
11
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Bit 54 format = Length Indicator + 2 byte account type (10 = savings & 20 =
current) + 2 byte balance type (01 = ledger balance and 02 = net available
balance) + 3 byte currency type (356 = Rupees) + 1 byte debit or credit (D =
Debit or C = Credit) + 12 byte balance in minor currency and left padded with zero
+ second balance can start here which includes again account type + balance type
+ currency + debit/ credit + balance.
The length indicator should be LLL format where LLL equals the length of the entire
string that follows.
0000 30 34 30 31 30 30 31 33 35 36 43 30 30 30 30 30 |0401001356C00000|
0010 30 31 30 30 30 30 30 31 30 30 32 33 35 36 43 30 |01000001002356C0|
0020 30 30 30 30 30 30 39 30 30 30 30 |00000090000|
In the above example the balances sent from the host are for a savings account.
The net available balance is Rs. 900.00 and the ledger balance is Rs. 1000.00
This bit is used in cash withdrawal and mini statement messages also, in the same
manner.
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
12
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
14
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
15
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Identification
Response
39 Response N2 M
Code
41 Card Acceptor AN8 M M Echo in response
Terminal ID
43 Card Acceptor AN40 M M Echo in response
Name/Location
49 Currency Code, N3 M M Value = 356 for Indian
Transaction Rupees. Echo in
response
50 Currency Code, N3 M Value = 356 for Indian
Settlement Rupees
51 Currency Code, N3 M Value = 356 for Indian
Cardholder Rupees
Billing
54 Additional LLLVAR AN..120 M Balances are sent by
Amounts the host in this field
60 Reserved LLLVAR AN..999 M M Echo in response
Private YYYY N4
ð Year YYYY N4
Transaction YYYY N4
ð Year
Settlement YYYY N4
ð Year Capture
ð Year
Transmission
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
16
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
18
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Note: For NFS Mini Statement, though the statement data should similar to above
(40 characters per line without any separator), but each line should be 35
characters long padded with 5 spaces. The first line for NFS mini statement may
include message title and the last line should include available balance. Therefore if
message title is included at the most 8 lines of statement can be sent. Without
message title 9 lines of statement can be sent.
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
19
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
20
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Name/Location
49 Currency Code, N3 M M Value = 356 for Indian
Transaction Rupees. Echo in
response
50 Currency Code, N3 M M Value = 356 for Indian
Settlement Rupees
51 Currency Code, N3 M Value = 356 for Indian
Cardholder Rupees
Billing
54 Additional LLLVAR AN..120 M Balances are sent by
Amounts the host in this field
60 Reserved Private LLLVAR AN..999 M M Echo in response
ð Year
YYYY N4
Transaction N4
ð Year Settlement YYYY
ð Year Capture N4
YYYY N4
ð Year
Transmission YYYY
Note:
PIN Change transaction is sent only as a notification to the host. For NFS issuer
PIN change (processing code starting with 90), field 28 (Fee) may have a non-zero
value. In such cases host needs to debit the customer account for the fee amount.
The response from the host to PIN Change is insignificant and is ignored by the
switch.
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
21
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
This message is used for transactions acquired on our ATMs for cards of other
banks on NFS network. This message is sent to the host to make appropriate
entries for ATM cash account and for reconciliation with the settlement report from
NFS.
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
23
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
24
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
response
60 Reserved LLLVAR AN..999 M M Echo in response
Private YYYY N4
ð Year N4
Transaction YYYY
N4
ð Year YYYY N4
Settlement
ð Year Capture YYYY
ð Year
Transmission
90 Original Data A42 M M Original message type
Elements (4 bytes) = 0200 +
Original System Trace
Number (6 Bytes) +
Original Date/Time (10
Bytes MMDDHHMMSS)
+ Acquiring Institution
Identification Code (22
Bytes, space padded to
the right). Echo in
response
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
25
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Legend
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
26
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Response Codes
The following are the response codes to be sent in bit 39.
Code Description
00 Approved or completed successfully
01 Refer To Issuer
04 Pick Up (Hot Card)
05 Do not honor
06 Error occurred
12 Invalid transaction type
13 Invalid amount requested
14 Invalid cardholder
15 Card does not exist
25 Card does not exist
30 Format error
31 Invalid BIN
34 Suspect Fraud
36 Restricted Card
40 Restricted transaction
41 Lost Card
42 Account type invalid
43 Stolen Card
51 Amount requested exceeds balance
52 Current account does not exist
53 Savings account does not exist
54 Expired Card
57 Transaction not permitted to cardholder
61 Exceeds withdrawal Limit
62 Restricted card
63 Security Key Violation
65 Frequency Limit
75 Excessive Pin tries
88 Invalid Authorization Code
91 Host unavailable
92 Authorizer not found
94 Duplicate Transmission
All other numbers Transaction rejected
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
27
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
Message Flows
The following illustrates the ISO 8583 message flows between Sarvatra EFT Switch
and the CBS Host.
Confidential
Copyright©
2011
Sarvatra
Technologies
Pvt.
Ltd.,
all
rights
reserved
Page
28
of
29
Sarvatra
Host-‐to-‐Host
Interface
Specification
General Considerations
The CBS Host should maintain only one socket connection with the Sarvatra EFT
Switch server. All transactions should be passed from the CBS Host to the Sarvatra
EFT Switch through this interface.
Each message passed from the Sarvatra EFT Switch to the CBS Host will have a
unique retrieval reference number assigned to it. CBS Host when responding must
pass back the same retrieval reference number which was sent in the original
request message. The retrieval reference number in the response message will be
used by the switch to locate the original transaction request and send the response
to the appropriate terminal.
It is possible that the CBS Host does not respond to the transactions requests in
the same sequence. This is supported by the switch.
There will be handshake messages, Sign on/Sign off and financial messages that
could be transmitted at the same time. Requests and responses could be received
by the listener in any order. This must be handled.
Both interfaces, Sarvatra EFT Switch and the CBS Host must handle recovery of
the TCP/IP socket interface. If the session is lost then it is the responsibility of the
client to re-initiate the connection and the listener server to accept the call.
The CBS Host must handle repeat reversals. This could happen where Sarvatra EFT
Switch sends the CBS Host a reversal but does not get an acknowledgement. In
this case Sarvatra EFT Switch will continue to re-transmit the reversal. The CBS
Host should must apply the reversal only once to the customers account.
Confidential Copyright© 2011 Sarvatra Technologies Pvt. Ltd., all rights reserved Page 29 of 29