You are on page 1of 24

PosApp Specification document

PosApp Transactions Specification


The transactions listed below will be supported between the Switch and the
Point of Sale device. Scoping of the transactions will be agreed between
Interbus and Switch provider. The document also provides specification of the
messages to be exchanged between the Point of Sale and the Switch.

1. Definitions and Introduction


POSAPP refers to the terminal driver that will interface with Point of sale.

E-SWITCH refers to the Switch which processes transactions on behalf of


Interbus.

Fig1.1
The PosApp has two main functions:
Transaction management - It passes EFT transaction messages from the terminal to
E-Switch and vice versa, acting as a protocol converter between the terminal and
switch.
Terminal management - It manages the download (to the terminal) of configuration
data like terminal parameters, card (BIN) parameters and hotcard lists, and the
upload if information like terminal statistics.

1.1Communication Protocols

The terminal always initiates a connection (call) to PosApp.


All messages are (mostly) according to the ISO 8583(1993) standard while some aspects of
the ISO 8583(2000) standard have been incorporated into it. Data elements that do not
adhere to the 1993 version of the standard have been indicated as such in the data element
dictionary. TCP/IP is one such reliable protocol, provided it is end-to-end and will be used.

1
Confidential PosApp Specification v1.0
PosApp Specification document

Data from the terminal arrives at the port provided by PosApp in the form of a packet of
data. A configurable parameter determines whether or not a packet is indicated/delimited
by means of an additional header. Two header formats are supported:
a 2-byte, unsigned, big-endian integer (i.e. most significant byte first), giving the
length of the data to follow, or
a 4-byte Inetco header
If no header is configured, the data in the raw TCP packet is processed as it arrives
A message consists of the following parts:

Encoding indicator
Message type ID
Bit map(s)
Data Elements

1.1.1 Encoding indicator


The packing indicator indicates how the rest of the message is packaged. It is a single
byte containing a single ASCII character.
The following values are defined:
A - All binary fields are encoded as hexadecimal ASCII characters.
This means that all binary fields (including bit maps) will be double their indicated
length and will consist of an ASCI string containing the hexadecimal representation
of the original binary value, e.g. the 2-byte value 0x013F will be represented by the
4-byte string 013F, or the binary values of 0x30 0x31 0x33, 0x46.

B - Binary fields are represented in binary.


Please note that an encoding indicator of A should only be used if the message
transport protocol does not allow binary data in its payload.

1.1.2 Message type identifier


The message type identifier is a 4-digit numeric field (in ASCII) identifying:
The message version number (assigned by ISO),
The message class,
The message function, and
Transaction originator.

2
Confidential PosApp Specification v1.0
PosApp Specification document

1.1.3 Bit maps


The second message component is one or two bitmaps, each consisting of 64 bits. Each bit
signifies the presence (1) or the absence (0) in the message of the data element associated
with the particular bit.
The primary bit map (bits 1-64) is always present and the most frequently used data
elements are indexed from these bit positions. Infrequently used data elements are indexed
from the secondary bit map (bits 65-128). A 1 in bit 1 of the primary bit map indicates the
presence of the secondary bit map.

Primary bit map only:


Bit Map Data Elements
Value 0
Position 1 - 64

Primary and secondary bit map:


Bit Map Data Elements
Value 1 0
Position 1 - 64 65 - 128

1.1.4 Data elements


The data content of the third message component is made up of a series of data elements
(or fields) in the order of the bit map representation. Messages are reconstructed using the
bit map(s) as an indicator of data elements that are present.
Some data elements are of fixed length, while others are variable in length. In the case of a
variable length data element, the actual length of the data element is indicated in a fixed
length prefix of that element. For any variable length data element with a maximum length
of less than 100 characters (denoted by LLVAR in the legend), the fixed length prefix consists
of two numeric characters, while three numeric characters are used for variable length data
element with a maximum length of less than 1000 characters (denoted by LLLVAR), etc. The
length attributes are right aligned and left zero filled. Please see figure 1.2 below.
NB: The definition of data elements marked with * differ from the standard ISO 8583
(1993) definition for that data element, either in length, or in content, or both.

3
Confidential PosApp Specification v1.0
PosApp Specification document

DE Name Attribute Format


2 Primary account number n..19 LLVAR
3 Processing code n6
4 Amount, transaction n 12
5 Amount, reconciliation n 12
6 Reserved for future use n 12
7 Date and time, n 10 MMDDhhmmss
transmission
8 Reserved for future use n8
9 Conversion rate, n8
reconciliation
10 Reserved for future use n8
11 System trace audit number n6
12 Date and time, local n 12 YYMMDDhhmmss
transaction
13 Reserved for future use n4
14 Date expiration n4 YYMM
15 Reserved for future use n6
16 Date conversion n4 MMDD
17 Reserved for future use n4
18 Reserved for future use n4
19 Reserved for future use n3
20 Reserved for future use n3
21 Reserved for future use n3
*22 POS data code an 15
23 Card sequence number n3
24 Function code n3
25 Message reason code n4
26 Reserved for future use n4
27 Approval code length n1
28 Date, reconciliation n6 YYMMDD
29 Reconciliation indicator n3
30 Amounts, original n 24
31 Reserved for future use ans..99 LLVAR
32 Acquiring institution ID n..11 LLVAR
code
33 Reserved for future use n..11 LLVAR
34 Reserved for future use ns..28 LLVAR
35 Track 2 data z..37 LLVAR
36 Reserved for future use ns..104 LLLVAR
37 Retrieval reference anp 12
number
38 Approval code anp 6
39 Action code n3
40 Service code n3
41 Terminal ID ans 8

