Jpos
Jpos
Jpos
Prepared by:
Nigeria Inter – Bank Settlement System (NIBSS)
Version: 1.11
January 23, 2015
Page 1 of 53
Page 2 of 53
Page 3 of 53
Page 4 of 53
Page 5 of 53
Page 7 of 53
Page 8 of 53
Page 10 of 53
Page 11 of 53
Page 12 of 53
A number identifying the cardholder and the card issuer. Typically, this number is
embossed on the front of the card and encoded on Track 2 of the magnetic stripe.
The customer transaction type and the account types, if any, affected by the
transaction. This is a fixed length field consisting of 3 data elements:
Transaction type (positions 1 - 2)
Account type affected for debits and inquiries and the "from" account for
transfers (positions 3 - 4)
Account type affected for credits and the "to" account for transfers (positions 5 -
6)
Transaction Type
Code Description Message Type Identifier (MTI)
00 Purchase 0200
01 Cash Advance 0200
20 Refund/Return 0200
21 Deposit 0200
09 Purchase with Cash back 0200
31 Balance Inquiry 0100
Page 13 of 53
This field contains the transaction amount in the transaction currency. This amount is
expressed in lowest denominations.
The date and time, expressed in Coordinated Universal Time (UTC), when this message
is sent by the message initiator.
Page 15 of 53
The local time at which the transaction takes place at the card acceptor location in
authorization and financial messages.
For all other transactions, this field indicates the local time set by the initiator of the first
message of the transaction.
The local date at which the transaction takes place at the card acceptor location in
authorization and financial messages.
For all other transactions, this field indicates the local date set by the initiator of the first
message of the transaction.
This field contains the date on which settlement between the gateway and intermediate
network facilities will be done.
Page 16 of 53
A series of codes that identify the actual method used to capture the account number
and expiry date when a terminal is used, and the PIN capture capability of the terminal.
This is a fixed length field consisting of 2 data elements:
PAN entry mode (positions 1 - 2)
00 – Unknown
01 – Manual (i.e keypad)
02 – Magnetic Stripe (possibly constructed manually, CVV may be checked)
03 – Barcode
04 – OCR
05 – ICC (CVV may be checked)
07 – Auto - entry via contactless ICC
90 – Magnetic strip as read from track 2
91 – Auto - entry via contactless magnetic stripe
Page 17 of 53
A number distinguishing between separate cards with the same primary account
number or primary account number extended.
A code that describes the condition under which the transaction takes place at the
Point-Of-Service.
00 Normal presentment
03 Merchant suspicious
08 Mail/telephone order
11 Suspected fraud
12 Security reasons
13 Representation of item
15 Customer's terminal
16 Administrative terminal
17 Returned item
21 Manual reversal
Page 19 of 53
The maximum number of PIN characters that can be accepted by the Point-of-Service
device.
Valid values are "04" to "12" ("00" to "03" are reserved by ISO) and if the POS device
does not accept PINs or it is unknown whether the device does, this value should be set
to "12".
Field #28 - Amount, Transaction Fee
Field No Format Attr
28 x+n8
A fee charged, by the acquirer to the issuer, for transaction activity, in the currency of
the amount, transaction.
A fee charged by the network for the handling and routing of messages, in the currency
of amount, transaction. This field is usually inserted by the network into the applicable
messages.
Page 20 of 53
A code identifying the financial institution acting as the acquirer of this customer
transaction. The acquirer is the member or system user that signed the merchant,
installed the ATM or dispensed cash. This field usually contains the BIN (see PAN) of the
acquirer, but could be any other number assigned to it by the relevant authorities.
When a processing center operates for multiple acquirers, this is the code for the
individual member or system user, not a code for the processing center.
A code identifying the institution that forwards the transaction in an interchange system
en route to the card issuer. For example, assume that an acquirer routes a transaction
via a third-party EFT switch to the card issuer. In the request from the acquirer to the
EFT switch, this field contains the code of the acquirer. When the request is forwarded
by the EFT switch to the card issuer, this field contains the code assigned to the EFT
switch.
Page 21 of 53
Field Length
The primary account number, expiry date and service restriction code fields are
described in further detail under fields 2, 14 and 40 in this document.
A reference number supplied by the system retaining the original source information
and used to assist in locating that information or a copy thereof.
Page 22 of 53
03 Invalid merchant
04 Pick-up card
05 Do not honor
06 Error
09 Request in progress
10 Approved, partial
11 Approved, VIP
12 Invalid transaction
13 Invalid amount
15 No such issuer
17 Customer cancellation
Page 23 of 53
19 Re-enter transaction
20 Invalid response
21 No action taken
22 Suspected malfunction
26 Duplicate record
30 Format error
32 Completed partially
Page 24 of 53
41 Lost card
42 No universal account
43 Stolen card
44 No investment account
52 No check account
53 No savings account
54 Expired card
55 Incorrect PIN
56 No card record
59 Suspected fraud
60 Contact acquirer
62 Restricted card
63 Security violation
Page 25 of 53
67 Hard capture
90 Cut-off in progress
92 Routing error
93 Violation of law
94 Duplicate transaction
95 Reconcile error
96 System malfunction
1 International card
Page 26 of 53
0 Normal authorization
0 PIN required
7 PIN required if PIN pad present, goods and services only at POS, cash at ATM
Page 27 of 53
The name and location of the card acceptor (such as a merchant or an ATM). This is a
fixed length field consisting of 4 data elements:
The location information (positions 1 - 23), exclusive of city, state and country
The city (positions 24 - 36) in which the Point-of-Service is located
The state (positions 37 - 38) in which the Point-of-Service is located
The country (positions 39 - 40) in which the Point-of-Service is located
Terminal ID TERM_ID n8
To account TO_ACC n2
Authorization ID AUTH_ID n6
Surcharge SURCHARGE n8
Account ID 28 The identifier uniquely identifying the account, left justified, space-
filled.
Ledger 13 The ledger balance of the account. The first character contains the
balance sign. A "D" indicates a debit (negative) balance and a "C" indicates a
credit (positive) balance.
The local currency of the acquirer or source location of the transaction. This is the
currency code used for the following amount fields:
amount, transaction
amount, transaction fee
amount, transaction processing fee
Page 30 of 53
The PIN data field 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.
Page 31 of 53
This data element contains EMV data. This EMV data in this data element is structured
in the following manner:
The 2-byte or 4-byte tag is an EMV tag (in hexadecimal format) that uniquely identifies
the data content of the P-55 fields, and the 2-digit length field defines the length of the
variable-length data that follows it. The length specifies the number of hexadecimal
values represented in the data part, the actual string is twice as long as the length
specifies. The format of the length field is binary converted to a hexadecimal string, e.g.,
Page 32 of 53
The variable length data for a tag cannot exceed the maximum specified length specified
for the data. When the variable length data is longer than the defined maximum length
for the tag value, it is truncated. The following table describes each of the EMV tags that
can be carried in the P-55 data element, the maximum length for each tag value, the
transaction data elements (TDEs) to which each tag is mapped, and flags indicating
whether the tag data is required (Y), optional (N), or not applicable (N/A) for requests
and responses.
Page 34 of 53
A code that provides the receiver of a request, advice or notification message with the
reason, or purpose of that message.
For original authorizations and financial transactions, it identifies why the type of
message was sent (e.g. why an advice versus a request); for other messages, it states
why this action was taken.
Page 35 of 53
If a hold response code has not been specified in these transactions, the message reason
code field will be used to determine which hold response code to use for the transaction.
A message reason code of "3001-Stolen card" will result in a hold response code of "43-
Stolen card", otherwise "41-Lost card" will be used.
In the case of a message to bank transaction, the message reason code specifies the
type of message the cardholder wants to forward to the issuer. Note that in this case,
the message reason code field is treated as a free-format field that the user can use for
any user specific code.
Message reason codes are defined in the ISO 8583 (1993) specification, and this
specification has been used as basis for the codes defined here.
Page 36 of 53
This data element contains information relating to bills payments and token (recharge
cards, tickets etc) purchases. This data element carries tagged data items. The tags
defined for this data element are as listed in the table below:
Page 37 of 53
This data element carries tagged data items. The tags defined for this data element are
listed in the table below. Tagged data items are structured in the following manner: a
tag identifying the type of data, followed immediately by a three-digit length (LLL)
identifying the length of the data, followed immediately by the data itself.
Note:
*Tag 41: Biller Identification Code is in the format below:
Page 39 of 53
**Tag 50: Customer Subscription Information, if more than one, it should be separated by ‘||’
e.g. name=Halima Eze Ajayi||customerid=00001||prod1=3||prod2=4
From the example, name and customerid are values downloaded during Biller Subscription
Information Download request and the values the customer entered are after the equals signs.
prod1 and prod2 are products while values 3 and 4 after the equals signs are the quantities.
***Tag 48: Payment Code and ***Tag 49: Payment Validated Information can be used inter –
changeably. Format is same as tag 50.
This data element carries tagged data items. The tags defined for this data element are
listed in the table below. Tagged data items are structured in the following manner: a
tag identifying the type of data, followed immediately by a three-digit length (LLL)
identifying the length of the data, followed immediately by the data itself. Each block of
data is separated by “~”.
This data element carries the hash value for the messages subject to no secondary data
elements (DE65 through DE128) are included in the message. The algorithm is SHA-256.
If the message contains secondary data elements, data element DE128 is used to carry
the hash value. If the hash value is carried in data element DE128, data element DE64 is
not included in the message.
The data elements contained in the original message intended for transaction matching
(e.g. to identify a transaction for correction or reversal). It is a fixed length field
consisting of 5 data elements:
Original message type (positions 1 - 4) - the message type identifier of the
original message of the transaction being reversed.
Page 42 of 53
The corrected amounts of a transaction in a partial or full reversal (or the final amounts
for the transaction). It is a fixed length field consisting of 4 data elements:
Actual amount, transaction (positions 1 - 12) - the corrected, actual amount of
the customer’s transaction, in the currency of the transaction.
Actual amount, settlement (positions 13 - 24) - the corrected, actual amount of
the customer’s transaction, in the settlement currency.
Actual amount, transaction fee (positions 25 - 33) - the corrected, actual amount
of the fee (in format x + n8) for this customer transaction, in the currency of the
transaction.
Actual amount, settlement fee (positions 34 - 42) - the corrected, actual amount
of the fee (in format x + n8) for this customer transaction, in the settlement currency.
Page 43 of 53
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.
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.
When used in payment transactions, this field specifies the bank account number of the
payee.
The field is 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 field consists of the following sub-
fields:
The card data input capability (position 1) of the terminal.
Possible values are:
0 – Unknown
Page 44 of 53
Page 45 of 53
Page 46 of 53
Page 47 of 53
Page 48 of 53
Page 49 of 53
If the message does not contain at least one other secondary data element, the hash
value is placed in data element DE64.
Field #128 – Secondary Message Hash Value
Field No Format Attr
128 AN 64
This data element carries the message hash value for the message, subject to at least
one other secondary data element (DE65 through DE128) being included in the
message. The algorithm is SHA-256.
If the message does not contain at least one other secondary data element, the hash
value is placed in data element DE64.
Page 50 of 53
For Master Key session, the following are the keys to be exchanged:
1. Clear Terminal Master Key (CTMK): This key is transmitted in clear form
and injected into the POS Terminal or other Payment Channels. This can
be generated for a group of POS Terminals. A group could be a logical
grouping by Payment Terminal Service Provider (PTSP) or Merchant
Acquirers.
2. Encrypted Terminal Master Key (TMK): This key is transmitted in
encrypted form to the POS Terminal or other Payment Channels. This is
not injected into terminal manually. This is requested for online by the
POS Terminal when it is being setup or if it is suspected that the key has
been compromised. TMK is encrypted with CTMK.
3. Encrypted Terminal PIN Key (TPK): This key is usually transmitted in
encrypted form to the POS Terminal or other Payment Channels. This is
not injected into the terminal manually. POS terminal requests online for
this key at predefined time from the CTMS. TPK is encrypted with the
TMK. At transaction, this key is used to encrypt the PIN block if it is sent
in the message.
4. Encrypted Terminal Session Key (TSK): This key is usually transmitted in
encrypted form to the POS Terminal or other Payment Channels. This is
not injected into terminal manually. POS Terminal requests online for
this key at predefined time from the CTMS. TSK is encrypted with TMK.
Page 51 of 53
Page 52 of 53
Page 53 of 53