TakaPay - Terminal Specification - v1.0
TakaPay - Terminal Specification - v1.0
TakaPay Terminal
Specification
Version: 1.0_Draft
Date: 2024/01/31
Introduction 5
Chapter 15 Completion 48
Copyright in this document belongs to Bangladesh Bank (here after referred as BB).
This document contains the latest information available at the time of publication. However, BB reserves
the right to modify the information described herein at any time, with or without published notification. BB
does not warrant the accuracy of the information contained in this document and BB has no liability for
any reliance by any party on the information contained in this document or for any direct or indirect,
special, consequential losses or punitive damages under any cause of action, whether in contract, tort,
under indemnity or statute (including for loss of data, loss of reputation, loss of business opportunity or
loss of anticipated savings) in connection with this document.
All information contained herein is confidential and proprietary to BB. No part of this document may be
reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying,
recording or information retrieval systems, except where expressly permitted by BB.
Amendment history
Acknowledgement
Bangladesh bank gratefully acknowledges the contributions of participants across the industry, from
within TakaPay, within its Membership, and from within its vendors, in the creation and ongoing
development of this document.
This document defines Taka Pay EMV based specification for Contactless Terminals, which will be used
for supporting standard payments as well as low value payment segments such as transit, loyalty, parking,
toll etc.
Reference
Feature
• Contact only or Contact/Contactless attended and unattended POS terminals directly connected
to switch,
• Contact only or contact/contactless unattended ATM terminals directly connected to switch
✓ Terminal Application software in charge of the interface with merchant, with the cardholder and
with the Acquirer network,
✓ The EMV Level 1 Chip contact reader, EMV Level 1 Chip contactless reader or both;
✓ The EMV Level 2 Contact Application kernel, the TakaPay Contactless kernel or both;
✓ The TakaPay Chip and Contactless terminal application and configuration parameters,
✓ and support for both TakaPay AID (A0000009101010) and as well as partial name selection
Rule 1 If contact Interface is enable, the Terminal and ICC communication shall be
compliant to the contact communication protocol as specified in [EMV Book
1]
Rule 2 If Contactless Interface is enable, the TakaPay Chip contactless reader shall
be compliant to the contactless communication protocol as specified in [EMV
contactless protocol Book D].
Rule 3 The Contact kernel module must be compliant with the EMV Book 1- 4
specifications
Rule 4 The Contactless kernel module must be compliant with the PURE
Contactless kernel specifications and EMV Book B. The options that must be
supported are defined in chapter 1.5 Contactless reader Configuration .
This specification describes full Chip processing between the TakaPay Chip contact terminal and
TakaPay Chip contactless cards where the terminal must be capable of providing chip data to the
The terminal application can be divided into three main functional blocks, as illustrated in Figure 2
below.
This is based on the figure in EMV Book A, (section 5.3) and extends the concepts to the EMV contact
kernel and the mag stripe kernel. This figure is for illustrative purposes only.
Based on an external event or action, the terminal starts the payment application and will initiate the
transaction.
Transaction processing is responsible for validating and processing all the data and the outcomes from
the card interaction layer. This function will perform the online processing and restart a card interaction
process if necessary. This function completes the transaction and will control the transaction
parameters for each kernel.
The Card interaction is responsible for activating and deactivating the kernel and handles the
communication and interaction with cards.
When processing an TakaPay Chip contact transaction the TakaPay Chip device must, at a minimum,
support the following:
In addition, the following data elements must be set in the TakaPay Chip device:
The table below will list the minimum features which must be supported to process an TakaPay Chip
contact transaction.
Functionality
• Application Interchange Profile Mandatory
Initiate Application (AIP – Tag ‘82’) As specified in [EMV Book 3] section
Processing • Application File Locator 10.1
(AFL – Tag ‘94’)
Mandatory
Mandatory
• SDA • Optional
• DDA • Optional
• CDA • Optional
Mandatory
For each supported combination {AID; Kernel Id}, the terminal shall have EP Configuration
Data and Kernel Configuration Data.
For each supported type of transaction, a set of static data for Entry Point processing. The
value of this data is persistent and represents transactional configuration information, such as
contactless limits and CVM limits. Exceptional updates happen outside of transaction
processing.
Table 2-7 defines the available data set for each Combination. All configured data sets will be
available for Entry Point processing. All elements defined in Table 4 are optional and may be
omitted from a specific instance of a combination.
Feature
For each supported Type of Transaction a set of static Data for Kernel configuration.
The value of this data is persistent from one transaction to the next and represents
configuration information such as the mode (EMV / mag stripe), CVM support, online/offline
capabilities, and the RID-specific CA public key dataset. Updates of these values are
exceptional and always occur outside of transaction processing. Details of the data that must
be configured for each kernel can be found in the corresponding kernel specifications.
Requirements related to these data are specified in section Kernel Configuration Data.
Several implementation options are available in the PURE Contactless reader specifications
(reference [PURE-CLT]). This section details the options that a Terminal Vendor must support.
It provides also recommendations related to the additional options that may be required in the
future.
Implementation option 8:
This option may be required by future
ECHO command support Not required
Stored Value applications.
(option IO_Option8)
The TakaPay POS must support a parameter for declaration of the options selected by the Acquirer for
the AID supported. This parameter is the “Contactless Application Capabilities” parameter defined below.
Both the contactless reader and the contactless kernel are using this parameter. It may be either shared
by both POS modules or duplicated in each module
• Contactless Application Capabilities is the name of the parameter when it is used by the contactless
reader
• Contactless Kernel Capabilities is the name of the parameter when it is used by the contactless kernel
The Terminal Transaction Processing Information (TTPI), tag ‘C7’, is a PURE kernel internal, transaction-
dynamic parameter for giving terminal transaction processing information to the card (so the card can
determine the terminal capabilities and status). It includes:
• Some (static) information copied from the Contactless Application/Kernel Capabilities, and
• Some (dynamic) transaction indicators from the result of the Pre-Processing function
If it is not the case, its value has to be initialized using PURE Contactless Application/Kernel
Capabilities Options value and the result of the pre-processing checks.
Terminals with PIN entry devices accepting TakaPay Chip and Contactless cards must be Payment
Card Industry PIN Transaction Security standards (PCI-PTS) approved. PIN security and encryption shall
comply with AS2805 parts 3 and 5.4.
As per PCI-PTS requirements, Terminals without PIN entry devices are required to comply with subsets
in PCI-PTS standards like SRED, Open Protocols Module and etc. Therefore, Terminals without PIN
entry devices shall also be PCI-PTS approved.
Acquirers shall ensure that all deployed BB Chip-compliant devices are loaded with the latest BB
Certificate Authority Public Key (CAPK) to ensure that the card-signed data is authenticated
appropriately. Revoked BB CAPKs as well as BB test CAPKs must not be present in production BB
Chip devices. It is recommended that deployed BB Chip-compliant devices can remotely update and
remove CAPKs.
Card Data
Storage of card data (e.g. PAN, expiry date, and cardholder name) must be PCI-DSS compliant.
To ensure transaction data security, TakaPay terminals must be PCI-approved.
Refer to the below table for transaction types and entry modes supported by POS and ATM terminals.
Not Contact
Purchase M M
Applicable Contactless
Not Contact
Refund M M
Applicable Contactless
Not Contact
Pre-Authorization M M
Applicable Contactless
Not Not
Cash Withdrawal M Contact
Applicable Applicable
Not Contact
Cash Advance M M
Applicable Contactless
Not Not
Cash deposit M Contact
Applicable Applicable
For POS : Contact
Bill Payment M M M Contactless
For ATM: Contact only
Not Not
Funds Transfer M Contact
Applicable Applicable
Not Not
Balance Inquiry M Contact
Applicable Applicable
Not Not
Mini statement M Contact
Applicable Applicable
Table 9: Transaction Types
This section describes Overview, Events processing, Pre-processing, Interface selection (Card is
inserted/swiped and present, Manually entered card data)
3.1. Overview
This function consolidates all processes related to the exchange of data with the card, irrespective of the
chosen interface. It oversees Card Interaction processing, which is responsible for handling the data
necessary for cards to execute transactions:
• Terminal configuration data (e.g. Country Code, Merchant ID, Acquirer ID),
• Term app profile (e.g. TACs,),
• Transaction data (e.g. Amounts, Transaction Type, date, time),
• Kernel data (e.g. UN)
3.2. Pre-processing
This function is the initial step executed when the terminal application initiates a transaction, constituting
the primary process in Card Interaction. It is performed to commence a new transaction or when an
Outcome. Start is A. The transaction is identified as a Purchase, Refund, withdrawal, cash, cash advance
and Deposit.
Pre-processing is used to perform preliminary checks before the card is docked or presented. In addition
to [EMV Book B] section 3.1 when Contactless is supported, the function checks the Amounts value
received.
If the function is successfully performed, then the terminal will perform the next function, Interface
Selection.
The TakaPay terminal application must initialize transaction data with the values as detailed in below.
Transaction description Amount, Authorised (Tag 9F02) Amount, Other (Tag 9F03)
Purchase Goods value Zero
Refund Refund value Zero
In Contactless, the terminal/reader shall pre-process the transaction as defined in [EMV Entry Point
Book B] section 3.1, i.e. preparation of the parameters for all combinations supported in the terminal
AID list.
This function is employed to designate the interface for reading card data If contact interface is not
supported when contact protocol not enable or not implemented, the terminal shall activate contactless
protocol. .
The cardholder is prompted to insert if not already done. If contactless mode is both supported and
permitted for the selected combinations, the function will activate the chip contactless protocol, as
specified in [EMV Book B] section 3.3. Additionally, the terminal application initializes the Number of
remaining chip reads to “2”, as indicated below.
If the contactless reader has not been used, then the contactless interface must be deactivated.
If one of these errors occurs the terminal shall abort the transaction and be in the State ‘Idle’.
Card is presented
The terminal application must perform Protocol Activation as specified in [EMV Book B] Section 3.2 and
[EMV Book D] (i.e. anti-collision is checked).
Card is inserted
The terminal application must perform Protocol Activation as specified in [EMV Book 1].
The terminal should initialize the data as described below:
TakaPay terminal shall support EMV contact interface and contactless interface.
Depending on the terminal interface selected, different mechanisms are used to select the card
application, the kernel, and initialize the processing parameters associated with the terminal application
profile. At the end of this processing the card application and the kernel are known.
• Card blocked;
• Candidate list empty;
• Card read error;
• Missing data;
• Data error (mandatory data is missing).
TakaPay contact terminal shall perform Application Selection as defined in section 12 of [EMV-1].
TakaPay contact terminal could optionally support PSE.
The terminal must be loaded with TakaPay Application Identifier (AID) - A0000009101010
Upon the identification of a contact card insertion into the terminal reader, the terminal payment
application is mandated to initiate a call to the EMV Contact Level 2 kernel. The primary responsibility of
this kernel is to execute Application Selection as defined in [EMV Book 1] section 12, thereby facilitating
the appropriate processing of the inserted contact card.
In this transaction step, the application that will be used to perform the payment transaction (e.g., a credit
or debit application) is chosen. This is determined by analyzing the applications that are supported by
both the chip card and the terminal, and, if there are multiple applications, identifying their priority. This
step results in either a single application being chosen or in transaction termination.
Upon detecting a contactless card being tapped on the reader, the responsibility for executing Application
Selection lies with either the terminal payment application or the Entry Point. This process aligns with the
guidelines outlined in [EMV Book B] section 3.3.
At the very least, TakaPay Chip contactless terminal is required to provide support for partial selection,
as mandated by CCD requirements.
The contactless reader has to process the transaction using the kernel associated to the application
selected.
If the kernel requests the contactless reader to select the next application available in the application
candidate list, the application previously selected is removed from the Application Candidate List and the
terminal has to process with the updated Application Candidate List
This Section indicates to the Card that processing of the transaction starts with this step. This step is
performed as described in [EMV4.3iii] Section 10.1 and in contactless as defined in [PURE-CLT]
section 9.2.6.
Upon selecting the application of interest, the terminal is required to initiate the transaction with the GET
PROCESSING OPTIONS command, as per the table below. The application counter (ATC) should be
incremented at the start of each transaction.
The constructed data object returned as a response to the GET PROCESSING OPTIONS command will
have a tag of '77' (i.e., Format 2) and will include the AIP (Tag 82), which indicates the functionality
supported by the card, and the AFL (Tag 94), which indicates the location of the application data.
The content in the GPO response varies depending on the type of interface, the Card and Terminal
capabilities.
If the card returns SW1SW2 = 9000, the GET PROCESSING OPTIONS command was successful, and
the terminal may proceed to the Read Application Data step. If the card returns any other values, the
transaction cannot be performed with this application. In such cases, the terminal must exclude the
current application and return to the Application Selection step to select the next application (AID) in the
candidate list.
This section explains how Terminal obtains the necessary data from a card to complete a transaction
using the READ RECORD command. When the GET PROCESSING OPTIONS command is sent, the
card returns an AFL (Application File Locator) list, which specifies the files and records that will be used
in the transaction processing.
The READ RECORD processing requirements for the contact interface are defined in [EMV4.3iii]
Section 10.2 and for contactless, it shall also compliance with [PURE-CLT] section 9.2.7.
Optionally, the terminal can send GET DATA Command to retrieve card proprietary data. The
processing of this data is out of scope of this specification.
This section provides a clear description of Offline Data Authentication (ODA), which is an essential
transaction step that a terminal uses to authenticate the card and ensure the integrity of the application
data provided by the card
The Offline Data Authentication shall be performed by the EMV Contact kernel as defined in [EMV
Book 3] section 10.3. and in contactless as defined in [PURE-CLT] section 9.2.9.
The terminal uses information obtained during Read Application Data to confirm that the chip card has
not been altered since its personalization, and that the data on the chip card was created by the authentic
issuer.
This validation is performed using three types of RSA keys: the Certificate Authority Public Keys (CA
PKs), the Issuer Public Keys, and the ICC Public Keys. The CA PKs are created by the Certificate
Authority and stored in the terminal, while the Issuer Public Keys and ICC Public Keys are generated by
the Issuer and placed on the chip card during personalization.
The results of Offline Data Authentication are stored in the Terminal Verification Results (TVR) for use
later in the transaction. This step is crucial to ensure the safety and security of the transaction, and it
should not be overlooked.
This section clearly outlines the critical nature of "Process Restrictions," which is an obligatory step
performed by the Terminal. The purpose of this function is to ensure that the Terminal's application is
fully compatible with the Card application and to make necessary adjustments, including the possibility
of rejecting the transaction if required.
The Processing restriction functionality shall be performed by the EMV Contact kernel as specified in
[EMV Book 3] section 10.4 and [EMV Book 4] section 6.3.3 and in contactless as defined in [PURE-
CLT] section 9.2.10
During the Processing Restrictions step, the Terminal conducts multiple checks to identify any restrictions
on the application for the transaction being performed.
The Terminal may also perform the following checking (based on data provided during the completion of
the “READ RECORD” command):
This critical step is performed to ensure that the person presenting the card to the terminal is indeed the
rightful owner of the card. It is important to note that the Terminal must support Cardholder Verification
to carry out this step effectively. To accomplish this, a Cardholder Verification Method (CVM) that is
supported by both the chip card and the terminal is utilized.
The Cardholder Verification Method (CVM) functionality shall be performed by the EMV Contact kernel
as specified in [EMV Book 3] section 10.5 to determine which CVM to use.
The Contactless Kernel is configured in order to support Cardholder verification using the EMV defined
method based on CVM List.
The TakaPay Chip contact terminal application, via Terminal Capabilities (Tag 9F33), shall instruct the
EMV Contact kernel to support Online PIN and signature.
The TakaPay Chip contact terminal application shall not support any PIN bypass processing.
This section describes TRM step performed by terminal which ensures that high value transactions
should go online for Issuer authorization, and that a proportion of lower value transactions should go
online periodically to protect against credit and fraud
The Terminal risk management functionality shall be performed by the EMV Contact kernel as specified
in [EMV Book 3] section 10.6 and in contactless as defined in [PURE-CLT] section 9.2.12.
*if EMV-defined Processing Restriction and Terminal Risk Management” bit is set to ‘1’.The TakaPay
contactless kernel has to process Terminal Velocity Checking.
This section describes about Terminal Action Analysis which is a mandatory step where the Terminal
applies rules set by the issuer (in the Card) and rules set by Taka Pay (in the Terminal) to decide how
the transaction should be processed.
The Terminal Action Analysis functionality shall be performed by the EMV Contact kernel as specified
in [EMV Book 3] section 10.7 and in contactless as defined in [PURE-CLT] section 9.2.13.
TakaPay terminal performs a Terminal Action Analysis (TAA) based on logical tests on the card data,
and by a bitmap match between the Terminal Action Code (TAC) and the Issuer Action Code (IAC).
The TAC value shall be configured based on the terminal type and on the online/offline capability:
ATM - TAC-Default: FC F8 FC F8 00
- TAC- Denial: 00 10 00 00 00
- TAC-Online: FC F8 E4 F8 00
Contactless offline-
- TAC-Default: B4 F8 D4 F8 00
capable terminal
- TAC- Denial: 00 10 00 00 00
- TAC-Online: B4 F8 D4 F8 00
Contactless online-only
- TAC-Default: FF FF FF FF FF
terminal
- TAC- Denial: 00 10 00 00 00
The Card online/offline decision is specified by its response to each issuance of the GENERATE AC
command in Card Action Analysis (CAA)
This step results in the chip card responding to the terminal with a cryptogram reflecting its decision on
how the transaction should progress (i.e., decline offline, send online, or approve offline).
Online Processing is performed to allow the issuer to review transactions and to authorize or reject
them.
The Online Processing functionality shall be performed by the EMV Contact kernel as specified in
[EMV Book 3] section 10.9 and in contactless as defined in [PURE-CLT] section 9.2.18 K18.6.
When going online, the Terminal provides the issuer with data elements used during the transaction,
including the ARQC and other data returned by the Card during CAA.
Online Processing also allows the issuer to return data, including an Authorization Response Cryptogram
(ARPC), to Card via the Terminal.
The terminal should display a message indicating whether the transaction is going online with “ONLINE
REQUEST"
Issuer Script Processing enables Issuers to modify the Card application parameters (i.e. personalised
data) without reissuing the Card. This processing is only for Contact kernel.
Issuer-to-card script processing for a TakaPay Chip transaction must be compliant with EMV Book 3
specification.
With this function, the Issuer transmits commands in Issuer scripts contained in the authorization
response message. The Terminal extracts the commands from the script then passes these commands
in sequence to the Card, where they are executed if secure messaging requirements are satisfied.
The Issuer Script functionality allows the issuer to manage card updates. This functionality shall only be
supported for contact transactions.
Completion is the last step of the transaction unless card re-presentment is required. The objective of
this step is to communicate the transaction decision to the user and perform additional processes if
necessary (depending of the transaction decision). This section shall compliance with [EMV-3] and
[PURE-CLT].
Offline declined: The transaction has been declined. The Terminal shall notify the user and log
information regarding the transaction. The Terminal may ask the user to present a new card or to switch
to another interface.
Offline approved: The transaction has been approved without sending the transaction online for
authorization. The Terminal shall log transaction information for later authorization (if configured to
support Deferred Authorization) and / or clearing (that may occur at a later time).
Online approved: The transaction has been processed online, and the Issuer approved the transaction.
Information concerning the transaction may be logged (but this is not mandatory as the Issuer has already
obtained all of the information required for clearing). The Terminal notifies the user that the transaction
has been approved online.
Online declined: The transaction has been processed online and the Issuer declined the transaction.
Information concerning the transaction may be logged (but this is not mandatory because no clearing is
required). The terminal notifies the user that the transaction has been online declined.
Switch to another interface: The transaction cannot be processed using the contactless interface but
may be processed via a magnetic stripe or contact interface. The Terminal notifies the user to use another
interface.
Upon receiving the authorization decision from the issuer, the terminal should display a message
indicating whether the transaction was "APPROVED" or "DECLINED", along with a reason code that
should be printed on the receipt
.
TakaPay contactless terminal shall prioritize the use of the contactless interface before requesting the
use of contact. If the chip card is mal-functioning, the terminal could request the cardholder to insert the
card. This kind of transaction processing is called “Fallback”.
After the failure of contactless interface transaction, the terminal shall request a Fallback processing
using the contact interface.
Failure
Failure
This process starts when the terminal is in the state ‘Initiated’, meaning all conditions have been satisfied
to perform the transaction (i.e. purchase, purchase with Cash-out, Cash-out, deposit and refund). The
processing steps are based on the concepts of Entry Point except that the function “Protocol activation”
and the outcome processing are extended to all types of interfaces available (i.e. chip card reader, mag
stripe reader, contactless reader, manual entry keypad).
If any processes described here end with an error, the terminal application must abort the transaction
and be in the state “Idle”.
If any processes described here end with an error, the terminal application must abort the transaction
and be in the state “Idle”.
This function controls the application selection for EMV contact and Contactless processing and
provides the application profile to the kernel.
All amounts must be provided to the Pre-processing function to start the processing.
The Application Selection follows EMV rules if EMV Contact kernel is selected (card is docked) or follows
either the Entry Point rules if the card is tapped.
If any contact terminal of type other than Attended (Type = ‘x1,’x2’ or ‘x3) is unable to provide amount
during initiation of transaction processing, the amount field in the PDOL shall be filled with hexadecimal
zeroes (See Section 6.3.1 in [EMV Book 4]). The amounts in CDOL1 and Field 55 shall be consistent
and can be of actual transaction amount or any other predefined amount (e.g. $100 for fuel pumps).
The TakaPay Chip terminal application is only used to retrieve the PAN and the Expiry date if not entered
using Manually Entry technology.
The amount if needed must be provided to the Pre-processing function to start processing.
The TakaPay terminal application shall retrieve the Track 2 Equivalent Data (Tag 57) from the TakaPay
Chip card via the contact kernel during READ APPLICATION DATA and may continue processing as per
mag stripe transaction, or request the contact kernel to complete EMV transaction.
For contactless, the TakaPay terminal application shall receive the Track 2 Equivalent Data (Tag 57)
from the TakaPay contactless kernel post contactless session, where the contactless kernel completes
EMV transaction.
• Online request outcome processing
This function performs online authorization. If PIN entry is required and not performed by the kernel,
then PIN entry is also performed during this stage.
✓ Online PIN for TakaPay Mag-stripe/EMV kernel
✓ Online PIN for Contactless kernel
The format of the financial and authorisation request/response messages between the Acquirer and the
Issuer shall be compliant with Detailed ISO8583 Message v1.18
Where a transaction contains encrypted PIN data (bit 52), the encrypted PIN data must be formatted in
accordance with one of PIN Block formats specified in AS2805 part 3 with the exception of formats 1, 2
and 8
• Pre-authorization
For unattended devices where the cost of the goods or services to be provided is not predetermined
such as fuel dispensers and card-activated phones, short duration pre-authorisations will be generated
which are also referred to as Purchase/Reversal/Advice transactions.
• Cancellation/Reversal (TDC)
Reversals of transactions, processed as EMV, must be reversed with data elements contained in DE55
based on the results of the final (second) cryptogram generation. For reversals that are the result of a
network timeout an ARQC can be sent in DE55.
This function performs the final outcome, log transaction, store transaction data and provide a receipt.
2 copies of the terminal receipt are to be considered: the cardholder’s copy and the merchant’s copy of
the terminal receipt
Rule 11 For all contact transactions and all contactless transactions made with
TakaPay payment application, a cardholder receipt should be available if
the terminal has that capability.
Rule 12 For all contact and contactless transactions, a merchant receipt must
always be available to the merchant if the terminal has that capability.
Rule 13 At the end of a contactless chip transaction, when one receipt is printed, it
shall contain following additional information:
“CONTACTLESS” should be written on the receipt to differentiate one
contactless transaction from one contact transaction and provide a receipt
according to chapter “1.7 Receipt requirement” and using the receipt DOL.
Rule 14 Merchant shall be able to extract from the transaction log all the transactions
that have been made with a TakaPay chip card.
The following list of data elements shall identify a unique transaction:
Data element name Tag
Acquirer Identifier 9F01
Merchant Identifier 9F16
Terminal Identification 9F1C
Transaction Date 9A
Transaction Time 9F21
Transaction Sequence Counter 9F41
Table 14: Data Elements Identifying Unique Transaction
Terminal Configuration:
When processing an TakaPay Chip contact transaction the TakaPay Chip device must, at a minimum,
support the following:
• EMVCo Common Core Definition (CCD) Compliant device
• Application selection using PSE
• Partial application selection