4
Confidential PosApp Specification v1.0
PosApp Specification document

42 Card acceptor ID ans 15


43 Reserved for future use ans..99 LLVAR
44 Additional response data ans..99 LLVAR
45 Track 1 data ans..76 LLVAR
46 Amounts, fees ans 204 LLLVAR
47 Reserved for future use ans..999 LLLVAR
48 Additional data, private ansb 9999 LLLLVAR
48-F0.1 POS data ans 19
48-F0.2 Authorisation profile an 2
48-F0.3 Card verification data np 4
48-F0.4 Extended transaction type n4
48-F0.5 Additional node data ans..255 LLLVAR
48-F0.6 Inquiry response data ans..999 LLLVAR
48-F0.7 Routing information ans 48
48-F0.8 Cardholder information ans..50 LLVAR
48-F0.9 Address verification data ans 29
48-F0.10 Card verification result ans 1
48-F0.11 Address verification result an 1
48-F0.12 Retention data ans..999 LLLVAR
48-F0.13 Bank details ans 31
48-F0.14 Payee name and address ans 253
48-F0.15 Payer account ans..28 LLVAR
identification
48-F0.16 Structured Data ans..9999 LLLLVAR
49 Currency code, transaction n3
50 Currency code n3
reconciliation
51 Reserved for future use an 3
52 PIN data b8
53 Security related control b..48 LLVAR
information
54 Additional amounts ans..120 LLLVAR
*55 ICC data b..999 LLLVAR
56 Original data elements n..35 LLVAR
57 Authorisation life cycle n3
code
58 Authorising agent n..11 LLVAR
institution ID code
*59 Transport (echo) data ans..200 LLLVAR
60 Reserved for future use ans..999 LLLVAR
61 Reserved for future use ans..999 LLLVAR
62 Hotcard capacity n..5 LLLVAR
63 PosApp Private Data ansb 999 LLLVAR
63-F1.1 Terminal Interaction Code n3
64 Message authentication b8
code field

5
Confidential PosApp Specification v1.0
PosApp Specification document

65 Reserved for future use b8


66 Amounts, original fees ans..204 LLLVAR
67 Extended payment data n2
68 Reserved for future use n3
69 Reserved for future use n3
70 Reserved for future use n3
71 Message number n8
*72 Data record ansb..999 LLLVAR
73 Reserved for future use n6
74 Credits, number n 10
75 Credits, reversal number n 10
76 Debits, number n 10
77 Debits, reversal number n 10
78 Reserved for future use n 10
79 Reserved for future use n 10
80 Reserved for future use n 10
81 Authorisations, number n 10
82 Reserved for future use n 10
83 Reserved for future use n 10
84 Reserved for future use n 10
85 Reserved for future use n 10
86 Credits, amount n 16
87 Credits, reversal amount n 16
88 Debits, amount n 16
89 Debits, reversal amount n 16
90 Authorisations, reversal n 10
number
91 Reserved for future use n3
92 Reserved for future use n3
93 Reserved for future use n 11 LLVAR
94 Reserved for future use n 11 LLVAR
95 Reserved for future use ans..99 LLVAR
96 Key management data ansb..999 LLLVAR
97 Amount, net reconciliation x+n 16
98 Payee ans 25
99 Reserved for future use an..11
100 Receiving institution ID n..11 LLVAR
code
101 File name ans..99 LLVAR
102 Account identification 1 ans..28 LLVAR
103 Account identification 2 ans..28 LLVAR
*104 Transaction description ansb..9999 LLLLVAR
105 Reserved for future use n 16
106 Reserved for future use n 16
107 Reserved for future use n 10
108 Reserved for future use n 10

6
Confidential PosApp Specification v1.0
PosApp Specification document

109 Credits, fee amounts ans84 LLVAR


110 Debits, fee amounts ans84 LLVAR
111-122 Reserved for future use ans..999 LLLVAR
123 Receipt data ans..999 LLLVAR
124 Display data ans..999 LLLVAR
125-127 Reserved for future use ans..999 LLLVAR
128 Message authentication b8
code field

1.1.4.1 Account identification 1 (DE 102)


A series of digits and/or characters used to identify a specific account held by the cardholder
at the card issuer and if present, shall remain unchanged for the life of the transaction. This
field usually contains the description of the "from" account.

1.1.4.2 Account identification 2 (DE 103)


A series of digits and/or characters used to identify a specific account held by the cardholder
at the card issuer and if present, shall remain unchanged for the life of the transaction. This
field usually contains the description of the "to" account.

1.1.4.3 Acquiring institution ID code (DE 32)


Code identifying the acquirer.

1.1.4.4 Action code (DE 39)


In messages from the server, this represents the response code from the authorizer. The
following action codes are generated by PosApp:
300 File action successful
301 File action unsupported
302 Unable to locate record on file
306 Not successful
307 Format error
309 Unknown file
500 Reconciled, in balance;
501 Reconciled, out of balance;
503 Totals not available
504 Not reconciled, totals provided;

7
Confidential PosApp Specification v1.0
PosApp Specification document

800 Network administration action successful


904 Format error;
905 Acquirer not supported (used if invalid terminal or merchant number);
915 Reconciliation cutover or checkpoint error (used for invalid batch number) ;
916 MAC validation failure
919 Key synchronization error
950 Violation of business arrangement (invalid action code in advice);
940 Terminal Interaction Required
In messages from the terminal, the following values are to be used:
000 Completed as authorised
911 Transaction timed out
Any 3 digit value not starting with 0:
Not completed as authorised
The following mapping of Iso8583(1987) response codes to Iso8583(1993) action codes are
used by PosApp. This is in accordance with the mapping specified in Iso8583(1993):

Iso8583(1987) Code Iso8583(1993) Code


00 Successful 000 Approved
01 Refer To Card Issuer 107 Refer To Card Issuer
02 Refer To Card Issuer Special 108 Refer To Card Issuer Special
03 Invalid Merchant 109 Invalid Merchant
04 Pick Up 200 Do Not Honour Pick Up
05 Do Not Honour 100 Do Not Honour
06 Error 913 Duplicate Transmission
07 Pick Up Special 207 Special Conditions Pick Up
08 Honour With ID 001 Honour With ID
09 Request In Progress 923 Request In Progress
10 Approved Partial 002 Approved Partial
11 Approved VIP 003 Approved VIP
12 Invalid Tran 902 Invalid Transaction
13 Invalid Amount 110 Invalid Amount
14 Invalid Card Number 111 Invalid Card Number
15 No Such Issuer 908 Routing Error
16 Approved Update Track 3 004 Approved Update Track 3
17 Customer Cancellation 100 Do Not Honour
18 Customer Dispute 100 Do Not Honour
19 Re-enter Transaction 903 Re-enter Transaction

8
Confidential PosApp Specification v1.0
PosApp Specification document

20 Invalid Response 100 Do Not Honour


21 No Action Taken 921 Security Error No Action
22 Suspected Malfunction 909 System Malfunction
23 Unacceptable Tran Fee 113 Unacceptable Fee
24 File Update Not Supported 301 File Action Not Supported
25 Unable To Locate Record 302 File Record Not Found
26 Duplicate Record 308 File Duplicate Record Rejected
30 Format Error 904 Format Error
31 Bank Not Supported 905 Acquirer Not Supported
33 Expired Card Pick Up 201 Expired Card Pick Up
34 Suspected Fraud Pick Up 202 Suspected Fraud Pick Up
36 Restricted Card Pick Up 204 Restricted Card Pick Up
38 PIN Tries Exceeded Pick Up 206 PIN Tries Exceeded Pick Up
39 No Credit Account 114 No Account Of Requested Type
40 Function Not Supported 115 Function Not Supported
41 Lost Card 208 Lost Card Pick Up
42 No Universal Account 114 No Account Of Requested Type
43 Stolen Card 209 Stolen Card Pick Up
44 No Investment Account 114 No Account Of Requested Type
45 50 100 Do Not Honour
51 Not Sufficient Funds 116 Not Sufficient Funds
52 No Check/Cheque Account 114 No Account Of Requested Type
53 No Savings Account 114 No Account Of Requested Type
54 Expired Card 101 Expired Card
55 Incorrect PIN 117 Incorrect PIN
56 No Card Record 118 No Card Record
57 Tran Not Permitted Cardholder 119 Tran Not Permitted Cardholder
58 Tran Not Permitted Terminal 120 Tran Not Permitted Terminal
59 Suspected Fraud Declined 102 Suspected Fraud
61 Exceeds Withdrawal Limit 121 Exceeds Withdrawal Amount Limit
62 Restricted Card 104 Restricted Card
63 Security Violation 122 Security Violation
75 PIN Tries Exceeded 106 PIN Tries Exceeded
91 Issuer Or Switch Inoperative 907 Issuer Or Switch Inoperative
92 Routing Error 908 Routing Error
95 Reconcile Error 915 Cutover Or Checkpoint Error
96 System Malfunction 909 System Malfunction

1.1.4.5 Additional amounts (DE 54)


Information on up to 6 amounts and related account data for which specific data elements
have not been defined. Each amount is a fixed length field consisting of 5 data elements:
Account type (positions 1 - 2)

9
Confidential PosApp Specification v1.0
PosApp Specification document

Amount type (positions 3 - 4)


Currency code (positions 5 - 7)
Amount sign (position 8) - "C" or "D"
Amount (position 9 - 20)
When this field is sent by the entity that performed currency conversion this field should
contain amounts in the transaction and settlement currencies if they differ.
If E-Switch performs currency conversion for the node to which the message will be sent,
then the amounts in the settlement currency will be included in this field.
In a goods and service with cash back transaction, this field must always contain the cash
amount.
In responses to Debit, Credit, Inquiry or Payment transaction, excluding linked accounts
inquiry and payment by deposit transactions, this field may contain the ledger balance
followed by the available balance of the specific account. The account ID of the specific
account is returned in field 102, Account Identification 1.
For a Transfer transaction, the Additional Amounts field may contain the ledger balance
followed by the available balance of the 'from account'. These amounts may be followed by
the ledger balance and the available balance of the 'to account'. The account ID of the
specific 'from account' is returned in field 102, Account Identification 1, and the account ID
of the specific 'to account' is returned in field 103, Account Identification 2.
For a transfer transaction, the amounts for the from account should always occur before the
amounts for the to account.

1.1.4.6 Amount, reconciliation (DE 5)


Funds to be transferred between the acquirer and card issuer equal to the amount,
transaction in the currency of reconciliation. Values are expressed in the minor
denomination (e.g. cents).

1.1.4.7 Amount, transaction (DE 4)


The funds requested by the cardholder in the local currency of the acquirer or source
location of the transaction exclusive of transaction fees. Values are expressed in the minor
denomination (e.g. cents).
In a reversal this is the amount reversed.

10
Confidential PosApp Specification v1.0
PosApp Specification document

1.1.4.8 Authorisation profile (DE 48-F0.2)


This element can be set up in a request message to indicate that stand-in should not be
done (use value 11). It can also be set up by the system that approved or declined the
transaction. It provides additional information on the conditions under which authorization
should be or was performed:
The authorization reason (position 1).
0 Unknown.
1 The transaction was authorized by the card issuer.
2 Online stand-in. The transaction amount was below the local limits.
3 Timeout stand-in. The Sink Node did not respond to a request.
4 Offline stand-in. The Sink Node was not available.
5 The use of this authorization type has been deprecated.
9 The transaction was authorized by Visa.
A Declined by the Sink Node, not sent to the remote entity. This is not forwarded to the
Source Node.
B Declined by the Sink Node after an approved response was received from the remote
entity. This is not forwarded to the Source Node.
The authorization type (position 2).
0 Unknown.
1 Transaction authorized against cardholder record at card issuer.
2 Transaction authorized using card issuer limits.
3 Transaction authorized using card acceptor (merchant) limits.
4 Transaction authorized using card issuer balances.
5 Authorized using card issuer velocity limits.
If the Authorization Reason field is set to 9 (Authorized by Visa), the values of this field are
defined in the following Visa manual:

1.1.4.9 Card acceptor ID (DE 42)


Code identifying the merchant.

11
Confidential PosApp Specification v1.0
PosApp Specification document

1.1.4.10 Card sequence number (DE 23)


A number distinguishing between separate cards with the same primary account number or
primary account number extended.

1.1.4.11 Currency code, transaction (DE 49)


The local currency of the acquirer or source location of the transaction.

1.1.4.12 Date and time, local transaction (DE 12)


The local date and time at which the transaction takes place at the card acceptor location in
authorisation and financial messages.
For all other transactions, this data element indicates the local date and time set by the
initiator of the first message of the transaction.

1.1.4.13 Date and time, transmission (DE 7)


The date and time, expressed in Co-ordinated Universal Time (UTC, formerly known as
GMT), when this message is sent by the message initiator. Once set in a message, it remains
unchanged. E.g. it is not changed when an advice is retransmitted.

1.1.4.14 Function code (DE 24)


100 Original authorisation, amount accurate .Used for all authorisations.
200 Advice Required -The terminal completed a transaction with off-line
authorisation (either via a voice-call or using stand-in limits) and this message
advises the bank of the transaction.
201 Result Outstanding -The terminal must still deliver this result, i.e. the terminal
may or may not have sent this result before, but has not yet received an indication
from PosApp that the result has been received. The terminal may retransmit the
result. The majority of non-reversal advices will be using this code.
301 Add Record -Used in file transfer response messages (1314) during hotcard
downloads
303 Delete record - used file transfer response messages (1314) during hotcard
downloads
304 Replace record -Used in file action requests.
305 Enquiry -Used in all parameter transfer requests.
306 Replace File -In file transfer response messages (1314), indicates that the data
to follow replaces the data currently held on the terminal. This is the function code
received on the first request for a particular file if there is new data available on the
host system that replaces the data on the terminal. Alternatively, this function code

12
Confidential PosApp Specification v1.0
PosApp Specification document

may be returned from the host during a table download if the current table
download is being restarted by the host system. This indicates that any data received
from the host for this table in this interaction is to be disregarded and this and data
to follow replaces all data received so far (note this is for the current table only).
380 Data, with more to come -In file transfer response messages (1314), indicates
there are more data messages to follow.
381 Data, with no more to come -In file transfer response messages (1314), indicates
the last data message in a transfer.
382 No data - In file transfer response messages (1314), indicates that no data
transfer is required.
383 File transfer complete -In file transfer request messages (1304), indicates that
the terminal has received the file successfully. In file transfer response messages
(1314), indicates to the terminal that the host acknowledges a successful download
interaction.
384 File transfer aborted -In file transfer request messages (1304), indicates that the
terminal has aborted the file transfer process. In file transfer request response
(1314), indicates that the terminal must restart the download of the current file set
(not just the current table).
400 Full reversal required -The transaction did not complete as authorised and a
reversal for the full amount of the original transaction is required.
401 Partial reversal required -The transaction did not complete for the full original
amount, therefore a partial reversal is required.
690 Administrative notification -Administrative advice message
691 Administrative request -Administrative request message
805 Special Instruction -Used in 1804 (Network Administration request messages) to
deliver an event notification.
811 Key exchange -Used in 1804 (Network Administration request messages) to
request a key exchange.

1.1.4.15 PIN data (DE 52)


The PIN data data element contains the PIN (a number assigned to a cardholder intended to
uniquely identify that cardholder) of the cardholder formatted into a 64 bit block and
encrypted with a DES key.

1.1.4.16 POS data code (DE 22)


Used to identify terminal capability, terminal environment and presentation security data. It
is used to indicate specific conditions that were present at the time a transaction took place
at the point of service. This data element consists of the following sub-fields:
The card data input capability (position 1) of the terminal.
0 Unknown.

13
Confidential PosApp Specification v1.0
PosApp Specification document

1 Manual, no terminal.
2 Magnetic stripe read.
3 Bar code.
4 OCR.
5 Integrate circuit card (ICC).
6 Key entered. A Contactless ICC. B Contactless magnetic stripe.
The cardholder authentication capability (position 2) of the terminal.
0 No electronic authentication.
1 PIN.
2 Electronic signature analysis.
3 Biometrics.
4 Biographic.
5 Electronic authentication inoperative.
6 Other.
The card capture capability (position 3) of the terminal.
0 None.
1 Capture.
The operating environment (position 4) of the terminal.
0 No terminal used.
1 On premises of card acceptor, attended.
2 On premises of card acceptor, unattended.
3 Off premises of card acceptor, attended.
4 Off premises of card acceptor, unattended.
5 On premises of cardholder, attended.
Indicates whether the cardholder is present (position 5).
0 Cardholder present.
1 Cardholder not present, unspecified.
2 Cardholder not present, mail order.
3 Cardholder not present, telephone.
4 Cardholder not present, standing authorisation.
Indicates whether the card is present (position 6).
0 Card not present.
1 Card present.
The actual card data input mode (position 7) of the transaction.
0 Unspecified.
1 Manual, no terminal.
2 Magnetic stripe read.
3 Bar code.

14
Confidential PosApp Specification v1.0
PosApp Specification document

4 OCR.
5 Integrate circuit card (ICC).
6 Key entered.
7 Contactless ICC.
8 Contactless magnetic stripe.
The actual cardholder authentication method (position 8) of the transaction.
0 Not authenticated
1 PIN.
2 Electronic signature analysis.
3 Biometrics.
4 Biographic.
5 Manual signature verification.
6 Other manual verification.
The cardholder authentication entity (position 9) of the transaction.
0 Not authenticated.
1 Integrated circuit card.
2 Terminal.
3 Authorising agent.
4 Merchant.
5 Other.
The card data output capability (position 10) of the terminal.
0 Unknown.
1 None.
2 Magnetic stripe write.
3 Integrate circuit card (ICC).
The terminal output capability (position 11) of the terminal.
0 Unknown.
1 None.
2 Printing.
3 Display.
4 Printing and display.
The PIN capture capability (position 12) of the terminal.
0 No PIN capture capability.
1 Device PIN capture capability unknown.
4 Four characters.
Five characters.
6 Six characters.
7 Seven characters.

15
Confidential PosApp Specification v1.0
PosApp Specification document

8 Eight characters.
9 Nine characters.
A Ten characters.
B Eleven characters.
C Twelve characters.
Terminal operator (position 13)
0 Customer operated.
1 Card acceptor operated.
2 Administrative.
Terminal type (position 1415)
00 Administrative terminal
01 POS terminal
02 ATM
03 Home terminal
04 Electronic cash register (ECR)
05 Dial terminal
06 Travellers check machine
07 Fuel machine
08 Scrip machine
09 Coupon machine
10 Ticket machine
11 Point-of-Banking terminal
12 Teller
13 Franchise teller
14 Personal banking
15 Public utility
16 Vending
17 Self-service
18 Authorization
19 Payment
20 VRU
21 Smart phone
22 Interactive television
23 Personal digital assistant
24 Screen phone
90 E-commerce - No encryption; no authentication

1.1.4.17 Primary account number (DE 2)


This data element contains the primary account number as it is embossed on the front of
the card. It is only used when the account number is manually entered.

16
Confidential PosApp Specification v1.0
PosApp Specification document

1.1.4.18 Processing code (DE 3)


The customer transaction type and the account types, if any, affected by the transaction.
This is a fixed length data element consisting of 3 data elements:
Transaction type (positions 1 - 2).
Account type affected for debits and inquiries and the from account for transfers
(position 3 - 4).
Account type affected for credits and the to account for transfers (position 3 - 4).
The following transaction types are supported:
Debits (00 - 19)
00 Goods and services
01 Cash withdrawal
02 Adjustment
04 Check/cheque verification
09 Goods and services with cash back
12 General debit
Credits (20 - 29)
20 Returns (refund)
22 Adjustment
25 General credit
28 Merchandise request (dispatch)
Inquiry Services (30 - 39)
30 Available funds inquiry
31 Balance inquiry
32 General inquiry
35 Full statement inquiry
36 Merchandise inquiry
37 Card verification inquiry
38 Mini-statement inquiry
39 Linked account inquiry

17
Confidential PosApp Specification v1.0
PosApp Specification document

Transfer services (40 - 49)


42 General transfer
Administration transaction (90 - 99)
90 General admin
93 Dead-end general admin

Account Types
Any account type may be used as long as it has been configured in E-Switch and would be
acceptable to the issuer. The following account types are configured by default:
00 Default unspecified
10 Savings account
20 Check account
30 Credit account
40 Universal account
50 Investment account

1.1.4.19 Retrieval reference number (DE 37)


A value uniquely identifying a transaction, supplied by the transaction server. One way
in which a terminal may generate this is as follows:
TTTTTTBBBNNN
where
TTTTTT = terminal identifier (terminal ID in base 62, using 0..9A..Za..z as digits)
BBB = batch number
NNN = transaction sequence number

1.1.4.20 System trace audit number (DE 11)


A number assigned by the transaction originator to assist in identifying a transaction
uniquely per terminal ID. The system trace audit number remains unchanged for all
messages within a transaction.

18
Confidential PosApp Specification v1.0
PosApp Specification document

1.1.5 Transactions to be supported:


1. Sale this transaction will be used when the passenger boards a bus and would like
to pay the fare using their card. ISO transaction type 00 will be used. This transaction
type is maintained for both tickets and or Airtime.
2. Balance enquiry the customer should be able to enquire how much is remaining in
their card whilst they are on board. ISO transaction type 31 will be used.

1.1.6 Message types to be supported between the POS and the Switch:
1. 1804 This message type will be used for Network sign on and key exchange
between the device and the Switch. The message is initiated by the device to the
Switch and a response of 0810 will complete the transaction flow.
2. 1200 This message type will be used for financial impact transactions as well as
enquiries. This transaction is marked complete after receiving a 1210 message.
3. 1420 This is a reversal message, this message is usually sent after incurring a
timeout between the POS and the Switch.
4. 1220 This is an advice message sent for transactions authorized offline.

19
Confidential PosApp Specification v1.0
PosApp Specification document

APPENDIX A :- MESSAGE EXAMPLES


A1: BALANCE ENQUIRY
1200:
[Fixed n 6 006] 003 [310000]
[None n 012] 004 [000000000000]
[Fixed n 10 010] 007 [0715101433]
[Fixed n 6 006] 011 [000006]
[Fixed n 12 012] 012 [160715121433]
[Fixed an 15 015] 022 [51010121014C101]
[Fixed n 3 003] 024 [200]
[Fixed n 3 003] 029 [001]
[LLVAR n ..11 006] 032 [123456]
[LLVAR ans ..37 024] 035 [1234560000374017=1709521]
[Fixed ans 12 012] 037 [619712000006]
[Fixed ans 8 008] 041 [TTT22001]
[Fixed ans 15 015] 042 [TT000000000005]
[Fixed ans 19 019] 048.001 [TTT220010000027777 ]
[Fixed an 2 002] 048.002 [00]
[LLLLVARans .9999 104] 048.016 [13PSI11A19MerchName212TEST
Bank15UsrId14777717UsrName18ENGINEER210User-Agent222LPAY/1.13.15
EMV/6.2.0]
[Fixed a/n 3 003] 049 [840]
[Fixed b 8 008] 052 *[E099C814185734B5]
[LLVAR n ..11 006] 100 [333444]
binary data
0000(0000) 42 31 32 30 30 b2 30 05 09 28 c1 90 00 00 00 00 B1200.0..(......
0016(0010) 00 10 00 00 00 33 31 30 30 30 30 30 30 30 30 30 .....31000000000
0032(0020) 30 30 30 30 30 30 30 30 37 31 35 31 30 31 34 33 0000000071510143
0048(0030) 33 30 30 30 30 30 36 31 36 30 37 31 35 31 32 31 3000006160715121
0064(0040) 34 33 33 35 31 30 31 30 31 32 31 30 31 34 43 31 43351010121014C1
0080(0050) 30 31 32 30 30 30 30 31 30 36 35 30 32 31 39 35 0120000106123456
0096(0060) 32 34 35 30 32 31 39 35 30 30 30 30 33 37 34 30 2412345600003740
0112(0070) 31 37 3d 31 37 30 39 35 32 31 36 31 39 37 31 32 17=1709521619712
0128(0080) 30 30 30 30 30 36 53 42 42 32 32 30 30 31 53 42 000006TTT22001SB
0144(0090) 5a 30 30 30 30 30 30 30 30 30 30 30 35 30 31 33 Z000000000005013
0160(00a0) 34 f0 83 00 c0 01 53 42 42 32 32 30 30 31 30 30 4.....TTT2200100
0176(00b0) 30 30 30 32 37 37 37 37 20 30 30 30 31 30 34 31 00027777 0001041
0192(00c0) 33 50 53 49 31 31 41 31 39 4d 65 72 63 68 4e 61 3PSI11A19MerchNa
0208(00d0) 6d 65 32 31 32 53 74 65 77 61 72 64 20 42 61 6e me212Test Ban
0224(00e0) 6b 31 35 55 73 72 49 64 31 34 37 37 37 37 31 37 k15UsrId14777717
0240(00f0) 55 73 72 4e 61 6d 65 31 38 45 4e 47 49 4e 45 45 UsrName18ENGINEE
0256(0100) 52 32 31 30 55 73 65 72 2d 41 67 65 6e 74 32 32 R210User-Agent22
0272(0110) 32 4c 50 41 59 2f 31 2e 31 33 2e 31 35 20 45 4d 2LPAY/1.13.15 EM
0288(0120) 56 2f 36 2e 32 2e 30 38 34 30 e0 99 c8 14 18 57 V/6.2.0840.....W
0304(0130) 34 b5 30 36 33 33 33 34 34 34 4.06333444

A2:- SALE
1200:
[Fixed n 6 006] 003 [000000]
[None n 012] 004 [000000000001]
[Fixed n 10 010] 007 [0929070152]
[Fixed n 6 006] 011 [000024]
[Fixed n 12 012] 012 [150929090152]
[Fixed an 15 015] 022 [51010121014C101]
[Fixed n 3 003] 024 [200]
[Fixed n 3 003] 029 [001]
[LLVAR n ..11 006] 032 [123456]

20
Confidential PosApp Specification v1.0
PosApp Specification document

[LLVAR ans ..37 024] 035 [1234560000374074=1709521]


[Fixed ans 12 012] 037 [092900000024]
[Fixed ans 8 008] 041 [TTT60619]
[Fixed ans 15 015] 042 [111680004HIGHLA]
[Fixed ans 19 019] 048.001 [TTT606190000059999 ]
[Fixed an 2 002] 048.002 [00]
[LLLLVARans .9999 115] 048.016 [13PSI11M19MerchName18TEST
POS15UsrId14999917UsrName210SUPERVISOR210User-Agent235LPAY/1.12.18
EMV/v602_01_2015.04.02]
[Fixed a/n 3 003] 049 [840]
[Fixed b 8 008] 052 *[57159D0F5794F398]

binary data

0000(0000) 42 31 32 30 30 32 30 05 09 28 c1 90 00 30 30 30 B120020..(...000
0016(0010) 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 30 0000000000000010
0032(0020) 39 32 39 30 37 30 31 35 32 30 30 30 30 32 34 31 9290701520000241
0048(0030) 35 30 39 32 39 30 39 30 31 35 32 35 31 30 31 30 5092909015251010
0064(0040) 31 32 31 30 31 34 43 31 30 31 32 30 30 30 30 31 121014C101200001
0080(0050) 30 36 35 30 32 31 39 35 32 34 35 30 32 31 39 35 0612345624123456
0096(0060) 30 30 30 30 33 37 34 30 37 34 3d 31 37 30 39 35 0000374074=17095
0112(0070) 32 31 30 39 32 39 30 30 30 30 30 30 32 34 53 42 21092900000024SB
0128(0080) 4d 36 30 36 31 39 31 31 31 36 38 30 30 30 34 48 M60619111680004H
0144(0090) 49 47 48 4c 41 30 31 34 35 f0 8e 00 c0 01 53 42 IGHLA0145.....TT
0160(00a0) 4d 36 30 36 31 39 30 30 30 30 30 35 39 39 39 39 T606190000059999
0176(00b0) 20 30 30 30 31 31 35 31 33 50 53 49 31 31 4d 31 00011513PSI11M1
0192(00c0) 39 4d 65 72 63 68 4e 61 6d 65 31 38 54 45 53 54 9MerchName18TEST
0208(00d0) 20 50 4f 53 31 35 55 73 72 49 64 31 34 39 39 39 POS15UsrId14999
0224(00e0) 39 31 37 55 73 72 4e 61 6d 65 32 31 30 53 55 50 917UsrName210SUP
0240(00f0) 45 52 56 49 53 4f 52 32 31 30 55 73 65 72 2d 41 ERVISOR210User-A
0256(0100) 67 65 6e 74 32 33 35 4c 50 41 59 2f 31 2e 31 32 gent235TPAY/1.12
0272(0110) 2e 31 38 20 45 4d 56 2f 76 36 30 32 5f 30 31 5f .18 EMV/v602_01_
0288(0120) 32 30 31 35 2e 30 34 2e 30 32 38 34 30 57 15 9d 2015.04.02840W..
0304(0130) 0f 57 94 f3 98 .W...

A3: Advice for SALE


1220:
[Fixed n 6 006] 003 [000000]
[None n 012] 004 [000000000000]
[Fixed n 10 010] 007 [0715101433]
[Fixed n 6 006] 011 [000006]
[Fixed n 12 012] 012 [160715121433]
[Fixed an 15 015] 022 [51010121014C101]
[Fixed n 3 003] 024 [200]
[Fixed n 3 003] 029 [001]
[LLVAR n ..11 006] 032 [123456]
[LLVAR ans ..37 024] 035 [1234560000374017=1709521]
[Fixed ans 12 012] 037 [619712000006]
[Fixed ans 8 008] 041 [TTT22001]
[Fixed ans 15 015] 042 [TT000000000005]
[Fixed ans 19 019] 048.001 [TTT220010000027777 ]
[Fixed an 2 002] 048.002 [00]
[LLLLVARans .9999 104] 048.016 [13PSI11A19MerchName212TEST
Bank15UsrId14777717UsrName18ENGINEER210User-Agent222LPAY/1.13.15
EMV/6.2.0]
[Fixed a/n 3 003] 049 [840]
[Fixed b 8 008] 052 *[E099C814185734B5]
[LLVAR n ..11 006] 100 [333444]

21
Confidential PosApp Specification v1.0
PosApp Specification document

binary data
0000(0000) 42 31 32 30 30 b2 30 05 09 28 c1 90 00 00 00 00 B1220.0..(......
0016(0010) 00 10 00 00 00 33 31 30 30 30 30 30 30 30 30 30 .....31000000000
0032(0020) 30 30 30 30 30 30 30 30 37 31 35 31 30 31 34 33 0000000071510143
0048(0030) 33 30 30 30 30 30 36 31 36 30 37 31 35 31 32 31 3000006160715121
0064(0040) 34 33 33 35 31 30 31 30 31 32 31 30 31 34 43 31 43351010121014C1
0080(0050) 30 31 32 30 30 30 30 31 30 36 35 30 32 31 39 35 0120000106123456
0096(0060) 32 34 35 30 32 31 39 35 30 30 30 30 33 37 34 30 2412345600003740
0112(0070) 31 37 3d 31 37 30 39 35 32 31 36 31 39 37 31 32 17=1709521619712
0128(0080) 30 30 30 30 30 36 53 42 42 32 32 30 30 31 53 42 000006TTT22001SB
0144(0090) 5a 30 30 30 30 30 30 30 30 30 30 30 35 30 31 33 Z000000000005013
0160(00a0) 34 f0 83 00 c0 01 53 42 42 32 32 30 30 31 30 30 4.....TTT2200100
0176(00b0) 30 30 30 32 37 37 37 37 20 30 30 30 31 30 34 31 00027777 0001041
0192(00c0) 33 50 53 49 31 31 41 31 39 4d 65 72 63 68 4e 61 3PSI11A19MerchNa
0208(00d0) 6d 65 32 31 32 53 74 65 77 61 72 64 20 42 61 6e me212Test Ban
0224(00e0) 6b 31 35 55 73 72 49 64 31 34 37 37 37 37 31 37 k15UsrId14777717
0240(00f0) 55 73 72 4e 61 6d 65 31 38 45 4e 47 49 4e 45 45 UsrName18ENGINEE
0256(0100) 52 32 31 30 55 73 65 72 2d 41 67 65 6e 74 32 32 R210User-Agent22
0272(0110) 32 4c 50 41 59 2f 31 2e 31 33 2e 31 35 20 45 4d 2LPAY/1.13.15 EM
0288(0120) 56 2f 36 2e 32 2e 30 38 34 30 e0 99 c8 14 18 57 V/6.2.0840.....W
0304(0130) 34 b5 30 36 33 33 33 34 34 34 4.06333444

A4:- 1804
1804:
[Fixed n 10 010] 007 [0719114247]

[Fixed n 6 006] 011 [001587]

[Fixed n 12 012] 012 [160719134247]

[Fixed n 3 003] 024 [805]

[Fixed ans 8 008] 041 [TTT66428]

[Fixed ans 15 015] 042 [9999900076ECOMD]

binary data

0000(0000) 42 31 38 30 34 02 30 01 00 00 c0 00 00 30 37 31
B1804.0......071

0016(0010) 39 31 31 34 32 34 37 30 30 31 35 38 37 31 36 30
9114247001587160

0032(0020) 37 31 39 31 33 34 32 34 37 38 30 35 53 42 42 36
719134247805TTT6

0048(0030) 36 34 32 38 39 39 39 39 39 30 30 30 37 36 45 43
64289999900076EC

0064(0040) 4f 4d 44 OMD

A5:- 1420

1420:

[LLVAR n ..19 016] 002 [1234560000000075]

[Fixed n 6 006] 003 [000000]

22
Confidential PosApp Specification v1.0
PosApp Specification document

[None n 012] 004 [000000000110]

[Fixed n 10 010] 007 [0429173113]

[Fixed n 6 006] 011 [000065]

[Fixed n 12 012] 012 [140429165516]

[Fixed n 4 004] 014 [1901]

[Fixed an 15 015] 022 [51010121014C104]

[Fixed n 3 003] 024 [201]

[Fixed n 4 004] 025 [4021]

[Fixed n 3 003] 029 [001]

[Fixed ans 12 012] 037 [000039940001]

[Fixed n 3 003] 039 [911]

[Fixed ans 8 008] 041 [TTT46194]

[Fixed ans 15 015] 042 [12037004CENTRAL]

[Fixed ans 19 019] 048.001 [TTT461940000399999 ]

[Fixed an 2 002] 048.002 [00]

[Fixed a/n 3 003] 049 [840]

[LLVAR n ..35 031] 056 [0200000064042917302700000000000]

binary data

0000(0000) 42 31 34 32 30 72 34 05 88 0a c1 81 00 31 36 35
B1420r4......161

0016(0010) 30 32 31 39 35 30 30 30 30 30 30 30 30 37 35 30
2345600000000750

0032(0020) 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 31
0000000000000011

0048(0030) 30 30 34 32 39 31 37 33 31 31 33 30 30 30 30 36
0042917311300006

0064(0040) 35 31 34 30 34 32 39 31 36 35 35 31 36 31 39 30
5140429165516190

0080(0050) 31 35 31 30 31 30 31 32 31 30 31 34 43 31 30 34
151010121014C104

0096(0060) 32 30 31 34 30 32 31 30 30 31 30 30 30 30 33 39
2014021001000039

0112(0070) 39 34 30 30 30 31 39 31 31 53 42 4d 34 36 31 39
940001911TTT4619

0128(0080) 34 31 32 30 33 37 30 30 34 43 45 4e 54 52 41 4c
412037004CENTRAL

0144(0090) 30 30 32 36 f0 17 00 c0 00 53 42 4d 34 36 31 39
0026.....TTT4619

23
Confidential PosApp Specification v1.0
PosApp Specification document

0160(00a0) 34 30 30 30 30 33 39 39 39 39 39 20 30 30 38 34 40000399999
0084

0176(00b0) 30 33 31 30 32 30 30 30 30 30 30 36 34 30 34 32
0310200000064042

0192(00c0) 39 31 37 33 30 32 37 30 30 30 30 30 30 30 30 30
9173027000000000

0208(00d0) 30 30

24
Confidential PosApp Specification v1.0

You might also like