DIV350779 RBA Developers Guide Rev 17.6
DIV350779 RBA Developers Guide Rev 17.6
DIV350779
02/15/2019
This document is copyright © 2019 by INGENICO Group. INGENICO retains full copyright ownership, rights, and protection in
all material contained in this document. The recipient can receive this document on the condition that he or she will keep the
document confidential and will not use its contents in any form or by any means, except as agreed beforehand, without the prior
written permission of INGENICO. Moreover, no one is authorized to place this document at the disposal of any third party
without the prior written permission of INGENICO. If such permission is granted, it will be subject to the condition that the
recipient ensures that any other recipient of this document, or information contained therein, is held responsible to INGENICO
for the confidentiality of that information.
Care has been taken to ensure that the content of this document is as accurate as possible. In compliance with P2PE
requirements, INGENICO updates this document when changes occur, annually, or when P2PE requirements change.
INGENICO, however, declines any responsibility for inaccurate, incomplete or outdated information. The contents of this
document may change from time to time without prior notice, and do not create, specify, modify, or replace any new or prior
contractual obligations agreed upon in writing between INGENICO and the user. INGENICO is not responsible for any use of
this device, which would be inconsistent with the present document. All trademarks used in this document remain the property
of their rightful owners.
Find the latest version of this guide on the Ingenico Developer Portal: https://developer.ingenico.us/
Table of Contents
1 Introduction ......................................................................................................................... 16
1.1 Terminals ......................................................................................................................................................... 16
1.1.1 Terminal Notes .................................................................................................................................................................................. 16
1.2 About This Guide.......................................................................................................................................... 18
1.3 Definitions....................................................................................................................................................... 19
1.4 Copyright Notice for Lato and Crimson Fonts ................................................................................. 20
1.4.1 SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ........................................................................................... 20
1 Introduction
The Retail Base Application (RBA) is recommended to use as a plug-and-play application with a point-of-sale (POS)
system, that conforms to the standard IBMEFT protocol. All additions to the standard IBMEFT protocol are
described in this guide; however, to take advantage of the iSC series signature-capture features, additional code
must be added to the POS application (see Retrieval Using Get Variable).
1.1 Terminals
The following Ingenico Telium2 terminals are covered in this guide :
• iCMP (also referred to as iCM122)
• iSMP (also referred to as iMP350)
• iSMPc (also referred to as iMP352)
• iSMP V4 (also referred to as iSMP4)*
• iPP320
• iPP320 V4
• iPP350
• iPP350 V4
• iSC250 and iSC Touch 250
• iSC350
• iSC Touch 480
• iUN2xx (includes iUP250 and iUR250 and/or iUC150/iUC150B)
• iUN V4 (includes iUP250LE and iUR250)
• iUC285 (RBA supports on-demand mode only on an iUC285 terminal)
• iWL222
• iWL228
• iWL250
• iWL258
For additional information pertaining to the operation of your Telium terminal, refer to the corresponding user’s
guide, which explains how to download the software package, including the binary data, parameters, and Telium
operating system.
1.3 Definitions
Term Definition
Financial Transaction Refers to processes executed between two hard reset commands: 10.x
or equivalent of the hard reset message.
Form File Refers to an HTML-format file (*.K3Z) used to position and format text,
buttons and images used for standard screens on Ingenico’s Telium
terminals.
Host Interface A communications interface that connects the terminal to the POS
equipment, which connects to the host computer (also called an in-
store system, POS or Point of Sale system, or register).
OS Operating system.
Spin the BIN IBM-specific terminology for the BIN lookup process (also known as
PIN Encouragement).
Prompt File File referenced by form building utility to load button text and
prompts.
Term Definition
Telium Terminals For the purposes of this document, refers to the Ingenico:
• iCM122
• iMP350
• iSMP V4
• iMP352
• iPP320
• iPP320 V4
• iPP350
• iPP350 V4
• iSC250
• iSC Touch 250
• iSC350
• iSC Touch 480
• iUN2xx (includes iUP250, iUR250 and iUC150/iUC150B)
• iUC285
• iWL222, iWL228
• iWL250, iWL258
1.4.1.1 PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to
support the font creation efforts of academic and linguistic communities, and to provide a free and open framework
in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold
by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with
any software provided that any reserved names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The requirement for fonts to remain under this
license does not apply to any document created using the fonts or their derivatives.
1.4.1.2 DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked
as such. This may include source files, build scripts and documentation. "Reserved Font Name" refers to any names
specified as such after the copyright statement(s). "Original Version" refers to the collection of Font Software
components as distributed by the Copyright Holder(s). "Modified Version" refers to any derivative made by adding
to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing
formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer,
programmer, technical writer or other person who contributed to the Font Software.
1.4.1.4 TERMINATION
This license becomes null and void if any of the above conditions are not met.
1.4.1.5 DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO
EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO
USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
2 Getting Started
This section describes the integration kit contents, the minimum requirements, and more information you need to
get started using RBA.
Contents Description
comm folder Contains data files and TDA.XML files to set terminals to use
specific communication types.
Contents Description
emv folder Contains configuration files for EMV contact and EMV
contactless.
• EMVCONTACT.XML
• EMVCLESS.XML
Terminal-specific files Package definition *.XML file, also known as the manifest,
specifies all the information needed to package *._GZ files that
will be used to load RBA content onto the terminal:
• Package name
• Files to package
• The file path within the original application package folder
structure
• The file intended location on the terminal (optional)
PackageGZ batch file Generates *._GZ files for loading RBA to the
corresponding terminal using the information specified in that
terminal’s manifest file.
PackageEFT batch file Generates the EFT file with the Packaging Toll using the
terminal’s manifest file.
iSC250Package.XML File
Images /HOST
SECURPROMPT.XML /F_SECURITY_APP
PROMPT.XML /HOST
CUSTPROMPT.XML /F_SECURITY_APP
TC1.XML /HOST
BOOT.HTM /F_SECURITY_APP
Templates /F_SECURITY_APP
TRACE.XML /F_SECURITY_APP
2.4 Signing
All applications, data files, images, videos, and form files must be signed by Ingenico before they can be used in a
production terminal, with the exception of unpackaged files sent to HOST (refer to the 62.x File Write for more
information).
Telium Ethernet
Telium Wi-Fi
Customers can request other types of RS-232 settings from their Ingenico account representative.
Note 1
If the terminal is configured with an IP Address of '0.0.0.0' or '192.168.002.002', then the user will be
prompted for an IP Address, Subnet Mask, and Gateway Address.
From either the Communication or Select Comm. Type menu, pressing the Clear button three times
changes the menus to include interfaces not supported by the terminal.
Note 1
The iUC2xx terminal functions exclusively in on-demand mode. Refer to Communication Messages for
details.
Item Description
Configuration Section
EFTERROR Set by the system. Result of the last EFT download attempt:
• 0 = Successful download
• -1 = Failed to unpack EFT files
• -2 = No message received, and download timed out
• -3 = Ten invalid messages received during download
• -4 = Error when both EFTL and EFTP are given as 0000
• -5 = Failure to execute pre script (not supported)
• -6 = Failure to execute post script (not supported)
• -7 = Unknown error
EFTLVERSION Set by the system. The application version from the last successful EFT
download.
For example, if the online message was 01.11112222, then the version is
1111.
EFTPVERSION Set by the system. The parameter version from the last successful EFT
download.
For example, if the online message was 01.11112222, then the version is
2222.
Item Description
RKIVERSION Set by the system when an Remote Key Injection file is downloaded.
This allows a merchant to keep track of RKI files loaded to the device.
See Offline Remote Key Injection (RKI) Support for more information.
MANUFACTUREID INGNAR by default. Value used as the Manufacture ID in the 07.x Unit
Data Request response.
PRODUCTID Normally set to blank to allow the application to retrieve the Terminal
Name.
Ethernet Section
(applies to both Ethernet and WiFi, except where Wi-Fi-specific settings
exist in the WiFi section)
Item Description
IPDNS1 IP address of the primary DNS server to use when DHCP is off
IPDNS2 IP address of the secondary DNS server to use when DHCP is off
SERVER Indicates whether the terminal calls the host (client mode) or the host
calls the terminal (server mode).
• 0 = Client mode
• 1 = Server mode
Serial Section
(Serial and Magic Box communication settings)
BAUDRATE Baud rate: 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1200, 300
Item Description
PARITY Parity:
• None
• Odd
• Even
Tailgate Section
Bluetooth Section
BLUETOOTHPIN Set by the system. Encrypted pairing PIN from the most recent pairing.
Wi-Fi Section
Item Description
WIFIDNS1 IP address of the primary DNS server to use when DHCP is off
WIFIDNS2 IP address of the secondary DNS server to use when DHCP is off
3.1.1.3 VID and PID Settings for HID and CDC Communications
Because Ingenico terminals include a USB interface, they are assigned a USB device classification. Classifications
for Ingenico Telium terminals include:
• USB CDC - Communications Device Class
• USB HID - Human Interface Device
USB interface products are also identified using a vendor ID (VID) and product ID (PID). The following table
specifies the CDC and HID vendor IDs and product IDs for Ingenico Telium terminals.
CDC and HID Vendor IDs and Product IDs for Ingenico Telium Terminals
Termi String Scree Colors MP4 Touc Flash Audio CDC CDC HID HID
nal n h VID PID VID PID
iPP320 Ingenic 128x64 Black/ No No 128m Buzzer 0x0B0 0x0059 0x0B0 0x0071
o white 0 0
iPP320
iPP320 Ingenic 128x64 Black/ No No 128m Buzzer 0x0B0 0x0059 0x0B0 0x0071
V4 o white 0 0
iPP320
Termi String Scree Colors MP4 Touc Flash Audio CDC CDC HID HID
nal n h VID PID VID PID
iSC250 Ingenic 480x27 240k Yes Yes 128m Yes 0x0B0 0x0062 0x0B0 0x0074
o 2 0 0
iSC250
iSC350 Ingenic 640x48 240k Yes Yes 128m Yes 0x0B0 0x0061 0x0B0 0x0073
o 0 0 0
iSC350
iSC480 Ingenic 800x48 262k Yes Yes 128m Yes 0x0B0 0x0061 0x0B0 0x0073
o 0 0 0
iSC480
iUP250 Ingenic 128x64 Black/ No No 128m Buzzer 0x0B0 0x0057 0x0B0 0x0076
o white 0 0
iUP250
2. To begin the pairing process, select the iOS key (F1) on the terminal.
a. Some iSMPc terminals are configured to support one type of Bluetooth pairing only. In this case,
the iOS and Standard options illustrated are replaced with a single option that reads Begin.
3. The terminal displays all Bluetooth-enabled iOS devices in range:
a. Use the [F2] and [F3] keys to scroll up and down, respectively, through the list of available Bluetooth
devices.
b. Use the [F1] and [F4] keys to page up and page down, respectively.
4. Highlight the Bluetooth device to pair with, and press the [Green] key:
1. To begin the pairing process, select the Standard key (F2) on the terminal.
a. Some iSMPc terminals are configured to support only one type of Bluetooth pairing. If you have one of
these terminals, then the iOS and Standard options pictured to the right are replaced with a single
option that reads Begin.
2. The terminal goes into discovery mode and displays an eight-digit, randomly generated pairing PIN with the
terminal unique Bluetooth name:
3. On the standard Bluetooth device, search for the terminals logical Bluetooth name displayed on the screen of
the terminal, and select it to pair.
4. When the standard Bluetooth device prompts for a PIN, enter the PIN that is displayed on the terminal
screen.
5. During the pairing process, the terminal displays the following information:
Awaiting remote pairing
To: <PINPADNAME>
PIN: <BLUETOOTHPIN>
3.1.2.1.4 Troubleshooting
If the barcode scanner does not power on for the unpairing process:
1. Ensure that the terminal was forgotten on the host device.
2. Turn Bluetooth connectivity off on the host device.
3. Reboot the terminal.
4. When terminal reboots, the barcode scanner is enabled to finish the unpairing process.
3.1.2.1.5 Troubleshooting
If the terminal continuously prompts the host device/user to enter a Bluetooth PIN and the unpairing process has
been completed:
1. Ensure the terminal has been forgotten on the host device.
2. Turn the host device Bluetooth connectivity off.
3. Reboot the terminal.
4. When the terminal reboots, turn back on the host device Bluetooth connectivity, which stops Bluetooth PIN
prompting.
Ste Action
p
1 Ensure that:
• The terminal is powered on
• The tablet has Bluetooth connectivity enabled
The terminal displays the Bluetooth Pairing Required screen if it has not been paired previously. If it has
been paired, unpair it from the original device.
Note: The screen display is slightly different depending on the terminal screen size.
Ste Action
p
The tablet decodes the MAC address and PIN and pairs with the terminal.
Info
Although the iUP250 terminal is illustrated in the Figure, below, SSL applies to any Telium terminal.
SSL Connection
For SSL, the Heartbeat keep-alive timer is set to 30 seconds with retries every 15 seconds on failure.
Customer’s Root CA Ingenico Terminal To validate the certificate One copy of this certificate is
Certificate presented by the client during used by all terminals.This
handshake. certificate should be presented
by the customer during the
installation and installed on all
terminals requiring SSL.
Because it is used for validating
the client POS is the actual POS.
This CA certificate should be
sent to Ingenico by the
customer and packaged
together with the Server
Certificate (see below) and
Server Certificate Private Key
(see below) into a PKCS12 (PFX)
container.
Server Certificate To encrypt the PreMasterSecret This private key is part of the
Private Key during the handshake. Server Certificate and should
also be stored in the PKCS12
container.
Customer’s Root CA Client POS To validate the certificate This is the root CA certificate
Certificate presented by the Ingenico used by the customer when
terminal. signing the Server Certificate
described above.
The POS should have this
certificate to validate the Server
Certificate during the
handshake.
Client’s Certificate To present to the server during Each client POS should have a
the handshake. unique copy of this certificate.
Client’s Private Key To encrypt the PreMasterSecret Each client POS should have a
during the handshake. unique private key that matches
the Client’s certificate.
Set SSL Protocol To select the SSL protocol TLS version 1.1 or 1.2 must be
Version Identifier version. selected. Refer to security.dat
parameter '0091_0034' for
setting the TLS version.
This setting is checked when a
customer has enabled SSL on
the terminal and the
correct server.pgz file has
been uploaded.
Info
For a review of the SSL sequence events that occur during a handshake, see also Wikipedia’s page on
Transport Layer Security.
3.1.3.2.1 Requirements
Ingenico provides the following files required for SSL:
• SERVER.PFX in a signed .PGZ file to load to the terminal
• Corresponding CLIENT_CERT.PEM and CLIENT_KEY.PEM files loaded to the POS application directory
2 With the terminal in offline mode, press the F or + key four times.
Result: The terminal displays the Interface screen.
7 Enter the Host Port and press Enter. If you don't want to enter new
data, press Skip.
Result: The terminal displays the Select SSL Mode screen.
9 Press Save.
Result: The terminal saves the communication settings and
reboots. The splash screen displays "SSL: ON" to show that SSL
is enabled.
2 If you are:
• Connected by a method other than Ethernet, select
Change Port and continue to Step 3.
• Connected over Ethernet, skip to Step 4.
Result: The terminal displays the Select Interface
menu.
8 Enter the Host Port, and press Enter. If you don't want to
enter a new data, press Skip.
Result: The terminal displays the Select SSL Mode screen.
10 Press Save.
Result: The terminal saves the communication settings and
reboots.
3.1.4.1 Overview
Wi-Fi connections are supported on iWL228, iWL258, and iSMP4 terminals.
The Wi-Fi feature is configurable using the Telium Manager, to automatically scan for, manually select, or search for
the SSID connection.
Roaming capabilities are enabled by a chip set in the terminal hardware. An icon in the header displays signal
strength.
The terminal defaults to DHCP communication. Setting the profile and changing the COM to Ethernet
with DHCP enabled allows the POS to connect to the terminal and send and receive messages.
<Wifi>
<! Settings below are Optional -->
<Item name="WIFIROAMING" value="ON" />
<Item name="WIFISCANINTERVAL" value="10000" />
<Item name="WIFI24G" value="ON" />
<Item name="WIFI5G" value="ON" />
<Item name="WIFILOWRSSI" value="-77" />
<Item name="WIFILOWPASSFILTER" value="10" />
<Item name="WIFIMINRSSI" value="-72" />
</Wifi>
WIFI24G OFF if roaming is not used Enables or or disables the background scan for
networks broadcasting on the 2.4GHz band.
WIFI5G OFF if roaming is not used Enables or or disables the background scan for
networks broadcasting on the 5GHz band.
Changes made in Manager are not copied to TDA.XML. Therefore, all communications changes should be
made using RBA or TDA, not Telium Manager.
To access the Communication Settings screen, the terminal must be booted to the This Lane Closed screen. Then
press the F key four times.
This screen is for an iWL258 terminal. Note that the Wi-Fi option is listed, but the Bluetooth option is not.
Use the inner Function keys (see red arrows on iWL terminal shown above) to navigate the scroll buttons
displayed on the screen.
Select the appropriate link to view connection instructions and menu options:
Bluetooth Pairing
NOTE: The iWL250 cannot be paired until it is associated with a Bluetooth cradle.
If the iWL250 terminal is unpaired from the cradle, the terminal must be re-associated with the cradle
before pairing again.
3.1.6 Setting the Charge Current of an iPad in Serial Mode with iSMP V4
When using an iSMP4 terminal with an iPad and Wi-Case in serial mode, the iPad requires communication with the
iSMP4 to set the iPad charge rate.
In the config.dfs section of the mainFlow.dat file, set 0007_0056 to enable setting the iPad charge rate via the
terminal.
Using a 28.x Set Variable message, use variable 833 to set the iPad charge rate. If enabled, the default charge rate is
1000ma.
3.3.1 Overview
To enter the SSID and password for Wi-Fi terminals, text-entry capability is available for the iWL250-series
terminals. The implementation is similar to text-entry on a cell phone. Pressing a numeric key multiple times
produces successive alphanumeric characters. The iWL250 allows alphanumeric entries (uppercase and lowercase)
using the F and special-character keys.
3.3.2 Implementation
The following table describes the characters that are entered with successive key strokes.
Characters by Key
0 0
1 1qzQZ
2 2abcABC
3 3defDEF
4 4ghiGHI
5 5jklJKL
6 6mnoMNO
7 7prsPRS
8 8tuvTUV
9 9wxyWXY
Symbol !?,;:\/~`#@.^-[]{}()<>=*
3.3.3 Procedure
1. Start the terminal and wait for the This Lane Closed form to be displayed.
2. Press the F key four times to display the communication screen.
3. Click Change Port.
4. Select Wi-Fi communication type, and press Enter.
5. Select Access Point.
6. Select New, and wait while the terminal scans for available SSIDs.
7. Select an SSID from the list.
8. Select security, such as WPA/WPA2.
9. As outlined in the previous table, use the keyboard to enter the password.
10. Confirm that the SSID is selected.
11. Press the green Enter button.
12. Select Save and exit.
message with a value of '0B547F546C5398' for variable 820, confirming the new base association. With that, the
POS sends a 01.x Online Message and the terminals displays "CONNECTION".
Example Base Association Using the 28.x Set Variable Request Message with Variable 820
Connect to terminal.
Terminal displays
"CONNECTION".
The following image illustrates the location of the Mini-HDMI connector on the bottom of the iSC480 terminal. To
interface with an external display, connect a type C HDMI cable to this port.
Note
The iUC250 terminal does not support standard flow. It uses on-demand messages only.
6. The POS system receives the approval or disapproval message from the financial institution and forwards it
back to the RBA.
7. If approved, the POS system accepts the amount as payment.
4.1.1 Assumptions
The following is an assumed typical configuration for our industry:
4.1.2 Environment
The EFT environment is one of interactions between the customer, the merchant, and a financial institution. The
simplest configuration is a terminal attached to the POS system, with the POS system attached via communications
line to a single financial institution. Many of our merchants are already doing tender approval at their host location
(e.g., credit, check authorization). It would therefore be a logical extension if their POS system used that same
physical communication connection to route the EFT authorization request and response to the user host and have
the user host “switch” to the proper financial institution. This also gives merchants the capability to maintain a
certain level of control over the EFT process if these messages pass through their own host.
Since there may be several financial institutions involved with a single merchant, the merchant may choose to use a
third party “switch” to manage EFT processing. These third party switches provide the capability to have only one
line from the merchant to the switch. The switch exchanges the required authorization request and response
message with the proper financial institutions on behalf of the merchant.
The communication protocol, message formats and operational procedures for each of these financial institutions
and third party services are currently different. For this reason the following assumptions are made concerning the
EFT environment for the POS system:
• Base store controller communication support allows the merchant the capability to participate in any of the
configurations discussed above with some amount of user programming.
• The controller implements VISA Second Generation message formats.
• The controller assumes it is talking to a “switch,” either third party or user host. This implies the controller
communicates with only one message protocol and one message format (VISA II) for EFT.
4.1.3 Dependencies
For the EFT messages to work properly, the dependencies below must be met.
The switch must:
• Limit messages to a maximum length of 247 bytes, including the STX, ETX, and LRC control characters (most
third-party switches are capable of this).
• Handle the VISA II parameter table loads to the terminal.
The POS must allow the POS operator to enter the account number and card expiration date on the POS keyboard
if the terminal cannot read the card data, and send this data from the POS to the terminal.
The terminal must:
• Determine if a PIN is required, allow PIN keying, encrypt the PIN, and build the proper VISA messages for
communication.
• Provide the capability to build a VISA authorization request message without receiving or showing an amount
on the terminal.
• Provide the capability to show the amount due received from the POS and allow the customer to validate that
amount or to enter and validate a different amount. Build the VISA authorization request message with the
validated amount.
• The terminal remains at “Slide Card” until it reads data from a card swipe or receives the account number and
card expiration date as entered from the POS, if the card cannot be read. It then collects the remaining
required data at the terminal and builds the proper VISA authorization request message.
• Provide the capability for the POS to reject the amount in the authorization request message and have
the terminal validate the new amount with the customer. The POS must then accept a new authorization
request message containing the new amount.
• If Transaction Code = 0, Display the Invalid Card Type prompt, reset the payment, reset the payment, and
return to the Card Swipe screen.
This method is enabled or disabled by the configuration parameter listed in allBins.dat file, index 0099_0001,
Enable BIN range checking (0 = off, 1 = on).
The default config.dfs file contains fourteen files, bin0.dat through bin13.dat. Each file contains a description of
a specific card type, such as MasterCard, which applies to that card only. Each binX.dat file contains:
• The first few digits of the account
• Minimum and maximum number of digits in the account number
• List of transaction codes used with selected payment. The transaction code is part of the authorization
message sent to the POS
as a Clear key) clears the entered digits and restarts clear-text or PIN entry. If no digits are entered, then the
CANCEL key cancels clear-text or PIN entry.
4.5.4 Signature
The CANCEL button on the Signature forms for the iSC250, iSC350 and iSC480 terminals is functional before the
cardholder signs (pre-signature) only. When signing is initiated (post-signature):
• The CANCEL button is removed from the screen
• The CANCEL key on the keypad is processed as a CLEAR
For the on-demand signature request there is no pre-signature or post-signature state, and the Cancel button will
always be displayed and processed as a CANCEL action.
Some of the configuration parameters are not present in the terminal, without these, the terminal
cannot operate normally
At the end of the signature on-demand message execution
In this process, the terminal takes action according to the received message type, key press, or error condition.
Possible actions are:
• Clear cardholder data, and start a new transaction
• Start advertising
• Exit the terminal transaction and go to the offline state
When the financial transaction is cleared, the terminal makes the following change:
• All data collected from cardholder: all account values, payment selection, amounts, language, and signature is
deleted
• It increments the transaction counter, which is used by the 50.x authorization message
• It clears timers, buffers, and pointers - used internally to manage the transaction
• It clears the digital receipt based on two options:
10.x message parameter value
RBA configuration switch listed in mainFlow.dat file, index 0007_0007 (Clear line-item display on
reset):
0 = Do not clear
1 = Clear (display receipt)
At the transaction end, the cardholder can be notified about the result of the transaction through a text prompt.
The text presence is controlled by the configuration parameter found in the Main
Flow section in config.dfs, Display Approved/Disapproved Message, index 0007_0022: (0 = Do not display, 1 -
65,000 = Duration of display in 1/10 second and in effect only if advertising is on). The prompt displays for five
seconds. Next, the terminal might do one of the following actions based on configuration selections:
• Start advertisements
• Wait for a transaction reset message, such as the 10.x message
• Automatically reset the transaction and go to the transaction start
Here are examples of the transaction result texts. They change according to the executed processes:
• Approved (or equivalent translation) - from file PROMPT.xml, prompt ID 21
• Declined (or equivalent translation) - from file PROMPT.xml, prompt ID 22
• Invalid PIN. Please Re-enter. (or equivalent translation) - from the RBA PIN Prompts section of the
SECURPROMPT.xml file, prompt ID 15
• Signature Accepted(or equivalent translation) - from file PROMPT.xml, prompt ID 92
• Input Accepted (or equivalent translation) - from file PROMPTS.xml, prompt ID 93
• Transaction Cancelled (or equivalent translation) - from file PROMPT.xml, prompt ID 23
The display of this prompt is controlled by index 0031_0023 from the Main Flow section in the config.dfs file. It is
used when the CANCEL button is pressed and the terminal resets the transaction.
4.6.1 Configuring
the terminal local configuration provides the ability to control which forms display at the end of the transaction end
process:
• When the transaction ends, RBA displays the Host Response for the amount of time specified by the
configuration option listed in mainFlow.dat file, index 0007_0022, Display Approved/Disapproved Message
Timer:
0 = Do not display
1 = Display until a reset is received
2 - 255 = Time in 1/10 second
• After the Host Response message has timed out, the terminal displays advertising based on the configuration
option listed in mainFlow.dat file, index 0007_0023, After Display Approved/Disapproved Message
Timeout:
0 = Reset
1 = Go to advertising
2 = Wait for reset
Note that there are certain restrictions associated with the advertising display parameter:
• Setting 0007_0023 = 1 requires that 0010_0001 be set to either 1 or 3
• Setting 0007_0023 = 2 requires that 0007_0022 be set to 1
Info
RBA users who wish to edit configuration parameters should always make sure they use the correct
version of the config.dfs file.
Before the configuration parameters can be loaded into the terminal, the .dfs file must be translated into the
terminal’s internal .dat format using the CTR_TRANS.EXE utility. Only translated files can be loaded into the
terminal.
At run time, the RBA has read/write access to its configuration files. Access to the dat files is private, limited to the
RBA only. They cannot be accessed by other applications which reside in the terminal.
If any of the RBA configuration parameters are not present in the terminal at run time, the RBA cannot function
correctly, so it goes to offline mode.
• Informational. An informational element is delimited with a single quote ('). This is a 9-character field using an
xxxx_yyyy format. This is an optional element but if used must be the first element in a data line.
• Data. The data element is delimited with a double quote ("). This element's value may be continued on the
next line with the use of a comma (,) after the terminating quotation mark.
• Comment. A comment may be delimited by a /* or // character set. Everything after a comment is ignored.
The following table gives an example of various data line elements.
Valid Entries
In config.dfs, the parameters are listed by groups of files. Each group has a header followed by data. The header
contains the group file name, such as msr.dat, pin.dat, or cashBack.dat.
Data in the .DFS file consists of two types of data entry:
• File name line, which contains information about the name and location of the file in the terminal
• Data line, which consists of parameters within the file
Each type is described in the sections that follow.
A DFS file must have at least one DAT file name line. A single DFS file can contain many DAT file name definitions.
The file name line must be followed by a list of configuration parameters, which are also called data lines. Data lines
listed after the DAT file name are added to the DAT file.
A comma (,) following a data line string acts as the line continuation. Data from the first line is concatenated with
data from the following line until there is no comma character after the last data string. All data is entered in ASCII
string format, enclosed in quotation marks, such as “Please enter PIN:” Comments are allowed in a DFS file. They
use either /* */ or // format.
If configuration parameter 0007_0010 is set to 1 then the terminal starts a new transaction following
the 01.x: Online Message.
• By default, configuration parameters 0010_0001 and 0010_0003 are set to 0 to disable offline and online
advertising. These parameters must be enabled in order for the terminal to accept any 30.x Advertising
Request Message (On-Demand) and proceed with advertising.
• When the terminal is offline, and the 0010_0001 configuration parameter value is not 0, offline advertising is
enabled and continues until terminated by the 01.x: Online Message.
• When the terminal goes to the transaction end and advertising is enabled, advertising continues until
terminated by a 00.x, 01.x, 10.x, 15.0, 15.6, 20.x, 21.x, or 23.x message.
Advertisement duration is used if advertisements are set to recycle. For advertisement scheduling to
work, the terminal date and time must be set via the 28.x Set Variable Request message.
Image file names must be in upper case with a supported image type. All .HTM files may be in either
case, but must match the file.
Barcode Scanner 0015_0001 0 Sets the type of the attached barcode scanner:
Type
• 0 = None
• 1 = Informatics Wasp WCS3905 CCD Scanner
• 2 = iSMP or iSMP Companion
0 OFF OFF
1 ON OFF
2 OFF ON
3 ON ON
External Spin the BIN 0005_0002 0 This parameter enables BIN lookup through
Search another program’s lookup table (outside RBA). It
enables PIN Encouragement message support.
Setting it to "3" enables support for
communicating directly to a PIN
Encouragement server via Ethernet. There is
some limited BIN lookup ability built into the
application.
• 0 = Disable (default)
• 1 = Enable via host (send message as soon as
card is swiped)
• 2 = Enable via host (send message after
receiving 13.x Amount Message from the
POS)
• 4 = Enable using IBM StorePay method.
• 5 = Enable via host (send message after
receiving an empty 19.x BIN Lookup
Message from the POS).
Spin the BIN Search 0005_0003 0 This parameter defines whether to search the
Table Order internal RBA STB database before or after
performing the external STB search. The second
lookup is only executed if the first lookup fails to
identify the card.
• 0 = Search external STB table first (default)
• 1 = Search internal STB table first
Append Account Tracks 0005_0004 0 If this parameter is enabled (1, append account
in Message 19.x tracks), Track 1 and 2 data will be included in the
19.x message. Since track data is not usually
required, this option is off by default.
• 0 = Disable - do not append account tracks
(default)
• 1 = Enable - append account tracks
BIN Lookup Message 0005_0005 50 This parameter defines how much time (in
19.x Response Timeout 1/10th of a second) to allow the BIN Lookup
message to spend searching before it will time
out.
• 0 = Disable timeout. Wait until either
response message or a reset message is
received (default)
• 1 - 500 = valid values
Include Account 0005_0006 1 If set to 0, the check digit (last digit) of the
Number Check Digit account number is stripped before adding it to
the PIN Encouragement Request message
• 0 = No check digit
• 1 = Include check digit (default)
STB Timeout 0005_0007 1 This parameter sets the action if the STB
Destination request times out.
• 1 - 9 = pinX form is displayed (where X is the
number of this setting)
• A - P = Assume this payment type
Minimum Clear Digits 0005_0008 6 This parameter sets the minimum leading digits
that must be sent when the MSR information is
encrypted.
• 6 – 9 = Number of leading digits sent when
MSR information is encrypted
Delay after Trigger 0005_0009 0 This parameter defines the amount of time to
Message delay after receiving the 13.x or 19.x trigger
message. Only used when '0005_0002' is set to
2 or 5. Required for slow POS systems.
• 0 = disabled
• 1 or greater = time in 1/10ths seconds
Append Service Code 0005_0010 0 Append a service code to 19.x: BIN Lookup
Messages.
• 0 = Do not append service code
• 1 = Append service code
AMEX 34, 37 15
VISA 4 13, 16
The application also searches the Card Configuration Table for card handling information.
RBA can also request the payment type from the host using the 19.x BIN Lookup Message message, if the
0005_0002 parameter is set in the BIN Lookup (stb.dat) configuration. If the payment type is not selected by the
host, the cardholder is prompted to make the selection by pressing a button on the screen.
In the config.dfs file, these parameters are listed under the heading BIN Processing. The file names in this section
are allbins.dat, and bin0.dat through bin13.dat. You can add BIN table entries up to bin30.dat.
Enable BIN Range 0099_0001 0 Specifies whether to use BIN range checking:
Checking
• 0 = Disable
• 1 = Enable (must be set to 1 if using PayPal)
Icon
Because S1 encryption requires Mod-10, the Mod-10
flag in each bin(x).dat file must be set to 1.
Number of BIN 0099_0002 1 Sets the number of BIN files to search in the config.dfs file. When
Ranges 3 the value is 13, the files bin1.dat to bin13.dat are searched. File
bin0.dat contains the default values only. If set to 0, all cards are
considered valid, and no BIN range parameters are required.
BIN Length is x 0099_0003 6 Specifies the number of digits in the account number to test. Testing
Digits starts from the account's first digit. For example: If the number of
digits to test is six, all remaining digits after the sixth digit are not
considered.
01xx_0001 400000 Start of BIN range (lowest BIN number in the range)
01xx_0002 499999 End of BIN range (highest BIN number in the range)
01xx_0005 000111 Processing flags. The flags are represented as a string of 134
102000000000000000 characters, treated as five fields (the line breaks in the Example
00000000000000 Value are only for readability and should not be used in the
112100000000000000 configuration files).
00000000000000
The first field consists of six characters as follows:
122200000000000000
00000000000000 • First character = card type; values can be:
132300000000000000 A-P - references a card configuration in the Card
00000000000000 Configuration (cards.dat)
0-9 - selects one of the payment menus, PAYx.K3Z.
(PAY1.K3Z is provided with RBA; merchants can add
custom menus if desired.)
• Second character = reserved
• Third character = indicates if Mod10 checking is enabled (1 =
enable, 0 = disable)
• Fourth character = whether to prompt for expiration date
during manual entry (1 = yes, 0 = no)
• Fifth character = whether to prompt for CVV during manual
entry (1 = yes, 0 = no)
• Sixth character = how to decode Fleet Card prompting
information for this BIN range:
0 = Do not decode
1 = Decode using VISA Fleet
2 = Decode using MasterCard Fleet
3 = Decode using Fleet One
4 = Decode using Voyager
5 = Decode using WEX Legacy
6 = Decode using WEX V3
The remaining four fields specify transaction codes for each
payment type, to be included in the 50.x Authorization Request.
• There are four 32-digit strings, corresponding to the four
transaction types: Sale, Void, Return, and Void Return.
• For each transaction type, the 32-digit string consists of a series
of two-digit transaction codes, one code for each of the sixteen
card configurations, A-P.
• Effectively, these four fields convert the payment type (e.g.,
debit) and the transaction type (e.g., void) into the transaction
code.
01xx_0006 MCSHcm Card sources included in this BIN range. This is a string containing
any or all of these characters:
• M = MSR
• C = Contactless (MSR or EMV)
• S = Smart card (e.g. EMV, WIC, memory)
• c = Coupon or key card
• m = Mobile
• H = Manual (Hand) entry
• A = Account message entry
• ? = Unknown or invalid card type
This field can handle card sources differently. For example, a
merchant might want to allow a choice of credit or debit if a card is
swiped or inserted, but allow credit only if a card is tapped. In this
case, two BIN table entries could be defined with the same BIN
ranges, but with MSH as the Card Sources for one, and Ccm as the
Card Sources for the other.
0100_0001 Reserved
0100_0002 Reserved
0100_0006 Reserved
Icon
Due to the value of parameter
0040_0008 (PayPal/Discover BIN table
number), this BIN table number is
skipped when doing a BIN lookup with
PayPal disabled (parameter 0040_0006
is set to 0).
Discover 1, bin2.dat
Discover 2, bin3.dat
Discover 3, bin4.dat
Discover 4, bin5.dat
MasterCard 1, bin6.dat
MasterCard 2, bin7.dat
VISA, bin8.dat
5.2.5.1 Overview
The Card Configuration parameters are used to configure the Retail Base Application (RBA) and to control the data
flow, individually per card type. These parameters are found in the config.dfs file under the heading Cards and
filename cards.dat. The RBA currently supports 16 card types which are referenced as type A through type P. The
card options are executed by the RBA as listed in columns, starting from the left side and going to the right. This
order may be altered by some of the configuration parameters listed in different configuration files such as those
found in mainFlow.dat. To summarized, the application uses the following:
• Parameter Name - Card Configuration for Cards A through P
• DFS Data Index - 0011_0001 through 0011_0016
For default values refer to Card Configuration Table.
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
Parameter P Description
o
si
ti
o
n
fr
o
m
L
e
ft
Enable 1 Specifies whether this particular card type (e.g., A for Debit) is allowed
(enabled).
• 0 = Enabled.
• 1 = Disabled.
Card Type 2 Specifies if the account number from the swiped card is used for tendering
(payment for purchase) or for information (discounts, loyalty).
• 0 = Payment card.
• 1 = Non-payment card (loyalty card, rewards card, points card, advantage
card, or club card type).
Required Track 3 Specifies which card MSR track must be available for this type of card.
• 1 = Track 1 required.
• 2 = Track 2 required.
• 3 = Use Track 1 if read, else use Track 2.
• 4 = Use Track 2 if read, else use Track 1.
• 5 = Require both tracks (Both tracks will be in the 50.x Authorization
Request message).
Display Show Card to 4 Controls the display of the prompt, “Show card to cashier.”
Cashier Timeout
• 0 = Do not show.
• Other than 0 = Time to Display (in 1/10th of a second).
Parameter P Description
o
si
ti
o
n
fr
o
m
L
e
ft
Cash Back Limit 6 Cash back limit in cents (e.g., enter 10000 for $100.00). The limit also serves to
enable cash back entry.
• 0 = Cash back entry not allowed.
Verify Cash Back 7 When Cash Back Limit is a positive number, the Verify Cash Back value
indicates whether to display a prompt to confirm the cash back selection.
• 0 = Don’t Verify.
• 1 = Verify.
Amount Index 8 This is an index to the purchase amount field in the 13.x Amount Message.
When the 13.x message has multiple fields, the amount that the index points
to is used in the 50.x request.
• Index 1 points to the first amount field in the 13.x message
• Index 2 points to the second field, and so on.
This allows you to specify the appropriate field for each card type.
Verify Amount 9 Indicates whether to display a message to confirm the purchase amount.
• 0 = Do not verify.
• 1 = Always verify.
• 2 =Verify if Cash Back Limit is greater than 0.
• 0 = No signature.
• 1 = Signature required after transaction is approved.
• 2= Signature required before approval.
Signature Threshold 11 Sets the minimum transaction value for which a signature is required.
Parameter P Description
o
si
ti
o
n
fr
o
m
L
e
ft
Index # for Card 12 Represents the PROMPT.xml prompt ID. Text from the corresponding prompt
Description ID is displayed for two seconds on the terminal screen to show the selected
payment type.
Check Expiration Date 13 Compare the expiration date on the card with the date set in the terminal. If
the card is expired, display an error and ask for a new card.
The time and date of the terminal must be set properly using the
28.x Set Variable Request message.
On PIN Entry Cancel 14 This tells the RBA what should happen when the cancel button is pressed on
the current transaction’s PIN entry screen.
• "-" = Restart PIN entry.
• 0 = Cancel the payment and start over.
• 1 - 9 = Loads the payment menu 1 - 9 respectively.
• A - P selects the specific payment type.
Allow Partial Payment 15 If the amount verification form has a partial payment button on it,
Buttons on the Amount
Verification Screen • setting this entry to 0 removes the button for this payment type.
• setting this entry to 1 allows the button.
Prompt for Expiration 17 This Boolean flag tells the RBA whether or not to prompt for manual entry of
Date for Manual Entry Expiration Date, and can be made applicable to a particular card type.
Parameter P Description
o
si
ti
o
n
fr
o
m
L
e
ft
Prompt for CVV for 18 This Boolean flag tells the RBA whether or not to prompt for CVV, and can be
Manual Entry made applicable to a particular card type.
Examples for Prompt for Expiration Date for Manual Entry, and
Prompt for CVV for Manual Entry: A card type of ‘credit’ can be
configured to always prompt for CVV and Expiration Date, but
‘EBT Cash’ can be configured to not prompt for either of those.
Yet another type can be configured to prompt for one but not the
other.
Card Sources Allowed 19 This setting specifies which card sources are enabled for a particular card
(hexadecimal type.
representation of bit
mask)
EMV Refund Option 20 The setting of this parameter determines how an EMV refund is processed.
• 0 = Non-EMV refund.
• 1 = Full EMV refund.
Cash Back Limit 0002_0001 99999 This record specifies a global cash back limit for all payment
types in cents. Maximum value is 99999 ($999.99).
Initial Cash Back 0002_0002 0 This parameter determines whether the user will see
Screen buttons showing predefined cash back amounts and a
button labeled Other for manual entry. If enabled, the user
must type in the desired cash back amount manually. This
allows customers to enter any amount up to the cash back
limit in dollars.
• 0 = Use fast cash back keys. Allow an “Other” button
that user can select for manual entry of cash back
amount. (Default).
• 1 = Manual entry only. Do not use fast cash back keys.
Amount for Fast Cash 0002_0004 2000 Cash back amount assigned to soft key #1. Amount must be
Back Key 1 in cents (e.g., enter 2000 for $20.00).
Amount for Fast Cash 0002_0005 4000 Cash back amount assigned to soft key #2. Amount must be
Back Key 2 in cents (e.g., enter 4000 for $40.00).
Amount for Fast Cash 0002_0006 8000 Cash back amount assigned to soft key #3. Amount must be
Back Key 3 in cents (e.g., enter 8000 for $80.00).
Amount for Fast Cash 0002_0007 10000 Cash back amount assigned to soft key #4. Amount must be
Back Key 4 in cents (e.g., enter 10000 for $100.00).
Use Cash Back 0002_0008 0 The Cash Back Increments parameter can only be used if
the Cash Back Selection parameter ('0002_0002') is set to 1.
Cash back increments are only used after the cardholder
has selected the cash back option OTHER.
• 0 = Disable (default)
• 1 = Enable. The amount entered must be a multiple of
the amount specified in the Cash Back Increment
Amount parameter ('0002_0009').
Cash Back Increment 0002_0009 1000 This parameter can only be used if the Use Cash Back
Amount Increments parameter is enabled. This parameter specifies
the increment amount for cash back in cents. If this
parameter is enabled, customers will only be allowed to
receive cash back using the increments set by this
parameter. For example, if the increment is $20, customers
will not be able to receive $30 cash back.
Cash Back Flow 0002_0010 1 This parameter specifies when cash back will be prompted
for:
• 0 = Before PIN entry
• 1 = After PIN entry (default)
• 2 = Cash back option is offered with Amount
Verification screen.
Cancel Destination 0002_0011 0 This parameter specifies where to go if the cancel button is
pressed:
• 0 = Restart Transaction
• 1 = Payment Menu
• 2 = Cashback Screen
On Cashback Incorrect 0002_0012 1 This parameter specifies what to do when the customer
says that the cashback amount is incorrect:
• 0 = Return to cashback amount screen
• 1 = Return to cashback Yes/No screen
• 2 = Restart transaction
• 3 = Return to payment selection screen
11.x Status Response Format 0013_0001 1 Specifies the format of the status
message response.
• 0 = <STX><11.><number 2
bytes> <text, up to 32
char><ETX>
• 1 = <STX><11.><number 2
bytes> <text, up to 32
char><FS> <ETX>
11.x Status Response Format 0013_0002 0 When 11.x is received in the offline
mode, respond with:
• 0=
<STX><11.><00><text><ETX>
(response with status)
• 1 = <STX><00.><offline
code><ETX> (response with off-
line message)
Option to Add Destination Field to 0013_0009 0 Sets whether to add a field to the
Reset Message reset message telling the POS the
new destination in the application
flow after the reset message is
received:
• 0 = Do not add field
• 1 = Add field
Suppress Response to 28.x Set 0013_0012 0 This setting turns off the response
Variable Message message sent to the POS when a Set
Variable message is received.
• 0 = Send Response
• 1 = Suppress
Add Source Field to 23.x: Card Read 0013_0014 0 Include the source field to the 23.x
Request Message Card Read Request (On-Demand)
message.
• 0 = Do not include source
(compatible with previous
versions)
• 1 = Add source of card data to
message
Field Size for RAM and Flash 0013_0016 1 This setting sets the field size for the
Memory Size terminals RAM and Flash memory.
• 0 = 4-byte fields
• 1 = Variable size fields
Send PIN Entry Message when 0013_0017 0 Send 31.1 when PIN entry is
Cancel Transaction cancelled during the transaction.
• 0 = Disable
• 1 = Enable
When contactless is enabled using the 412 variable with the 28.x Set Variable Request message, contactless mode
is enabled only until the terminal is rebooted. It is disabled following a reboot of the terminal. To enable contactless
mode permanently (following terminal reboot), use the 0008_0001 configuration parameter with the 60.x
Configuration Write message. The 0008_0001 configuration parameter defines whether the contactless card
reader is enabled and the supported mode, such as key card or EMV.
Note: To retain the value following reboot, a 00.x Offline Message or 01.x Online Message must be sent after the
configuration is changed via the 60.x message.
Refer to the following table for contactless configuration parameters.
Contactless Configuration Parameters
Contactless Both 0008_0005 b Defines the value used in the Account Data
Tracks Indicator Source Field in the Authorization Request
message. This parameter applies when the
account information source is both tracks of a
card read by the Contactless reader.
Contactless Track 1 0008_0006 h Defines the value used in the Account Data
Indicator Source Field in the Authorization Request
message. This parameter applies when the
account information source is Track 1 of a card
read by the Contactless reader.
Contactless Track 2 0008_0007 d Defines the value used in the Account Data
Indicator Source Field in the Authorization Request
message. This parameter applies when the
account information source is Track 2 of a card
read by the Contactless reader.
Bad Read Error 0008_0008 30 Defines the display duration for a Bad read error.
Display
• 0 = Disabled.
• >0 = Display duration in 1/10 seconds.
Contactless Event 0008_0010 7 Specifies the amount of time that the terminal
Delay must detect a contactless card before it registers
the event. This is used to keep the terminal from
logging contactless events when swiping a
contactless card through the MSR.
• 0 = no delay
• 1 - 65000 = time in 1/10 seconds
Contactless Card Tap 0008_0017 60 Configurable timeout for contactless card tap.
Timeout The set timeout is applied each time the
contactless card reader is enabled.
• Timeout in seconds.
Configurgation file for contact EMV 0019_0010 EMVCLESS.XM This parameter can be overridden
to load at boot time L by the EMV 33.08.x Set Variables
Message. The name and path of the
last file loaded can be retrieved by
the 600 variable. If left blank,
EMVCONTACT.XML is loaded. The
source folder for this file is
determined by 0091_0031.
Configuration file for contactless 0019_0011 EMVCLESS.XM This parameter can be overridden
EMV to load at boot time L by the EMV 33.08.x message. The
name and path of the last file loaded
can be retrieved by the 601 variable.
If left blank, EMVCLESS.XML is
loaded. The source folder for this
file is determined by 0091_0031.
Debit Contact Void Sale Transaction 0019_0016 22 Debit contact void sale transaction
Type type
Credit Contact Void Sale 0019_0018 0 Credit contact void sale transaction
Transaction Type type
Parameter P Description
o
si
ti
o
n
fr
o
m
L
e
ft
Tag 8A value for bad 2 Deprecated/Not supported. RBA does not use tag 8A to identify an invalid online PIN
PIN response from the processor. The POS should interpret tag 8A as defined by the
processor. If the value indicates a bad online PIN, the POS can instruct RBA how to
proceed using tag D1011.
Allow PIN bypass 3 The PIN Bypass flag allows or disallows cardholders to end EMV PIN entry without
entering digits. The transaction proceeds without a PIN. See notes below.
This flag applies to contact EMV cards:
• 0 = PIN bypass not allowed (default for all AIDs)
• 1 = Enter key bypasses PIN with no digits entered
• 2 = Cancel key bypasses PIN with no digits entered
AID Brand 4 Identifies the card brand associated with this AID. This is an index into the
emvbrand table; for example, the 0021_0002 parameter's AID Brand value of 01
refers to emvbrand.dat parameter 0022_0001.
Parameter P Description
o
si
ti
o
n
fr
o
m
L
e
ft
PAN consistency 7 Test whether the Primary Account Number (PAN) in tag 57 (Track 2 Equivalent
check Data) is consistent with tag 5A (Primary Account Number).
This check applies to contactless cards only.
• 0 = Disable check for consistency
• 1 = Enable check for consistency. If the check fails, the transaction ends with tag
D1010 set to the error code "T2CF", Track 2 Consistency Check Failed.
Parameter P Description
o
si
ti
o
n
fr
o
m
L
e
ft
Allow contactless 8 The PIN Bypass flag allows or disallows cardholders to end EMV PIN entry without
PIN bypass entering digits. The transaction proceeds without a PIN. See notes below.
This flag applies to contactless EMV cards. Valid values for the flag are:
• 0 = PIN bypass not allowed (default for all AIDs)
• 1 = Enter key bypasses PIN with no digits entered
• 2 = Cancel key bypasses PIN with no digits entered
The following flags allow the merchant to determine whether cash back is allowed
for this AID, depending on the Cardholder Verification Method (CVM), and whether
PIN Bypass is used in the case of PIN CVMs. For further details on cash back, see
Enabling EMV Cash Back.
PIN bypass cashback 9 • 0 = Do NOT allow cash back for PIN bypass
• 1 = Allow cash back for PIN bypass
Offline PIN cashback 10 • 0 = Do NOT allow cash back for offline PIN CVM
• 1 = Allow cash back for offline PIN CVM
Online PIN cashback 11 • 0 = Do NOT allow cash back for online PIN CVM
• 1 = Allow cash back for online PIN CVM
Parameter P Description
o
si
ti
o
n
fr
o
m
L
e
ft
Fast Quick Chip 15 Fast Quick Chip is allowed for this AID. The parameter, 0019_0021, must also be
enabled in emv.dat to support Fast Quick Chip on the terminal.
• 0 = Do NOT allow Fast Quick Chip for this AID
• 1 = Allow Fast Quick Chip for this AID
DFS Data Index EMV Brand US Common/Global Debit AID Preference Card
The field "US Common/Global Debit AID preference" configures whether the RBA automatically prefers global or
US common debit AIDs.
This setting applies to both contact and contactless EMV cards that have two application IDs for the same card
brand, both tied to the same funding source, where one is the US Common Debit AID for that brand.
Values are as follows:
• 0 = do not prefer US Common or Global Debit AID (default)
• 1 = prefer US Common Debit AID
• 2 = prefer Global Debit AID
In cases 1 or 2, only the preferred AID will be included in the candidate list for selection or confirmation. The other
AID will be removed from the candidate list.
To prefer the US common debit AIDs over global debit AIDs, set each brand preference to 1.
Note
The PayPal versions of the forms noted, below, include a PayPal button in place of the Enter Card button.
forms.dat Parameters
Language Selection 0030_0003 LANG.K3Z This is the form that the terminal
will display to prompt the user to
select the language desired.
Card Swipe 0030_0004 SWIPE.K3Z This is the form that the terminal
will display to prompt the
cardholder to swipe his magnetic
stripe card.
Card Swipe with Language Selection 0030_0005 LSWIPE.K3Z This is the form that the terminal
will display to prompt the
cardholder to select a language and
to swipe his magnetic stripe card.
Displayed if Combine Language
Swipe Screens parameter
('0007_0004') is set to 1, <combine
screens>.
Payment Selection 0030_0006 PAY%d.K3Z This is the template for the form
name to use when prompting the
customer for payment type (credit,
debit, etc.). This template must
include the characters “%d”. These
are replaced with the menu number
currently displayed. Menu 1 is
always displayed first.
Cash Back Selection 0030_0007 CASHB.K3Z This form can be used to prompt the
customer for the cashback amount
or can ask the customer if cashback
is desired. If it does not ask for an
amount, the form defined in
'0030_0008' is used to prompt for
an amount.
Cash Back Selection without No 0030_0008 CASHBA.K3Z This is the form that the terminal
will display to prompt the user to
select a cash back amount from
several choices.
Cash Back Verification 0030_0009 CASHBV.K3Z This is the form used for verification
of cashback amounts.
Amount Verification 0030_0010 AMTV.K3Z This is the form that the terminal
will display to prompt the user to
confirm the purchase amount (i.e.,
Amount OK? $25.99).
Terms and Conditions 0030_0012 TC.K3Z This is the form the terminal uses
when displaying a terms and
conditions screen.
Terms and Conditions Signature 0030_0013 TCSIGN.K3Z This is the form the terminal uses
when displaying a terms and
conditions screen with a signature
field.
Card Swipe On Demand 0030_0014 COD.K3Z This is a form that the terminal
displays to prompt the user to swipe
his magnetic stripe card.
PIN Entry 0030_0015 PIN%c.K3Z This form is used for PIN entry. The
RBA looks for a PIN form based on
the payment type first. For example,
if payment type A, debit, is selected,
pina.K3Z is used. If pina.K3Z is not
found, pin.K3Z is used. The "%c" is
dropped to create the second form
name.
Numeric Input 0030_0016 INPUT.K3Z This form is used for numeric input
only.
Cash Back Other 0030_0018 CASHBO.K3Z This is the form used for manual
entry of cashback.
Input Entry 0030_0020 INPUT.K3Z This form is used during clear text
entry, such as cash back or the input
request message (see 21.x Numeric
Input Request Message (On-
Demand)).
This form is also used to support the
PIN entry with optional credit
selection option as described in the
Enter PIN or Press Green for Credit
forms section.
Contactless Card Swipe 0030_0021 CSWIPE.K3Z This is the form that the terminal
will display to prompt the
cardholder to tap his contactless
card on the terminal.
Contactless Card Swipe with 0030_0022 CLSWIPE.K3Z This is the form that the terminal
Language Selection will display to prompt the
cardholder to select a language and
to tap his contactless card on the
terminal. Displayed if Combine
Language Swipe Screens parameter
('0007_0004') is set to 1, <combine
screens>.
Contactless Card Read Request 0030_0023 CCOD.K3Z This is a form that the terminal
displays to prompt the user to tap
his contactless card on the terminal.
Waiting for STB Response 0030_0025 MSG.K3Z Waiting for STB (Spin the BIN)
response.
Survey Swipe 0030_0026 SURSWIPE.K3Z This is the form that the terminal
will display to prompt the customer
to either select a button in response
to the displayed survey question, or
to swipe their card for payment.
This form is used with the 40.x and
'40.0' survey messages.
PayPal Data Input (On-Demand 0030_0027 PPALINP.HTM Used with PayPal, this is the form
form) used by the cardholder to input a
ten-digit numeric code (phone
number) to the terminal. This form
also used for all input except the
PayPal PIN.
Smart Card (EMV) and Swipe 0030_0036 ESWIPE.K3Z SMC and Swipe.
Smart Card (EMV) and Swipe with 0030_0037 ELSWIPE.K3Z SMC and swipe with language
Language Selection selection.
Contactless Smart Card (EMV) and 0030_0038 CESWIPE.K3Z Contactless SMC and swipe.
Swipe
Contactless Smart Card (EMV) and 0030_0039 CELSWIPE.K3Z Contactless SMC and swipe with
Swipe with Language Selection language selection.
Files 0031 – 0034 are reserved for Prompt Files (when using the 60.x Configuration Write and 61.x
Configuration Read messages).
For contactless-related parameters, parameter '0008_0001' in cless.dat must be set to a value of '1' to
enable the contactless feature.
Duration to 0007 30 Used in conjunction with parameters 0007_0022, 0007_0023, and 0007_0037
Display _000 through 0007_0043 to enable individual control of the display duration for the
Results 1 results of the messages listed in the following table:
Parameter Message
Combine 0007 1 Is enabled only when the 0007_0009 Customer Action parameter is set to 0. The
Language _000 terminal displays a form that combines the Slide Card and Select Language
with Card 4 prompts, which allows the cardholder the option of selecting the language before
Swipe Screens swiping the card.
• 0 = Separate screens (uses forms lang.K3Z and swipe.K3Z)
• 1 = Combine screens (default, uses form lswipe.K3Z)
On Incorrect 0007 0 Specifies where to return in the transaction if the total amount was incorrect and
Total _000 the cash back option is available.
6
• 0 = Return to Wait for Amount screen (default)
• 1 = Reset transaction, return to beginning
• 2 = Return to cash back entry screen
If the cashback process was not used during the transaction, RBA
returns to waiting for the amount message from host.
Clear Line 0007 1 Specifies whether the line display should be cleared following a hard reset
Display on _000 message. If the display is not cleared on a reset, the POS must send a 15.8 Soft
Reset 7 Reset message to clear the screen. For more details on clearing the line display,
refer to the 10.x Hard Reset Message.
• 0 = Do not clear display
• 1 = Clear display (default)
Show 0007 20 Specifies if the selected payment type should be briefly displayed after it is
Payment Type _000 selected. Text for each payment type is listed in the file PROMPT.XML.
Timer 8
• 0 = Do not display
• >0 = Time to display in 1/10 seconds
Reset 0007 2 Specifies if a 10.x Hard Reset Message should be sent to the POS in response to a
Response _000 reset message from the POS.
9
• 0 = Do not send (default).
• 1 = Send.
• 2 = Send only if amount has been received.
Online 0007 1 Specifies whether the online message starts a new payment transaction or
Message _001 displays advertising until a reset is received.
Action 0
• 0 = Go to advertising.
• 1 = Start a transaction (default).
Splash Screen 0007 Specifies a custom application name to display on the application splash screen.
Application _001 Maximum of 25 characters.
Name 1
Splash Screen 0007 Specifies a custom application version number to display on the splash screen.
Version _001 Maximum of 25 characters.
Number 2
Beep Volume 0007 25 Specifies the volume of the beep. Set this parameter via the 60.x Configuration
_001 Write message.
4
• Enter a value of 0 (no sound) to 100 (high volume). This can be configured
even when 0008_0003 = 0.
Alternate On 0007 0 Turns on or off the alternate demand mode to enable or disable the 34.x Save and
Demand _001 Restore State Messages.
Mode 5
• 0 = Automatically save and restore state (Compatible mode)
The current state is saved when an on-demand message is
received, and restored when the command is completed
• 1 = New mode
The state is saved using the 33.x message. The application does
not return to the saved state. The state is restored using the 34.x
message.
Terms and 0007 0 Determines when the cardholder sees and presses the Accept button for
Conditions _001 the Terms and Conditions form.
Form: Accept 9
• 0 = Show <Accept> and <Decline> buttons regardless of current position in
Button
the text
• 1 = Show both <Accept> and <Decline> buttons regardless of current
position in the text
Allow the <Accept> button only at the bottom of the text
Allow the <Decline> button regardless of the current position in
the text
• 2 = Show the <Accept> button only at the bottom of the text. Show the
<Decline> button regardless of the current position in the text
• 3 = Show both <Accept> and <Decline> buttons only at the bottom of the
text
Terms and 0007 0 Toggles an option to hide the <Up> button at the top of the text, and hide the
Conditions _002 <Down> button at the bottom.
Form: Hide 1
• 0 = Always show both directional buttons
Disabled
Direction Allow only the <Down> button when at the top of the text
Buttons Allow only the <Up> button when at the bottom of the text
Allow both the <Up> button and <Down> button when in the
middle of the text
• 1 = Show and allow enabled buttons only
Show and allow the <Up> button when not at the top of the text
Show and allow the <Down> button when not at the bottom of the
text
Time to 0007 50 Sets the amount of time the approval or decline message will display:
Display _002
2 • 0 = Do not display
Approval/
Decline • 1 = Display until a reset is received
Message • 2 - 65000 = Time to display in 1/10 second
Note: If 0007_0022 is 1 or 2, 0007_0001 must be set to 2.
After 0007 1 Determines the next action following the approval or decline message:
Approval/ _002
• 0 = Reset
Decline 3
Display • 1 = Go to advertising. Parameter 0010_0001 must be set to 1 or 3
• 2 = Wait for reset. Parameter 0007_0022 must be set to 0 or 1
Wait to Send 0007 0 Determines when the authorization request will be sent:
Authorization _002
4 • 0 = Send Authorization Request as soon as ready
Request
• 1 = Wait for a 50.x Authorization Request message from the POS
# of Lines in 0007 16 Determines the number of lines to use for the scrolling receipt buffer.
Scrolling _002
• Minimum value is 16
Receipt 5
Buffer
Automatic 0007 1 Determines whether to allow an on-demand message to automatically cancel any
On- Demand _002 currently running on-demand function.
Function 8
• 0 = Do not automatically cancel running on-demand functions
Cancel
• 1 = Automatically cancel running on-demand functions.
Display Enter 0007 0 Controls the display of the Enter Card button at the bottom of the Card Swipe
Card Prompt _002 screen.
9
• 0 = Do not display.
• 1 = Display button and prompt for card number, expiration date, and CVV.
• 2 = Display button and prompt for card number and expiration date (no CVV).
• 3 = Display button and prompt for card number and CVV (no expiration date).
• 4 = Display button and prompt for card number (no expiration date, no CVV).
• 5 = Do not display button. Enable dynamic manual entry for forced mnual
entry by sending 23.[FS][FS][FS]H.
• 6 = Display button. Enable dynamic manual-entry process using 19.x
messages.
When using TDES encryption and manually entering data, the PAN,
expiration date, and CVV are all required. This parameter must be
set to 0 or 1 when using this encryption mode.
CVV and/or 0007 0 Sets the manual card entry if not prompted to enter the CVV and/or expiration
Expiration _003 date.
Date not 0
• 0 = Leave blank.
entered for
manual card • 1 = Use ASCII zeros as placeholders in track data.
entry When any P2PE type is enabled (e.g., parameter 0091_0001 is a value other than
0), this parameter (0007_0030) is ignored, and zeros are used as placeholders for
expiration date and CVV data. EPS encryption leaves the expiration date and
CVV blank if they are not entered manually.
Inactivity 0007 15 Inactivity timeout for portable terminals in minutes. At the specified duration,
Timeout _003 the terminal goes into sleep mode.
4
• 0 = Disabled
• 1 - 200 = Number of minutes of inactivity before the terminal goes into sleep
mode.
This parameter is ignored if contactless and/or smart card readers are active.
Automatic 0007 60 Automatic power down for portable terminals in minutes. At the specified
Power Down _003 duration, the terminal powers down.
5
• 0 = Disabled
• 1 - 200 = Number of minutes of inactivity before powering down a battery-
powered terminal
This parameter is ignored if contactless and/or smart card readers are active.
Note
For iSMP4 terminals, when the battery level is less than five percent,
and the battery is not on the charging base, the terminal powers off. An
alarm sounds every five seconds for the last minute before powering off,
prompting the user to place the terminal on a charger. See Parameter
830, Battery Power %, in 28.x Set Variable Request.
If the terminal is in sleep mode, applications are idle, and the terminal
cannot power off automatically, but when the charge reaches zero
percent, the terminal powers off.
For the iPP350, values higher than 50 have the same effect as a
value of 50.
20.x 0007 30 Duration to display result of 20.x Signature Message (on-demand). Used when
Signature _003 parameter 0007_0001 is set to 2.
Request 7
Message • 0 = Do not show.
Result Display • 1 = Show result but no timeout.
Duration • >1 = Duration in 1/10 seconds.
Set display timeout for on-demand message result individually with parameters
0007_0037 to 0007_0043. Used when parameter 0007_0001 is set to 2.
21.x Numeric 0007 30 Duration to display result of 21.x Numeric Input Request Message (on-demand).
Input Request _003 Used when parameter 0007_0001 is set to 2.
Message 8
Result Display • 0 = Do not show
Duration • 1 = Show result but no timeout
• >1 = Duration in 1/10 seconds
23.x Card 0007 30 Duration to display result of 23.x Card Read Request (on-demand). Used when
Read Request _003 parameter 0007_0001 is set to 2.
Result Display 9
Duration • 0 = Do not show
• 1 = Show result but no timeout
• >1 = Duration in 1/10 seconds
24.x Form 0007 30 Duration to display result of 24.x Form Entry Request (on-demand). Used when
Entry Request _004 parameter 0007_0001 is set to 2.
Result Display 0
Duration • 0 = Do not show
• 1 = Show result but no timeout
• >1 = Duration in 1/10 seconds
25.x Terms 0007 30 Duration to display result of 25.x Terms and Conditions Request (on-demand).
and _004 This is only used when parameter 0007_0001 is set to 2.
Conditions 1
Request • 0 = Do not show
Result Display • 1 = Show result but no timeout
Duration • >1 = Duration in 1/10 seconds
27.x Input 0007 30 Duration to display result of 27.x Alpha Input Message (on-demand). Used when
Message _004 parameter 0007_0001 is set to 2.
Result Display 2
Duration • 0 = Do not show.
• 1 = Show result but no timeout
• >1 = Duration in 1/10 seconds
31.x PIN 0007 30 Duration to display result of 31.x PIN Entry Messages (on-demand). Used when
Entry _004 parameter 0007_0001 is set to 2.
Message 3
Result Display • 0 = Do not show.
Duration • 1 = Show result but no timeout.
• >1 = Duration in 1/10 seconds.
Enable 24 0007 0 Automatic reboot after 24 hours' continuous terminal run time:
Hour Reboot _004
5 • 0 = Disable.
• 1 = Enable.
Daily Reboot 0007 0 Daily reboot time in 24-hour format. This value is the time in each 24-hour period
Time _004 when the terminal reboots automatically.
6
• 0 = No daily reboot.
• >0 = Daily reboot time in 24-hout HHMM format.
Status 0007 1 Is configured when the 09.x Card Status Message is sent. This setting is used
Message _004 when 0019_0001 (EMV Support) and 0020_0001 (WIC Support) are both set to 1
Configuration 7 only.
• 0 = Disabled: 09.x message is never sent.
• 1 = Limited: 09.x message is only sent before/after smartcard transactions
(default for backwards compatibility)
• 2 = Verbose: 09.x message is always sent during normal transaction flow.
Display 0007 1 Enables the display of Please Hand Card to Cashier prompt after three
Please Hand _004 consecutive bad swipes.
Card to 9
Cashier • 0 = Do not display.
Prompt • 1 = Display button and prompt for card number, expiration date, and CVV.
• 2 = Display button and prompt for card number and expiration date (no CVV).
• 3 = Display button and prompt for card number and CVV (no expiration date).
• 4 = Display button and prompt for card number (no expiration date, no CVV).
When using TDES encryption and manually entering data, the PAN,
expiration date, and CVV are required. Must be set to 0 or 1.
Display 0007 1 Terminal sends 09.x response to POS with a max bad swipe error. Enter Card
Please Swipe _005 prompt is displayed with Please Swipe prompt after three consecutive bad
with Enter 0 swipes.
Card Prompt
• 0 = Disable
• 1 = Enable
Display serial 0007 0 Sends 07.x and 08.x responses to the POS with the terminal serial number. If it is
numbers for _005 an iUN, each component (iUC, iUP, and iUR) returns their serial number:
iUC, iUP, and 1
iUR in 07.x • 0 = Give iUP serial number
and 08.x • 1 = Give serial number for each terminal
messages
If a peripheral device is not connected at boot time, the iUP250 reboots
three times before loading RBA. This parameter must be set to 1 to show
the serial numbers of the peripheral devices in the 07.x message. If a
device is disconnected, its serial number is blank.
Media volume 0007 255 The volume at which media (video or audio files) play.
_005
2 • 0 = Media muted
• 1-255 = Media volume
F button 0007 0 Action taken by pressing the F button four times at the Offline screen:
behavior _005
3 • 0 = Open communications menu
• 1 = Disable feature (legacy)
• 2 = Bluetooth. If the terminal is not Bluetooth-enabled, changes this setting
to 1 (disabled)
Backlight 0007 120 Duration of time until the terminal backlight is turned off in seconds.
timer shutoff _005 seco
4 nds
Cancel button 0007 0 Cancel button works as a Stop button on the iUC285 COD/CCOD form.
as Stop _005
button 5 • 0 = Disable
• 1 = Enable
Enable iSMP4 0007 0 Enable the ISMP4 to set current charge settings when used with a Wi-Case in
current _005 serial mode.
charge setting 6
• 0 = Disable
• 1 = Enable
Bad Swipes Allowed Before 0003_0001 3 This parameter specifies how many
Displaying Assistance Message times a customer can swipe a bad
card before the Ask for Assistance
prompt or Hand Card to Cashier
prompt is displayed.
• 0 = Disables the display of the
Ask for Assistance or Hand Card
to Cashier prompt.
• 1 – 65,000 = Defines the
number of card swipes allowed
before the Ask for Assistance or
Hand Card to Cashier prompt
displays (default is 3 swipes).
After any bad card swipe, the
following prompt is displayed for 3
seconds: Card Read Error, Please
Try Again.
After Max Bad Card Swipes Reset 0003_0003 1 After the maximum amount of bad
Transaction card swipes has been reached, this
parameter specifies whether to
reset the transaction or prompt the
customer to reswipe their card.
• 0 = Reset transaction
• 1 = Prompt for card swipe
(default)
Reformat Name Field in Track 1 if in 0003_0005 0 Changes the formatting of the name
Form Last/First field based on the value of the
parameter:
• 0 = Do not modify the name field
• 1 = The name field is searched
for the / character. If found, the
text before and the text
following the / character are
swapped. The / character is
replaced with a space. For
example, the name Williams/
Fred is changed to Fred
Williams.
Bad Read Error Timeout 0003_0007 30 Timeout for display of “bad read”
error.
• 0 = Disabled
• 1 - 65000 = time in 1/10ths of a
second
Enable MSR During Bad Read Error 0003_0008 0 Enable MSR when displaying card
read error.
• 0 = Disable
• 1 = Enable
Bad read delay for unattended 0003_0018 8 Seconds allowed between an invalid
swipe and "bad read" error. iuR only.
Info
For an overview of PayPal configuration needs, including minimum production requirements, PayPal
validation flow, calculating GMT offset, and related forms, see Appendix C. PayPal Overview.
paypal.dat Parameters
Your Key Name 0040_0002 “GENERIC_T.PE This parameter specifies your key file name.
M” This must be set to enable PayPal payment (see
also '0040_0006').
• Your Key Name
This parameter supports a maximum of 15
characters.
PayPal Payment Type/ 0040_0006 0 This parameter specifies the PayPal payment
Enable/Disable type. Single digit, 7 (e.g., '0011_0007').
This parameter also defines whether or not
PayPal support is enabled. By default, PayPal is
disabled.
• 0 = Disable PayPal Support (default)
• 1 or greater = Enable PayPal Support
PayPal/Discover BIN 0040_0008 1 This number must match the BIN table entry.
table number
PayPal BIN table 0040_0009 11 This number must match the BIN table entry.
number (non-Discover)
Overall Timeout for PIN 0006_0001 0 Specifies how long to wait for the customer to
Entry in Seconds enter a PIN before timing out.
• 0 = 60 seconds (maximum value)
• 1 - 600 = Time in 1/10 of a second
First Key Timeout for 0006_0002 0 Specifies how long to wait for the customer to
PIN Entry in Seconds enter the first digit of a PIN before terminating
PIN entry.
• 0 = 60 seconds
• 100 - 600 = Time in 1/10 of a second
Between Keys Timeout 0006_0003 0 Specifies how long to wait for the customer
for PIN Entry in Seconds after one digit of a PIN has been entered and
before the next digit before timing out.
• 0 = 60 seconds
• 20 – 600 = Time in 1/10 of a second
Display Timeout for 0006_0006 30 Specifies how long to display the Ask for
Assistance Message Assistance message before timing out.
• 0 - 65,000 = Time in 1/10 of a second
PIN Encryption Method 0006_0007 1 Specifies which encryption method to use. The
environment index must be specified in the
Encryption Environment Index parameter
(0006_0008).
• 0 = Master/Session
• 1 = DUKPT (default)
Enable PIN Bypass for 0006_0013 0 Enables PIN Bypass for MSR to emulate EMV.
MSR • 0=
The <Cancel> key implements
cards.dat:: On PIN Entry Cancel.
If the <Cancel> key is pressed,
the flag will contain one of the
following values:
0 = Cancel
transaction.
"-" = Restart PIN
entry.
1 - 9 = Load payX
form.
A - P = Select card
type.
The <Enter> key either:
accepts PIN if
minimum number of
PIN digits (4) entered
or
beeps and continues
PIN entry if less than
the minimum number
of digits entered.
• 1=
The <Cancel> key cancels the
transaction.
The <Enter> key implements
cards.dat:: On PIN Entry Cancel.
The <Cancel> key will now
cancel the transaction. If the
<Enter> key is pressed, the flag
will contain one of the following
values:
0 = Cancel
transaction.
"-" = Restart PIN
entry.
1 - 9 = Load payX
form.
A - P = Select card
type.
Send PIN key press 0006_0014 0 Determines whether to send a 31.A Pin Entry
message Response each time a button is pressed during
PIN entry.
• 0 = Send no message per key press.
• 1 = 31.A PIN key press messages sent for
each PIN key press.
Info
You will be unable to implement your changes to the security.dat and secbin.dat files without a
signed .PGZ file from Ingenico. If you implement your changes prior to receipt of the new .PGZ file, your
Telium terminals may appear to run properly, however, your terminals will actually be running as
previously configured, without your changes. See the process diagram on the following page for approval
process information.
Info
It is highly recommended that you use the 61.x Configuration Read Message to ensure your changes to
this file are applied correctly once implemented.
Contact your Ingenico Account Manager with any questions you may have about the signing process.
It is highly recommended that you use the 61.x Configuration Read Message to ensure your changes to this file are
applied correctly.
Info
This policy applies to all P2PE encryption methods.
Note
The start and end BINs are compared for the full the length of the entry.
The first parameter (0092_0001) enables the Security BIN Table itself. The default setting is 0 = Off/Disabled. Use 1
= On/Enabled to enable the table.
Parameter 0092_0001 functions as follows:
• If set to 0, then all card data is encrypted, if parameter 0091_0001 is not 0.
• If set to 1, and if parameter 0091_0001 is not 0, then encryption of card data matching a BIN entry in
secbin.dat depends on the encryption flag setting for the matching BIN.
• If set to 1, and if parameter 0091_0001 is not 0 and the card data does not match a BIN entry in secbin.dat,
then the card data is encrypted.
The following table describes the BIN information for various card types. One to eight digits can be specified for the
start and end of each BIN range.
Default secbin.dat Parameters
Note 1
To set the value to 2 for
On-Guard, a separate
E2ECFG.PGN file must be
loaded to the terminal; it
cannot be updated with
security.PGZ.
Track Data Encryption Key Index 0091_0002 4 Encryption key index for
encrypting track data in
messages. Applies to all P2PE
types with injected keys.
• Overrides the
exponent value
from the public
key in parameter
0091_0013.
• Is in hexadecimal
format and
should be set to
the default value
(where 010001
hex = 65537
decimal)
• Might need to be
changed. Check
with your key
authority to
confirm.
TransArmor Key ID 0091_0015 12345678901 Identifies the public key. Its length
should be 11-bytes.
This parameter is
ignored for RSA-
OAEP encryption.
If an invalid length is
assigned, the length
will revert to the
default value of eight
digits.
Exponent for Message Encryption 0091_0021 010001 Applies to RSA only. This value is
Key the hexadecimal equivalent of
65537. Do not change this value.
It is ignored if 0091_0020
specifies a PEM filename.
U Up key
D Down key
F F or * key (key
below 7 key)
a F1 key
b F2 key
c F3 key
d F4 key
Block 12.x Account Messages 0091_0030 0 Flag used to indicate to RBA that
when Encrypting MSR Data. 12.x: Account Messages are to be
blocked when encrypting
cardholder data.
• 0 = Allow 12.x messages.
• 1 = Ignore 12.x messages.
EMV Configuration XML File Type 0091_0031 0 This parameter determines the
XML file type for EMV
configuration.
• 0 = XML files are unsigned
and stored in the HOST
directory.
• 1 = XML files are signed and
stored in the System
directory.
Public Key for Data Encryption 0091_0033 RSA-OAEP public key file
containing the public key to be
used for data encryption. The full
file name without path must be
specified here.
• This parameter is not
configurable.
• It is set during application
execution to preserve the
current encryption
configuration across reboots.
This parameter is directly set
using the 90.7 Select RSA-OAEP
Public Key Request Message.
RBA is no longer
supporting SSLv3.
Masking is no longer
dependent on
parameters 0005_0002
or 0091_0001. For
unmasked values, RBA
uses specifiers:
• 11 for PAN
• 10 for Expiry date
• 12 for CVV
0091_0040 0 Reserved
0091_0043 Reserved
If your organization requires changes to the security.dat file, obtain approval and signature from
Ingenico prior to your implementation. See the section, Signing Requirements for .DAT File Changes.
Use the 61.x Configuration Read Message to ensure your changes to this file are applied correctly.
Max Time Allowed for Signature 0009_0001 0 Specifies how long to wait for the
customer to complete a signature
before timing out. The time count
starts with the first screen touch.
• 0 = Timeout disabled
• 1 - 65,000 = Timeout in 1/10 of
a second
Send Message When Signature 0009_0002 0 Specifies whether the terminal will
Ready send a message to the cash register
when the customer completes a
signature. The signature is then
available for download.
• 0 = Do not send a message; the
POS must poll to determine
when a signature is available.
• 1 = Send 20.x Signature
Message (On-Demand)
signature request to the POS.
Max Time to Allow Before Signing 0009_0004 0 Specifies how long to wait for a
(pen down timeout) customer to begin the signature
before timing out.
• 0 = Timeout disabled
• 1 - 65,000 = Timeout in 1/10 of
a second
Save State on Signature Capture 0009_0006 0 Specifies what state the terminal
Request (20.x message) returns to based on the set value:
• 0 = Terminate transaction
• 1 = Return to the state the
terminal was in when the
message was received.
Minimum Acceptable Signature Size 0009_0007 50 bytes Specifies the smallest acceptable
signature in bytes. If a signature is
below this threshold, it is deleted,
and a new signature is requested.
Number of Bytes in Signature Block 0009_0012 200 Specifies the number of bytes in the
signature block.
• 1 - 1,000 = Number of bytes
Maximum Allowable Signature Size 0009_0014 750 Maximum signature size in bytes.
Cannot exceed maximum value of
0009_0012 times 10 signature
blocks, rounded down to closest
amount divisible by 3.
Important Notice
The DFS data indexes for status.dat have been changed to accommodate increasing BIN table entries. Any
code that reads/writes status.dat parameters must be updated to use the new ‘0097_xxxx’ DFS data
indexes associated with status.dat. It is not necessary to generate a new status.dat file, although config.dfs
files should be updated with the new DFS data indexes for documentation purposes.
Status.dat Parameters
Void Return OK? 0097_0010 “Void Return OK?” Void Return OK.
Acquirer BIN 0004_0001 123456 This parameter is the 6-digit acquiring bank
number.
Store Number 0004_0003 9012 This parameter is the 4-digit store ID number.
Terminal Number 0004_0004 3456 This parameter is the 4-digit terminal ID number.
Merchant Category 0004_0005 7890 This parameter is the 4-digit merchant industry
classification.
Merchant County 0004_0006 123 This parameter is the 3-digit country code.
Code
Merchant Zip Code 0004_0007 45678 This parameter is the 5-digit merchant Zip Code.
Time Zone Difference 0004_0008 900 This parameter is the 3-digit time difference from
GMT time zone.
Index Code 0004_0009 0 This parameter is the 1-digit index code, which
should always be zero (0).
Terminal Serial 0004_0010 Blank This parameter can override the serial number
Number that was burned into the terminal at the time of
manufacture. It is used when the repair facility
sends out a new terminal to replace one that had
been damaged, and the replacement terminal
needs to have the same serial number as the
original. It is an 8-digit serial number. Leave blank
to use hardware serial number.
Message Status Code 0004_0011 @ This parameter is the 1-digit message status code.
Starting Transaction 0004_0012 1 This parameter is the first transaction number that
Number will be started when the terminal boots.
User Variable 0014_0001 to " " The default value is a single- Default values of the user-defined
0014_0025 space character. variables as set by the 28.x Set
Variable Request.
Mother Key Slot 0020_0002 6 WIC Internal Key Index for Mother Key Slot.
Reverse Mother Key 0020_0003 7 WIC Internal Key Index for Reverse Mother Key Slot.
Slot
SC5 Key Slot 0020_0004 8 WIC Internal Key Index for SC5 Key Slot.
SC6 Key Slot 0020_0005 9 WIC Internal Key Index for SC6 Key Slot.
MAX is the maximum number of display positions available within the data entry field.
General Attributes
m Minimum characters The '%m' attribute specifies the minimum number of digits to be entered by
the user. The value following this attribute is interpreted as the minimum
number of digits.
If the '%m' attribute is not defined in the format specifier, the default value
for the '%m' attribute will be used, which is zero (0).
The range for this attribute is 0 – MAX. If ENTER is pressed before typing the
minimum number of digits, an "invalid" beep will indicate that the entered
input has not been accepted.
M Maximum characters The '%M' attribute specifies the maximum number of digits to be entered by
the user. The value following this attribute is interpreted as the maximum
number of digits.
If the '%M' attribute is not defined in the format specifier, the total number of
specified overwrite characters ('%o') in the format specifier string will be
used.
The range for this attribute is 1 – MAX. If digits are pressed after the
maximum number has been reached, an "invalid" beep indicates that those
digits will not be displayed on the screen or recorded.
p Password protection The '%p' attribute password-protects and changes the appearance of all
character characters entered by the user. The ASCII character following this attribute is
interpreted as the password character and is displayed on the screen in place
of the characters entered by the user. For example, when the user enters a
PIN, the '%p' attribute can specify that asterisks appear on the screen
instead of numbers.
P Password protection The '%P' attribute password-protects and changes the appearance of all
delay characters entered by the user on a delayed basis. The ASCII character
following this attribute is interpreted as the password character and is
displayed on the screen in place of the characters entered by the user as the
next character is entered or after one second of time passes. In other words,
you will see the last character entered for up to one second.
As an example, when entering a PIN of '1 2 3 4', if the '%P' attribute has
been specified that asterisks appear on the screen instead of numbers, an
asterisk will replace the number 1 as the number 2 is entered, an asterisk will
replace the number 2 as the number 3 is entered, etc.
z Leading zeroes The '%z' attribute forces UIA to recognize leading zeros, which are otherwise
recognition ignored by default.
f Fixed characters The ‘%f’ attribute defines the corresponding positions to be displayed at all times.
The ‘%f’ attribute cannot be modified during the data entry process.
h Hidden characters The ‘%h’ attribute causes the specific display positions to show only when each
hidden character from the right is passed by the shifting text (text being entered by
user). From that moment on, these positions are fixed and cannot be modified for
the rest of the data entry process.
o Overwriting The ‘%o’ attribute defines the corresponding positions to be displayed at the
characters beginning of the data entry process, but allows shifting text to overwrite them.
s Shifting characters The ‘%s’ attribute defines the corresponding positions to be displayed at the
beginning of the data entry process, and then shifted one position at a time for
each digit entered (or cleared) when the first one from the right is passed by
shifting text.
dl Direction left The ‘%dl’ attribute defines the direction in which characters are added to a text
field. When ‘%dl’ is set, characters are added to the left side of the screen, and the
text fills the screen from left to right.
dr Direction right The ‘%dr’ attribute defines the direction in which characters are added to a text
field. When ‘%dr’ is set, characters are added to the right side of the screen, and the
text fills the screen from right to left.‘%dr’ is set by default if neither ‘%dl’ nor
‘%dr’ is specified in the format specifier string.
When a format specifier or prompt is unavailable, an text box is displayed indicating an error. When
RBA encounters a missing format specifier, the message “missing specifier” is displayed x. A missing
format specifier indicates the format specifier was invalid. Examples of invalid format specifiers are
non-numeric (like “%fhello”) or negative minimum or maximum values. Another example is “%m%M4”,
where no value is provided to the minimum attribute.
or
Input Example for Overwrite Format Specifier (see Note)
(none) “ ”
1 “ 1”
2 “ 12”
3 “ 123”
4 “1234”
Clear “ 123”
5 “1235”
Clear “ 123”
Clear “ 12”
Clear “ 1”
Clear “ ”
(none) “ ”
1 “1 ”
2 “12 ”
3 “123 ”
4 “1234”
or
Input Example for Overwrite and Leading Zeroes Recognition Format Specifiers (see Note)
(none) “ ”
0 “ 0”
1 “ 01”
2 “ 012”
3 “0123”
or
Input Example for Overwrite, Maximum, and Minimum Characters Format Specifiers (see Note)
(none) “ ”
Enter “ ”
1 “ 1”
2 “ 12”
3 “ 123”
4 “1234”
Clear “ 123”
(none) “( ) - ”
4 “(4 ) - ”
1 “(41 ) - ”
6 “(416) - ”
2 “(416) 2 - ”
4 “(416) 24 - ”
5 “(416) 245- ”
Enter “(416) 245- ” Silently ignored because minimum digits not entered.
6 “(416) 245-6 ”
7 “(416) 245-67 ”
0 “(416) 245-670 ”
0 “(416) 245-6700”
(none) “ -- ”
1 “1 - - ”
2 “12 - - ”
3 “123- - ”
4 “123-4 - ”
5 “123-45- ”
6 “123-45-6 ”
7 “123-45-67 ”
8 “123-45-678 ”
9 “123-45-6789”
(none) “mm/dd/yyyy”
0 “0m/dd/yyyy”
6 “06/dd/yyyy”
1 “06/1d/yyyy”
5 “06/15/yyyy”
2 “06/15/2yyy”
0 “06/15/20yy”
1 “06/15/201y”
2 “06/15/2012”
(none) “ 0.00”
1 “ 0.01”
2 “ 0.12”
3 “ 1.23”
4 “ 12.34”
5 “ 123.45”
(none) “ 0.00”
5 “ 0.05”
1 “ 0.51”
2 “ 5.12”
3 “ 51.23”
9 “ 512.39”
Note
Including the Direction Right specifier invokes the same behavior as default settings, and so the two given
examples for the same sample scenario behave identically.
“%dl%o” / “%dl%z%o”
Zero digits may be entered for these two format specifiers,
unless sent down in a 21.x message with the ‘%m’ attribute
set.
Three (3) digits may be entered to the left of the displayed percent
sign.
Asterisk (*) and pound (#) keys are also supported if a form independently enables them, even if variable
805 is not set to '1'.
At startup, RBA variable 805 is not defined (blank), but behaves as though it is disabled (805 = '0').
When enabled, key press events are returned in the '21.A' Numeric Input Request (On-Demand) messages. The
character following the 'A' in the '21.A' message will match the key pressed, as described in the below table:
21.x Request per Clear-Text Key Press
<0> 21.A0
<1> 21.A1
<2> 21.A2
<3> 21.A3
<4> 21.A4
<5> 21.A5
<6> 21.A6
<7> 21.A7
<8> 21.A8
<9> 21.A9
<CLEAR> 21.A=
<CANCEL> 21.1
5.4 Prompts
RBA has the ability to display prompts in up to three languages. Prompts are stored in the
files PROMPT.xml, SECURPROMPT.xml, CUSTPROMPT.xml, and TC1.xml. Each prompt is assigned a number, which is
then used by forms that need to reference that prompt. For example, the text element in the
form swipe.K3Z contains the text “<?ivPROMPT3?>”. This instructs the RBA to load Prompt 3 from the
current language's prompt file. Prompt 3 should, in the proper language, instruct the customer to swipe a card.
To comply with PCI-DSS requirements, PROMPT.xml and CUSTPROMPT.xml are subject to security restrictions that
prohibit the display of prompts containing character combinations representing the words “PIN” and “NIP.”
Info
Updates to any of the prompts' *.XML files will only take effect after the terminal is rebooted by
a 97.x message sent by the POS.
The maximum number of prompts is 400 and PIN prompts are limited to 50.
<br> Line break Please wait<br>Do not remove card Please wait
Do not remove card
5.4.2.1 Example
The following example displays identically on all terminals except the iWL250:
<Prompt id="309" message="Authorizing... Please wait" shortmessage="Authorizing\nPlease
wait" iWL250="Authorizing\nPlease wait"/>
The iWL250 displays "Please wait" on a new line, regardless of whether message or shortmessage would be
otherwise called.
To comply with PCI-DSS requirements, CUSTPROMPT.xml is subject to security restrictions that prohibit the display
of prompts containing character combinations representing the words “PIN” and “NIP.”
1 • Please select language If more than one language is specified in the Language Count
• Por favor seleccione idioma parameter, this prompt is displayed at the beginning of each
transaction. A button for each available language is displayed for
• Choisissez la langue SVP
cardholder selection.
2 • Processing... please wait Is displayed while the application uses the BIN lookup function to
• Procesando… favor de esperar select the payment type for the card.
• En traitement... Un moment
SVP
4 • Expired card. Please use Is displayed when date checking is enabled, and the cardholder
another. used a card with an expiration date before today’s date. Another
form of payment must be tendered to complete the transaction.
• Tarjeta expirada. Favor de usar
otra.
• Carte expirée
5 • Card read error. Try again. Informs the cardholder that terminal could not read the card that
• Error de lectura de tarjeta. was swiped.
Intente de nuevo.
• Erreur de lecture. Réessayez
6 • Please select payment type Prompts the cardholder to select the payment type.
• Seleccione tipo de pago
• Choisissez le type de paiement
7 • Please wait for the cashier Is displayed when waiting for the purchase amount from the POS.
• Por favor espere por el cajero(a)
• Attendez le cassier SVP
8 • Cashback correct? $<? Prompts the cardholder to verify the cashback amount.
ivCASHBACK?>
• Cashback correcto? $<?
ivCASHBACK?>
• Retrait d'argent? $<?
ivCASHBACK?>
9 • Not a sale. Cashback cancelled. Informs the cardholder that the selected cashback amount is
• No es una venta. Cashback ignored due to a transaction type limitation. This parameter
applies to void, return, and void return transactions.
cancelado.
• Retrait d'argent annulé
10 • Amount OK? $<?ivTOTAL? Prompts the cardholder to verify the purchase amount.
>
• Cantidad correcta? $<?
ivTOTAL?>
• Montant OK? $<?ivTOTAL?
>
12 • Invalid card for payment type Informs the cardholder that the swiped card is not an accepted
• Tarjeta no permitida para ese form of payment.
tipo de pago
• Carte erronée pour ce type de
paiement
13 • Register ivTerminal?
• Register ivTerminal?
• Register ivTerminal?
14 • PIN must be 4 to 12 digits Informs the cardholder that the PIN entered was not within the
• PIN debe ser 4 a 12 dígitos required four to 12 digit range.
• Un NIP va de 4 à 12 chiffres
17 • Cashback limit is $<? Informs the cardholder that the amount requested is greater than
ivCB_MAX_TEXT?> the maximum allowed.
• Limite de cashback es $<?
ivCB_MAX_TEXT?>
• Retrait d'argent limité à $<?
ivCB_MAX_TEXT?>
18 • Invalid amount: $<? Informs the cardholder that the amount requested is not a multiple
ivCASHBACK?> of the cash back increment amount (0002_0008).
• Cantidad no permitida: $<?
ivCASHBACK?>
• Montant erroné: $<?
ivCASHBACK?>
20 • Amount must be less than Is displayed if the cardholder enters a payment amount greater
$<?ivAMOUNT? > than the purchase amount.
• Cantidad debe ser menos que
$<?ivAMOUNT?>
• Montant dépasse le total $<?
ivAMOUNT?>
24 • Invalid payment type Informs the cardholder that the card is an invalid payment type.
• Tipo de pago no permitido
• Le type nul de Paiement
25 • Card not accepted Informs the cardholder that the card is not accepted.
• Tarjeta no aceptada
• Cette carte n'est pas acceptée
26 • Encrypting... please wait... Is displayed while a PIN is being encrypted after entry.
• Codificando… favor de
esperar…
• Chiffrement... patientez SVP...
28 • Please select benefit type This is displayed while waiting for the user to select the EBT
• Por favor seleccione tipo de message type.
beneficio
• Choisissez le type d'allocation
SVP
32 • Card read cancelled Is displayed when the cash register cancels the card swipe on
• Lectura de tarjeta cancelada demand.
• Lecture de la carte annulée
33 • Input cancelled Informs the cardholder that the POS has cancelled the request to
• Entrada cancelada read a card.
• Entrée annulée
34 • Signature cancelled Is displayed when the cash register cancels the signature request.
• Firma cancelada
• Signature annulée
35 • Please show card to cashier Asks the cardholder to hand the payment card to the cashier so the
• Por favor muestre su tarjeta al signature or account number can be verified.
cajero(a)
• Montrez carte au cassier SVP
36 • Void OK? $<?ivTOTAL?> Asks the cardholder to verify the void amount.
• Confirma anulación? $<?
ivTOTAL?>
• Annulation OK? $<?ivTOTAL?
>
37 • Return OK? $<?ivTOTAL?> Asks the cardholder to verify the return amount.
• Confirma devolución? $<?
ivTOTAL?>
• Remboursement OK? $<?
ivTOTAL?>
38 • Void return OK? $<? Asks the cardholder to verify the void return amount.
ivTOTAL?>
• Confirma anulación de
devolución? $<?ivTOTAL?
>
• Annuler remboursement OK?
$<?ivTOTAL?>
92 • Signature accepted Informs the cardholder that the signature was accepted.
• Firma aceptada
• Signature acceptée
93 • Input accepted Informs the cardholder that the extra input just entered was
• Entrada aceptada accepted.
• Entrée acceptée
94 • Card accepted Informs the cardholder that the card swipe was accepted.
• Tarjeta aceptada
• Carte acceptée
95 • Terms accepted Confirms that the cardholder has accepted terms and conditions.
• Condiciones aceptadas
• Conditions acceptées
96 • Terms declined Confirms that the cardholder has declined terms and conditions.
• Condiciones negadas
• Conditions refusées
126 • Please hand card to cashier Asks the cardholder to hand the payment card to the cashier. The
• Por favor pase tarjeta al cashier can enter the card number manually. This prompt is
displayed when the terminal is unable to read the card after the
cajero(a)
specified number of allowed bad-read attempts has been reached
• Donnez carte au cassier SVP (parameter 0003_0001 in msr.dat).
127 • Too many PIN entry errors Informs the cardholder that the transaction is being cancelled
• Demasiados errores de entrada because the cardholder is having trouble entering a valid PIN.
de PIN
• Trop d'essais - NIP erroné
130 • Debit Is displayed to confirm the selected payment type. The payment
• Debito may be selected through a POS message, BIN range checking, or
cardholder screen selection.
• Débit
131 • Credit Is displayed to confirm the selected payment type. The payment
• Crédito may be selected through a POS message, BIN range checking, or
cardholder screen selection.
• Crédit
132 • EBT Cash Is displayed to confirm the selected payment type. The payment
• Efectivo EBT may be selected through a POS message, BIN range checking, or
cardholder screen selection.
• Comptant - EBT
133 • EBT Foodstamps Is displayed to confirm the selected payment type. The payment
• Estampillas EBT may be selected through a POS message, BIN range checking, or
cardholder screen selection.
• Bon alimentaire - EBT
134 • Store Charge Is displayed to confirm the selected payment type. The payment
• Cargo de la Tienda may be selected through a POS message, BIN range checking, or
cardholder screen selection.
• Carte magasin
135 • Thank you for your loyalty Is displayed to confirm the selected payment type. The payment
• Gracias por su lealtad may be selected through a POS message, BIN range checking, or
cardholder screen selection.
• Merci de votre fidélité
136 • PayPal
• PayPal
• PayPal
137 • EMV
• EMV
• EMV
156 • Security Code too small Is displayed when the user enters a security code that is too short.
• Código de Seguridad
demasiado pequeño
• Code de Sécurité trop petit
164 • Please ask for assistance Is displayed when the terminal is unable to read the card after the
• Por favor pida ayuda specified number of allowed bad-read attempts is reached
(parameter 0003_0001 in msr.dat file). The cashier can enter the
• Demandez de l'aide SVP
card number manually.
165 • Please sign and tap Ok with pen Prompts the cardholder to enter a signature.
• Por favor firme y toque OK con
el lápiz
• Signez avec le stylo SVP
166 • Please slide card or Tap Prompts the cardholder to slide or tap the card.
• Por favor deslice o toque su
tarjeta
• Glissez la carte SVP or TAP
192 • Transaction
not<br>started
• Spanish 192
• Transaction non\nDémarrée
212 • Entry
timeout<br>Transaction
cancelled
• Spanish 212
• Dépassement temp entrée;\n
Transaction annulée
214 • Exit
• Spanish 214
• Sortir
272 • Previous
• Spanish 272
• Précédent
273 • Next
• Spanish 273
• Suivant
285 • Purchase
• Spanish 285
• Achat
286 • Refund
• Spanish 286
• Remboursement
297 • PIN OK
• Spanish 297
• NIP OK
301 • Declined
• Spanish 301
• Refusé
304 • Transaction\nchanged\nto\n
• Spanish 304
• Opération\nModifiée\nA\n
313 • No amount
entered\nTransaction cancelled
• Spanish 313
• Aucun montant
entré\nTransaction annulée
315 • Approved
• Spanish 315
• Approuvée
355 • Transaction\naccepted
• Transaccion\nCancelada
• TRANSACTION\nACCEPTEE
356 • Updating\ncard
• Actualizando\ntarjeta
• MISE A JOUR\nDE LA CARTE
No 113 • “No”
• “No”
• “Pas”
Ok 114 • “Ok”
• “Ok”
• “Ok”
• Between the sending of an Amount message and receiving an Authorization Request message
The RBA general message flow contains the following message exchange sequences:
• Startup sequence: The messages between and including the Online Request and Online Response are the
startup sequence. This sequence normally occurs only when the POS sales application is started and the POS
is opened for sales transactions.
• Transaction sequence: The messages between and including the Amount message and the RESET message
are the possible sequence of messages for each transaction. Some subset of the messages would be used for
any EFT transaction.
• Shutdown sequence: The Offline message is the shutdown sequence and is sent by the POS when the sales
application is stopped and the POS closed.
This section defines the messages that flow between the POS and the terminal. Some of these messages flow to and
from the switch and are defined by the VISA Second Generation specification. For consistency, all messages have
been defined to fit within the VISA message format.
All messages are checked by the LRC and a positive acknowledgement (ACK) response is sent to all good messages
or a negative acknowledgement (NAK) to all bad messages. The maximum allowable message length is 247 bytes.
The basic format of these messages is as follows:
RBA Message Format
....
....
Where:
• STX is the ASCII-defined control character, hex 02
• Message Identifier is three ASCII characters (two digits followed by a decimal) that identify the type message,
such as 00.x (Offline Message)
• Message Data is the variable data defined for each message
• ETX is the ASCII-defined control character, hex 03
• LRC check character is a character generated for each message, using the data in the message, and is verified
by the receiving station to ensure that the message was received correctly. The LRC is generated by
exclusive-OR’ing all characters in the message except the STX but including the ETX (see following example).
This calculation is done by both the sending and receiving station. The sending station appends the LRC
character to the message it is sending following the ETX character. The receiving station validates that the
LRC is received at the end of the message is the same LRC that it calculated for the message it received.
The following is an example of two messages shown in both ASCII and hex, followed by the LRC calculation:
10.x Hard Reset Message with no Data
ASCII [STX]10.[ETX][LRC]
Hex 02 31 30 2E 03 2C
LRC calculation 31 01 2F 2C
ASCII [STX]13.12389[ETX][LRC]
Hex 02 31 33 2E 31 32 33 38 39 03 1E
LRC calculation 31 02 2C 1D 2F 1C 24 1D 1E
* Account Message
Amount Message
* Status Request
* Status Response
Authorization Request
Authorization Response
Reset
Info
An asterisk (*) indicates an optional message. All of these messages will be ACKed, but that is not shown
here for simplicity.
Please note that to adhere to enhanced security standards, dynamic text is not supported. The POS uses
prompt indices to display plain-text messages.
offline state if it detects an unrecoverable error within itself, if it detects invalid message protocol from the POS, or
if it receives an Offline Request message from the POS.
When the RBA receives the Offline Request message, it will only send an Offline Response message if it is already
in an offline state.
Refer to the following tables which describe the '00.x' Offline Request message format and '00.x' Offline Response
message format.
00.x Offline Request Message Format
Legacy versions of the RBA Test Application may not display the 00.x response from the terminal when
sending a 00.x message to RBA.
While there is a response format designated for the 00.x message, the POS polls the terminal for its
online/offline status using the 11.x Status Message.
20.x Signature Message (On- Nothing is received in the Testing Tool (until 11.00LaneClosed[FS] then
Demand) you send a Status Request 11.x, then you get 11.12
11.10PleaseSign[FS]).
21.x Numeric Input Request Nothing is received in the Testing Tool (until 11.00LaneClosed[FS] then
Message (On-Demand) you send a Status Request 11.x, then you get 11.12
11.10PleaseSign[FS]).
22.x Application ID Request Nothing is received in the Testing Tool (until 11.00LaneClosed[FS]
you send a Status Request 11.x, then you get
11.10PleaseSign[FS]).
23.x Card Read Request (On- Nothing is received in the Testing Tool (until 11.00LaneClosed[FS] then
Demand) you send a Status Request 11.x, then you get 11.12
11.10PleaseSign[FS]).
24.x Form Entry Request (On- Nothing is received in the Testing Tool (until 11.00LaneClosed[FS] then
Demand) you send a Status Request 11.x, then you get 11.12
11.10PleaseSign[FS]).
25.x Terms and Conditions Nothing is received in the Testing Tool (until 11.00LaneClosed[FS] then
Request (On-Demand) you send a Status Request 11.x, then you get 11.12
11.10PleaseSign[FS]).
27.x Alpha Input Message (On- The alpha keyboard appears on the PIN pad 11.00LaneClosed[FS] then
Demand) before the 11.x request is run. Nothing is 11.12
received in the Testing Tool (until you send a
Status Request 11.x, then you get
11.12Input[FS]).
28.x Set Variable Request For variable 202 the response would be 11.00LaneClosed[FS]
28.30000202.
30.x Advertising Request Nothing is received in the Testing Tool (until 11.00LaneClosed[FS] then
Message (On-Demand) you send a Status Request 11.x, then you get 11.15Advertising[FS]
11.10PleaseSign[FS]).
31.x PIN Entry Messages (On- The alpha keyboard appears on the PIN pad 11.00LaneClosed[FS] then
Demand) before the 11.x request is run. Nothing is 11.12Input[FS]
received in the Testing Tool (until you send a
Status Request 11.x, then you get
11.12Input[FS]).
97.x Reboot
This message contains the transaction approval code and text, which RBA shows on the display during execution of
the Transaction End process. The 0.x message is in the old format, while 50.x is in the new format. Both formats are
supported by RBA.
0.x Authorization Response Message Format (Sent from POS)
All other codes are invalid and are treated as declined. The ?
above may be any character.
Info
The 01.x message allows the merchant or financial institution to control the changing of the terminal
program or parameters. Software versions can be controlled by maintaining a file on the store controller
that contains the program load and parameter load version for each terminal.
The 01.x message data consists of two fields: program load version and parameter load version, which indicate the
level of program and parameter load that is currently contained in that terminal. The terminal validates that it
contains the current levels before accepting the 01.x request. If either level is incorrect, it requests a load of the
pieces that are incorrect (see Scenarios, below). The incorrect level in the 01.x request that is forcing the load is
assigned to be the level of the new load. Zero (0000) in either field of the 01.x request is a special case indicating to
the terminal to use the level it currently contains of that piece. If the terminal does not contain any level for that
piece, it returns an Offline message; otherwise, the Online response contains the current level value for that piece.
Info
Sending the 01.x message with a value other than the current EFT level (0000) will trigger a download via
TDA. When this occurs, you may observe in the RBA Testing Tool execution of “VarSetByInt() code in
procesOnlineReqRespMsg()”. When this occurs, RBA exits and can no longer respond to further 00.x or
01.x messages.
Format Defined
Syntax Sample
01.XXXXYYYY 01.02081234
Version Fields
Scenarios
01.02071235 01.02081234 A version change for both the Program Load and
Parameter Load, resulting in '01.02081234'
being loaded to the terminal.
Info
The default value is '0001'.
Icon
These are only the default settings in cards.dat. Payment
type can be configured such that any value A – P refers to a
payment type of choice.
Icon
If the transaction amount is zero, or if the transaction
amount is less than 3 digits, then preceding zeros will be
added to the amount. If the amount exceeds 9 digits, the
digits in excess of 9 will be silently ignored. As examples:
• 0 amount = '000' sent.
• 8 amount = '008' sent.
• 78 amount = '078' sent.
Icon
These are only the default settings in cards.dat. Payment
type can be configured such that any value A – P refers to a
payment type of choice.
Icon
If the transaction amount is zero, or if the transaction
amount is less than 3 digits, then preceding zeros will be
added to the amount. If the amount exceeds 9 digits, the
digits in excess of 9 will be silently ignored. As examples:
• '0' amount – '000' sent.
• '8' amount – '008' sent.
• '78' amount – '078' sent.
The default configuration returns the full size of RAM and Flash memory in kilobytes. See
also Compatibility Flags (compat.dat).
Info
IBMEFT downloading is not supported in this release. The following table will display the values of
EFTL version and EFTP version as 0000.
Health Stat Response offsets 4 (Number of MSR swipes), offsets 9, 12 and 15 (Number of bad
Track 1, 2, 3, reads), and offset 18 (Number of signature totals) reset to 0 (zero) after having
sent an 08.1 reset message. All other 08.x responses remain intact for the life of the terminal.
There are two possible response messages when the Health Stat Request message is received. The response
messages are generated based on the request type:
• Request type = 0 – return Health Stats (see Health Stat Response Message Format in first table below).
• Request type = 1 – reset and then retrieve Health Stats (refer Health Stat Response Message Format in first
table below).
• Request type = 2 – return Battery Life Health Stats (refer Health Stat Battery Life Response Message
Format in second table below).
08.x Health Stat Response Message Format (returned in response to 08.0 Retrieve Health Stats message)
Note
Currently this is not supported in Telium terminals and
the field will return UNSUPPORTED_DEVICE.
Health Stat Battery Life Response Message Format (returned in response to 08.2 Battery Life Health
Stats message)
Although all terminals respond to the 08.2 message, only the battery-powered terminals return
meaningful results. All other terminals return zero for each field.
To avoid interrupting the EMV or WIC transaction flow, 09.x status messages conveying card insertion status (e.g.,
card inserted, card removed) are only sent before the transaction is started.
09.x Card Status Message Format
09.x returns status for smart cards, except for card type = 98.
O L Type Description
ff e
s n
e g
t t
h
message. If those two conditions are not met, the 10.x message is not sent to the POS. Upon receiving a 10.x
message, the POS sends a current Amount message to the terminal to allow the new transaction to be completed.
RBA determines when to clear the scrolling receipt based on information from two sources:
• Source #1 - the 10.x message parameter value
• Source #2 - the RBA local configuration parameter, listed in mainFlow.dat file, index 0007_0007, Clear line
item display on reset (0 = dont clear, 1 = clear).
RBA clears the scrolling receipt from the terminal screen in the following conditions:
• If the 10.x message received from the POS does not specify whether the line display should be cleared, the
display is cleared based on the RBA local configuration selection.
• If the 10.x message received from the POS includes the parameter, then the parameter included in the
message is used to select the clearing method, which is:
• 0 – Do not clear the receipt
• 1 – Clear the receipt
If RBA receives a message other than the 10.x, which also resets the transaction, such as the 01.x Online Message,
or 30.x Advertising Request Message, the receipt is cleared based on the configuration selection.
10.x Hard Reset Message Format (from POS)
If the 10.x message is sent by RBA, the cardholder has either cancelled the transaction or declined the total. In
either case, a new amount message must be sent to the terminal.
If the cardholder presses the [Cancel] key on the terminal, the following 10.x message is sent:
10.x Hard Reset Message Format (from Terminal)
6.2.14.2 Appending the Form Name to the 11.x Status Response Message
An alternate form of the 11.x Status request message has been added so that the form name can be appended to
the status response message, without the ".K3Z" extension (e.g., CSWIPE, CLSWIPE). The new '11.01' Status
Request is used to retrieve this additional information. Refer to the following example:
1. POS sends a '11.01' message to the terminal.
2. Terminal returns a '11.01Slide Card[FS]CLSWIPE' message, indicating that it is displaying the text "Slide
Card" on the "CLSWIPE" card swipe form. Because the current text display length is variable, a [FS] field
separator character is inserted.
The following tables describe the 11.x Status Request message and 11.x Status Response message formats.
11.x Status Request Message Format
The 12.x Message follows the same format as a card’s Track 2 data. As such, it should only contain numeric
data and field separators.
A 12.x response message will be sent to POS to indicate if the 12.x request message was successful. See response
message format below.
The response can be enabled or disabled by setting compat.dat configuration parameter '0013_0021'.
6.2.16.1 Overview
The 13.x Amount message flows from the POS to the terminal to provide the current Balance Due amount and to
request an Authorization Request message from the terminal.
The Amount message has a variable length. It may have a minimum of 1 and a maximum of 16 amount fields,
separated by the FS (Field Separator) character. Each individual amount field length is from 3 to 9 digits, ASCII
string, representing the amount in cents, without the decimal point (e.g., $10.85 is represented as 1085). For
following example, the following message includes a Current Transaction Balance Due of $12.34.
<STX>13.1234<FS>5678<FS>7699<ETX><LRC>
A 13.x message with a single amount field is acceptable for compatibility with the existing POS systems. When
received, the Amount Index value from the Cards section of config.dfs is ignored, and the amount is
unconditionally accepted.
When a 13.x message with multiple fields is received, only one field is used. The Amount Index value from the Cards
section of config.dfs (see Card Configuration Table) selects the correct amount for the authorization message.
• If the Amount Index value is 0, or if it points a field that does not exist, the terminal goes to offline mode.
• If the Amount Index points to a valid value, the amount that the index points to is used in the 50.x
Authorization Request message.
• Index 1 points to the first amount field in the 13.x message (e.g., 1234 in the example above), index 2 to
second field (5678 in the example above), and so on. The Amount Index applies to 13.x message with multiple
fields only.
When the purchase amount value is received in a message other than a 13.x message, such as a 04.x Set Payment
Type Request or 28.x Set Variable Request, it is handled the same as the 13.x message with a single amount field.
When the purchase amount is received in a 13.x message with multiple fields, the host variable Amount Due value
is not available until the payment is selected.
The purchase amount may be received in the following messages:
• 13.x amount
• 04.x forced payment with amount (single amount field)
• 28.x set amount (single amount field)
13.x messages can be sent with multiple empty amount fields or any amount fields excluded. If any
amounts are unspecified, those transaction amounts are set to a placeholder, amount not set value. If the
existing transaction amounts are intended to persist, the existing amounts must be present in their
respective fields when the message is sent.
For example, if 13.400[FS]300 is sent, followed by 13.400, the excluded second amount (300) is set to
amount not set.
Cashback amount is only updated if a numerical value is included after the group separator.
6.2.17.1 EMV and non-EMV Transaction Type Values in the 14.x Message
The following table summarizes RBA 14.x message transaction type values with EMV transaction type tag values:
Transaction Types and Tags
RBA transaction EMV transaction Contact EMV Contactless EMV transaction type
type type transaction type returned via T9C
set via 14.x returned via D1005 returned via T9C
message
Void sale/purchase and void return/refund transaction types values are returned according to configurable values:
• '0019_0016' through '0019_0019' for contact EMV.
• '0008_0018' through '0008_0021' for contactless EMV.
If multiple cards are detected, an ASCII file separator character (0x1C) will follow the UID of the
previous card, which is then followed by the card index number, card type and UID of the next card. Up
to 9 cards can be detected in a single tap.
6.2.19.2
Usage Examples
The following examples illustrate 16.x message usage for sending the UID to the POS.
Example 1: MIFARE Classic 1K (with 4-byte NUID), NUID value = {0x4B, 0xE9, 0x1B, 0x4C}
1 16.500014BE91B
4C
Example 2: MIFARE Ultralight (with 7-byte NUID), NUID value = {0x04, 0x21, 0xDD, 0x09, 0x36, 0x02, 0x80}
Telium RBA messaging is ASCII-based. Accordingly, any binary data must be sent as hex-ASCII.
To read and/or change the contactless mode, use variable 412 (Contactless Mode) with the 29.x Get
Variable Request and 28.x Set Variable Request messages.
Not all sectors and blocks are available for user data when
using Classic MIFARE cards. Care must be given to not write
to reserved blocks that could cause the card to be unusable.
Block 0 of sector 0 is reserved by the card manufacturer. For
every sector, block 3 is reserved for the access restrictions
for each of the key types (A and B). User data can generally
be written to sector 0, blocks 1 and 2, and for Sectors 1 - X,
blocks 0, 1, and 2 totaling 752 bytes for the 1K Classic card
and 3,440 bytes for the 4K Classic card.
7 1 Alphanum Index number of the card where the command is to be executed. This
index number must match the index number sent with the card UID
in the 16.x card detection message.
• Read (R).
For MIFARE Classic 1K:
Sequence Format Description
• Write.
For MIFARE Classic 1K:
If multiple commands are sent in a batch, an ASCII file separator character (0x1C) will follow the command data of
the previous command which is then followed by the command type, notification flag, card index number, command
ID and command data of the next card.
7 1 Alpha Command type, returns the value from the request message.
9 1 Alphanum Index number of the card where the command is to be executed. This
index number must match the index number sent with the card UID
in the 16.x Contactless Mode Request.
10 2 Hex ASCII Command ID, returns the value from the request message.
• Read (R).
For MIFARE Classic 1K:
Sequence Format Description
• Write (W).
For MIFARE Classic 1K:
Sequenc Format Description
e
All previously written merchant data can be cleared by sending the 17.x message without including any
new merchant data in the message.
Telium RBA messaging is ASCII-based. Accordingly, any binary data must be sent as hex-ASCII.
1 17.5A000002FFFFFFF
FFFFF
2 17.500A000002FFFFF
FFFFFFF
1 17.5R00000203
2 17.500R00000203000102030405060708090A0B0C0D0E0F
MIFARE Ultralight
Pages 4,5,6,7 containing data {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
0x0D, 0x0E, 0x0F}
1 17.5R000004
2 17.5000004000102030405060708090A0B0C0D0E0F
1 17.5W00000B010F0E0D0C0B0A09080706050403020100
2 17.500W00000B010F0E0D0C0B0A09080706050403020100
MIFARE Ultralight
Pages 4 containing data {0x03, 0x02, 0x01, 0x00}
1 17.5W00000403020
100
2 17.500W000004030
20100
1 17.5C0000
2 17.500C0000
1 17.5A000002FFFFFFFFFFFF[FS]R00000201[FS]W000002010F0E0D0C0B0A0908
0706050403020100[FS]R00000201[FS]C0000
"[FS]" is the non-printable ASCII file separator character with a value of 0x1C.
This field separator is commonly used in RBA messaging to separate variable
length fields.
2 17.500A000002FFFFFFFFFFFF[FS]R00000201000102030405060708090A0B0C0D
0E0F[FS]W000002010F0E0D0C0B0A09080706050403020100[FS]R000002010F0
E0D0C0B0A09080706050403020100[FS]C0000
MIFARE Ultralight
1 17.R000004[FS]W00000403020100[FS]R000004[FS]C0000
2 17.500R000004000102030405060708090A0B0C0D0E0F[FS]W000004030201
00[FS]
R000004030201000405060708090A0B0C0D0E0F[FS]C0000
Sample Requests
Contactless 19.d11000114005578000000150
The POS determines whether the CVV or Expiration date are required and notifies the application accordingly by
response. If required, the cardholder is prompted to enter these, and this data is encrypted and returned to the
POS.
6.2.24.1 Request
The 20.x Signature Response Message (On-Demand) notifies the POS when the customer presses a keypad key or
screen button during the signature process. Signature data is stored to RBA variables 700-709, as explained
in Retrieval Using Get Variable.
6.2.24.2 Response
The response message contains a status and can indicate:
• An invalid prompt.
• A state save error (when 0009_0006 = 1).
• A button such as Cancel was pressed, interrupting the signature process.
6.2.24.3 Use
The 20.x Signature Request Message can be used when:
• The payment type requires a signature but the terminal is not configured to automatically prompt for a
signature.
• The cashier wants to:
Compare the signature with the signature on the card, and would like the customer to sign again.
Collect a signature for something other than the payment transaction.
Refresh the Signature form prior to signature capture. Once the signature capture has been captured, the terminal
will display the approval status as follows:
• For on-demand, the terminal will display "Signature accepted".
• For normal credit flow, the terminal will display "Approved".
6.2.24.4 Configuration
Parameter 0009_0002 determines if the terminal sends a signature notification message. If 0009_0002 is set to...
• 1, the terminal sends the Signature Ready Response Message (On-Demand) to notify the POS that the
signature is completed and ready for download.
• 2, the POS must use the 11.x Status Message to check if signature data is available (also see Retrieval Using
Get Variable).
6.2.24.5 Limitations
The terminal will not execute the following messages received during on-demand signature capture. The terminal
sends a response including rejection status and the signature process continues.
• 21.x Numeric Input Request Message (On-Demand)
• 23.x Card Read Request (On-Demand)
• 24.x Form Entry Request (On-Demand)
• 25.x Terms and Conditions Request (On-Demand)
The 20.x Signature Request message should only be used after the 50.x Authorization Request message is received
or before the transaction has begun. If this message is called during a transaction, the transaction will be aborted.
Using a form name greater than 230 bytes in this field will
return a '20.6' (invalid prompt) response.
• The cardholder begins signing, but presses CANCEL. In this example, the 20.x response is
20.1
This indicates the cardholder interrupted signature with a button press.
• An invalid prompt was included in the 20.x Signature Request message. The terminal returns the
following 20.x Signature Response message:
20.6
20.x Signature Ready Response
• The 20.x Signature Ready Response Message (On-Demand) message has been enabled. The signature is
completed and the terminal sends the following empty message to the POS:
20.
• If the prompt index is not valid, then an input response message with Exit Type = 9 is sent to the POS, and the
request is ignored.
• If the prompt length is 0 (zero), that message is not executed, and the 21.9 reject response is sent.
• When the 21.x message is received during the execution of another on-demand function (20.x, 21.x, 23.x,
24.x, 27.x, or 31.x), the new 21.x on-demand message does not execute, a reject response status is returned,
and the current on-demand Enter Generic Number process continues to operate.
• When the <CANCEL> button is tapped, a response 21.x message with Cancel state is sent, the terminal
displays the Input Cancelled prompt for three seconds, the current process terminates, and RBA returns to
the process before initial 21.x was received.
• The on-demand messages are not nested.
Execution of 21.x is terminated in one of the following ways:
• By a message - 00.x, 01.x, 10.x, 15.0, 15.6, 20.x, 30.x.
• By tapping the CANCEL button. The Input Cancelled prompt is displayed, and a 21.1 response (1 indicating
the cancel state) is sent. The function terminates and returns to the interrupted state.
6.2.25.1 Use of the 21.x Message to Send Encrypted Clear Entry Data
Sensitive cardholder information, such as their social security number, is encrypted using the same encryption key
used for the 94.x and 95.x Barcode Configuration Messages and sent to the POS via the 21.x Numeric Input
Request Message. Use configuration parameters 0091_0019 through 0091_0022 to support both sensitive and
barcode message encryption. Refer to Security Parameters (security.dat) for more detail. The encryption key used
in both cases is base64,
The following configurations enable encryption for specific messages:
• 0091_0026 - Enable encryption of clear entry data via 21.x and 27.x messages.
• 0091_0027 - Enable encryption of barcode data via the 95.x barcode data message.
Exit types 8 and E have been added to the 21.x Numeric Input Response message as described in the below table
titled Numeric Input Response (On-Demand) Message Format.
21.x Numeric Input Request (On-Demand) Message Format
Info
Examples of Invalid formats (5 = Invalid format, in Response table, above) are non-numeric or negative
min/max values.
Note
A card can be inserted before the 23.x request in on-demand flow.
6.2.27.1 Rules
The 23.x message is handled as follows:
• The 23.x request is always ACKed.
• When the 23.x message is received during the execution of 20.x, 21.x, 23.x or 31.x, the 23.x message is not
executed and the 23.9 reject response message is returned. The current function is continued.
• To activate a card reader with this message, the reader must be enabled in config.dfs. For example, if
contactless is disabled (0008_0001 = 0), the 23.x message cannot enable it, so it returns 23.R, a reader-
disabled error response.
The on-demand messages are not nested. Refer to 34.x Save and Restore State Messages regarding the ability to
send multiple on-demand messages.
The execution of 23.x message during a 20.x Signature Message (on-demand) depends on the value for DFS Data
Index 0009_0006 (Save state when signature request received), as follows:
• If 0009_0006 = 0, RBA processes the 23.x message and comes back to process the signature request
• If 0009_0006 = 1, RBA returns 23.9 (declined)
[STX]23.PROMPT[FS]FORM[FS]1[FS]MCS[ETX][LRC]
Example 2:
In this example, the following message uses the prompt Swipe, Tap or Insert Card with form FORM1.K3Z having
MSR, Cless, and SCR readers enabled, and having a 16.x response with payment notification.
[STX]23.Swipe, Tap or Insert Card[FS]FORM1.K3Z[FS]1[FS]MCS[ETX][LRC]
Example 3:
This example uses the prompt Swipe, Tap or Insert Card with the default form selection, having all readers enabled
by exclusion and forcing the 16.x response with payment notification.
[STX]23.Swipe, Tap or Insert Card[FS][FS]1[ETX][LRC]
Example 4:
This example uses the prompt Swipe or Tap Card with the default form selection, having MSR and Cless readers
enabled, without the 16.x response notification.
[STX]23.Swipe or Tap Card[FS][FS][FS]MC[ETX][LRC]
• Use prompt Swipe or Tap Card with default form, enabling MSR and contactless:
[STX]23.Swipe or Tap Card[FS][FS]MC[ETX][LRC]
Encryption and BIN range checks on a card account number are performed based on the settings from the
configuration file.
Value cannot be 0.
M 1 Constant ASCII control character – FS (This field is optional.) Only used with M +
1.
Contactless 23.0CB4005578000000150^CARDHOLDER/
VISA^101210155555012340000000000556100460770000[FS
]
4005578000000150= 10121015555546000771
Button text in 24.x messages may be specified as an index in the prompt.xml file. For example, specifying
"106" will call button index 106, [DECLINE]. See 24.x Form Entry Request Message Format table below,
index M + 2.
Bid,visibility
where
• id = the button ID from the K3Z form.
• visibility = "S" for show or "H" for hide.
Example: Hide button with id "btn1":
Bbtn1,H
If "S" or "H" are needed for the button text, then the following syntax should be used in order to avoid
confusion:
Bid, S
Bid, H
Note the extra space following "Bid".
The 24.x Form Entry Request message is an on-demand message. Accordingly, this messages interrupts the normal
operation of the RBA in order to execute a new function requested by the host. The rules for the on-demand
functions are:
• On-demand messages cannot be nested.
A received 24.x request is validated prior to execution.
• When a 24.x request has been successfully executed, a 24.x response message is returned with a status of '0'
indicating successful execution.
• A 24.x request is not executed when either of the following situations occur:
The form file index is invalid, or the form file is not present in the terminal's DFS memory. A 24.x
response message is returned with a status of '1' indicating that the form was invalid.
Another on-demand request is already running. In this event, a 24.x response message is returned with
a status of '9' indicating that the request has been declined.
The execution of a 24.x request can be terminated using the following types of reset messages:
• Reset whole transaction and return to card swipe process. This can be implemented using any of the following
messages:
10.x Hard Reset Message
'15.0' Soft Reset Message
01.x Online Message
00.x Offline Message
30.x Advertising Request Message (On-Demand)
20.x Signature Message (On-Demand)
• A '15.6' Soft Reset Message terminates the current process.
Important to note, here, is that the button ID is paired with its value.
The letters [CR] represent non printable characters in the ASCII set.
Note that the RBA application does not support the simultaneous use of both radio buttons and check
boxes on a single form, nor does it support the simultaneous use of radio buttons or check boxes with a
signature box on a single form.
If the first character is… following the Then the parser does this…
comma that follows a ‘T’ number
… a numeral The parser assumes the numeral to be a prompt index number into
the prompt file, so the corresponding prompt will be displayed.
… not a numeral The parser checks to see if the first character is the Ctrl/Q
character (aka DC1, aka ox11 ASCII value). If this non-printable
control character is found, then the parser will display whatever
text follows. This feature is in place to allow for the printing of text
that starts with a number, but it will print any text that follows, not
just numbers.
… not a numeral NOR a Ctrl/Q (e.g., ‘DC1’) The parser simply displays all of the text after the comma.
character
Example:
A form exists with variables (in dollar amounts) for Sales Total, Tax and Total. The three dollar amounts on the form
are 5.50, 8.50 and 9.50. This set of data is returned as the following string to the terminal, instructing the terminal
what to display:
24.total.k3z[FS]T8,[DC1]5.50[FS]T9,[DC1]8.50[FS]T10,[DC1]9.50
The letters [FS] represent a non-printable character known as Field Separator.
The letters [DC1] represent the Ctrl/Q character.
Note about the ‘T’ number: This number should be matched to a ‘PROMPTLINEx’ number in the K3Z
file where ‘x’ is the ‘T’ number. The object’s ‘id’ and ‘text’ fields should use ‘PROMPTLINEx’ in the same
manner as one of the standard RBA K3Z forms using prompts.
Parameter Description
Button Controls the action of buttons on the form associated with the tag when
active.
Form Associates a form with a tag. The associated form will be displayed when the
tag is active.
Scroll Specifies which text parameter is associated with a scrolling text frame on
the form associated with the tag.
Text Specifies the text to be displayed by a text frame on the form associated with
the tag.
Each statement in the script must be contained within one line of the script file. Comments may be included to
describe the function of the script. These comments are generally ignored by the script parser. No white spaces,
however, are permitted within the actual tag or parameter. Tag descriptions in the script describe the screen which
is to be displayed when that tag is active. They also describe transitions to screens associated with other tags. The
first tag describes the initial screen and is the first to become active. The order of the other tags in the script is
irrelevant. Selection of any buttons which are not associated with a tag parameter will result in termination of the
script with their default return value.
The 26.x Run Script Request message provides the file name of the script to be executed. When completed, or if an
error occurred, a 26.x Run Script Response message is returned indicating execution status. If an error occurred,
the error type will be included in this return message. If a key was pressed to cancel the script, the message will
identify which key was pressed.
Refer to the following tables which describe the 26.x Run Script Request message format and 26.x Run Script
Response message format.
26.x Run Script Request Message Format
Offset Length Type Description
Info
For additional explanation of the content and format of the script file (.txt file) used, see Appendix B.
RBA Script Language.
6.2.31.1 Using the 27.x Message to Send Encrypted Clear Entry Data
Sensitive cardholder data and barcodes can be encrypted with the same encryption key used for the 95.x: Barcode
Data Messages and sent to the POS via the 27.x Alpha Input Message. Configuration parameters 0091_0019
through 0091_0022 support generic message encryption. Refer to Security Parameters (security.dat) for more
detail. The encryption key used is the base64 barcode key. The following configurations enable encryption for
specific messages:
• 0091_0026 - Enables encryption of clear-entry data via 21.x and 27.x messages.
• 0091_0027 - Enable encryption of barcode data via the 95.x barcode data message.
27.x Alpha Input (On-Demand) Request Message Format
Variable 111 is used to write to the top line (highest on the screen), variable 112 writes to the line
beneath the top line, and so on.
The number of lines displayed depends on the size of the window defined on the form. While the
default scrolling receipt area displays five lines at a time, some can display up to nine. Assign variables
to the lines that can be viewed in the terminal scrolling receipt area only. Variables assigned to lines
that are not viewable are ignored.
For example, if the scrolling receipt area displays five lines, use variables 111 to 116 only. Variables
assigned to 117 to 119 are not viewable.
• Variable 404 (payment type) is returned with a value from A to P where:
A = Debit
B = Credit
C = EBT Cash
D = EBT Food Stamps
E = Store Charge
F = Loyalty
G = PayPal
Payment types H through P are reserved and customer definable. Refer to Card Configuration (cards.dat) for
more information.
The variables may be combined to create a four-line item display with a total line on the bottom by writing the item
information to variable 115, then writing the total line to variable 104. By default, the terminal clears the line
display on reset. Disable this feature and clear the line display by sending a 15.8 Soft Reset Message.
Info
When calculating the GMT Offset, consideration must be given to any adjustments in time (For
example: Daylight Saving Time, British Summer Time).
Info
The 28.x message used to set the GMT Offset must be sent to the terminal at least once after each
reboot before any PayPal entry. Periodically update the local time to prevent clock skew; one time per
day is adequate.
Info
When rebooting Telium terminals, the GMT Offset variable (205) is not saved. The values for
variables 201 and 202 are saved upon reboot.
The Local Date and Time variables(201 and 202, respectively)may be set or changed in any order.
6.2.32.3 Variables
The following table describes the available variables by number. Variables are always available unless noted
otherwise.
An in the Get column indicates that the variable can be read with the Get Variable message. An X in the Set column
indicates that the variable can be written with the Set Variable message.
Variable Numbers
1 User variable 1. X X
2 User variable 2. X X
3 User variable 3. X X
4 User variable 4. X X
5 User variable 5. X X
6 User variable 6. X X
7 User variable 7. X X
8 User variable 8. X X
9 User variable 9. X X
205 Set Different GMT Hour (HH). Not saved after reboot. X X
257 Hardware serial number or injected For iUN, contains iUP serial only. X
serial number if present.
260 RGB background color of the iUN Format of the 28 message to use this X X
display. new variable is...
28.10000260BBB,GGG,RRR,III
...where:
• BBB is the blue value between 0
and 255
• GGG is the green value between
0 and 255
• RRR is the red value between 0
and 255
• III is the intensity value between
0 and 100
Examples:
• For a white backlight with full
intensity, use the following
message:
28.10000260255,255,255,100
28.100002600,0,255,50
395 On-Demand Card Data Encrypted Encryption type numbers are the X
flag. ones listed in Supported Encryption
Methods; for example, 5 for Voltage
Indicates whether card data read via TEP2.
an on-demand message were
encrypted.
• 0 if the card data were not
encrypted (either because no P2P
encryption was configured, or
because the card was found on
the whitelist, or because it was a
nonstandard card that should not
be encrypted)
• Encryption type number, if the
card data were encrypted
397 Mod-10 check digit in 23.x message. 23.x Card Read Request (On- X
Set to F if the Mod-10 check fails. Demand) message or 41.x Card Read
Message
398 Card read On-Demand account 23.x Card Read Request (On- X
number. Demand) message or 41.x Card Read
Message
399 Card read On-Demand account 23.x Card Read Request (On- X
name. Demand) message or 41.x Card Read
Message
400 Card read On-Demand expiration 23.x Card Read Request (On- X
date. Demand) message or 41.x Card Read
Message
413 Service code for card which is used to This variable is always available for X
determine whether or not the swiped card type verification whether EPS
card is an EMV card. encryption is enabled or not.
The POS should check this service
code when the card is swiped. If the
swiped card is an EMV card then the
cardholder will be prompted to insert
the card in the payment terminal chip
card reader.
414 Standard Flow Card Data Encrypted Encryption type numbers are the X
flag. ones listed in Supported Encryption
Methods; for example, 5 for Voltage
Indicates whether card data read TEP2.
during the standard payment process
flow were encrypted.
• 0 if the card data were not
encrypted (either because no P2P
encryption was configured, or
because the card was found on
the whitelist, or because it was a
nonstandard card that should not
be encrypted)
• Encryption type number, if the
card data were encrypted
• 1 = Checking
• 2 = Savings
511 Number of seconds until the next Similar to variable 510, with these X X
scheduled Estate Manager download differences:
Variable 511 can be set as follows to
force a Estate Manager download:
• Positive value N = Requests a
future download N seconds from
now
• Negative value = Requests an
immediate Estate Manager
download
• 0 = Stops the Estate Manager
scheduling process
When getting the value, the format is
simply the number of seconds (not
hh:mm:ss):
• A positive value reflects the
number of seconds until the next
Estate Manager download; this is
true whether the download was
scheduled via TMS.XML or via
setting variable 511
• A negative value indicates one of
the following situations:
TMS.XML is not
available
TMS.XML is not
scheduled for a future
download
Variable 511 has been
set to 0 to stop the
Estate Manager
scheduler
605 Contactless Magstripe Application ID The value for this variable is cleared X
(AID). when any of the following events
occur:
• Terminal goes online.
• Terminal goes offline.
• Start of transaction.
• Transaction reset.
606 Contactless Magstripe Device Type Stores the value of tag T9F6E to X
make Device Type data available for
use during MSD transactions.
806 Get or set the IP address of the • Setting the new IP address takes X X
terminal in both static and dynamic effect only if the terminal is in
modes
static address mode.
• If the terminal is switched from
dynamic mode to static mode, the
new IP address is used.
• The terminal reboots after
sending a 28.x message to set this
variable.
810 List of injected keys (KSN, KCV keys) Lists the encryption keys injected in X
the terminal by Key Sequence
Number (KSN) or Key Check Value
(KCV). There is an entry for each
injected key, and each entry is
terminated with a Line Feed
character (0x0A).
Example: The following code
represents the KSN for the key
injected in slot 2:
KSN_2=FFFF3D01000000E00001
820 Cradle association data (iSMP only) Used for iSMP cradle association X X
only. It holds a string of the 14 hex-
ASCII character address of the
cradle. When a 28.x message is
received, the previous cradle
association is replaced with the new
cradle address.
The first two characters of this
variable are 00 because the Telium
Manager does not save the first two
bytes.
832 Current charge setting (iSMP4 only) This variable reverts to 2 when the X X
terminal boots or is removed from an
external power source:
• 0 = No charging
• 1 = Low (500 mA)
• 2 = High (2000 mA)
833 Current charge setting (iPad used in Sets the current charge of the iPad X X
serial mode with iSMP4 only) connected with an iSMP4 in a Wi-
Case operating in serial mode:
• 0 = Turn off charging
• 1 = 500 ma
• 2 = 1000 ma
• 3 = 2100 ma
• 4 = 2400 ma
Note: Invalid values default to
1000ma.
Note 1
Variables exceeding the window height are ignored. The line display height is defined by the current
form.
Note 2
Blocks beyond the number indicated by the 712 variable do not contain data.
Show one bitmap and wait for a transaction reset message from the POS
Show one bitmap, reset the transaction, and automatically go to the transaction start
Display all bitmaps, one at a time, until the reset transaction message is received
Display all ads one time and wait for the reset
The 30.x message is ignored under the following conditions:
• When the terminal is in the Offline mode and Offline advertising is disabled.
• When this message is received in the advertising mode entered from the Offline mode.
In both cases the terminal will respond with a 00.x Offline Message.
In order to enable advertising when in the Offline mode, the Offline Advertising Mode parameter (0010_0001)
must be set to a value other than 0. If the Offline Advertising Mode is disabled (configuration parameter
0010_0001 = 0) and the RBA is not in the offline state, then the 30.x message overrules that option and proceeds to
the advertisements.
Execution of 30.x is terminated by the following messages:
• 00.x Offline Message
• 01.x Online Message
• 10.x Hard Reset Message
• 15.0: Soft Reset Message
• 15.6: Soft Reset Message
• 20.x Signature Message (On-Demand)
• 21.x Numeric Input Request Message (On-Demand)
• 23.x Card Read Request (On-Demand)
The following table describes the format for the 30.x Advertising Request message.
30.x Advertising Request Message Format
Ingenico iSC Touch 250 with PIN Entry and Credit Selection Option
• If Status is A (PIN key pressed), this field is one character long, and
contains one of the following values:
Value Description
Value Description
/ Either:
'Enter' key pressed when too few
PIN digits entered, or
another PIN digit pressed when
max number of PIN digits are
already entered
M 20 Alphanum Optional Key Serial Number (KSN) used for DUKPT encryption.
PIN Bypass
By default, at least 4 digits must be entered, or a number of digits equal to the value set by '0006_0011'. If
'0006_0004' is set to '1' then a valid PIN or and empty PIN is accepted when submitted. This does not
change the behavior of PIN entry during normal transaction flow. Refer to PIN Entry (pin.dat) parameter
'0006_0004'.
31.x PIN bypass returns '31.40x0D', where '0x0D' is the hex value for 'Enter' key. 31.x could possibly
return virtual key presses from PIN entry form but will not return any other physical keys.
4 1 Decimal Status:
• 0 = Successful.
• 1 = Tried to restore without saved state.
• 9 = Error.
6.2.37.1 Limitations
• Unattended devices do not support the 35.x message.
• The 35.x message only populates form menus that create the list from MENU_TEXT(n) variables. It does not
work with forms such as EmvMenu.K3Z:
The application selection form EmvMenu.K3Z uses the variable EMVAIDLIST to populate the menu
selection list instead of searching MENU_TEXT(n).
A 35.x message calling EmvMenu.K3Z does not display menu items specified in the message.
• Special characters must be preceded with a backslash for the terminal to display them correctly in a menu list.
The following characters are not supported:
&
+
~
The following tables describe the 35.x request and response formats.
35.x Menu Request Format
M+1 Variable Decimal Prompt. Can be either text or index into prompt file
N+1 Variable Decimal Selected Entry Index. Index of entry to select at start
O+1 Variable Alphanum Menu Item 1. Text to display for the first item in the menu
P+1 Variable Alphanum Menu Item 2. Text to display for the second item in the menu
Repeat FS and menu item fields for each additional item in the menu list
4 1 Decimal Result
• 0 = Item selected
• 1 = Key pressed
• 2 = Cancel
• 3 = Invalid form
• 4 = Invalid item list
• 5 = Invalid selected index
• 6 = Invalid prompt
• 9 = Declined
1 17.5R10AA04
2 36.AA
3 17.500R000004000102030405060708090A0B0C0D0E0F
Default forms include SURQUES.K3Z for use with the 37.x message.
Value cannot be 0.
Offset Description
Language Preservation All 40.x Survey Questions for all languages are cleared at
terminal boot.
Once set, the 40.x Survey Question for the specific language is
set:
• Across all transactions and 40.0 Survey Requests.
• Until a new and valid 40.x Survey Question for the specific
language is set.
More than 3 button text fields are found Input: 40.1What is your dog’s name?
[FS]Fluffy[FS]Spot[FS]Harvey[FS]Curly
Response: 40.1?
All button text fields have a length of 0 (zero) Input: 40.1What is your dog's name?[FS][FS][FS]
characters
Response: 40.1B
6.2.41.1 Overview
The 41.x Card Read Request message enables or disables the following terminal card readers:
• MSR
• Contactless
• Smart card (EMV)
If the terminal supports LEDs for the card readers, they illuminate as appropriate.
Sample Requests
Contactless 50.123456789012345678901234567890123456789002070005
58300001@d4005578000000150=
10121015555554400751[FS]1@[FS]1025[FS]
• Always '01'.
• FFFF
• F876
6.2.45.1 Overview
The application opens a UDP port when the following conditions are met:
• Ethernet is selected as the communication method
• SSL is enabled on the terminal, and the correct server .pgz file is loaded
• The terminal connection is open and not in use
When the POS:
• Connects to a terminal over the TCP, the UDP connection is closed.
• Closes the TCP connection with the terminal, the UDP connection for the 58.x Terminal Discovery message
re-opens.
The UDP port uses the same port number that is used for the TCP connection with the POS.
The 58.0 Terminal Discovery request message is senr from the POS to the terminal. The POS uses this message to
request the following terminal information:
• Serial number
• MAC ID number
• IP address
When the terminal receives the 58.0 request message, it sends a 58.x response message with this information.
The Serial Number is the injected serial. If unavailable, the hardware serial number is inserted.
[0x02]58.80377780[FS]54:7f:54:aa:6a:03[FS]192.168.17.145[0x03][0x37]
where
Serial number = 80377780
MAC address = 54:7f:54:aa:6a:03
IP address = 192.168.17.145
In the following example, two terminals are connected to the POS, which sends the 58.0 request message and
receives the following responses:
• Terminal 1 responds with [0x02]58.71081574[FS]54:7f:54:1a:7c:bb[FS]192.168.0.109[0x03][0x55]
• Terminal 2 responds with [0x02]58.80377752[FS]54:7f:54:aa:69:e7[FS]192.168.0.106[0x03][0x31]
The serial numbers and IP addresses for these terminals are as follows:
• Terminal 1: Serial number = 71081574, IP address = 192.168.0.109
• Terminal 2: Serial number = 80377752, IP address = 192.168.0.106
• Always 0
6.2.46.1 Overview
• The 60.x Configuration Write message is used to permanently change configuration parameters and the
display prompts in its data file system (DFS) memory. This single message accepts a variable number of IDN
blocks.
• The 60.x message can accept many IDN blocks. The total message length may not exceed the maximum
acceptable message length (240 bytes). The application returns 60.x response to each 60.x request.
• The 60.x message is accepted by the application only in the offline state. The values are stored in RAM until
either a 01.x Online or a 00.x Offline is received. Configuration settings are then written to Flash memory.
• The IDN blocks are separated from each other by FS (field separator) value 0x1C. Data fields inside the block
are separated with the group separator GS, value 0x1D.
• Response to 60.x messages are sent after writing to the DFS memory is finished, and RAM value is updated.
Time for the response message might vary. Therefore it is recommended to keep a small number of
configuration IDN blocks (grpNum + inxNum + data) from the same group in a single 60.x message. If timing
from 60.x response is not a concern, the 60.x may be long.
• If an error is detected in one of the blocks, the rest of the message is not executed. When there are no errors
in the IDN block, data from the block is saved in DFS memory. When an error is detected, data from that block
is not written to the DFS and the rest of the 60.x message is ignored. Writing a data value to the file system
overwrites the current value. 61.x reading a value before writing is the only way to have an original copy of
the value after a write is done via 60.x message. 61.x messages can be used to verify the value of the
configuration parameter.
• The 0007_0044 Country Terminal parameter should be set in the mainflow.dat file. If it is set with the 60.x Set
Parameter message, a reboot is required for the country change to be processed correctly.
Refer to the following example where a parameter is permanently changed using the 60.x Configuration Write
message. This means that the parameter will retain its new value following reboot.
1. POS sends 00.x Offline Message to terminal.
2. Terminal goes offline.
3. POS sends 60.10[GS]2[GS]4 message to terminal.
4. Terminal responds with 60.2 success message.
5. POS sends 61.10[GS]2[GS] message.
6. Terminal responds with 60.210[GS]2[GS]4 message confirming changed parameter.
Group 0 and index 0 are not valid selections.
60.x Configuration Write Message
Value Description
Warning
After changing all global parameters be sure to do the following to preserve the changes:
1. Send online 01.00000000 message
2. Send offline 00.0000 message
3. Power cycle the terminal so that all of the applications installed in the terminal will be updated with
the new values. by sending 97.x message
Examples:
Disable display of advertisements.
10 GS 1 GS 0
Set global cash back limit for all payment types to 10000 cents (100.00 dollars).
2 GS 1 GS 10000
Because some DFS indices are reserved or deprecated, some index values may be skipped. See Configuring
the Application for each parameter's DFS index value.
1. The POS sends a '61.5[GS]2' request indicating that the parameter to be read is located at IDN block 5 and
index number 2 (0005_0002).
2. The terminal responds with '61.25[GS]2[GS]1' indicating a successful read operation, confirming the the DFS
index number, and including the parameter setting '1'.
Reading multiple configuration setting (Example):
1. The POS sends a '61.7[GS]1[FS]19[GS]1' message to request 0007_0001 and 0019_0001 configuration
parameter settings.
2. The terminal responds with a '61.27[GS]1[GS]30[FS]19[GS]1[GS]0' message indicating a successful read
operation.
3. The POS then confirms the IDN block and index number, and the setting for 0007_0001 (30) and 0019_0001
(0).
The following tables describe the 61.x Configuration Read Request and 61.x Configuration Read Response
message formats.
61.x Configuration Read Request Format
The message response length is limited to 2000 bits. If response goes over the bit limit, it will return
error code “4”.
The application capitalizes all letters in file names included in the 63.x Find File request from the POS.
All letters in file names must be capital. The 63.x request does not find files named using lowercase
characters.
If the terminal does not automatically reboot after a file update, manually reboot the terminal. The following table
indicates which file types require a manual reboot:
File Type Updated Automatic Reboot: Terminal reboots Manual Reboot: Send 97.x Message or
automatically after update press Terminal key combination for
manual reboot
.OGZ X
.PGZ X
.TGZ X
.K3Z X
6.2.48.1.1 Interruptions
Loading large files using 62.x might take several minutes for the terminal to process the download before rebooting
and unpacking the downloaded data. If the user attempts to reboot the terminal before the download is completed,
the file will not be updated.
• Encoding Format: To avoid confusing a protocol and because some systems only use seven data bits, the data
must be encoded. Two methods are supported:
The more efficient method requires an eight-bit data path (refer to the Eight-Bit Encoding table in this
section)
If only seven bits are supported, use the seven-bit encoding (refer to the Seven-Bit Encoding table in
this section)
Since the file name field can contain a path and a file name, the amount of data in a Record Type
0 or Record Type 1 may have to be reduced in order to keep the total message size 247 bytes or
fewer
• ASCII File Segment Number: The first two bytes in the six-byte reserved data field contain an ASCII file
segment number. These two bytes effectively functions as a two-digit decimal value ranging from 01 to 99.
When the segment number reaches 99 it the next value is 01
This method of updating the RKIVERSION during a file download cannot be used if the .RKI file is sent in
one packet with the 62.0 message. Instead, divide the file into two smaller packets with a 62.1 and 62.3 or
send all of the data in the 62.1 message, and send an empty 62.3 message. The 62.4 message must be sent
between the 62.1 and 62.3 messages as described for large .RKI files.
Eight-Bit Encoding
Original Byte Encoded 1st Byte Encoded 2nd Byte Example: Original Example: Encoded
Seven-Bit Encoding
Original Byte Encoded 1st Byte Encoded 2nd Byte Example: Original Example: Encoded
6.2.48.6.1 Overview
The Clean PIN Pad feature removes unused application files during a software update to:
Whitelist Request
A clean whitelist request clears all application files NOT listed in a WHITELIST.TXT from the terminal following the
download of the latest RBA release. The WHITELIST.TXT must be included as an extra data file in the RBA
DATA7362.PGN file and lists ALL files in the release.
• SYSTEM;8440220142.PGN;0000
• SYSTEM;8205000016.DGN;5155
• SYSTEM;8296270011.LGN;CBDB
• SYSTEM;8205011948.DGN;20B2
• SYSTEM;8440210142.PGN;0000
• SYSTEM;8296280011.LGN;91A4
• SYSTEM;8295380194.AGN;0C06
• SYSTEM;DATA7362.PGN;0000
This method is the only method available for removing unwanted application files when upgrading from a
version prior to RBA v12, but it can be used when upgrading from RBA v12 and higher.
Clean-All-Applications Request
A clean-all-applications request clears all application files before updating a terminal. Execute this request by
including a signed CLEANPINPAD.PGN file in the .OGZ, EFT, or LLT download of the RBA release.
This method may be used for removing unwanted application files when upgrading from RBA v12 or
higher only.
Ingenico provides a customized RBA download package (.OGZ or EFT), which contains either:
• A WHITELIST.TXT file for the RBA version and terminal model
• A signed CLEANPINPAD.PGN file
OGZ whitelist Must download customized Must download customized This method is the only
RBA package to the terminal RBA package to the terminal method available for
via 62.x message to /SWAP via 62.x message to /SWAP removing unwanted
application files when
EFT whitelist Not used Must download customized upgrading from a version
RBA package to the terminal prior to RBA v13 but may
via EFT download (via TDA) also be used when upgrading
from RBA v13.
This is intended to clear
all unwanted application
files not listed in the
whitelist from the
terminal immediately
following the download
and update to a newer
RBA release version.
The WHITELIST.TXT is
embedded as an extra
data file in the RB
DATA7362.PGN and lists
all application files in the
release.
OGZCLEANPINP Must download customized Must download customized This method may be used
AD.PGN RBA package to the terminal RBA package to the terminal when upgrading from RBA v.
via 62.x message to /SWAP via 62.x message to /SWAP. 13.x and higher only.
EFTCLEANPINPA Not used Must download customized
D.PGN RBA package to the terminal
via EFT download (via TDA)
Additional reboots are required when application files are cleaned/deleted/removed from the terminal.
The terminal might continue to display TELIUM MANAGER INVALID immediately after the first reboot for
application files that have not yet been cleaned/removed; however, it should NOT display on subsequent
reboots after all of the previous version's application files are cleaned/removed from the terminal.
6.2.49.1 Overview
The 63.x Find File message checks for the existence of a file and returns a flag indicating whether the file was found.
If it finds the file, it returns the file length in addition to sending the 'success' flag status.
As an added feature, the 63.x message can be used to retrieve the CRC32 value in addition to the status and file
size. To implement this, an optional [FS] character and checksum flag have been added to the 63.x request message.
When the [FS] character is inserted in the 63.x request message and the checksum flag is set to '1', the CRC32 value
will be appended to the 63.x response message. Consider the following example:
The POS sends a '63.BOOT.HTM[FS]1' request message.
The terminal responds with a '63.02960[FS]6e970159' response message which indicates that the file was found
(status = '0') with a file size of '2960' and CRC32 value of '6e970159'.
RBA will capitalize all letters in file names included in the 63.x request message that it received from the
POS.
As such, all letters in file names should be capitalized, as the 63.x request message will not find any files
named with lowercase characters.
4 1 Numeric Result:
• 0 = File found
• 1 = File not found
• 2 = Error while converting original data to Base 64 format
• 3 = Format change error. The block requested is in a different data
format than the previously requested block
6.2.51.2
65.x Example
The POS sends the following message to check the contents of the APPDAPP.K3Z form file:
65.01/HOST/APPDAPP.K3Z
The terminal responds with:
65.00001[FS]0001[FS]b5098ef9[FS]0[FS]<Form x='0' y='0' width='128' height='64'
template='TEMPLLD.HTM' backgroundcolor='FFFFFF' timeout='0' enterenabled='false'
entertone='0' clearenabled='false' cleartone='0' cancelenabled='false' canceltone='0'
tonetype='0' f1enabled='false' f2enabled='false' f3enabled='false' f4enabled='false' />
<LineDisplay id='linedisplay1' width='173' height='62' rows='4' cols='21' x='0' y='0'
textcolor='000000' fontsize='8px' fontweight='normal' fontfamily='userfont2'
backgroundcolor='FFFFFF' background='true' bordersize='0' bordercolor='000000'
overridewidth='true' overrideheight='true' scrolltype='auto'
scrollbarvisibility='hidden' />
<Label id='PROMPTLINE1' textsource='custom' text='<?ivPROMPTLINE1?>' x='0' y='38'
width='126' height='10' border='true' bordercolor='000000' textcolor='000000'
fontsize='9px' fontweight='normal' fontfamily='userfont1' align='center'
background='false' backgroundcolor='FFFFFF' />
This example response shows:
• 0 = The file is found
• 0001 = There is only 1 block
• 0001 = This is the first block
• b5098ef9 is the CRC value.
• 0 = The data block is in plain text
• The remaining text after the last field separator is the form data
Button text in 70.x messages may be specified as an index in the prompt.xml file. For example, specifying
"106" will call button index 106, [DECLINE]. See 70.x Update Form Element Message Format table below,
index 5.
Bid,visibility
where
• id = the button ID from the K3Z form.
• visibility = "S" for show or "H" for hide.
Example: Hide button with id "btn1":
Bbtn1,H
If "S" or "H" are needed for the button text, then the following syntax should be used in order to avoid
confusion:
Bid, S
Bid, H
Note the extra space following "Bid".
5 Variable Alphanum Name of audio file (15 character limit including extension). Must be
given in upper case. This field only included if the previous field is "1".
M 1 Constant ASCII control character – FS (This field is optional.) Only used with M
+ 1.
M+1 Variable Alphanum Name of next audio file (15 character limit including extension). Must
be given in upper case. (This field is optional.) Only used with M.
Any number of M and M+1 Pairs may be used, up to a total of 20 audio files per 72.x request.
All audio files are custom, and should be placed in the HOST directory on the device. The RBA integration
kit does not include any audio files. Only the OGG file format is supported.
4 1 Alphanum Status.
• 0 = Audio play complete.
• 1 = One or more files not present on the terminal.
• 2 = Media file list is empty.
• 3 = Media play is interrupted.
• 4 = Media play is in progress. Sent if a 72.x request is sent while
another 72.x request's audio is already playing.
• 5 = Invalid request. For example, in response to a 72.0 when no
playback is in progress.
The value of this field is not supported. Use the key index as
the parameter 0016_0001 Encryption Key Index setting.
6 16 Constant Encrypted MAC session key (encrypted with MAC master key)
22 Variable Alphanum Base64-encoded MAC data (data length less than 4072 bytes)
80.x MAC Calculation Request Message Format for Double Length Key
The value of this field is not supported. Use the key index as
the parameter 0016_0001 Encryption Key Index setting.
6 32 Constant Encrypted MAC session key (encrypted with MAC master key)
46 Variable Alphanum Base64-encoded MAC data (data length fewer than 4048 bytes)
• 0 = Success
• 1 = Failure
• 9 = Security application error
The value of this field is not currently used. The RBA uses the
key index as the parameter '0016_0001' Encryption Key
Index setting.
6 16 Constant Encrypted MAC session key (encrypted with MAC master key).
22 Variable Alphanum Base64 encoded MAC data (data length less than 4072 bytes).
81.x MAC Verification Request Message Format for Double Length Key
The value of this field is not currently used. The RBA uses the
key index as the parameter '0016_0001' Encryption Key
Index setting.
6 32 Constant Encrypted MAC session key (encrypted with MAC master key).
46 Variable Alphanum Base64 encoded MAC data (data length less than 4048 bytes).
• 0 = Success.
• 1 = Failure.
• 9 = Security application error.
82.x On-Guard and KME Session Key Request Message Format - Double Length
82.x On-Guard and KME Session Key Injection Response Message Format
This message is used with On-Guard or KME encryption enabled only. It is rejected
if another encryption type is enabled.
No reboot is required after sending the 83.x message to enable the specified encryption. The encryption type is
enabled, even after a reboot.
This message enables the terminal to be preloaded with the required software and keys. If a valid message is
received while the terminal is already enabled, the terminal parameters are switched if all enabling checks for the
new encryption parameters to be active are met. Switching the encryption type does not disable E2EE. When the
POS and network are ready, the POS can send a single command to enable E2EE. The only means of disabling E2EE
encryption is to erase the terminal and reload all components.
6.2.59 86.x On-Guard and KME BIN Lookup (PIN Encouragement) Message
The 86.x On-Guard and KME BIN Lookup message is sent to the POS to allow for external BIN range lookup, which
is used to pre-select the payment type for a cardholder. This message is similar to the 19.x message, except card
data is encrypted. The POS returns the payment type of the swiped card only if it is a non-chip card. For a chip card,
the character, ‘-‘, is returned to indicate that a chip card is detected.
Note that the POS performs the BIN range checking and returns the card type in the response message.
86.x On-Guard and KME BIN Lookup Request Message Format (as received from RBA)
This message is only used with On-Guard or KME encryption enabled. Also note that if a card whitelisted
by E2EBIN is used (not secbin.dat), the data will be formatted in the clear rather than encrypted. See
Type B Formatting for details.
87.x On-Guard and KME Card Read Data Request Message Format
This field is optional, and is only used with the Form Name
or Number. Only used with M + 1.
This field is optional, and is only used with the Form Name
or Number. Only used with N + 1.
87.x On-Guard and KME Card Read Data Response Message Format
87.x On-Guard and KME Card Read Request using an MSR or Cless card
M+1 Variable Alphanum Token value generated by the terminal (Only if available)
87.x On-Guard and KME Card Read Response using an MSR or Cless card
N+1 Variable Alphanum Token value generated by the terminal (Only if available)
6.2.61 88.x On-Guard and KME Translate Encrypted Card Data Message
This message takes transaction card data encrypted under the local storage key (AES or E2EE) and returns card
data encrypted under the appropriate E2EE key. It is typically used in a store-and-forward scenario. The E2EE key
location is indicated in the configuration parameter E2EE key slot number.
88.x On-Guard and KME Translate Encrypted Card Data Request Message Format - Single Length Key
88.x On-Guard and KME Translate Encrypted Card Data Request Message Format - Double Length Key
88.x On-Guard and KME Translate Encrypted Card Data Response Message Format - KME Mode
Offs Length Type Description
et
89.x On-Guard and KME Register BIN Record Request Message Format - Delete BIN Index
89.x On-Guard and KME Register BIN Record Request Message Format - Delete all BIN Indexes
89.x On-Guard and KME Register BIN Record Response Message Format
5 4 Reserved. This field may be used for more/last flag and packet number
if required in future applications.
6.2.63.4 RSA OAEP Encryption - Deleting Public Keys from the Terminal
The 90.6 message is used by the POS to delete RSA-OAEP encryption public keys from the terminal. Upon receiving
this message, the terminal deletes the public key. The file to be deleted is located in the /F_SECURITY_APP/
RSAKEYS directory and contains a .PEM file extension. If the signature verification key could not be loaded or if
parameter 0091_0032 is not set, an invalid response code is returned. If no key matching the Key Name is found,
then an error message is returned. In either case, the encryption public key currently in use must not be deleted. An
error response is returned if an attempt is made to delete this key. The following tables describe the 90.6 Delete
RSA-OAEP Public Key request and response messages.
90.6 Delete RSA-OAEP Public Key Request Message Format
• Maximum 11 characters.
6.2.63.5 RSA OAEP Encryption - Selecting Public Keys from the Terminal
The 90.7 message is used by the POS to select RSA-OAEP encryption public keys from the terminal. Upon receiving
this message, the terminal locates and loads the public key stored under the file name provided in this request
message. The file to be loaded is located in the /F_SECURITY_APP/RSAKEYS directory and contains a .PEM file
extension. Upon successfully loading this key, RSA-OAEP encryption is fully enabled using the selected key. Security
parameter 0091_0033 is updated to preserve this key selection following reboots. If the selected key is not
successfully loaded, then the key currently in use continues to be used for card data encryption. If there is no
encryption public key loaded, then when this request message is received, the terminal enters the offline state, and
returns an error message when encryption is attempted.
The following tables describe the 90.6 Delete RSA-OAEP Public Key request and response messages.
90.7 Select RSA-OAEP Public Key Request Message Format
6 1 Decimal Status:
• 0 = Successful
• 1 = Invalid format
• 2 = Missing data
• 3 = Invalid parameter
7 Variable Constant If Status = 0, this field contains the terminals public key. Otherwise,
this field is omitted.
90.81 Encryption Start is final step in initiating AES encryption. The following tables describe the request and
response formats:
90.81 Encryption Start Request
6 1 Decimal Status:
• 0 = Successful
The POS can send and receive 90.83 Encrypted Data Packet messages after initiating AES encryption. The
following tables describe the request and response formats:
90.83 Encrypted Data Packet Request/Response
The terminal sends 90.838 and 90.839 error messages in response to any incorrect or unexpected message.
See Using 90.x P2PE Data Messages with AES Encryption.
6 1 Decimal Status:
• 0 = Successful
• If the receipt data is more than 1015 characters, more than one message must be used. The first message
must be type 1. If more than 2030 characters are required, type 2 messages are sent until 1015 characters or
less are remaining. The final message must be type 3, which instructs the terminal to print the receipt.. To
cancel a partial receipt, the POS sends a type C message.
Refer to the 91.x Barcode Printing section for a description of the commands used to configure Barcode Printing
parameters.
The data portion of the message is composed of ASCII characters to be printed. Each line is terminated by a
<Carriage Return> and <Line Feed>. These are the only control characters supported; all other ASCII control
characters will be ignored. The data may also include special tags to control special features of the printer. The
table below lists the supported tags.
Supported Tags for Printers
<@Cut> Cut receipt; advances the paper of couple of lines so that the paper can be
torn off.
The bitmap is printed in line with the text so text can be printed before
and after the bitmap on the same line. If the bitmap is taller than a line of
text, the text that follows the bitmap command could overwrite the
bitmap. Line feeds and/or spaces must be used to ensure proper spacing.
Normal 40 20 6
Bold 40 20 n/a
<@BarCodeOn> Start barcode printing. All data after this will be <@BarCodeOn>
printed in barcode format.
123456<@BarCodeOff>
If a light is listed twice in the 92.x request, only the second occurrence in the request is applied.
M 1 Constant : (colon) symbol. Included only with optional color and/or intensity
field(s).
M+1 Variable Alpha Color. Optional. If unspecified, color is treated as ON. The following
table lists valid colors for each light:
Keyboard Off, ON
N 1 Constant , (comma) symbol. Included only between optional color and intensity
field(s).
N+1 Variable Alphanum Attribute (Optional). The following table describes the attributes for
each light:
Light Attributes
SMC Intensity:
• 0 - 100
Blink
Cless1-Cless4 Ignored
4 1 Numeric Optional. Status for next light specified (see offset 4 for values)
Available lights and attributes differ by terminal. The following table describes the values supported by each
terminal:
Colors and Attributes Supported per Terminal
iPP3 OFF, ON, OFF, ON, OFF, ON, OFF, ON, OFF, OFF, ON, Not OFF, ON,
20 GREEN GREEN GREEN, GREEN, ON, GREEN, supported - percent
Always Always BLUE YELLOW GREEN RED always on
blinks blinks
iPP3 OFF, ON, OFF, ON, OFF, ON, OFF, ON, OFF, OFF, ON, Not OFF, ON,
50 GREEN GREEN GREEN, GREEN, ON, GREEN, supported - percent
Always Always BLUE YELLOW GREEN RED always on
blinks blinks
iSC2 Not Not OFF, ON, OFF, ON, OFF, OFF, ON, Not OFF, ON,
50 supported supported GREEN GREEN ON, GREEN supported - percent (0%
GREEN controlled is not
with display completely
off)
iSC3 OFF, ON, RED, green, OFF, ON, OFF, ON, OFF, OFF, ON, OFF, ON, OFF, ON,
50 red, green, on, blink, GREEN, GREEN, ON, GREEN, percent percent (0%
blink trace BLUE YELLOW GREEN RED (0007_0013 is not
can force completely
backlight to off)
stay on)
iSC4 OFF, ON, OFF, ON, OFF, ON, OFF, ON, OFF, OFF, ON, OFF, ON, OFF, ON,
80 GREEN GREEN, GREEN, GREEN, ON, GREEN, percent percent (0%
blink, trace BLUE YELLOW GREEN RED (0007_0013 is not
(r2l = up, l2r can force completely
= down) backlight to off)
stay on)
iWL Not Not OFF, ON, OFF, ON, OFF, OFF, ON, Not OFF, ON,
220, supported supported GREEN GREEN ON, GREEN supported - percent
iWL GREEN controlled
228 with display
iWL Not Not OFF, ON, OFF, ON, OFF, OFF, ON, Not OFF, ON,
250, supported supported GREEN, GREEN, ON, GREEN, supported - percent (0%
iWL BLUE YELLOW GREEN RED controlled is not
258 with display completely
off)
iMP Not Not OFF, ON, OFF, ON, OFF, OFF, ON, Not OFF, ON,
350 supported supported GREEN, GREEN, ON, GREEN, supported percent
BLUE YELLOW GREEN RED
iMP Not Not OFF, ON, OFF, ON, OFF, OFF, ON, Not OFF, ON,
352 supported supported GREEN, GREEN, ON, GREEN, supported percent
BLUE YELLOW GREEN RED
iCM Not Not OFF, ON, OFF, ON, OFF, OFF, ON, Not Not
122 supported supported GREEN GREEN ON, GREEN supported supported
GREEN
iUP2 OFF, ON, Not OFF, ON, OFF, ON, OFF, OFF, ON, Not (iUP only)
50, GREEN, supported GREEN GREEN ON, GREEN supported OFF, ON,
iUR2 RED, BLUE, (Same light (Also (Also GREEN (Also GREEN,
50 YELLOW, as SMC) turns on turns on (Also turns on RED, BLUE,
WHITE, or contactle contactles turns on contactle YELLOW,
RGB value, ss logo on s logo on contactl ss logo on WHITE, or
percent iUC150 iUC150 or ess logo iUC150 RGB value,
or iUC150B) on or percent
iUC150B iUC150 iUC150B
) or )
iUC150
B)
iUC2 OFF, ON, OFF, ON, OFF, ON, OFF, ON, OFF, OFF, ON, Not OFF, ON,
85 BLUE BLUE GREEN GREEN ON, GREEN supported percent (0%
(Also (Also GREEN (Also is not
turns on turns on (Also turns on completely
contactle contactles turns on contactle off)
ss logo s logo contactl ss logo
below below ess logo below
screen) screen) below screen)
screen)
iMP OFF, ON, Not OFF, ON, OFF, ON, OFF, OFF, ON, Not OFF, ON,
650 White, supported GREEN GREEN ON, GREEN supported percent (0%
Blink GREEN is not
completely
off)
successfully completed, then only the last message is queued and replied to. Refer to the following challenge/
response sequence example.
1. Terminal boots up in locked mode.
2. 01.x Online Message is sent from the POS to the terminal.
3. Terminal responds with a '00.9300' message indicating to the POS that it is locked.
4. POS sends a '93.9C3FDC8AAA27597DDBEBE9299219EA23F3FFCA0D' message.
5. Terminal responds with a '93.0' message indicating "OK", and processes the most recent message preceding
the 93.x message, which is the 01.x online message.
6. Terminal goes online.
When the terminal is powered down or rebooted, it will again boot up in locked mode and can only be unlocked
using the 93.x challenge/response sequence. In order to enable or disable the locking function, a 60.x Configuration
Write message must be used to set or reset the '0091_0018' Terminal Authentication flag in the security.dat file. In
order to retain this setting permanently following reboot, a 00.x Offline Message or 01.x Online Message must be
sent after the configuration has been changed via the 60.x message. Refer to the following tables which describe
the 93.x Terminal Authentication Request message and 93.x Terminal Authentication Response message.
93.x Terminal Authentication Request Message
Scan Mode (see Note 3) '94.10' '95.10' (see Note 1) '61.15[GS] 3'
Image Mode (see Note 3) '94.11' '95.11' (see Note 1) '61.15[GS] 4'
Illumination Mode (see Note 3) '94.12' '95.12' (see Note 1) '61.15[GS] 5'
Lightning Mode (see Note 3) '94.13' '95.13' (see Note 1) '61.15[GS] 6'
Trigger Enabled (see Note 3) '94.20' '95.20' (see Note 1) '61.15[GS] 7'
Note 1: 60.x configuration write messages are currently disabled for barcode configuration.
Note 2: Currently applies to USB barcode scanners only.
Note 3: Currently applies to iSMP barcode scanners only.
Barcode Actions
The following table lists all barcode action messages.
Barcode Action Messages
Reset '94.00' --
Note 4: The '95.09' Barcode Data messages are sent from the terminal for each barcode scanned. The
'95.09' messages cannot be sent to the terminal to request barcode data.
On press of “Keep” or Cancel Key, Undo operation is discarded and the screen goes back to the initial
“Barcode Bulk Scanning” screen.
Note 1: Returned symbology should be a (positive) decimal code corresponding to the scanned barcode’s
symbology type. Symbology code will (currently) be returned as a two-digit decimal value. ‘-1’ should be
returned if symbology of scanned barcode is unknown (or for any barcode read errors).
Note 2: All barcode data for all symbologies, whether encrypted or plain text, is always encoded in Base64
ASCII (in case of binary data). However, for any error(s), no barcode data is returned.
Note 3: If there is any error, then Data will not be returned (but Barcode Symbology is returned even if
‘-1’).
Symbology list may include only comma-separated, (non-negative) decimal codes corresponding to desired
barcode symbologies to enable. ‘0’/’00’ may be used as a solitary symbology code to enable all
symbologies. Each symbology configuration message overwrites the previously configured/enabled
symbology list.
Note 1: Configuration read only returns all symbologies with encryption enabled.
Note 2: Returned symbology lists comma-separated, (positive) decimal codes corresponding to currently
enabled barcode symbologies. Example: "13,23,33,41" indicates Code39, Code128, PDF417, and QR
barcode symbologies are enabled to encrypt barcode data.
Note 3: If there is any error, then the Action Code and Symbology List will not be returned.
'01' ON OFF
'02' OFF ON
'03' ON ON
'01' ON OFF
'02' OFF ON
'03' ON ON
If there is any error, then the Action Code will not be returned.
Note 1: If there is any error, then the Action Code will not be returned.
Note 2: All 2D modes also include 1D mode.
Note 1
If there is any error, then the Action Code will not be returned.
Note 1
If there is any error, then the Action Code will not be returned.
Note 1: Barcode Reset Request is a 94.x write-only message that restores RBA’s default barcode.dat
configuration and powers off the barcode reader.
Note 2: No (other) Action codes are currently supported.
Barcode Bulk Scan Response Message (to '94.0401', '94.0400', and '940404')
• 0 = Success.
• 1 = Failed.
17 2 Alphanumeric Symbology.
Note 1: If there is any error, then the Action Code will not be returned.
Note 1
If there is any error, then the Action Code will not be returned.
Code Description
-1 Unknown
0 All symbologies
1 EAN13
2 EAN8
3 UPCA
4 UPCE
5 EAN13_2
6 EAN8_2
7 UPCA_2
8 UPCE_2
9 EAN13_5
10 EAN8_5
11 UPCA_5
12 UPCE_5
Code Description
13 Code 39
15 Interleaved 2 of 5
16 Standard 2 of 5
17 Matrix 2 of 5
19 CodeBar
20 AmesCode
21 MSI
22 Pleassey
23 Code 128
24 Code 16k
25 Code 93
26 Code 11
27 Telepen
28 Code 49
29 Code 39_ItalianCPI
30 Codablock A
31 Codablock F
32 Codablock 256
33 PDF417
34 GSI_128
35 ISBT128
36 MicroPDF
37 GSI_DataBarOmni
38 GSI_DataBarLimited
39 GSI_DataBarExpanded
Code Description
40 DataMatrix
41 QRCode
44 GSI DataBar
60 ISBN
61 Postnet
62 Planet
63 BPO
64 Canada Post
65 Australian Post
66 Japan Post
67 Dutch Post
Code Description
68 China Post
69 Korean Post
70 TLC39
71 Trioptic
72 ISMN
73 ISSN
74 Aztec
75 Sweden Post
76 Infomail
77 Multicode
78 Incomplete Multicode
Note 1
If there is any error, then the Action Code will not be returned.
Info
The 62.x File Write message is used to load files to the terminal. In the event the terminal does not
automatically reboot after a file update, a manual reboot should be performed. The following table
outlines which file types require a manual reboot:
File Type Updated Automatic Reboot: Terminal Manual Reboot: Send 97.x Message
reboots automatically after or press Terminal key combination
update for manual reboot
.OGZ X
.PGZ X
.TGZ X
.K3Z X
The 62.x File Write message is intended to update single files whereas larger files can be uploaded much
more rapidly via IBMEFT download or by using TMS.
7 Configuring Encryption
This section describes point-to-point encryption and lists the supported encryption types and how to configure
them.
0091_0001 Set the value according to the table in Supported Encryption Methods
0091_0002 Set the value to key slot index that contains the data encryption key (if applicable).
Neither of these values can be set using a 60.x Configuration Write message. To set these, users will
have to edit the security.dat file in config.dfs directly, and obtain signature and a new .PGZ file prior
to implementation. See Signing Requirements for .DAT File Changes for details.
On-Guard √ 2 Yes
EPS √ 3 Yes
RSA-OAEP √ 9 No
TransArmor √ 10 No
S1 √ 12 Yes
Encryption or masking cards with PANs containing fewer than nine digits is not supported (minimum of
12 digits for Voltage encryption types). Merchants should either whitelist these cards or disable non-
standard card encryption.
EPS P2PE • Track 1 or Track 2 must be read EPS (Element Payment Systems)
P2PE Encryption
successfully.
• PAN must include at least 9
characters.
TDES DUKPT Generic • Track 1 or Track 2 must be read Generic TDES DUKPT Encryption
TDES DUKPT Encryption for successfully, or data must be TDES DUKPT Encryption for
NCR/Retalix NCR/Retalix
manually entered.
• PAN must include at least 9
characters.
Voltage TEP1, TEP1x • PAN must include at least 12 digits. Voltage TEP1 and TEP2
• Track data must include at least one Encryption
Voltage TEP1x, TEP2x, and TEP4
complete PAN.
Encryption
Voltage TEP2, TEP2x, TEP4 • PAN must include at least 12 digits. Voltage TEP1 and TEP2
• PAN must be successfully read from Encryption
Voltage TEP1x, TEP2x, and TEP4
track data or manually entered data.
Encryption
Icon
Encryption or masking of cards with PANs containing less than 9 digits is not supported. Merchants
should either whitelist these cards or disable non-standard card encryption.
7.1.5 Retrieving card information using the 29.x (Get Variable) Message
The 29.x Get Variable Request can be used to retrieve the following pieces of information. The Description column
shows the information that will be returned when P2PE is enabled:
Using the 29.x Message to Retrieve Cardholder Data
Mod-10 check value 396 Mod-10 check digit in card read transaction flow. Set to 'F' if the
Mod-10 check fails.
Mod-10 check value 397 Mod-10 check digit in 23.x Card Read Request (On-Demand). Set to
'F' if the Mod-10 check fails.
Masked PAN (with first 6 398 Used to hold the masked PAN for cards read from the "card read
and last 4 digits in the request" form
clear)
401 Used to hold the masked PAN for cards read the "swipe" form
Name 399 Used to hold the name for cards read from the "card read request"
form
402 Used to hold the name for cards read from the "swipe" form
Expiration Date 400 Used to hold the expiration date for cards read from the "card read
request" form
403 Used to hold the expiration date for cards read from the "swipe" form
Service Code 413 Service code. This variable is always available for card type
verification whether encryption is enabled or not.
The first digit of the Service Code is 2 or 6 for an EMV card. The POS
can use this to determine if a card that was swiped is actually an EMV
card, and should be inserted instead. It is generally up to the POS to
control this process.
Terminal KSN data is visible next to KSN indexes 0 and 6 in the terminal’s TSA application. See your
terminal’s Operations Guide for information on accessing terminal applications other than RBA.
All parameters except for those located in the security.dat and secbin.dat files may be changed
using the 60.x Configuration Write Message.
Contact your Ingenico Account Manager with any questions you may have about the signing process.
Specify cards to encrypt via... The loaded e2ebin • the card's The card data specified in
e2ebin to encrypt is sent
BIN is
in the clear. The e2ebin
whitelisted file is not called in the
by flow.
secbin.dat
and/or
• On Guard/
KME is not
enabled in
security.
dat
(0091_000
1)
Whitelist cards (send card data in the clear) The loaded e2ebin another The card data is sent
via... encryption encrypted by another
type is enabled method's specifications.
in
security.dat
(0091_0001)
Specify Encryption Key 0091_0002 4 Valid slot values that may be used for KP4 keys
Slot (Key Index) include 0-5.
This value must match the slot where the key
was injected.
Masking the PAN 0091_0012 0 Specify the character to use for masking the
PAN.
Use one of the following for EPS encryptions:
• '0' = (zero).
• '*' = (asterisk).
For examples of EPS card swipes and EPS encryption refer to the following sections.
• EPS P2PE Card Swipe Examples
• EPS P2PE Encryption Processing Examples
Track 1 is not supported when performing manual entry for EPS encryption. It will remain blank for the
manual entry transaction.
As of RBA release 3.3.0, EPS is PCI3-compliant and uses only KP4 keys.
Encryption or masking of cards with PANs containing less than 9 digits is not supported. Merchants should
either whitelist these cards or disable non-standard card encryption.
Default values for DFS Data Index '0091_0002' (Specify Encryption Key Slot) differ for KP4 versus non-
KP4 keys.The following table shows the default values and valid ranges for KP4 and non-KP4 encryption
key slots used for EPS encryption.
Default Value 4 6
Message Description of After Examples of Before (original card number) and After
Encryption
19.x (BIN Only 10 of 13 digits are Before: 4012345678909
Lookup) displayed.
After: 4012340008909
The first 6 digits and the 19.D11000034012340008909[FS]4B99358C793844C31
last 4 digits are in the AC522C764CC5A676
clear; the 3 middle digits
are encrypted. C3DFEE935D522CB613051F2554A9D3B87C09BE4E1
A55896E44AB21F4FDA82
8D248F3AE1D1025F3AC935CDB33D1A1AD1:FFFF
9876543210E00004[FS]1164
C984EBF0C3FED6A2047073608535C68A1BA050D
DB73AAFA03DCC276CAB1
5:FFFF9876543210E00004
23.x (Card Only 10 of 13 digits are Before: 4012345678909
Read displayed.
After: 4012340008909
Request
The first 6 digits and the 23.04B99358C793844C31AC522C764CC5A676C3DFEE93
Response)
last 4 digits are in the 5D522CB613051F25
clear; the 3 middle digits
are encrypted. 54A9D3B87C09BE4E1A55896E44AB21F4FDA828D2
48F3AE1D1025F3AC935C
DB33D1A1AD1:FFFF9876543210E00004[FS]1164C9
84EBF0C3FED6A20470736
08535C68A1BA050DDB73AAFA03DCC276CAB15:F
FFF9876543210E00004
29.x (Get All 13 digits are Before: 4012345678909
Variable displayed.
After: 4012340008909
Request/
The first 6 digits and the
Response) Track1:
last 4 digits are in the
clear; the middle 3 digits 29.200004064B99358C793844C31AC522C764CC5A676C
are encrypted. 3DFEE935D522CB613
051F2554A9D3B87C09BE4E1A55896E44AB21F4FDA828D
248F3AE1D1025F3
AC935CDB33D1A1AD1:FFFF9876543210E00004
Track2:
29.200004071164C984EBF0C3FED6A2047073608535C6
8A1BA050DDB73AA
FA03DCC276CAB15:FFFF9876543210E00004
Message Description of After Examples of Before (original card number) and After
Encryption
50.x Only 10 of 13 digits are Before: 4012345678909
(Authorizatio displayed.
After: 4012340008909
n Request/
The first 6 digits and the
Response) Track2:
last 4 digits are in the
clear; the 3 middle digits 50.123456789012345678901234567890123456789002
are encrypted. 07003254800002@D1
164C984EBF0C3FED6A2047073608535C68A1BA0
50DDB73AAFA03DCC276CA
B15:FFFF9876543210E00004[FS]1@[FS]1025[FS]
KSN A08B000C000003000023
KSN A08B000C000003000024
Track 3
Used with the 23.x message, Track 3
data will be sent in the clear and is only
available when the
'0003_0010' (Append Track 3)
parameter is set to a value of ‘1’ (where
1 = Send Track 1, Track 2 and Track 3).
KSN FFFF9876543210E00003
12/26/17 WJM: Added material below - it was previously in "Encryption Processing," but didn't belong there
because it is specific to EPS. It may not be correct.
The following table shows EPS encrypted examples of Track 1, Track 2, and manually entered data:
Encrypting Sample Data with EPS
KSN A08B000C000003000023
KSN A08B000C000003000024
KSN FFFF9876543210E00003
Enable Encryption (in 0091_0001 0 Specify this value as 11 for Generic TDES
security.dat) DUKPT.
Specify Encryption Key 0091_0002 4 Generic TDES DUKPT uses this DUKPT key
Slot (Key Index) (in slot for this feature. (Only slots 0-5 can be
security.dat) used).
Configure Leading PAN 0091_0003 6 Generic TDES DUKPT ignores the value of this
Digits in the Clear (in parameter. Specifies the number of leading
security.dat) digits to be displayed in the clear (Maximum =
6). The default value of 6 is hard-coded for
Generic TDES DUKPT.
Configure Trailing PAN 0091_0004 4 Generic TDES DUKPT ignores the value of this
Digits in the Clear (in parameter. Specifies the number of trailing
security.dat) digits to be displayed in the clear (Maximum =
4). The default value of 4 is hard-coded for
Generic TDES DUKPT.
Masking the PAN (in 0091_0012 0 Generic TDES DUKPT ignores the value of this
security.dat) parameter. Specifies the character to use for
masking the PAN. The default value of 0 (zero)
is hard-coded for Generic TDES DUKPT.
Encrypting or masking cards with PANs containing fewer than nine digits is not supported. Either whitelist
these cards or disable non-standard card encryption.
The only files used by RBA are SECURITY.DAT and SECBIN.DAT. These files must be signed by Ingenico
and downloaded to the terminal, which prevents an attacker from turning off encryption or changing
the settings.
7.2.2.2 Usage
For information on Generic TDES DUKPT encryption data format, communications with the POS, and configuring
the encryption, refer to the following subsections:
Data Format Prior to Encryption - Generic TDES DUKPT encryption cases with examples.
Data Returned to the POS Application - Description of set RBA properties which are set once the card is swiped.
Determining the Encryption Configuration - Methods used by the application to determine how the terminal is
configured.
• Only Track 1 was read successfully. The string to be encrypted consists of the raw Track 1 data with Start and
End Sentinels.
Example:
%B4445222299990007^LAST/VISA^14125025432198712345Q?
• Only Track 2 was read successfully. The string to be encrypted consists of the raw Track 2 data with Start and
End Sentinels.
Example:
;4445222299990007=14125025432198712345?
• Data was entered manually. The string to be encrypted consists of concatenated dummy Track 1 and Track 2
data with Start and End Sentinels. The dummy tracks are constructed from the manually-entered PAN,
expiration date and CVV2 which are all required when using TDES encryption in manual entry mode.
Example:
%M5444009999222205^MANUALLY/ENTERED^12120000001234000000?;
5444009999222205=12120000001234000?
In this example, 5444009999222205 is the PAN, 1212 is the expiration date (YYMM), and 1234 is the
CVV2. There will always be six 0’s between the expiration date and the CVV2. There will always be six
0’s after the CVV in Track 1, and three 0’s after the CVV in Track 2.
• Both Tracks 1 and 2 were read successfully. The string to be encrypted consists of the concatenated raw Track
1 and Track 2 with Start and End Sentinels.
Example:
%B4445222299990007^LAST/VISA^14125025432198712345Q?;
4445222299990007=14125025432198712345?
Please refer to Manual Card Data Entry in E2EE Mode for information on programming manual entry
of cardholder data when using point-to-point encryption.
Track3Data The Track 3 data sent to the POS consists of four items separated by
colons (“:”):
• The KSN of the TDES DUKPT encryption key - 20 bytes ASCII hex
characters.
• One digit indicating which data were encrypted: 1 = Track 1, 2 =
Track 2, 3 = dummy tracks for manually-entered data, 4 = Track 1
and Track 2.
• The four digit length (decimal) of the encrypted data block. This is
the number of bytes of binary data.
• The encrypted data block in ASCII Hex format. Since each byte is
represented by two ASCII characters, the length of this string will
be twice the length of the binary data block.
The following is an example of Track 3 Data for generic TDES DUKPT
encryption, where Track 2 data was encrypted:
FFFF4900361491E00004:2:0048:16D8BD06F00671AAA4FBA238
1EDD239DE03E618FB33
2AEA7524CBB1ED1DBE4FFDEF26740138D5549E08FB7ECD164
9169
If the TransmitSentinels property is true, then Track1Data, Track2Data and Track3Data will each begin
with a start sentinel and end with an end sentinel.
Currently, Track 3 data either in the clear, or masked, are not available to the application.
• 0 = No encryption
• 11 = Generic TDES DUKPT encryption.
7.2.3.1 Introduction
Monetra CardShield encryption is built with design principles similar to DUKPT key management
and TDES ciphers. Monetra encryption may be used in both the standard RBA flow, and with the 23.x message.
Configuration Parameters (in config.dfs)
Configure Leading PAN 0091_0003 6 Configure the number of leading digits to be displayed in
Digits in the Clear the clear.
Maximum = '6'.
Configure Trailing PAN 0091_0004 4 Configure the number of trailing digits to be displayed in
Digits in the Clear the clear.
Maximum = '4'.
Masking the PAN 0091_0012 0 Specify the character to use for masking the PAN.
Monetra uses ONLY the ‘*’ (asterisk).
Encryption or masking of cards with PANs containing less than 9 digits is not supported. Merchants
should either whitelist these cards or disable non-standard card encryption.
1&2 %BTRACK1?;TRACK2?
1 only %BTRACK1?;?
2 only %B?;TRACK2?
Either both characteristics or neither characteristic will exist at any one time.
Depending on which tracks were encrypted, you will receive one of the following three message formats
with the 23.x message:
Encrypted Tracks Returned
1&2 23.0%BMASKEDTRACK1?[FS];MASKEDTRACK2?[FS]ENCRYPTEDDATA:KSN
1 only 23.0%BMASKEDTRACK1?[FS];?[FS]ENCRYPTEDDATA:KSN
2 only 23.0%B?[FS];MASKEDTRACK2?[FS]ENCRYPTEDDATA:KSN
'0007_0029' "Enter Card" Button Enter Card Number Enter Expiration Date Enter CVV
0 Not Displayed
'0007_0029' "Enter Card" Button Enter Card Number Enter Expiration Date Enter CVV
4 Displayed Yes No No
If no manual entry configuration is necessary, load either of the default forms, issue the 23.x message as normal
(e.g., no form name specified, but the prompt or prompt index still needs to be sent).
Step Notes
The POS prompts the terminal for variables with 29.x messages. Sample 29.x Requests and Responses
29.00000400 29.200004000000
7.2.4.1 Overview
This section describes support for On-Guard point-to-point encryption. On-Guard encryption uses an injected
DUKPT key. On-Guard encryption and KME encryption methods are handled similarly and are referred to
collectively as the E2EE feature (End-to-End Encryption). On-Guard and KME encryption methods can process
card data read by:
• Magnetic stripe reader (MRS)
• Smartcard reader (SCR) for EMV cards
• Manual entry
The E2EE solution isolates the POS system (electronic cash register or host device) from processing clear-
text card data, and reduces the impact of PCI DSS reviews.
On-Guard encryption and KME encryption can be enabled, disabled, and configured by a signed configuration file
loaded into the SYSTEM drive on the terminal.
• The text file containing the configuration information is named "e2ecfg".
• The corresponding signed configuration file is "829651xxxx.PGN" where xxxx is the version number.
This configuration file contains the enable mode (KME or On-Guard) as well as the index
of the encryption key in the secret area. After the application reads and parses this file, it will be deleted. The
configuration extracted from this fileis saved to the application disk. The E2EE configuration information is
incorporated into the existing security.dat file described in the Security Parameters (security.dat) section of this
document.
An E2EE activate command simplifies the use of this feature. The terminal can be loaded with the required
software and keys. When the POS and network are ready to process the
encrypted card data, the POS can send a single command to enable the feature.
Note: After E2EE encryption is enabled by either configuration file or by command, it cannot be disabled. The
application has a mechanism to prevent the reverse operation. The only way to disable E2EE encryption is to
erase the terminal and reload all components.
By default, E2EE encrypts data from all cards. If you require only some cards to be encrypted, you must configure
the e2ebin file for the appropriate BIN ranges. This file contains a list of BIN ranges, utilizing low and high ranges of
the first 6 digits of the PAN. If there is a match between the first 6 PAN digits of the card data read and the BIN
table, then the card data read is returned in the clear. The e2ebin file must be signed before it can be loaded onto a
terminal. As an expected change to the general-release version, the BIN ranges are defined in the existing secbin.dat
file.
Refer to the following sections for more information about On-Guard encryption:
• On-Guard Configuration
• On-Guard Card Data Encryption Rules
• Handling Existing RBA Messages
• E2EE Card Data Encryption
Z 1 Numeric Key slot where the encryption key has been injected. Key Pattern 4
(KP4) must be used.
• Must be in the range from 0 to 5.
Commonly,
• Slot ‘2’ is used for KME keys.
• Slot ‘5’ is used for On-Guard keys.
A 1 Numeric Optional. Specifies the key number of the optional TDES local
storage data encryption key.
• Value for key number is from 0 to 9.
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaa
Encryption or masking of cards with PANs containing less than 9 digits is not supported. Merchants should
either whitelist these cards or disable non-standard card encryption.
Because signed files have a minimum size, padding is added after the above information to meet those size
requirements. The following example shows this padding:
1, A, M, 2,
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
Line Content
2 "-"
4 ";"
5 Service code
In the service code, an “x” can be used to match any digit. A service code of “mmm” is applicable to BIN checking of
Manual Entry card data only. Consider the following sample BIN table:
Service Codes with x and mmm Examples
Sample Content
1 000000-999999;110
2 000000-299999;x6x
3 130000-299999;xxx
4 800000-999999;x20
5 130000-299999;mmm
The service codes 120 and 220 are designated for Debit Card only, so they will be excluded from
wildcard service codes such as “xxx” or “x2x”, etc. If a service code of "120" or "220" is explicitly entered in the BIN
table, then matching entries will not be encrypted.
The BIN file must be signed and loaded onto the HOST drive in the terminal. The RBA application, at terminal boot
up, parses this file and then deletes it.
When determining the PAN for use with On-Guard encryption, the RBA follows these rules:
• For MSR and manual entry, look for an “=” sign or the end of the card data to terminate the PAN, up to a
maximum of 37 characters.
• For card data from smart cards (contact or contactless), it is assumed that the PAN will be 19 or fewer digits.
whether returned in clear or encrypted. PANs whitelisted by an enabled secbin.dat will not be formatted or
encrypted.
A 'Start Sentinel' character and 'End Sentinel' character will be present in all cases. For manual entry, the 'Start
Sentinel' character is “M”. For all other cases, the 'Start Sentinel' character is “;”. The End Sentinel is always “?”. The
following applies to type B formatting
Type B formatting (On Guard only)
Track 2 data read from a swiped Track 2 data converted into None
or MSD card ASCII
Chip card data (contact or ASCII-converted data After encryption, a separator (‘=’ , hex
contactless) with Track 0x3D) is added after the PAN if not
2 Equivalent Data (EMV already present.
tag T57 or equivalent) available
Manually captured cardholder PAN followed by the expiration After encryption, the ASCII character ‘M’
data date (YYMM format) in ASCII will be added to the beginning of the
buffer, and a separator (“=”) will be added
between the PAN and the expiry date.
18.x Non-Payment Card Message The 85.x On-Guard and KME Non-Payment Card Message is sent
in place of this message.
19.x BIN Lookup Message The 86.x On-Guard and KME BIN Lookup (PIN Encouragement)
Message is sent instead. A 19.x message from the POS is ignored.
23.x Card Read Request (On-Demand) The 87.x On-Guard and KME Card Read Data is sent instead. The
23.x card read request message is disabled and returns an invalid
command response with the error code 9 (declined).
Data Value
PAN, first six digits 6 ASCII Clear value of the first six digits of the PAN
PAN, last four digits 4 ASCII Clear value of the last four digits of the PAN
Expiry date (see Note 1) 4 ASCII Clear value of the Track-2 expiry date
(YYMM)
Service code (see Note 1) 3 ASCII Clear value of the Track-2 service code
Card Data Encrypted flag (see 1 ASCII • 0 = Clear ASCII data. Only occurs if
Note 2)
whitelisted by E2EBIN
• 1 = Encrypted ASCII data
Note 1
When Track 1 and Track 2 are requested with E2EE enabled, Service code, Language code, and Expiry Date
are filled from Track-2 data only. If only Track-1 data is available, then these fields contain only 0 values.
Note 2
When Track 1 and Track 2 or only Track 1 are requested with E2EE enabled, and only Track 1 is available,
then the Card Data Encrypted flag is set, but the encrypted field lengths are zero.
The remaining fields depend on the value of the Card Data Encrypted flag.
Fields with Card Data Encrypted Flag set to 0
Extended Language code 1 ASCII First digit of Track 2 card language indicator.
Extended Language code 1 ASCII First digit of Track-2 card language indicator
PAN, first six digits 6 ASCII Clear value of the first six digits of the PAN
PAN, last four digits 4 ASCII Clear value of the last four digits of the PAN
Card Data Encrypted flag 1 ASCII • 0 = Clear ASCII data. Only occurs if whitelisted
by E2EBIN
• 1 = Encrypted data
The remaining fields depend on the value of the Card Data Encrypted flag. If set to 0 for clear ASCII data, then the
following fields are sent:
Fields with Card Data Encrypted Flag set to 0
Extended language code 1 ASCII First digit of Track-2 card language indicator
If the Card Data Encrypted flag is set to 1, then the following fields are sent:
Fields with Card Data Encrypted Flag set to 1
Extended Language code 1 ASCII First digit of Track-2 card language indicator
The output AES PAN cryptogram is limited to a clear PAN maximum of 30 digits.
PAN, first six digits 6 ASCII Clear value of the first six digits of the PAN
PAN, last four digits 4 ASCII Clear value of the last four digits of the PAN
Expiry date (see Note 1) 4 ASCII Clear value of the Track-2 expiry date (YYMM)
Service code (see Note 1) 3 ASCII Clear value of the Track-2 service code
Card Data Encrypted flag (see 1 ASCII • 0 = Clear ASCII data. Only occurs if whitelisted
Note 2)
by E2EBIN
• 1 = Encrypted ASCII data
The application supports both MSR and contactless card data. Using the 23.x message to request manually entered
card data is supported.
For both encryption types, the public key consists of a 2048-bit modulus and an exponent, which is typically set to
‘010001’. These values are configured in the security.dat section of config.dfs. The resulting security.dat
file must be signed and downloaded to the terminal to enable the encryption.
Enable Encryption (in 0091_0001 0 Specify this value as '9' for RSA-OAEP, '10'
security.dat) for TransArmor.
Exponent Value for RSA- 0091_0014 010001 Specify this value as the default value =
OAEP/TransArmor (in 010001.
security.dat)
This overrides the exponent value from the
public key in parameter '0091_0013'. This
value is in binary format and should
generally be set to the default (where
010001 = 65537), but may need to be
modified – check with your key authority if
you are unsure.
Encryption or card masking with PANs containing fewer than nine digits is not supported. Either whitelist
these cards or disable non-standard card encryption.
h7S2Qv71zutAc/6my+V3XaKQv62sQowIhnv2yhogDKylNchR28kv26ZfRrQCqyTkne7nTFjxiES5j0n
FJRax3xhO0EKwlohpDikEi4roStHvF80sY9KwJ+5Ugu0XC+YfubQacSKtZ2ic5ATLwqo0WhNkjgTB
to0yZNhiDRVWok7LGNMx9plqOXlG5nvzONkzLak72hbxjRH452QYN+qC+XcJKgSsQdxziMhNSyg
dUY7HcfQ1KQ0gkkZtwz5Ei+HFrVPKhheAivhJkOwrBa6w6humyvg+2A1VATGIZUkgXwYqRxf0/1R
SSgH29lHUXxmCn/MAa2/Ui34diQUnaolMLg==:2:12345678901
Track 1 and Track 2 in the RBA messages will contain masked Track 1 and Track 2 data.
Step Notes
Step Notes
The POS prompts the terminal for variables with 29.x messages. Sample 29.x Requests and Responses
With RSA encryption enabled, or during a card swipe or 29.x Request 29.x Response
contactless transaction in a normal transaction flow (not
29.00000398 29.200003984445220
On-Demand), the '29.00000399' request would still
000000007
return a card name in the response, e.g.,
'29.20000399TESTCARD/TEST'. 29.00000399 29.60000399Manual
Entry
29.00000400 29.200004000000
7.2.6 S1 Encryption
7.2.6.1 S1 Encryption Overview
S1 encryption uses an injected TDES DUKPT key and has the following unique characteristics:
• Three data blocks are provided to the POS:
Sensitive Data Key Block - specifies key attributes used by the host to identify or derive the decryption
key, including the KSN, and the "obfuscation scheme" which identifies whether the data were
encrypted or whitelisted.
Volatile Encrypted Sensitive Data Block - contains an encrypted set of tag-value pairs for items such as
EMV Track 2 Equivalent Data, magstripe track data, etc. The set of tags varies depending on the
situation (magstripe, EMV, contactless, or manual entry).
Persisted Encrypted Sensitive Data Block - also contains an encrypted set of tag-value pairs, such as
the PAN.
• S1 provides data origin authentication on all encrypted data transmitted from the terminal to the host. This
is implemented by appending a secure 8-byte MAC (Message Authentication Code) to each of the encrypted
data blocks. The host is required to validate the secure MAC prior to initiating decryption.
• When cards are whitelisted, a hash of the whitelist is provided so that the host can verify that the whitelist
has not been altered.
• This requires the whitelist (or "encryption control list") to be formatted differently from the usual
SECBIN.DAT. An XML file named S1LIST.XML is used instead. The terminal compares the card BIN to the
whitelist to determine whether P2PE is mandated for the card type, and determines what obfuscation to
apply to unencrypted card information returned to the POS.
Specify Encryption Key 0091_0002 4 Used to specify the terminal key slot containing the data
Slot (Key Index) (in DUKPT key to use for S1 P2PE.
security.dat)
Valid values include 0 - 5.
Configure Leading PAN 0091_0003 6 S1 defines its own obfuscation schemes, so it ignores the
Digits in the Clear (in value of this parameter.
security.dat)
Configure Trailing PAN 0091_0004 4 S1 defines its own obfuscation schemes, so it ignores the
Digits in the Clear (in value of this parameter.
security.dat)
Masking the PAN (in 0091_0012 0 S1 defines its own obfuscation schemes, so it ignores the
security.dat) value of this parameter.
Enable Security BIN 0092_0001 0 For S1 encryption, set this value to 0 (zero, the default) to
Table (secbin.dat) enable use of the S1 Whitelist (instead of the SecBIN
table).
Enable BIN range 0099_0001 0 Special note about BIN range checking and MOD-10:
checking
S1 P2PE requires MOD-10 checking.
• If '0099_0001' is set to a value of ‘0’ (zero = disables
BIN range checking), then the MOD-10 flag in
'0100_0005' (for BIN0.DAT file) must be set to
‘1’ (one).
• If '0099_0001' is set to a value of ‘1’ (one = enables
BIN range checking), then the MOD-10 flag in each
BINx.DAT file must also be set to ‘1’ (one).
In this example, all four entries are for BIN range "600649" but the first "N1" entry indicates to whitelist
(i.e. NOT encrypt) the PANs with this BIN range.
The middle two entries ensure that PANs with BIN range "600649" but with either 16 or 18 digits will NOT be
whitelisted but will be encrypted – except that the last entry ensures that an 18-digit PAN with BIN range
"60064923" will whitelist (i.e. NOT encrypt) the PANs with this more specific BIN range.
RBA formats sensitive data the same for whitelisted cards, but does not encrypt the data.
7.2.7.1 Overview
With TDES DUKPT encryption for NCR/Retalix, the data format differs from standard TDES DUKPT encryption in
that Track 1 and Track 3 data are suppressed, meaning they are not sent from the terminal to OpenEPS. The PIN
and Track 2 data are fully encrypted before being sent to OpenEPS using P2PE encryption as implemented in the
SCAT interface. The application will provide OpenEPS with the necessary data elements to process a transaction,
including:
• First 6 digits and last 4 digits of PAN
• PAN length
• Expiration date
• Mod-10 check pass/fail status
• Track 2 length
• Any other data fields as applicable to the Ingenico - NCR interface
7.2.7.3 Implementation
To facilitate this new encryption format, the Security Parameters (security.dat) configuration file has been updated
as follows:
Target Track to 0091_0035 2 New parameter added to indicate the target track to
Encrypt encrypt for TDES DUKPT encryption for NCR/Retalix.
• 1 = Track 1.
• 2 = Track 2.
• 3 = Track 3.
• 4 = All available tracks.
When selecting NCR/Retalix P2P encryption, parameter '0091_0001' must be set to '14'. The target track to
encrypt is by default set to track 2 (parameter '0091_0035' = '2'). If track 2 is the target encryption track and track
2 data is invalid, an error will be returned as opposed to falling back on track 1 data.
To enable this encryption mode and set its parameters, edit the SECURITY.DAT section of CONFIG.DFS. The
resulting SECURITY.DAT file must be signed and downloaded to the terminal to enable the encryption. When using
Generic TDES DUKPT Encryption, there are two options for incrementing the Key Serial Number (KSN). It can
either be forced to increment, or it will automatically increment after 10 encryptions. Currently, RBA uses the
automatic advance mode. Refer to TDES DUKPT Configuration for NCR/Retalix for a list of parameters to be
configured for this encryption mode.
The secbin.dat configuration file is referenced to indicate the account number that is to be whitelisted.
Mod-10 checking is always performed for NCR/Retalix P2P encryption- enabling the Mod-10 flag in the
bin range is neither necessary nor recommended.
7.2.7.4 Examples
As an example, data sent from the terminal to OpenEPS for a swiped card with '0091_0035' = '2' would be
[FS]5115080015637716=1312121633[FS]
Encrypted track 2 data is sent from the terminal to OpenEPS while track 1 and track 3 are suppressed.
For manually entered card data, the format is as follows:
M<account number>[FS]<exp data 'YYMM'>[FS]<CVV>
As an example; a card with an account number of '5115080015637716', and expiration date of 12/15, and CVV of
'124' will be
sent as
M5115080015637716[FS]1512[FS]124
The preceding 'M' character defines the data as manually entered card data.
Enable Encryption 0091_0001 0 Specify this value as '14' for TDES DUKPT
encryption for NCR/Retalix.
Specify Encryption Key 0091_0002 4 Generic TDES DUKPT uses this DUKPT key
Slot (key Index) slot for this feature.
• Only slots 0-5can be used.
Masking the PAN 0091_0012 0 Specifies the character to use for masking the
PAN.
• The default value of 0 (zero) is hardcoded
for Generic TDES DUKPT.
Generic TDES DUKPT ignores the value of this
parameter.
Target Track to Encrypt 0091_0035 2 This parameter indicates the target track to
encrypt for TDES DUKPT encryption for NCR/
Retalix.
• 1 = Track 1.
• 2 = Track 2.
• 3 = Track 3.
• 4 = All available tracks.
Encryption or masking of cards with PANs containing less than 9 digits is not supported. Merchants should
either whitelist these cards or disable non-standard card encryption.
The only files used by RBA are SECURITY.DAT and SECBIN.DAT. These files must be signed by Ingenico
and downloaded to the terminal. This prevents an attacker from turning off encryption or modifying the
settings.
19.x BIN Lookup Message All digits of the PAN are encrypted. The encrypted PAN length
included in the message is longer than the original
PAN length.
23.x Card Read Request (On-Demand) All digits of the PAN are encrypted.
29.x Get Variable Request
50.x Authorization Request
Message Type After Voltage TEP2 Encryption PAN Before and After
Encryption
19.x BIN Lookup Message • The encrypted PAN length included in 5444009999222205
23.x Card Read Request (On- the message is less 5444008062205
Demand) than the original PAN length.
50.x Authorization Request • The first six and the last four digits of
the PAN are sent in the clear.
• The remaining middle digits of the
PAN are encrypted.
29.x Get Variable Request • The PAN length is preserved, all digits 5444009999222205
are included in the message. 5444004114072205
• The first 6 and the last four digits of
the PAN are sent in the clear.
• The remaining middle digits of the
PAN are encrypted.
Refer to Voltage TEP1 and TEP2 Encryption Examples for examples of TEP1 and TEP2 encryption. Also refer to the
following table that describes the relevant parameters for Voltage Tep1 and TEP2 in the config.dfs file.
Enable Encryption (in 0091_0001 0 Enable encryption for the encryption type:
security.dat)
• 4 = Voltage TEP1
• 5 = Voltage TEP2
Periodically Change Keys 0091_0006 0 Periodically change keys (Requires setting the
(in security.dat) terminals date and time). Enter all letters in
aaaaaaaaaaaaaaaaaaa UPPER CASE.
• 0 = Disabled
• D = Daily
• SU = Change every Sunday
• MO = Change every Monday
• TU = Change every Tuesday
• WE = Change every Wednesday
• TH = Change every Thursday
• FR = Change every Friday
• SA = Change every Saturday
• 01-31 = Change on the XX day of the month
Identity String (in 0091_0009 [email protected] Identity String provided by the authorizer.
security.dat) "[email protected]” is sample data, not for
production.
Length of Encrypted CVV 0091_0017 8 For Voltage encryption, this value is the length of
in Voltage Encryption the encrypted CVV. Used for manual entry only.
• Valid lengths are 7 - 23.
Remember that to enable the 19.x (BIN Lookup) message for use with either TEP1 or TEP2 encryption
types, the following parameters must be set: '0005_0002' = ‘1’ or ‘2’, and '0005_0004' = ‘1’.
PAN + Expiry Date Sent in 12.x Account Message PAN in clear = 4012345678909
12.4012345678909=1212
50.123456789012345678901234567890123456789002
08020453600002@T+++++/
IakLV2q=1212[FS]1@[FS]3523[FS]
PAN + Expiry Date + CVV Sent in 12.x Account PAN in clear = 4012345678909
Message
12.4012345678909=1212[FS]333
50.123456789012345678901234567890123456789002
08020453600003@A1LSak
AaNvUH2WG9eX+CPAED4Zaf[FS]1@[FS]12345[FS]
With Voltage TEP1 encryption, the encrypted portion of the data is always unreadable.
Content/Parameter Description
Content/Parameter Description
PAN + Expiry Date Sent in 12.x Account Message PAN in clear = 4012345678909
12.4012345678909=1212
50.123456789012345678901234567890123456789002
07012689400003@T4012316398909=1212[FS]
1@[FS]18250[FS]
PAN + Expiry Date + CVV Sent in 12.x Account PAN in clear = 4012345678909
Message
12.4012345678909=1212
50.123456789012345678901234567890123456789002
07012689400003@T4012316398909=1212[FS]
1@[FS]18250[FS]
The following examples illustrate swiped card PAN encryptions viewed using various messages when encrypted
with Voltage TEP2.
Voltage TEP2 Card Swipe PAN Encryption Examples
Manual Entry
Voltage encryption will encrypt in the same format for any manual entry whether parameter '0007_0029' (Display
"Enter Card" Prompt) is set to '1', '2', '3', or '4'. The only changes are what information is appended after the PAN, if
any (the '0007_0029' setting determines whether a customer is prompted for CVV and/or expiration date). The
manual entry process is illustrated in the table below, using TEP2 encryption for the examples:
Voltage TEP2 Manual Entry Details
• 50.1234567890123456789012
3456789012345
678900208034438800009@T44
4522890360000
7=1512[FS]1@[FS]100[FS]
• 50.1234567890123456789012
3456789012345
678900208034438800009@T44
4522890360000
7==10571712[FS]1@[FS]100[FS]
Variable IDs 399 and 402 (Account Name) return "Manual Entry" for manual entry when Voltage encryption is
enabled.
manualAccountName is replaced with 'msg23MsrName' in a 23.x message during an On Demand flow manual
entry. Variable 399 then returns "Manual Entry" in the 29.x message as shown in the table below.
Voltage Manual Entry in On-Demand Flow Example
Step Notes
Send 23.x message while terminal displays a "Please slide card" form.
The terminal displays "card accepted" form and sends a 23.x response.
The POS prompts the terminal for variables with 29.x messages. Sample 29.x Requests and
Responses
29.000004 29.2000040000
00 00
29.000003 29.60000399M
99 anual Entry
7.3.1.1 Overview
This section describes the Remote Key Injection feature, which permits keys for point-to-point encryption and PIN
entry to be injected or updated without returning the terminal to a secure injection facility. Offline remote key
injection uses a symmetric key to protect the keys to be injected. Keys are loaded on the terminal by downloading
key bundle files with the .RKI extension.
7.3.1.1.1 Process
1. The merchant determines the terminals that require key injection and the key(s) to be injected to each
terminal.
2. The merchant provides this information to Ingenico. The terminals are identified by their injected serial
numbers. (While the set of keys can vary from terminal to terminal, typically the same set of keys is applied to
all terminals in the list.)
3. Ingenico creates a key bundle file (.RKI file) and provides it to the merchant.
4. The merchant uses any available mechanism to download the .RKI file to the HOST directory on the
terminals.
5. Upon reboot, each terminal processes the file and performs any key injections required. Status messages are
displayed on the screen and also written to a log file in the HOST directory.
6. After the remote key injection process completes, RBA deletes the .RKI file.
7.3.1.1.2 Prerequisites
• To be eligible for RKI, a terminal must have an injected serial number. (This step is handled automatically prior
to shipment from the factory in almost all cases.)
• The merchant needs a key bundle file with keys for injection.
• The terminal must be enabled for RKI via an RKI.XML file signed by Ingenico.
Present 0 Disabled
Present 1 Enabled
7.3.2.1 Overview
Dynamic updating of RSA-OAEP Public Keys enables merchants to update encryption keys without requiring
Ingenico to sign a new SECURITY.DAT every time a key is updated. This feature can be used with either generic
RSA-OAEP encryption or TransArmor encryption.
The merchant must establish a signing key that RBA will use to verify any new keys as they are updated. Once the
signing key is in place, RBA messages can be used to update the encryption key at any time.
The feature uses these subtypes of the 90.x P2PE Data Message:
• 90.5 RSA-OAEP Public Key Request/Response message.
• 90.6 Delete RSA-OAEP Public Key Request/Response message.
• 90.7 Select RSA-OAEP Public Key Request/Response message.
The feature also uses these parameters in the Security Parameters (security.dat) configuration file:
• 0091_0032 - Public Key for Signature Verification
• 0091_0033 - Public Key for Data Encryption
3. The customer sends the PEM file and the updated SECURITY.DAT to Ingenico for signing.
4. Ingenico returns corresponding PGZ files, i.e. VERIFY1.PGZ and SECURITY.PGZ.
5. The customer downloads the PGZ file containing the Signing Public Key (for example VERIFY1.PGZ) to
the terminal, so that the Signing Public key is applied. The terminal must be rebooted to store the Signing
Public Key.
6. The customer then downloads the updated SECURITY.PGZ and reboots the terminal.
These steps only need to be done once, as long as the Signing key pair does not change.
Once these steps are done for the first time, any previous RSA-OAEP encryption key is no longer in effect. The
customer must load the desired encryption key through the update process.
7.3.2.5 Procedure to sign an encrypting public key with the Signing Private Key
The following code example illustrates how to generate a public key signature and convert it to base64 format for
sending to the terminal:
#! /bin/sh
# generate a signature for a public key.
openssl sha1 -sign signing_private_key.pem -out signature.bin encryption_public_key.pem
# convert the signature data to base64 for transmission to terminal
base64 signature.bin | tr -d "\012" >signature.b64
'| tr -d "\012"' strips the linefeed characters from the output of base64. Deleting these linefeed characters is
required due to the way RBA processes the signature data. If the base64 command generates carriage return/line
feed character sequences to mark the end of lines then both characters will need to be deleted from the base64
output.
The resulting signature.b64 file contains the signature data that can be sent along with the key name and public key
data (in encryption_public_key.pem from above commands) in the 90.5 message.
Important: Once the signature is generated and base64 encoded, neither the public key data that was signed nor
the base64 encoded signature data can be altered. This would cause the verification to fail.
8 Implementing EMV
This section describes how Ingenico payment terminals process EMV transactions. EMV is the acronym for
Europay, MasterCard, and Visa, co-developers of global standards for chip card transaction technology. These
standards are managed by EMVCo, a company jointly owned by MasterCard, Visa, American Express, Discover,
JCB, and UnionPay. EMV transaction specifications ensure global compatibility between EMV cards, payment
terminals, and ATMs.
Refer to the following sections for more in-depth information on EMV transactions:
• Introduction to EMV Transactions
• EMV Transaction Sequence
• EMV Host Interface Messages
• EMV Transaction Flow
• EMV On-Demand Flow
• EMV Configuration and Flow
• EMV with P2PE Enabled
Additional information pertaining to EMV configuration parameters and MAC messages is provided in the
following sections:
• EMV Configuration Parameters
• MAC Messages (Canada Only)
• Configuring the EMV Application
EMV Card
Referring to the above figure, note the window with the gold contact plates which is located on the left side of the
card, just above the first four digits of the card number. The microchip is embedded in the card, just behind the gold
contact plates. When the card is inserted in the chip card reader, a connection is made through these contacts
which powers the microchip and enables it to communicate directly with the terminal.
EMV cards can interface with payment terminals as contact only, contactless only, or as dual-interface (both
contact and contactless). An EMV card with contactless capability contains an embedded antenna, enabling it to
interact with a payment terminal via radio waves. A contactless card requires no battery. When the card is placed in
close proximity to the contactless card reader (within a few inches, typically), the RF field generated by the
proximity coupling device flows through an inductor. The signal is rectified and converted to a DC voltage which
applies power to the microchip.
Refer to the following figure for an illustration of a contactless EMV card. Note the antenna and embedded
microchip.
6. Cardholder Verification
7. Terminal Risk Management
8. Terminal Action Analysis
9. First Card Action Analysis
10. Online Transaction Authorization
11. Second Card Action Analysis
12. Transaction Completed
This section also provides a general overview of the decision making process involved with card authentication and
transaction authorization. A specific protocol governing these processes is in place. Depending on the type of
transaction and card configuration, different cryptograms are embedded in the transaction messages with time
tags to further protect against fraud. The card itself is an integral part of the authorization process. For greater
detail on the EMV transaction, refer to the following subsections.
If the EMV card is swiped using the MSR instead of the chip card reader, then the user should be prompted to
“INSERT CARD IN CHIP READER.” This logic should be implemented in the POS; it can check the first digit of the
service code, which will be ‘2’ or ‘6’ for EMV cards. For a contactless card, tapping the card (holding the card close
enough to the contactless car reader) will serve the same purpose. Once the card is inserted, the terminal may
request the cardholder to select the language, or to select the desired application.
Maestro A0000000043060
Cirrus A0000000046000
For the list of available AIDs used in EMV transactions, refer to Configuring EMV Application IDs.
Refer to Interac EMV Requirements for more information about Canadian application configuration.
If an EMV card is swiped instead of inserted, the terminal displays the message, Insert card in chip reader,
and waits for the card insertion if the service code is set to chip.
The first digit of the service code for EMV cards is 2 or 6 and their BIN range indicates that EMV is
supported.
For Canadian-issued EMV cards, the Canadian Application Selection Flag (ASF) enables a card issuer to encode
multiple applications on one card in compliance with Interac Direct Payment (IDP) specifications, the EMV
specifications for Canada. It permits the card issuer to determine the primary application to use at a payment
terminal or ATM.
The Domestic VISA Debit Application Selection Flag can be used to enable or disable VISA Debit for Canada.
Application selection for Interac Application Selection and Domestic VISA Debit can be enabled or disabled in the
EMV.DAT file, using these parameters:
• 0019_0007 - Interac Application Selection Flag
• 0019_0008 - Domestic VISA Debit Application Selection flag
See EMV AID Parameters and EMV Brand Parameters for more information.
Incorrect PIN entry If the PIN is not blocked, the user is prompted to enter PIN again.
If the PIN is blocked, the terminal can either continue or abort the
transaction according to the card CVM list.
In all three cases, the process is the same. The RBA application loads the form of signature and awaits cardholder
entry.
8.2.6.5.1 Overview
EMV fallback can now be handled on cards inserted in unattended terminals without the need to reinsert the card.
When a card is inserted, the application detects the chip. If no chip is detected, or if an error with the chip occurs,
then the terminal can fallback to magnetic stripe read. If a chip is detected and identified as an EMV chip with no
errors, then the terminal will initiate an EMV transaction.
In the event of an error associated with the card chip or no matching Application ID, the application can be
configured to fall back to reading the magnetic stripe on the back of the card and continue with the transaction. The
cardholder is notified that fallback is being implemented, and they are prompted to remove their card. By reading
the magnetic stripe as the card is removed, this eliminates the need for reinserting the card. For more information
on fallback, refer to the EMV Fallback section in this guide. An advantage of reading the magnetic stripe on the card
as it is removed is that this ensures that data is read from the same card that exhibited the chip malfunction or
failed to match an application ID.
8.2.6.5.2 Implementation
Parameters must be set to tell the application the conditions to detect the following:
• Detecting chip power on failure:
This criteria can be enabled (set to '1') or disabled via parameter '0019_0014'.
• Detecting no matching Application ID:
This criteria can be enabled (set to '1') or disabled via parameter '0019_0015'.
To enable RBA to implement fallback when one of these conditions is met, variable 420 must be set to 1. This
variable functions as follows:
• 0 = Proceed with normal process
• 1 = Continue to fallback
By enabling fallback using this variable, the POS does not have to to manage fallback every time one of these
conditions is met. Variable 420 resets at the start of each transaction.
iUN Example EMV Transaction Flow with Fallback for No AID Match
Tags D1017, D1018, and D1019 will only be returned when a value is present.
The 10.x message is not used at the end of completed EMV transactions. For EMV transactions,
cancellation will cause RBA to send a '33.05.x' with D1010 (Error Response) set to 'CAN'. However, 10.x
may be sent during EMV transactions and typically indicates cardholder declined transaction amount(s).
This second option is especially useful if an EMV transaction was declined and/or only a partial
payment where another payment method is required. For any of these cases, the terminal may reset
the transaction to await further payment without clearing the line items via 00.x or '10.0' reset
messages.
0 1 Constant STX-0x02.
M 1 Constant ETX-0x03.
Also refer to EMV Tag Data Format for a description and examples of the data format of tags included in the 33.x
messages.
8.3.2.1 Overview
The EMV '33.00.x' Transaction Initiation Request message is sent from the POS to the terminal when initiating an
On-Demand EMV transaction. This occurs once the RBA notifies the POS that an EMV card has been detected. The
information provided in this message is used by the RBA to configure the transaction flow. The POS may optionally
include one or more EMV/non-EMV tag values which will be used during the transaction. The format for the
request and response messages are the same; the response message will contain the status codes but none of the
optional fields.
Upon receiving and processing the EMV '33.00.x' Transaction Initiation Request message from the POS,
the terminal will return an EMV '33.00.x' Transaction Initiation Response message. The transaction amount is now
set via tag T9F02. This can be implemented using the EMV '33.00.x' Transaction Initiation Request message. The
transaction amount can also be set or changed at a later point using the EMV '33.09.x' Set Tag Data message.
11 1 Constant FS – 0x1C.
M 1 Constant FS – 0x1C.
N 1 Constant FS – 0x1C.
O 1 Constant FS – 0x1C.
11 1 Constant FS – 0x1C.
8.3.3.1 Overview
The EMV 33.01.x Status Request message enables the POS to request a status response from the terminal. This
message can also be used to:
• Change the Status Update Step List
• Suspend the Status Step List
• Resend Status Message Timer values
Typically, the POS uses the EMV 33.00.x Transaction Initiation Message to:
• Request status messages for specific EMV transaction steps
• Suspend the transaction during specific steps in the EMV flow. Refer to the Transaction Step List.
8.3.3.1.1 Guidelines
• The terminal replies using the EMV 33.01.x Status Response message when it reaches the steps requested
using the 33.00.x message.
• It notifies the POS when the application suspends the transaction flow to await action from the POS (Flag 26
in the status response message).
• If the EMV 33.01.x message is sent outside an EMV transaction, the message shows only dashes, except in the
Card Inserted field. This field contains an I if a card is inserted and an R if there is no card. This flag does not
indicate whether the card is a smart card. It only indicates whether a card is present. Deactivating this EMV
function conserves battery life.
Warning
If an EMV card is removed while an EMV transaction is suspended, a 09.x Card Removed message is sent
to the POS following the 33.05 Authorization Confirmation message; however, if the card is removed
during suspend step U, a 09.x Card Removed message is deferred until after the transaction is resumed.
Instead of using the EMV 33.00.x or 33.01.x messages to set status and the suspend list for contactless
transaction, use cless.dat parameters 0008_0012, 0008_0013, and 0008_0014. See Contactless Reader
Configuration (cless.dat) for more information.
11 1 Constant FS – 0x1C.
M 1 Constant FS – 0x1C.
N 1 Constant FS – 0x1C.
11 1 Constant FS – 0x1C.
Icon
See associated error flags for reason of the error, or
reference the error response tag 0x1010 which will be sent
in a 33.05 confirmation message.
Icon
Post confirmation wait can only start if it is configured
through the unit data message.
Location where additional parameter may be added in the future. Search for FS character to locate the next field.
M 1 Constant FS – 0x1C.
information from the card and terminal. This message is used to convey this information. Tag data such as terminal
serial number, Track 2 equivalent data, Primary Account Number (PAN), PAN sequence number, and issuer country
code are included in this message. The below table provides more information on this message.
EMV '33.02.x'Track 2 Equivalent Data Message
M 1 Constant FS – 0x1C.
N 1 Constant FS – 0x1C.
O 1 Constant FS – 0x1C.
O+1 Variabl Alphanu Final transaction preparation response tag or data field.
e m
8.3.5.1 Overview
The EMV '33.03.x' Authorization Request message is sent from the terminal to the POS to provide the
cryptographic information necessary to authorize the transaction. The authorization process is initiated by the
terminal issuing a request to the POS. The POS then responds to the terminal with a final confirmation. Refer to the
below table for a description of this message.
The following three tags are required to be included in the EMV '33.03.x' message to pass TSYS certification:
• 9F21 - Transaction Time.
• 9F39 - POS Entry Mode.
• 9F40 - Additional Terminal Capabilities.
M 1 Constant FS – 0x1C.
N 1 Constant FS – 0x1C.
O 1 Constant FS – 0x1C.
O+1 Variable Alphanu Final transaction preparation response tag or data field.
m
Search for FS character to locate then next field or End of Message or optional extra [FS] followed by End of
Message.
The [FS] character is used to separate fields. There could be one tag field or several tag fields within the
message, each with a [FS] character separating the different tag data. The last tag data may be followed
by '[FS][ETX][LRC]' or '[FS][FS][ETX][LRC]', meaning the second [FS] character is optional.
M 1 Constant FS – 0x1C.
N 1 Constant FS – 0x1C.
O 1 Constant FS – 0x1C.
Search for FS character to locate then next field or End of Message or optional extra [FS] followed by End of
Message.
The [FS] character is used to separate fields. There could be one tag field or several tag fields within the
message, each with a [FS] character separating the different tag data. The last tag data may be followed
by '[FS][ETX][LRC]' or '[FS][FS][ETX][LRC]', meaning the second [FS] character is optional.
This message should only be seen during the early development integration phase. After this phase, it is
assumed the appropriate testing has been done to guarantee that only correctly constructed messages are
transmitted.
Online Approval 00
Online Decline 05
Offline Approved Y1
Offline Declined Z1
Capture Card 04
M 1 Constant FS – 0x1C.
N 1 Constant FS – 0x1C.
O 1 Constant FS – 0x1C.
O+1 Variabl Alphanu Final transaction preparation response tag or data field.
e m
Once the application for the payment has been selected, tag T84 (Application ID) will be populated. This tag along
with tags T9F1E (Interface Device Serial Number) and D1016 (U.S. Common AID Flag) are sent from the terminal
to the POS. Depending on the Application ID, transaction amount, and possibly additional criteria, the POS sends a
reply indicating if PIN entry and signature card verification methods are to be bypassed for the transaction. If so,
the POS returns the T9F33 Terminal Capabilities tag along with the AID in the EMV Terminal Capabilities Response
Message, changing the card verification method settings. Once the transaction is completed, this tag is restored to
its default value. Refer to the EMV '33.07.x' Terminal Capabilities Message Flow section for a description of the
message flow.
M 1 Constant FS – 0x1C.
N 1 Constant FS – 0x1C.
O 1 Constant FS – 0x1C.
O+1 Variable Alphanu Final transaction preparation response tag or data field.
m
Search for FS character to locate then next field or End of Message or optional extra [FS] followed by End of
Message.
The [FS] character is used to separate fields. There could be one tag field or several tag fields within
the message, each with a [FS] character separating the different tag data. The last tag data may be
followed by '[FS][ETX][LRC]' or '[FS][FS][ETX][LRC]', meaning the second [FS] character is optional.
M 1 Constant FS – 0x1C.
N 1 Constant FS – 0x1C.
O 1 Constant FS – 0x1C.
Search for FS character to locate then next field or End of Message or optional extra [FS] followed by End of
Message.
The [FS] character is used to separate fields. There could be one tag field or several tag fields within
the message, each with a [FS] character separating the different tag data. The last tag data may be
followed by '[FS][ETX][LRC]' or '[FS][FS][ETX][LRC]', meaning the second [FS] character is optional.
0019_0010 EMVCONTACT2 This is the Contact EMV configuration file which is loaded when
.XML the terminal is booted. This parameter can be overridden using the
'33.08.x' message. The name and path of the last file loaded can be
retrieved using variable 600.
If left blank, the EMVCONTACT.XML file will be loaded. The source folder for
this file is determined by parameter '0091_0031'.
0019_0011 EMVCLESS2.XM This is the Contactless EMV configuration file which is loaded when
L the terminal is booted. This parameter can be overridden using the
'33.08.x' message. The name and path of the last file loaded can be
retrieved using variable 601.
If left blank, the EMVCLESS.XML file will be loaded. The source folder for
this file is determined by parameter '0091_0031'.
Using the '600' variable in the '33.08.x' message will call the most recent .XML file used for EMV contact
transaction settings. Similarly, using the '601' variable will load the most recent .XML file used for contactless
defaults. The new defaults will be used for future transactions, unless modified temporarily for a particular
transaction (using a '33.00.x' or '33.09.x' message). A subsequent '33.08.x' message can replace these defaults.
Note that changes made using the '33.08.x' message will persist only until the next reboot. The 60.x Configuration
Write message can be used to effect permanent changes.
A single '33.08.x' message can update either the EMVCONTACT or EMVCLESS parameters, but not both at once.
Using this message effectively updates the entire XML file by specifying a complete replacement file. After the new
settings have taken place, the RBA replies with a '33.08.x' Response message.
11 1 Constant FS – 0x1C.
13 1 Constant FS – 0x1C.
M 1 Constant FS – 0x1C.
11 1 Constant FS – 0x1C.
8.3.10.1 Overview
The EMV '33.09.x' Set Tag Data message enables the POS to change EMV or Non-EMV tags during an EMV
transaction. As an example, terminal capabilities or transaction amounts may requires changes. This change only
affects the current transaction values.
After the POS issues an EMV '33.00.x' Transaction Initiation message to suspend a transaction,
the terminal returns a '33.01.x' EMV Status Response Message to report the current status and transaction step.
The POS should then use the '33.09.x' request message to update variables and issue commands with the
Command Type field, specifying tags to be changed. When completed, the terminal replies with a '33.09.x' response
message indicating success status of the request. The POS should then use the '33.10.x' get EMV Tag Data message
to confirm the new tag setting by requesting the tag information.
Only the values of the current transaction are affected by the EMV '33.09.x' Set Tag Data message.
The EMV '33.09.x' may only set tags with a tag ID of 2 digits or 4 digits, e.g., T5A, D1005.
11 1 Constant FS – 0x1C.
M 1 Constant FS – 0x1C.
Search for FS character to locate then next field or End of Message or optional extra [FS] followed by End of
Message.
The [FS] character is used to separate fields. There could be one tag field or several tag fields within the
message, each with a [FS] character separating the different tag data. The last tag data may be followed
by '[FS][ETX][LRC]' or '[FS][FS][ETX][LRC]', meaning the second [FS] character is optional.
N 1 Constant FS – 0x1C.
11 1 Constant FS – 0x1C.
Per ISO 4127 (International Standard for currency), the currency code for U.S. Dollars is '08 40'.
'33.09.0000[FS]'
'33.10.0000[FS]T5f2a:T57:T95:T5f36[FS]'
4. The terminal returns the following message confirming the currency change to U.S. Dollars:
'33.10.0000[FS]T5f2a:
02:h0840[FS]T57:13:h6510000000000174D17122011000050600000F[FS]T95:05:h0000000000[FS]T5f
36:01:h02[FS]'
8.3.11.1 Overview
The EMV '33.10.x' Get Tag Data message ('33.10.x') enables the POS to request the values of EMV or non-EMV
tags during an EMV transaction.
The POS will typically use the EMV '33.00.x' Transaction Initiation Message ('33.00.x') to suspend the transaction
at one or more points. After issuing the '33.00.x' message, the terminal returns an EMV '33.01.x' Status Response
Message to report the current status and transaction step. The POS should then use the '33.10.x' request message
to retrieve tag data and issue commands instructing the RBA on how to proceed using the Command Type field.
When completed, the terminal replies with a '33.10.x' response message reporting the requested data.
11 1 Constant FS – 0x1C.
M 1 Constant FS – 0x1C.
Search for FS character to locate then next field or End of Message or optional extra [FS] followed by End of
Message.
The [FS] character is used to separate fields. There could be one tag field or several tag fields within the
message, each with a [FS] or : (colon) character separating the tags requested. The last tag data may be
followed by '[FS][ETX][LRC]' or '[FS][FS][ETX][LRC]', meaning the second [FS] character is optional.
N 1 Constant FS – 0x1C.
11 1 Constant FS – 0x1C.
Search for FS character to locate then next field or End of Message or optional extra [FS] followed by End of
Message.
The [FS] character is used to separate fields. There could be one tag field or several tag fields within the
message, each with a [FS] character separating the different tag data. The last tag data may be followed
by '[FS][ETX][LRC]' or '[FS][FS][ETX][LRC]', meaning the second [FS] character is optional.
M 1 Constant FS – 0x1C.
Per ISO 4127 (International Standard for currency), the currency code for U.S. Dollars is
'08 40'.
'33.09.0000[FS]'
'33.10.0000[FS]T5f2a:T57:T95:T5f36[FS]'
d. The terminal returns the following message confirming the currency change to U.S. Dollars:
'33.10.0000[FS]T5f2a:
02:h0840[FS]T57:13:h6510000000000174D17122011000050600000F[FS]T95:05:h0000000000[
FS]T5f36:01:h02[FS]'
8.3.12.1 Requirements
• To allow External AID Selection by the POS, set parameter 0019_0020 to 1.
• Enable on-demand mode by setting 0007_0015 to 1.
• (Optional) Set duration to display results 0007_0001 to 0 to prevent selection screen timeout.
T4F AID
M 1 Constant FS – 0x1C.
N 1 Constant FS – 0x1C.
Search for FS character to locate then next field or End of Message or optional extra [FS] followed by End of
Message.
Icon
The [GR] character is used to separate groups. Each group of tag fields consists one entry in the candidate list.
The [FS] character is used to separate fields. There could be one tag field or several tag fields within the message,
each with a [FS] character separating the different tag data. The last tag data may be followed by '[FS][ETX][LRC]'
or '[FS][FS][ETX][LRC]', meaning the second [FS] character is optional.
8.3.13.1 Requirements
• To allow External AID Selection by the POS, set parameter 0019_0020 to 1.
• Enable on-demand mode by setting 0007_0015 to 1.
• (Optional) Set duration to display results 0007_0001 to 0 to prevent selection screen timeout.
If an AID not in the candidate list is requested, the terminal sends a 33.05 message reporting CNSUP (Card
not supported) and ends the transaction.
The POS sends this request with a filtered AID list including two AIDs (any subset of the original candidate list, but
at least containing one AID) sent in the notification message. Terminal continues the application selection process
with the modified candidate list.
33.12.0000[FS]0[FS]T4F:08:hA000000003101002[FS]T4F:07:hA000000003101007[FS]
8.3.13.3 EMV '33.12.x' Message in EMV On-Demand Transaction Flow with Suspend-Resume
The following shows how to use the EMV '33.11.x' and EMV '33.12.x' messages when suspending EMV transaction
flow.
1. The POS:
11 1 Constant FS – 0x1C.
13 1 Constant FS – 0x1C.
M 1 Constant FS – 0x1C. Included after each AID tag and data field.
Search for FS character to locate then next field or End of Message or optional extra [FS] followed by End of
Message.
Icon
The [GR] character is used to separate groups. Each group of tag fields consists one entry in the candidate list.
The [FS] character is used to separate fields. There could be one tag field or several tag fields within the message,
each with a [FS] character separating the different tag data. The last tag data may be followed by '[FS][ETX][LRC]'.
11 1 Constant FS – 0x1C.
8.3.14.1.1 Overview
MAC data might include both clear data and encrypted or masked sensitive data with E2EE enabled. Clear data in
the MAC data field needs to be base64-encoded. If...
• E2EE is disabled or MAC data does not include any encrypted or masked sensitive data, the entire MAC data
field is encoded.
• MAC data includes both clear data and encrypted or masked sensitive data, each clear data section needs to
be encoded separately. The data can be sent before or after encrypted or masked sensitive data, or between
two encrypted or masked sensitive data sections.
! Track-2 data
For Track 2 and PAN, the POS must use the corresponding encrypted data or masked data already
received from the terminal during the transaction. The application compares the received data with
masked or encrypted data before replacing the clear data in the buffer and then calculates the MAC. If the
data comparison fails, the application returns an error.
PAN first 6 digits 6 Clear value of the first six digits of the
PAN
PAN last 4 digits 4 Clear value of the last four digits of the
PAN
PAN first 6 digits 6 Clear value of the first six digits of the
PAN
PAN last 4 digits 4 Clear value of the last for digits of the PAN
Resoerved 4 0114
Following EMV '33.09.x' Set Tag Data Message or EMV '33.10.x' Get Tag Data Message messages (e.g. 'R'
resume or 'J') skip), functionality is added to reduce timing issues deadlocking the EMV transaction
following on-demand save, restore, and resume. This requires the POS wait for '33.09' or '33.10' response
OS messages.
A EMV Start. The EMV transaction has started (used for POS information, suspend
not required).
B Select language service. Language selection is performed via the terminal (used for POS
information, suspend not required).
C Select AID service. Application ID selection is performed via the terminal (used for POS
information, suspend only required for on-demand messages between
EMV '33.11.x' External AID Selection Notification request and response
messages).
D Cardholder AID Cardholder confirms the application selection (used for POS
confirmation. information, suspend not required).
E Application final selection. This step can be used to set EMV proprietary tags during the
transaction. Suspend is required to set data.
F Get amount application This step is used to set the transaction total amount. The transaction
selection. should be suspended during this step in order to set the transaction total
amount via 13.x message. Generally speaking, tags should not be
updated mid-flow.
G Set proprietary tags at This step be used to set EMV proprietary tags during the transaction.
application selection. Suspend is required to set data. The flow must be suspended in order to
enable synchronization.
H Read application data PAN This step is used to stop a non-full EMV transaction. The RBA should be
ready (to stop for non-full suspended in this case and the EMV '33.09.x' Set Tag Data message can
EMV). be used with command "A" (Request AAC for non-full EMV transaction).
J Get cash back amount. This is a non-EMV step used to get the cashback amount.
K Read application data This step may be used to change the transaction total amount via 13.x
change amount. message. Again, tags should generally not be individually manually
updated mid-flow.
M Account selection. Non-EMV step to select the account type (e.g., checking, saving).
N Offline PIN entry. This step is used for Offline entry; the cardholder must enter their PIN
(used for POS information, suspend not required).
O Online PIN entry. This step is used for Online entry; the cardholder must enter their PIN
(used for POS information, suspend not required).
P Last transaction data This step is used to bypass the last EMV transaction data to the RBA. As
request. an example, to pass the last transaction data in the same batch
performed using the same card. The RBA should be suspended in this
case and the EMV '33.09.x' Set Tag Data message can be used with
command "T" (Tag data only) and corresponding tags (T9C, T9F21, T9A,
T9F8417, T9F04, T81, T9F8416).
Q Terminal action analysis (to This step is used to stop a non-full EMV transaction. The RBA should be
stop for non-full EMV). suspended in this case and the EMV '33.09.x' Set Tag Data message can
be used with command "A" (Request AAC for non-full EMV transaction).
R Online authorization This suspend step is used after the EMV '33.03.x' Authorization Request
response in progress. Message is sent and before waiting on the EMV '33.04.x' Authorization
Response Message, allowing on-demand control.
A good use case for this step is when users may want to send online on-
demand PIN retries without having to generate a new cryptogram for
each iteration.
S EMV stop. Transaction has ended (used for POS information, suspend not required).
U Completion Status. End of Transaction control. When suspended, allows users to:
• ignore a card decline (merchant stand in etc) and have the terminal
display approval
• display custom messages instead of or alongside approved/declined
• provide custom display and/or beeps (via 51.x Beep On-Demand
Message) to instruct cardholders to remove their card
Resuming during this step (either with or without on-demand behavior)
will return to displaying standard-flow transaction results. Skipping will
proceed to the remove card state (if still inserted) and then end of
transaction state.
EMV '33.09.x' Set Tag Data Message should only be sent during EMV transaction suspend steps.
Otherwise, the message commands may be silently ignored. The same is true for EMV '33.10.x' Get Tag
Data Message if sent with any commands other than 'T' (return tag data only).
Currently, both messages can resume EMV transactions at suspend steps, even for commands other than
'R' (Resume).
Length Content
1 "T"
Length Content
1 ":"
1 ":"
Non-EMV tag fields are prefixed with the descriptor "D". The rest of the syntax for the tag, however, follows the
EMV tag format as shown in the preceding table titled "EMV Tag Data Format as Included in 33.x Message." Tag
numbers for non-EMV tags start at 0x1000. Refer to the following examples:
Example 1: EMV tag in hex ASCII format with a tag ID of '0082' and length of 4 bytes:
T82:04:hxxxxxxxx<FS>
- T - L -V -
where "xx" represents a single byte.
Example 2: EMV tag in ASCII format with a tag ID of '82' and length of 4 bytes:
T82:04:axxxx<FS>
- T - L-V -
where "x" represents a single byte.
Example 3: Non-EMV tag in hex ASCII format with a tag ID of '1000' and length of 4 bytes:
D1000:04:hxxxxxxxx<FS>
where "xx" represents a single byte.
Example 4: Non-EMV tag in ASCII format with a tag ID of '1001' and length of 1 byte:
D1001:01:ax<FS>
where "x" represents a single byte.
If the tag data format is "h" (specifying hex ASCII) then the tag data must be represented in an even number of hex
ASCII digits. Wrapping of tag data across consecutive packets is permitted. In this event, the tag ID and length
specified in the first packet are assumed for the data in subsequent packets.
P Purchase
R Refund
VP Void Purchase
VR Void Refund
*Paypass, ExpressPay, and Interac Flash are the only kernels that use tag T9F34.
This is a partial list. A complete list of tags cannot be provided here because it is dependent on the host
and issuer data required by the card and application. More EMV tag definitions can be found at http://
www.emvlab.org/emvtags/all/.
The data values included in these tags are useful when performing EMV transactions. Non-EMV tag numbers are
intentionally non-compliant with EMV standards to avoid conflict with future EMV tags.
Non-EMV tags are included in the authorization and confirmation messages for retail application EMV
transactions. They serve as prime indicators for the EMV transaction flow.
8.3.18.1 Examples
• Tag D1003 contains the confirmation response code which is included in the confirmation response message
to determine the final decision on a transaction. When the value for this tag is E (error or incomplete),
tag D1010 is provided in the confirmation response to indicate the type of error which as occurred (such as,
Authorization Request Sent Failed, Card Data Invalid).
• Tag D1005 is issued in both the authorization request and the confirmation response to indicate the type of
transaction (purchase or refund) requesting authorization.
D1000 Interac Account Type Account type selected for an Interac debit transaction.
• 0 = Checking.
• 1 = Savings.
D1001 PIN Entry Required EMV CVM indication of whether PIN entry is required for transaction.
Flag
• 0 = Not required.
• 1 = Required.
• U = Error, data is unavailable.
D1002 Signature Required EMV CVM indication of whether signature is required for transaction.
Flag
• 0 = Not required.
• 1 = Required.
• U = Error, data is unavailable.
D1004 POS Response Tag data to indicate if the POS cannot communicate with the Host.
Available
• 0 = Host response is not available.
• 1 = Host response is available.
Typically this tag with a value of ‘0’ will be sent by the POS in
cases where the Host is not available or when it times out. In
the case where the Host is available and a Host response
returns then this tag is not expected, but if returned in the
Host tag list the value of this tag must be '1'.
D1005 Transaction Type Tag data indicating which transaction type is requesting
authorization.
• 00 = Purchase.
• 01 = Refund.
D100F PIN Entry Successful EMV CV indication of PIN entry success in the current transaction.
Flag Required for offline PIN input only.
• 0 = Not successful. Could be entry was cancelled, bypassed, timed
out, or otherwise unavailable.
• 1 = Successful.
• U = Error, data is unavailable.
D1010 Error Response Code Error response code provided in the confirmation response.
Code Description
CDIVN Card Data Invalid but EMV fallback not permitted for
Interac transaction.
Code Description
D1011 Special Case D1011 is used to handle special cases like partial authorization and
Authorization voice referral, it qualifies the Approval Tag T8A. D1011 can force a
transaction to decline or approve regardless of host
decision or display transaction declined/approved regardless of EMV
card decision:
• 00 = Approved.
• 01 = Voice Referral.
• 05 = Declined.
• 10 = Partial Authorization.
• 55 = Bad PIN Value.
POS may send D1011 = 00 = approved to approve most/all
transactions regardless of risk or liability (e.g. fast food chain that
prioritizes high-volume customer checkout vs. low-risk fraud).
• Terminal displays "Approved"
• Can send with or without host response and can even override
card decision:
If card decision also approves,
D1003 = A (approved)
T9F27 = 40
If card decision declines,
D1003 = D (declined)
T9F27 = 00
The terminalmight not send D1011 and instead allow T8A, host
authorization response, and/or card decision to determine the final
outcome of a transaction.
D1012 Contactless This tag provides the POS with the contactless transaction outcome.
Transaction Outcome
• 01 = Offline approved.
• 02 = Online approved.
• 03 = Online requested.
• 04 = Normal decline.
• 05 = Use chip interface.
• 06 = Enter pass code in mobile and re-tap.
D1013 Contactless Profile This tag provides the contactless profile used for the transaction.
Used
• E = EMV interface.
• M = Magstripe (MSD) interface.
D1014 Card Payment Type This tag provides the terminal with the payment type. this is generally
used then the POS skips the SET_PAYMENT_TYPE transaction step.
• A = Debit.
• B = Credit.
D1016 US Common Debit flag This tag indicates if transaction is related to U.S. common debit.
• "1" - Related to U.S. Common Debit
• "0" - Otherwise
D1017 MSR Track 1 Used to relay Track 1 data during on-demand fallback to MSR.
D1018 MSR Track 2 Used to relay Track 2 data during on-demand fallback to MSR.
D1019 MSR Track 3 Used to relay Track 3 data during on-demand fallback to MSR.
D101B Contactless online PIN This tag indicates an online PIN CVM.
CVM flag
• “1” – required
• “0” – not required
D101C Contactless No CVM Indicates if no CVM is required in contactless transactions for all card
flag schemes supported.
• "0" = CVM required.
• "1" = No CVM required.
D101E Mobile CVM Results Non EMV D-Tag indicates Mobile CVM Results.
• '0' - Unknown
• '1'- Failed
• '2' - Successful
• '3' - Blocked
For EMV Account Verify/Balance Inquiry transactions, the flow is the same as a purchase, but with a $0
amount. Tag T9C is set to '30' for such transactions.
For EMV, different fonts will be displayed in the “Confirm Application” Prompt (e.g., Confirm Application
DISCOVER) in Prompt.XML. This is because the application name "DISCOVER" is obtained from EMV card
Tag T50, and the application simply displays this as is from the card.
For EMV Account Verify/Balance Inquiry transactions, the flow is the same as a purchase, but with a $0
amount. Tag T9C is set to '30' for such transactions.
Refer to the below table for an illustration of the EMV purchase transaction sequence.
EMV Purchase Transaction Flow
EMV transactions
now utilize
the Amount Verify
flag. Depending on
the setting of this flag,
the merchant can
suppress the "Amount
OK?" screen and
directly prompt the
cardholder for
amount verification.
The transaction
amount can be
displayed on the PIN
entry or signature
screen. When the
cardholder enters
their PIN or signs,
approval of the
amount is implied.
The transactions
cannot proceed
without an amount
value set.
The application
accepts $0 amounts,
but certain EMV cards
might decline the
transaction offline,
preventing the
transaction from
authorizing online.
Refund Option flag is set using the 60.x Configuration Write message to modify the cards.dat file before the start of
the transaction.
A second 13.x Amount Message with the final transaction amount is then sent to the terminal. With the final
transaction information received from the POS, the cardholder may be prompted to confirm the refund amount
depending on the setting of the Verify Amount flag. The cardholder may additionally be prompted for an account
selection (chequing or savings). The cardholder is then prompted for PIN entry if required.
The terminal sends an EMV '33.03.x' Authorization Request Message message to the POS, which will return
the EMV '33.04.x' Authorization Response Message message. An EMV '33.05.x' Authorization Confirmation
Response Message message is then returned to the POS confirming the refund transaction state and including the
necessary tag information for printing. Included in the '33.05.x' message will be tag D1003 which will indicate the
approval status ("A" for Approved and "D" for Declined) or D1004 = 0 if the Host response is not available.
The terminal will then display the transaction status as "Approved" or "Declined" based on this tag value. The
cardholder is then prompted to remove their card. When the card is removed, the terminal sends a 09.x Card Status
Message message to the POS indicating that the card has been removed.
Refer to the below table for an illustration of the EMV refund transaction sequence.
EMV Refund Transaction Flow
transaction. If this message is received after the card is inserted, then the purchase transaction will be cancelled
and a refund transaction will be initiated.
Once the partial refund transaction is initiated with the card detected, the cardholder may be prompted to select
the language and application if not configured for auto-selection in the configuration file. If the auto-selection flags
are enabled then the terminal will select the language and application based on highest priority.
With the language and application selected and the transaction amount sent, the terminal will send an EMV
'33.02.x' Track 2 Equivalent Data Message message. As a future option, the POS may request this information via
an EMV '33.02.x' Track 2 Equivalent Data Request message, but it is not recommended at this time.
A 04.x Set Payment Type Request message follows the EMV '33.02.x' Track 2 Equivalent Data Message message.
The terminal responds with a 04.x: response message confirming the payment type request (e.g., Debit, Credit). In
order to process the transaction as partial EMV refund, the EMV Refund Option flag must be set to '0'. The EMV
Refund Option flag is set using the 60.x Configuration Write message to modify the cards.dat file before the start of
the transaction.
Following the 04.x: Set Payment Type Request message, a second 13.x Amount Message with the final transaction
amount is sent to the terminal so that it may proceed with the refund transaction. Depending on the setting of the
Verify Amount flag, the cardholder may be prompted to confirm the refund amount. <Yes>, <No>, and <Cancel>
buttons are displayed.
An EMV '33.05.x' Authorization Confirmation Response Message message is returned to the POS confirming the
refund transaction state and including the necessary tag information for printing. For a partial refund, the
Authorization Response Code (ARC) will be set as "Offline Declined" and the cryptogram type will be AAC
(Application Authentication Cryptogram). The cardholder is then prompted to remove their car. When the card is
removed, the terminal sends a 09.x Card Status Message to the POS indicating that the card has been removed.
Refer to the below table for an illustration of the EMV partial refund transaction sequence.
EMV Partial Refund Transaction Flow
The terminal sends an EMV '33.03.x' Authorization Request Message to the POS, which will return the EMV
'33.04.x' Authorization Response Message. An EMV '33.05.x' Authorization Confirmation Response Message is
then returned to the POS confirming the refund transaction state and including the necessary tag information for
printing. Included in the '33.05.x' message will be tag D1003 which will indicate the approval status ("A" for
Approved and "D" for Declined) or D1004 = 0 if the Host response is not available. The terminal will then display
the transaction status as "Approved" or "Declined" based on this tag value.
Refer to the below table for an illustration of the EMV refund transaction sequence.
EMV Contactless On-Demand Refund Transaction Flow
Tapping a card
before the reader
is enabled will
produce a '0xFB'
error.
Cancelling a Refund Transaction Using the EMV '33.09.x' Set Tag Data Message
When EMV is not enabled for contactless transactions (i.e., when '0019_0001' = 0), PayPass kernel 2 must
be selected, by setting '0008_0015' = 2.
The terminal waits for the 0x Authorization Response message which contains the approval code, and displays the
approval status as "Approved" or "Declined." There is no further interaction with the cardholder once the card is
tapped. A 10.x Hard Reset message is then sent to the POS indicating that the terminal is returning to the online
idle state. Refer to the below table for an illustration of the MSD Contactless Transaction sequence.
Refer to the General Message Flow section which describes the flow for this transaction type.
For EMV Contactless, the application name will not be displayed above "Please wait ..."
For EMV contactless transactions, the application name is not displayed above Please wait...
For EMV Contactless, the application name will not be displayed above "Please wait ..."
For EMV Contactless, the application name will not be displayed above "Please wait ..."
For EMV Contactless, the application name will not be displayed above "Please wait ..."
8.5.1 Configuration
The following table shows the parameters which must be configured in order for the terminal to process EMV
transactions in the On-Demand flow:
Parameters to Configure for EMV On-Demand Flow
Parameter Setting
0019_0001 This EMV flag must be set to '1' to enable the terminal to support EMV
transactions.
0013_0014 This Compatibility flag must be set to '1' so that the Source field is included
in the 23.x Card Read Request message.
Changing these parameters is accomplished by using the 60.x Configuration Write message to update the
config.dfs file.
'33.00.0000[FS][FS][FS][FS][FS]'
The cardholder will then be prompted to confirm the application (e.g., VISA, MasterCard). The cardholder may also
be prompted to select the language. From here, transactions will continue per the normal EMV flow.
8.6.1 Overview
The following conditions must be met for the terminal to prompt a cardholder for cashback:
• Cashback must be enabled: 04.x Set Payment Type Request 0011_00xx::Cashback Limit configured (set to a
value other than 0)
• AUC must be enabled (card AID has appropriate domestic/international bits enabled) OR cashback is forced
(AID is configured to force cashback and ignore AUC cashback bits, 0021_00xx : : Force cashback)
• Terminal capabilities (T9F33:byte 2:bits 7,5) = PIN enabled
Selecting No on the Amount Confirmation screen when 0007_0006 = 2 prompts the cardholder to select
cash back again.
The cashback amount, variable 305s value, must be less than the value of maximum cashback, variable 306.
Cashback before PIN Entry - RBA Flow • 04.x Set Payment Type Request.
• 29.305 (use 29.x Get Variable Request message to
retrieve cashback amount variable 305).
Cashback before PIN Entry - On-Demand • The POS prompts for and handles the cashback amount
and has the cashback input.
Cashback after PIN Entry - RBA Flow • 29.305 (use 29.x: Get Variable Request message to
retrieve cashback amount variable 305).
Cashback amount = T9F02 (Authorized Amount) - final 13.x
Amount Message, where tag T9F02 is included in one of the
following messages:
EMV 33.03.x Authorization Request Message
EMV 33.05.x Authorization Confirmation
Response Message
Cashback after PIN Entry - On-Demand • The POS prompts for and handles the cashback amount
and has the cashback input.
8.7.1 Overview
The RBA has been enhanced to support full and partial EMV refund transactions. EMV refunds are processed for
cards which fully support EMV transactions. When a full refund transaction is processed, an EMV '33.03.x'
Authorization Request Message is sent to the POS which returns an EMV EMV '33.04.x' Authorization Response
Message. The Authorization Response Codes (e.g., Online Approved, Offline Declined) in tag T8A will be included in
the EMV '33.05.x' Authorization Confirmation Response Message. For a partial refund, there is no authorization
request/response exchange between the terminal and POS. The Authorization Response Code will be set as
"Offline Declined" and the cryptogram type will be AAC (Application Authentication Cryptogram). Partial refund
transactions, also referred to as non-EMV transactions, do not prompt the cardholder for cashback.
Tag Contents
Tag Contents
When processing an EMV full refund transaction, the approval status will be included in tag D1003 as
"A" (Approved) or "D" (Declined). Since EMV partial refund transactions are not host approved, tag D1003 will
instead have a value of "C" indicated completion.
There are two types of EMV partial refund transactions; normal flow and on-demand flow. For normal flow refund
transactions, the transaction is automatically initiated when an EMV card is inserted and detected. For on-demand
flow refund transactions, the terminal sends a message to the POS indicating that a card was inserted. It then waits
for the POS to return an EMV '33.00.x' Transaction Initiation Message before initiating the transaction.
Refer to the following transaction flow sections for more details, including messages exchanged between the
terminal and POS:
• EMV Full Refund Transaction Flow
• EMV Partial Refund Normal Transaction Flow
• EMV Partial Refund On-Demand Transaction Flow
• DFF1E
• DFF1F
• DFF20
• DFF21
The tags provided depend on the card data and encryption type. As an example, tag DFF20 is present only when
Voltage encryption (TEP1, TEP2) is enabled.
For the EMV 33.02.x Track 2 Equivalent Data Message and EMV 33.05.x Authorization Confirmation Response
Message, the Track 2 value will be replaced by the masked value.
T56 Track 1 data Encrypted Track 1 data (if present). Tag optional.
T9F6B Track 2 Data for Contactless Encrypted Track 2 data for contactless MasterCard
MasterCard transactions. Tag required when performing a
contactless MasterCard transaction.
Tag Content
Voltage (all) Encrypted Pan Encrypted Track Encrypted Track 2 ETB N/A
1
Trans Armor Masked Pan Masked Track 1 Masked Track 2 N/A TransArmor-specific data
(See Note)
TDES Masked Pan Masked Track 1 Masked Track 2 N/A Encrypted Track 3
DUKPT
Monetra Masked Pan Masked Track 1 Masked Track 2 N/A Encrypted Track 3
8.9.1 Configuration
The terminal is configured for EMV transactions by setting EMV Flag 0019_0001 (Enable EMV Transactions) to 1 in
the config.dfs file. The terminal can be configured for Online PIN mode by setting tag T9F33 (Terminal
Capabilities) in the EMVCONTACT.XML file to E0 48 C8. This tag is normally set to E0 B8 C8.
Once the required data is sent for online processing, the POS receives the authorization result. This result is sent to
the terminal in the EMV 33.04.x Authorization Response Message. From this point, the transaction continues with
the standard EMV flow.
Refer to PIN Block Tag Format in Authorization Request Message for more information on the PIN Block tag
format.
O L Format Description
ff e
s n
e g
t t
h
24 2 Alphanum KSN.
0
8.9.5.1.3 Important
These parameters are used to configure the various contactless kernels, and in some cases, they have an effect
regardless of whether or not EMV is enabled.
Format Description
an Alphanumeric data elements contain a single character per byte. The permitted
characters are alphabetic (a to z and A to Z, upper and lower case) and numeric(0 to
9).
Format Description
ans Alphanumeric special data elements contain a single character per byte. The
permitted characters and their coding are shown in the Common Character Set table
in Annex B of Book 4. There is one exception: The permitted characters for
Application Preferred Name are the non-control characters defined in the ISO/IEC
8859 part designated in the Issuer Code Table Index associated with the Application
Preferred Name.
b These data elements consist of either unsigned binary numbers or bit combinations
that are defined elsewhere in the specification.
Binary example: The Application Transaction Counter (ATC) is defined as b with a
length of two bytes. An ATC value of 19 is stored as Hex 00 13.
Use caution with bit flags because different specifications may use
different bit-numbering conventions. In some cases, bit 1 is the low-
order bit; in other cases, bit 8 is the low-order bit.
n Numeric data elements consist of two numeric digits (having values in the range Hex
0 – 9) per byte. These digits are right-justified and padded with leading hexadecimal
zeroes. Other specifications might refer to this data format as Binary Coded Decimal
(BCD) or unsigned packed.
Example: Amount, Authorized (Numeric) is defined as n 12 with a length of six bytes.
A value of 12345 is stored in Amount, Authorized (Numeric) as Hex
00 00 00 01 23 45.
T9FFF00 No User-defined name for an application ID. For Example: Hexadecimal ASCII
56 49 53 41 = VISA characters
T9F1A Yes Country code per ISO 3166 (International Standard for EMV Format n 3
Country Codes). Country codes are at http:// Two bytes
en.wikipedia.org/wiki/ISO_3166-1_numeric. For
example:
• 01 24 = Canada
• 08 40 = United States
T5F2A Yes Currency code per ISO 4217 (International Standard EMV Format n 3
for currency). Currency codes are at http:// Two bytes
en.wikipedia.org/wiki/ISO_4217. For example:
• 08 26 = United Kingdom pound sterling.
• 08 40 = U.S. dollar.
• 01 24 = Canadian dollar.
T5F36 Yes Currency exponent. Indicates the implied position of EMV Format n 1
the decimal point from the right of the transaction One byte
amount represented in accordance with ISO 4217. For
example: 02 indicates that there are two digits to the
right of the decimal point.
T9F812B Yes Threshold value for biased random selection. EMV Format b Binary
Four bytes
This amount must be zero or a positive number which is
less than the floor limit. Any transaction with an
amount less than this value will be subject to selection
at random based on the value of tag T9F8127. Refer to
EMV Book 3, Random Transaction Selection. For
example: 00 00 03 E8 (hexadecimal) = 1000 (decimal) =
$10.00 in U.S currency.
T9F8124 Yes Default Dynamic Data Authentication Data Object List EMV Format b Binary
(DDOL). Specified by the payment system and used Variable
when a DDOL is not present on the EMV card. For
example: 9F 37 04
T9F8125 Yes Default Transaction Certificate Data Object List EMV Format b Binary
(TDOL). Specified by the payment system and used Variable
when a TDOL is not present on the EMV card. For
example:
9F 02 06 95 05 5F 2A 02 9A 03 9C 01 9F 37 04
T9F8126 Yes Maximum target percentage used for biased random EMV Format b Binary
selection. The value for this parameter must be One byte
between 0 to 99 and no less than the value of tag
T9F8127. Refer to EMV Book 3, Random Transaction
Selection. For example: 32 (hexadecimal) = 50 (decimal)
= 50%
T9F8127 Yes Target Percentage to be Used for Random Selection. EMV Format b Binary
The value must be between 0 to 99. Refer to EMV Book One byte
3, Random Transaction Selection. For example: 32
(hexadecimal) = 50 (decimal) = 50%
T9F8128 Yes Terminal Action Code (TAC) - Default. Specified by the EMV Format b Binary
acquirer. Refer to EMV Book 3, Terminal Action Analysis. Five bytes
For example: DC 40 00 A8 00
T9F8129 Yes Terminal Action Code (TAC) - Denial. Specified by the EMV Format b Binary
acquirer. Refer to EMV Book 3, Terminal Action Analysis. Five bytes
For example: 00 10 00 00 00
T9F812A Yes Terminal Action Code (TAC) - Online. Specified by the EMV Format b Binary
acquirer. Refer to EMV Book 3, Terminal Action Analysis Five bytes
for an explanation of this parameter. For example: DC
40 04 F8 00
T9F09 Yes Version number assigned by the payment system for EMV Format b Binary
the application. For example: 00 8C Two bytes
T9F1B Yes Terminal floor limit. Transaction amounts in excess of EMV Format b Binary
the floor limit may require the transaction to be done Four bytes
online. Refer to EMV Book 3, Floor Limits. For example:
00 00 27 10 (hexadecimal) = 10000 (decimal) =
$100.00 in US currency.
T9F841D Yes Allow partial name selection (Application Selection EMV Format b Binary
Indicator). For an application on the EMV card to be One byte
supported, this parameter indicates whether the
associated application ID in the terminal must exactly
match the application ID in the card, including the
length or only up to the length of the application ID in
the terminal. For example: 01
T9F928101 No This specifies the contactless kernel to use for the given Two bytes
Application ID. Available kernels include:
• 00 02 = MasterCard (PayPass M/Chip and magstripe
• 00 03 = VISA (PayWave qVSDC and magstripe)
• 00 04 = American Express (ExpressPay EMV and magstripe)
• 01 02 = Discover DPAS
• 01 03 = Interac
Byte 2:
T9F92810E No CVM Required Limit. This value is inclusive. EMV Format "n 12"
For example: Six bytes
00 00 00 00 20 00 = $20.00. The transaction amount of
$20.00 requires a CVM. A transaction amount off $19.99 does
not require a CVM.
T9F92810F No Contactless Floor Limit. This value is exclusive. EMV Format "n 12"
For example: Six bytes
00 00 00 00 20 00 = $20.00. A floor limit of $20.01 is
supported, but a floor limit of $20.00 is not.
See Floor Limit Handling for more information.
T9F1B Yes Terminal Floor Limit. Transaction amounts exceeding the floor EMV Format
limit may require the transaction to be completed online. Refer "b" (Binary)
to EMV Book 3, Floor Limits, for an explanation of this parameter.
Four bytes
For example:
00 00 27 10 (hexadecimal) = 10000 (decimal) = $100.00 in U.S.
currency.
T9F918709 No Terminal Action Code -Default. This specifies the acquirers EMV Format
conditions which result in a transaction being rejected if it may "b" (Binary)
have been approved online, but the terminal is unable to process
Five bytes
the transaction online. Refer to EMV Book 3, Terminal Action
Analysis, for an explanation of this parameter. For example:
FC 50 0C 88 00
T9F91870A No Terminal Action Code - Denial. This specifies the acquirers EMV Format
conditions which result in the denial of a transaction without "b" (Binary)
attempting to go online. Refer to EMV Book 3, Terminal Action
Five bytes
Analysis, for an explanation of this parameter. For example:
00 00 00 00 00
T9F91870B No Terminal Action Code - Online. This specifies the acquirers EMV Format
conditions which result in a transaction being transmitted "b" (Binary)
online. Refer to EMV Book 3, "Terminal Action Analysis," for an
Five bytes
explanation of this parameter. For example:
FC 50 0C 88 00
T9F53 No PayPass Transaction Category Code (PayPass only). This is a EMV Format "an"
data object defined by MasterCard which indicates the current
One byte
transaction type. This may be used during the Card Risk
Management step in the EMV transaction process. For example:
52 = "R"
T9F918706 No Default Transaction Certificate Data Object List (TDOL). This is EMV Format
specified by the payment system and is to be used if a TDOL is "b" (Binary)
not present on the EMV card. For example:
(Variable)
9F 08 02
T9F92810D No Transaction Limit. This value is exclusive, so the limit value is not EMV Format "n 12"
allowed.
Six bytes
For example:
00 00 00 00 20 00 = $20.00. In this scenario, a transaction
amount of $19.99 is allowed, but a transaction amount of $20.00
is not.
T9F918511 No List of Application Version Numbers (AVNs) for PayPass M/Chip (Variable)
(PayPass only). For example:
01 05 02 00 02 05 indicates versions 0105, 0200, and 0205.
T9F918523 No Indicates the card data input capability of the Terminal and EMV Format
Reader. "b" (Binary)
• MasterCard PayPass 3 kernel only. One byte
• Tag is coded per Annex A.2 of EMV Book 4 (Terminal
Capabilities), byte 1.
• Corresponds with tag DF8117 value in the MasterCard
Kernel C2 specification.
T9F918525 No Indicates the MChip CVM Capability of the Terminal and Reader EMV Format
when the transaction amount is greater than the Reader CVM "b" (Binary)
Required Limit.
One byte
• MasterCard PayPass 3 kernel only.
• Corresponds with tag DF8118 value in the MasterCard
Kernel C2 specification.
• Tag is coded per Annex A.2 of EMV Book 4 (Terminal
Capabilities), byte 2:
For example:
28
indicates signature only with no CVM.
T9F918526 No PayPass MChip CVM capability, CVM not required. For example, EMV Format
08 = No CVM only. "b" (Binary)
One byte
T9F918527 No Indicates magnetic stripe CVM Capability of the Terminal and EMV Format
Reader when the transaction amount is greater than the Reader "b" (Binary)
CVM Required Limit.
One byte
• MasterCard PayPass 3 kernel only.
• Corresponds with tag DF811E value in the MasterCard
Kernel C2 specification.
For example:
10
indicates that signature is required.
T9F918528 No Indicates the Magstripe CVM Capability of the Terminal and EMV Format
Reader when the transaction amount is less than or equal to the "b" (Binary)
Reader CVM Required Limit.
One byte
• MasterCard PayPass 3 kernel only.
• Corresponds with tag DF812C value in the MasterCard
Kernel C2 specification.
For example:
00
indicates no CVM is required.
T9F91851C No Contactless transaction limit for cards (not for mobile devices). EMV Format
This tag indicates the maximum allowed transaction amount "b" (Binary)
when on-device cardholder verification is not supported.
Six bytes
• MasterCard PayPass 3 kernel only.
• Corresponds with tag DF8124 value in the MasterCard
Kernel C2 specification.
T9F91851D No Contactless transaction limit for mobile devices (not for cards). EMV Format
This tag indicates the maximum allowed transaction amount "b" (Binary)
when on-device cardholder verification is supported.
Six bytes
• MasterCard PayPass 3 kernel only.
• Corresponds with tag DF8125 value in the MasterCard
Kernel C2 specification.
For example:
20
indicates that both EMV mode and magnetic stripe mode are
supported along with on-device verification.
T9F09 No EMV Application version Number for the terminal. EMV Format
"b" (Binary)
• Default = 00 02
Two bytes
T9F918565 No Maximum time (in seconds) that a record can remain in the Torn EMV Format
Transaction Log. "b" (Binary)
• MasterCard PayPass 3 kernel only. Two bytes
• Corresponds with tag DF811C value in the MasterCard
Kernel C2 specification.
For example:
01 2C = 300 seconds
T9F918561 No PayPass maximum number of records that can be contained in EMV Format
the torn log. "b" (Binary)
• Default = 00 One byte
T9F918568 No Indicates the time that the field is turned off after the EMV Format
transaction is completed if requested to do so by the cardholder "b" (Binary)
device.
One byte
• MasterCard PayPass 3 kernel only.
• Corresponds with tag DF8130 value in the MasterCard
Kernel C2 specification.
• Hold time value is in units of 100ms.
For example:
0D = 1300 ms = 1.3 seconds
T9F1D No Terminal Risk Management Data. This tag contains application- EMV Format
specific data which is used by the card to perform terminal risk "b" (Binary)
management.
(8 Bytes)
• Currently only used for MasterCard PayPass.
• Implementation-dependent as it corresponds with CVMs
used by the merchant.
• Should be set to all 0s when using the PayPass 2 kernel.
For example,
00 00 00 00 00 00 00 00
For example:
D8 B0 00 00 = AEIPS contact, ExpressPay Magstripe,
ExpressPay EMV Partial online mode, ExpressPay Mobile,
Mobile CVM, Signature, Plaintext Offline PIN.
Additional Tags
T9F66 No Terminal Transaction Qualifiers (TTQ). Currently used only for EMV Format
VISA. This indicates card reader capabilities, requirements, and "b" (Binary)
preferences to the card.
Four bytes
• TTQ byte 2, bits 8-7 are transient values. These are reset to 0
at the start of the transaction.
• All other TTQ bits are static values which are not modified
based on transaction conditions.
• TTQ byte 3, bit 7 shall be set by the acquirer merchant to
"1b."
Refer to https://www.eftlab.com.au/index.php/site-map/our-
articles/
161-the-use-of-ctqs-and-ttqs-in-nfc-transactions.
Example supporting Contactless EMV:
B2 A0 40 00 indicates
• Contactless MSD.
• qVSDC supported.
• EMV contact chip supported.
• Signature supported.
• Online cryptogram required.
• Offline PIN supported (for contact chip).
• Mobile functionality supported (consumer terminal CVM).
Example supporting Contactless MSR only:
86 A0 40 00 indicates
• Contactless MSD is supported.
• Online PIN supported.
• Signature supported.
• Online cryptogram required.
• Offline PIN supported (for Contact chip).
• Mobility functionality supported (Consumer terminal CVM).
T9F1A Yes Country Code per ISO 3166. Country codes may be referenced EMV Format "n 3"
at http://en.wikipedia.org/wiki/ISO_3166-1_numeric. As
Two bytes
examples:
• 01 24 = Canada
• 08 40 = United States
T9F2A Yes Transaction Currency Code per ISO 3166. Country codes may EMV Format "n 3"
be referenced at http://en.wikipedia.org/wiki/
Two bytes
ISO_3166-1_numeric. As examples:
• 01 24 = Canadian Dollar
• 08 40 = United States Dollar
T9F5D No Interac Receipt Limit (Interac only). For example: EMV Format "n 12"
00 00 00 00 00 00
T9F91820F No ExpressPay Full Online EMV Removal Timeout (ExpressPay EMV Format
only). For example: "b" (Binary)
00 00 27 10 = 2710 (hex) = 10000 (decimal) = 10 seconds. Four bytes
T9F918A01 No Interac Retry Limit (Interac only). Indicates the maximum EMV
number of attempts that are allowed before the transaction is Format "b" (Binary)
rejected. One byte
T9F33 Yes Terminal Capabilities. This indicates the card.dat input, CVM, EMV Format
and security capabilities of the terminal. Refer to EMV Book 4, "b" (Binary)
Terminal Capabilities. For example: Three bytes
E0 B8 C8
where
• E0 (Card Data Input Capability) = Manual key entry,
magnetic stripe, IC with contacts.
• B8 (CVM Capability) = Plaintext PIN for ICC verification,
Signature (paper), Enciphered PIN for offline verification, No
CVM required.
• C8 (Security Capability) = SDA, DDA, CDA.
Terminal Floor Limit T9F1B Entry Point spec and some card schemes state
that if Contactless Floor Limit is not present,
TAG_EMV_TERMINAL_FLOOR use the Terminal Floor Limit instead to
_LIMIT determine whether a transaction requires
online authorization.
The following table describes floor limit checking based on the kernel used to process the contactless transaction:
Floor Limit Checking by Kernel
PayPass3 and ExpressPay3 During Terminal Risk Management, terminals compare the
transaction amount to the Contactless Floor Limit T9F92810F if
defined, and set the TVR accordingly.
TAG_EMV_TERMINAL_FLOOR_LIMIT T9F1B is not supported.
Visa PayWave and UPI QuickPass The terminal indicates Online Cryptogram Required (set TTQ byte
2 bit 8 to 1b) if the amount authorized is greater than either:
Discover ZIP All ZIP transactions are authorized online. The floor limit is
disregarded.
Interac FLASH N/A - The Ingenico FLASH kernel is only certified for online
transactions.
0x9F06 Application ID. This is used to match the AID 5 to 16 Bytes Hexadecimal
configured on the EMV card. As an example:
'A0 00 00 03 10 10'
0x9F22 Certificate Authority Public Key Index. This index, 1 Byte EMV Format
in conjunction with the AID, identifies the public "b" (Binary)
key.
0x9F8122 Certificate Authority Public Key Exponent. As an 1 Byte for Exponent EMV Format
example for exponent 3: 3, "b" (Binary)
'03' 3 Bytes for Exponent
65537
As an example, these AMEX CAPKs are included in the default EMVCONTACT.XML for contact EMV testing.
AMEX Contact EMV Testing Certificate Authority Public Keys
T9F35 No Terminal Type as defined by EMVCo. Refer to EMV Book EMV Format "n 2"
4, "Terminal Types." As an example:
(1 Byte)
'22' = Attended, Offline with online capability,
Operational control provided by merchant.
T9F33 Yes Terminal Capabilities. This indicates the card data input, EMV Format
CVM,and security capabilities of the terminal. Refer to "b" (Binary)
EMV Book 4, "Terminal Types." As an example:
(3 Bytes)
'E0 B8 C8'
where
• 'E0' (Card Data Input Capability) = Manual key entry,
magnetic stripe, IC with contacts.
• 'B8' (CVM Capability) = Plaintext PIN for ICC
verification, Signature (paper), Enciphered PIN for
offline verification, no CVM required.
• 'C8' (Security Capability) = SDA, DDA, and CDA.
T9F1A Yes Country code per ISO 3166. Codes may be referenced at EMV Format "n 3"
http://en.wikipedia.org/wiki/ISO_3166-1_numeric. As
(2 Bytes)
examples:
• '01 24' = Canada
• '08 40' = United States
T5F2A Yes Currency Code per ISO 4217. Codes may be referenced EMV Format "n 3"
at http://en.wikipedia.org/wiki/ISO_4217. As examples:
(2 Bytes)
• '01 24' = Canadian Dollar
• '08 40' = U.S. Dollar
• '00' = No.
• '01' = Yes.
As an example: '01' configures to support PSE Selection
Method.
• '00' = No.
• '01' = Yes.
As an example: '00' configures to not support Alternative
Option to PSE Algorithm.
• '00' = No.
• '01' = Yes.
As an example: '01' configures to support Cardholder
Confirmation.
• '00' = No.
• '01' = Yes.
As an example: '00' configures to not display Application
IDs in Preferred Order.
• '00' = No.
• '01' = Yes.
As an example: '01' configures to support Multiple
Languages.
• '00' = No.
• '01' = Yes.
As an example: '01' configures to support Bypass PIN
entry.
T9F844D Yes Support Get Data for PIN Try Counter. (1 Byte)
• '00' = No.
• '01' = Yes.
As an example: '01' configures to support Get Data for
PIN Try Counter.
• '00' = No.
• '01' = Yes.
As an example: '01' configures for Amount is Known
Before CVM Process.
T9F8444 Yes Support Transaction Log. Reserved, not currently used. (1 Byte)
• '00' = No.
• '01' = Yes.
As an example: '01' configures to support Transaction
Log.
T9F844C Yes Support Exception File. Reserved, not currently used. (1 Byte)
• '00' = No.
• '01' = Yes.
As an example: '01' configures to support Exception File.
• '00' = No.
• '01' = Yes.
As an example: '01' configures for Transaction Forced
Online Capability.
• '00' = No.
• '01' = Yes.
As an example: '01' configures for Transaction Forced
Acceptance Capability.
• '00' = No.
• '01' = Yes.
As an example: '01' configures to support Online Advice.
• '00' = No.
• '01' = Yes.
As an example: '01' configures to support Issuer Referral.
• '00' = No.
• '01' = Yes.
As an example: '00' configures to not support Card
Referral.
T9F8447 Yes Support Batch Data Capture. Reserved, not currently used. (1 Byte)
• '00' = No.
• '01' = Yes.
As an example: '00' configures to not support Batch Data
Capture.
• '00' = No.
• '01' = Yes.
As an example: '00' configures to not support Online Data
Capture.
• '00' = No.
• '01' = Yes.
As an example: '01' configures to support POS Entry
Mode.
T9F39 Yes Point-of-Service (POS) Entry Mode. This indicates the (1 Byte)
method by which the PAN was entered. This is
determined by the first two digits of the ISO 8583:1987
POS Entry Mode. Specific values include:
• '00' = Unknown.
• '01' = Manually keyed (this will pertain to VISA
internet transactions as well).
• '02' = Magnetic stripe read (general or Track 2).
• '04' = OCR code read.
• '05' = Integrated circuit card read (CVV data is
reliable).
• '06' = Magnetic stripe read (Track 1).
• '07' = Contactless chip card using VISA Smart Debit in
accordance with Credit chip data rules.
• '80' = Chip Card capable, unaltered track data read.
This is used for EMV fallback where chip card is
swiped.
• '81' = Manually keyed e-commerce (MasterCard
only).
• '82' = Contactless Mobile Commerce terminal.
• '90' = Entire magnetic stripe is read and transmitted.
• '91' = Contactless chip transaction originated using
magnetic stripe data rules (VISA only).
• '95' = Integrated circuit card read, CVV data is
unreliable.
As an example:
'81' indicates manually keyed e-commerce
(MasterCard).
• '00' = No.
• '01' = Yes.
As an example: '00' configures for Terminal not Equipped
with External PIN Pad.
T9F844A Yes Amount and PIN Entered on Same Key Pad. (1 Byte)
• '00' = No.
• '01' = Yes.
As an example: '01' configures for Amount and PIN
Entered on Same Key Pad.
• '00' = No.
• '01' = Yes.
As an example: '01' configures to perform Velocity
Checking According to Terminal Type.
• '00' = No.
• '01' = Yes.
As an example: '00' configures to not Always Perform
Terminal Risk Management.
T9F845A Yes Skip TAC/IAC - Default Processing for Online Only (1 Byte)
Terminal.
• '00' = No.
• '01' = Yes.
As an example: '01' configures to Skip TAC/IAC - Default
Processing for Online Only Terminal.
T9F845B Yes Skip TAC/IAC - Default Processing for Offline Only (1 Byte)
Terminal.
• '00' = No.
• '01' = Yes.
As an example: '01' configures to Skip TAC/IAC - Default
Processing for Offline Only Terminal.
• '00' = No.
• '01' = Yes.
As an example: '00' configures to not Select Account
Type.
T9F845C Yes Detect CDA Failure Before Terminal Action Analysis. (1 Byte)
• '00' = No.
• '01' = Yes.
As an example: '01' configures to Detect CDA Failure
Before Terminal Action Analysis.
• '01' = No.
• '00' = Yes.
As an example: '00' configures to Request CDA for TC in
Second GENERATE AC.
T9F8460 Yes When Selecting to Bypass a PIN Method, all Other PIN (1 Byte)
Methods are Considered Bypassed.
• '00' = No.
• '01' = Yes.
As an example: '01' configures for all Other PIN Methods
are Considered Bypassed when Selecting to Bypass a PIN
Method
T9F928210 No Generic Detection Type. This specifies all of the Level 1 (2 Bytes)
card types which will be detected.
Byte 0:
Byte 1:
As an example:
'03 00 00 00' specifies ISO 14443-4 Types A and B.
T9F928214 No Number of Cards Allowed to be Present at the Same EMV Format "n 1"
Time. As an example:
(1 Byte)
'01' indicates only one card to present at any time.
T9F1A Yes Country Code per ISO 3166. Country codes may be EMV Format "n 3"
referenced at http://en.wikipedia.org/wiki/
ISO_3166-1_numeric. As examples: (2 Bytes)
T5F2A Yes Currency Code per ISO 4217. Codes may be referenced • EMV Format "n
at http://en.wikipedia.org/wiki/ISO_4217. As examples: 3"
• '01 24' = Canadian Dollar (2 Bytes)
• '08 40' = U.S. Dollar
T5F36 Yes Currency Exponent. This indicates the implied position EMV Format "n 1"
of the decimal point from the right of the transaction
(1 Byte)
amount represented according to ISO 4217. As an
example:
'02' indicates that there are two digits to the right
of the decimal point.
T9F40 Yes Additional Terminal Capabilities. This indicates the EMV Format
supported transaction types, data input, and data output "b" (Binary)
capabilities of the terminal. Refer to EMV Book 4,
(5 Bytes)
"Additional Terminal Capabilities." As an example:
'60 00 F0 B0 01'
where
• '60 00' (Transaction Type Capability) = Goods,
Services.
• 'F0' (Terminal Data Input Capability) = Numeric keys,
Alphabetic and special character keys, Command
keys and Function keys.
• 'B0 01' (Terminal Data Output Capability) = Print/
attendant, Display/attendant, Display/cardholder,
and Code table 1.
T9F35 Yes Terminal Type as defined by EMVCo. Refer to EMV Book EMV Format "n 2"
4, "Terminal Types." As an example:
(1 Byte)
'22' indicates Attended, Offline with online
capability, Operational control provided by
merchant.
T9F01 Yes Acquirer Identifier. Uniquely identifies the acquirer EMV Format "n
within each payment system. As an example: 6-11"
'01 23 45 67 89 01' (6 Bytes)
T9F15 Yes Merchant Category Code. This classifies the type of EMV Format "n 4"
business being conducted by the merchant, represented
(2 Bytes)
in accordance with ISO 8583:1993 for Card Acceptor
Business Code. As an example:
'00 00'
T9F16 Yes Merchant Identifier. When concatenated with the EMV Format "ans
Acquirer Identifier, this uniquely identifies a given 15"
merchant. As an example:
(15 Bytes)
'31 31 32 32 33 33 34 34 35 35 36 36 37 37 38'
T9F1C No Terminal Identification. This designates the unique EMV Format "an 8"
location of a terminal at a merchant. As an example:
(8 Bytes)
'31 32 33 34 35 36 37 38'
Bulletin. Note that the specific parameter names and file formats described there are not the same as those used in
the XML configuration files.
8.10.1 Requirements
Quick Chip and M/Chip Fast transactions must be authorized online with the floor limit set to zero:
• T9F1B (terminal floor limit) = 00000000
• T9F918709 (TAC-Default) Byte-4, Bit-8 must be set to 1 to ensure the transaction is handled online
The TAC-Default for most acquirers already has Byte-4, Bit-8 set for transactions, including Quick Chip and M/Chip
Fast. The value can be set either:
• Temporarily by using a EMV 33.09.x Set Tag Data Message during a scheduled suspend step
• Permanently by using a EMV 33.08.x Set Variables Message or loading a DP with a custom EMVCONTACT.XML
file
Suspend the flow at step U so the POS can control transaction results by specifying step U in either:
• EMV 33.01.x Status Message in standard flow
• EMV 33.00.x Transaction Initiation Message in on-demand
8.10.2 Differences
An on-demand or standard-flow EMV transaction using Quick Chip or M/Chip Fast continues typically until the
terminal makes an online authorization request.
The differences that occur after the terminal sends EMV 33.03.x Authorization Request Message are as follows:
1. Send EMV 33.04.x Authorization Response Message with D1004 tag set equal to 0 to indicate a host
response is not available.
2. The terminal prompts to remove the card, which can then be removed at any time. Its generated cryptogram
is stored locally.
3. Since the card must be authorized online, the terminal sends EMV 33.05.x Authorization Confirmation
Response Message to indicate that the transaction was declined (D1003 = D), and was declined offline (T8A =
Z3).
4. The POS sends the saved data to the host for authorization with the correct transaction amount.
5. The POS displays the transaction result (whether it was approved or declined online) on the terminal screen.
Scenario Result
The variable, 0019_0021, in emv.dat is not The terminal processes the transaction as a typical EMV
set to 1 transaction, regardless of the AID setting.
Scenario Result
• The variable, 0019_0021, in emv.dat is The terminal processes the transaction as a Fast Quick Chip
transaction.
set to 1
• The emvaid.dat flag for the AID is set to
1
• The variable, 0019_0021, in emv.dat is The terminal begins the transaction as a Fast Quick Chip
transaction, but when it encounters the disabled AID, it performs
set to 1
an abbreviated Fast Quick Chip transaction.
• The emvaid.dat flag for the AID is set to
0
Important: Because the AID is not known until after the transaction starts, the POS that supports Fast Quick Chip
must be prepared to handle a transaction as either:
• Fast Quick Chip without the 33.03/33.04 sequence
• Abbreviated Fast Quick Chip with the 33.03/33.04 sequence
POS Terminal
Sends a 14.x Set Transaction Type message. Note: Fast QuickChip transaction does NOT fully/correctly
Optional. complete for non-full EMV refund/void transactions.
POS Terminal
Requirement Description
2 The card's AID Application Usage Control (AUC) must permit cash back
OR
Forced cash back is enabled for the AID in EMV AID Parameters
(emvaid.dat)
3 The card's AID must have at least one CVM enabled for cash back. The
CVMs must also be enabled in the terminal capabilities.
Note: If the final CVM selected by the card is not enabled for cash back, the
FQC transaction is canceled if a non-zero cashback amount is selected.
Domestic • The terminal is configured to enable some AID CVMs The FQC transaction suspends for
Debit AID cash back
that allow cash back
• The AID CVMs are enabled in the terminal capabilities
• The card's AID Application Usage Control (AUC) permits
cash back for domestic debit transactions
Domestic • The terminal is configured to enable some AID CVMs The FQC transaction does not
Debit AID suspend for cash back
that allow cash back
• The AID CVMs are disabled in the terminal capabilities
International • The terminal is configured to enable some AID CVMs The FQC transaction does not
Debit AID suspend for cash back
that allow cash back
• The AID CVMs are enabled in the terminal capabilities
• The card's AID Application Usage Control (AUC) permits
cash back for international debit transactions
• The POS does not support cash back for international
debit transactions
Credit AID The terminal is configured to disable all AID CVMs that The FQC transaction does not
allow cash back suspend for cash back
POS Terminal
Sends an EMV 33.02.x Track 2 Equivalent Data Message, which indicates Fast Quick
Chip transaction reverted to a typical EMV transaction because the AID does not
support Fast Quick Chip.
Sends an online EMV 33.03.x Authorization Request Message with the first
cryptogram that reflects the actual transaction amount. sent in the second 13.x
message.
8.11.1 Overview
Voice referral, also referred to as voice authorization, is a situation where voice authorization by phone is required
in order to complete the EMV transaction. The merchant is given a phone number to call for transaction approval. A
"declined" message will be sent but the terminal will instead display "Voice authorization required" and prompt for
card removal. The operator is then given the card to perform the voice referral and complete the transaction. If the
transaction is approved, an authorization code will be provided over the phone. This code will be included in the
receipt and provided in the settlement.
9 Additional Features
When writing of the signature is finished, it can be accepted when the OK button is pressed, or when the pen is not
used for a specified time. In the latter case, the terminal automatically accepts the signature after a time specified
in config.dfs, index '0009_0013'. When accepted, the terminal displays the text “Signature Accepted” below the
signature box.
In order to clear the signature from the screen, the customer can press the CLEAR button, or the cashier can send
the '15.4' reset signature message. The CLEAR button can be used many times.
The screen signature must be translated from analog form to digital. The average signature is translated into 700
bytes of digital data. When the POS retrieves that data from the terminal, the signature’s digital data is divided into
signature blocks. The configuration switch in sig.dat file, index '0009_0012', controls data length per block. The
default value is set to 200 bytes (this is also the maximum number).
The number of bytes per signature block can be defined in the local configuration file sig.dat, but cannot be
changed or read by 28.x or 29.x.
9.2.2.1 Standard
Signature capture is a standard feature for the iSC250, iSC350, and iSC480 terminals. When using RBA defaults,
functions are executed in a specific order. The signature function is part of it. When signature capture is finished,
RBA goes to the next function. The signature position in the RBA data flow has one adjustment in file config.dfs,
0009_0006 index, called Save State on Signature Capture.
• When Save State on Signature Capture = 0, terminate the transaction before prompting for a signature.
• When Save State on Signature Capture = 1, save the current state, prompt for a signature, and then return to
the saved state.
The signature screen can be aborted by messages 00.x, 01.x, 10.x, 15.0, 15.1, 15.6, and 30.x.
9.2.2.2 On-Demand
The signature may be started by the RBA standard process or by the POS 20.x message. When the signature is
accepted, the screen shows the signature until the start of the digital version of the signature is uploaded to the
host, or it is immediately cleared from the screen. That is controlled by the configuration parameter in sig.dat file,
index 0009_0008, Display Signature Until Download Starts (0 = disable, 1 = enable). The 29.xxxxx7yy message is
used for uploading the signature to the host. The next process after signature is the Transaction End process.
If the signature is accepted, RBA can send to the POS an unsolicited the 20.x message to inform it that the signature
data is ready to be retrieved. Sending the 20.x message is controlled by the configuration switch in sig.dat file,
index 0009_0002. When this switch is set to 1, it sends the 20.x message, 0 = no message.
The signature on-demand starts when the terminal receives the 20.x message from the POS. Before the message is
executed, RBA checks the following conditions.
• If the terminal is not in the signature process, the current process is terminated, and the new signature
request is executed. After signature is finished, RBA goes to the Transaction End.
• If the terminal is in the signature state, invoked by RBA or by a previous on-demand 20.x message, the current
signature is terminated, and the new message is executed.
If the 20.x prompt field is greater than 0, the prompt text is displayed on the signature screen below
the signature box.
If the 20.x prompt field equals 0, RBA config prompt is used instead. When the signature is accepted,
RBA goes to the Transaction End.
• When another on-demand message is received during the execution of 20.x (e.g., 21.x or 23.x), that message is
not executed, and a reject response is sent, if available. The current process is continued.
• When signature on-demand is successfully finished, RBA displays “Signature accepted” for three seconds and
then goes to Transaction End. After that, based on the RBA configuration selection, it might wait for the host-
reset message, go to advertisements, or start a new transaction.
The signature process can be aborted by messages 00.x, 01.x, 10.x, 15.0, 15.1, 15.5, 15.6, and 30.x.
Use CVM Limit from EMV .xml Files Use cards.dat for Signature Threshold
9.2.3.1 Overview
Some Ingenico merchants prefer a paper signature over the standard electronic signature following transaction
approval. A new configuration has been added which enables electronic signature to be bypassed and a paper
signature to be recorded in its place. This applies to both standard and on-demand flow. Other customers will not
be affected by this change and can continue using electronic signature.
Approved.
Omitted in the diagram above, each message flowing either direction prompts an ACK response from
the receiving unit.
RBA also supports the Hypercom Legacy signature format, but the signature block size is limited to 640 x
128 pixels.
• If the card swipe is error-free, the RBA saves the card information and progresses to the next process in the
current flow.
• If the card read is unssuccessful:
The terminal displays an error prompt for three seconds, for example, “Card read error. Try again”.
The terminal returns to the initial card swipe screen.
If a consecutive number of bad card swipes reaches the limit specified by parameter '0003_0001' in
the Terminal Local MSR Card Swipe Options (msr.dat) section in the RBA configuration file
config.dfs, the prompt changes to “Please hand card to cashier,” displayed for three seconds.
After that, the RBA checks parameter '0003_0002' in the same section of config.dfs, which tells the
duration (in tenths of a second) that the“Ask for Assistance” prompt should display. If the value is 0, the
prompt is not displayed.
Next, RBA initializes the bad card swipe counter to the starting value and goes to the initial card swipe
screen. If the new card swipe is faulty and prompts from the previous bad card swipe have not yet
expired, the new card swipe is ignored. This process filters out card swipes that are too quick, too slow,
or too shaky.
9.5.2 Compression
The Line Items are displayed on the terminal screen in a dedicated area. The off-the-shelf RBA takes advantage of
the whole screen width. The Scrolling Receipt element size can be tailored to fit the background image size, if
specified in the form file. The function compresses the line item text to the Scrolling Receipt element size.
Text compression works as follows:
• If the Line Item text received from the host in a message is greater than 40 characters, it is truncated to 40
characters; otherwise it is saved in the RBA internal buffer.
• When it is time to display the text, it is compressed to fit the scroll window width. The width is selected in the
form files.
The form element, Scrolling Receipt, defines the height and width of the scroll window size (SWS), and where the
line item text is displayed. Here are the compression rules:
• If the text is longer than SWS and has no '$' char, the text is truncated at the window’s width.
• If the text is longer than SWS and has a '$' char, part of the text in front of '$' character is removed and '$'
together with following chars are shifted forward, example:
1. The POS sends a 01.x Online Message to display the "swipe" screen, which enables contactless and requests
the card tap.
2. The POS sends a 23.x Card Read Request (On-Demand) message to enable contactless and request the card
tap. It is recommended that a 23.x message not be sent from the "swipe" screen in order to avoid accidentally
starting a second tap sequence from the "swipe" once the 23.x message is complete.
10 Appendices
The X and Y offsets consist of nine-bit values and can be positive or negative. The offset values are coded in pairs
that complement notation with the sign bit in the most significant position. Sign bit extension to the 10th and 11th
bits must be performed when adding the nine-bit offset values to the previous 11-bit coordinate values.
Computing Successive Coordinates with Data Sets
Segment Start 11 bytes (11-bit X position, X10, X9, Y10, Y9, X8, X7,
11-bit Y position) X6, X5, X4, X3, X2, X1, X0,
Y8, Y7, Y6, Y5, Y4, Y3, Y2,
Y1, Y0
Succeeding Nine bytes (nine-bit X x8, x7, x6, x5, x4, x3, x2, x1, These values are added to
coordinate offset position, nine-bit Y position) x0, y8, y7, y6, y5, y4, y3, y2, the previous set of data to
y1, y0 form a new 11- byte data
set.
Location of new 11 bytes (11-bit X position, X10', X9', X8', X7', X6', X5', Sucessive coordinate
coordinate 11-bit Y position) X4', X3', X2', X1', X0', Y10', offsets are added to this
Y9', Y8', Y7', Y6', Y5', Y4', Y3', data set until the signature
Y2', Y1', Y0' is completed or it exceeds
the signature size limit.
x8 is added to
X10, X9, and
X8. y8 is added
to Y10, Y9, and
Y8. The rest
correspond to
their
respective
numbers only
(For example:
X5 + x5 = X5').
Each coordinate data set is followed by one of the following characters or data set:
• A Pen-Up control character
• A new Segment Start control character
• Another coordinate data set
10.2.1 Overview
A script is a text file comprised of a series of statements thath define one or more tags with associated parameters.
• Each statement must begin and end on the same line.
• A script can contain comments to explain the intent of the script and white space (space or tab characters) to
enhance readability. Comments and white space are ignored by the script parser.
• Each tag description in a script describes a screen to be displayed when that tag is active and then transitions
to screens associated with the other tags.
• The first tag in a script is the first tag to be active and describes the initial screen. The order of other tags is
not important.
• Buttons that are not associated with a parameter will terminate the script with their default return value.
10.2.2 Comments
A comment begins with // and includes all characters up to the end of the line. The end of line character is not part
of the comment, as it may be required to terminate a script statement.
10.2.3 Tags
Each tag description begins with a tag name. A tag name is defined by the following format:
[ tag_name ]
Tag_name can be any combination of non-white space characters except for the ] character. Currently, tag names
are limited to a maximum of 11 characters in length. Each tag name must be unique within the script. Any white
space characters that occur between the initial [ and final ] are stripped from the tag name.
Note
flags is optional.
parameters are consistent with the form. If no form parameter is specified for a tag, the default message form,
defined by 0030_0002 in forms.dat, is used.
The format for the form parameter is as follows:
form = filename
where filename is the name of the file that contains the form. Only K3Z format forms are supported.
scroll=1 // Indicates that a scrolling text region is used and it uses element 1.
text
text=2,pt%VAR5%.txt // Indicates replacement text for text element 2 is from file pt%VAR5%.txt.
button=A,[tc] // Indicates that when a button that returns “A” is pressed, go to screen ”tc”.
button=0,A // The button that returns 0 terminates the script with a return key value of “A”.
10.2.8.1 Notes
• Filenames and text strings are translated using the rules for form strings. If a filename or string contains
%delimited variables, the tag is replaced by the contents of the variable.
• If a form name is not specified, the Terms and Conditions form is used.
• Any button that does not direct the script to another screen or run a command, terminates the script and
sends a response message.
• “,” indicates that a special attribute follows. If the attribute is “h” then the button is hidden when the form first
loads. If the attribute is “d”, the button is shown as depressed. “d” is intended for radio buttons and check
boxes only.
• Valid commands are:
-h Show a button.
+h Hide a button.
~h Toggle a buttons hide state.
For testing purposes, use GENERIC_T.PEM, the test key provided by PayPal. See section PayPal
Configuration (paypal.dat) for additional information.
The PayPal PIN block is 138 bytes long. Due to the limitations of the EFT message protocol, the PIN block
must be base64 encoded. This expands the PIN block to 184 bytes.
For RBA to recognize PayPal cards, either internal (see parameter '0099_0001') or external (see parameter
'0005_0002') BIN lookup must be enabled. The payment type determined by the method used must match
the PayPal card table entry in cards.dat.
10.3.3.1 PayPal.dat
See section PayPal Configuration (paypal.dat) for details.
10.3.3.2 Forms
A number of new forms containing the PayPal logo have been introduced to RBA for use with PayPal’s
authorization flow. In all but one case, the DFS Data Index is the same as is used for RBA's standard flow.
Offline Form 0030_0001 PPOFFLINE.K3 This is the form that the terminal will display
Z when it is offline.
Swipe Card Form 0030_0004 PSWIPE.K3Z This is the form that the terminal will display to
prompt the cardholder to swipe his magnetic
stripe card.
Swipe Card Form with 0030_0005 PLSWIPE.K3Z This is the form that the terminal will display to
Language Buttons prompt the cardholder to select a language and
to swipe his magnetic stripe card. Displayed if
Combine Language Swipe Screens parameter
('0007_0004') is set to 1, <combine screens>.
Swipe card with 0030_0021 CPSWIPE.K3Z This is the form that the terminal will display to
Contactless prompt the cardholder to tap his contactless
card on the terminal.
Swipe with Language + 0030_0022 CPLSWIPE.K3Z This is the form that the terminal will display to
Contactless prompt the cardholder to select a language and
to tap his contactless card on the terminal.
Displayed if Combine Language Swipe Screens
parameter ('0007_0004') is set to 1, <combine
screens>.
PayPal Data Input 0030_0027 PPALINP.HTM Used with the 21.x: Numeric Input Request
Message, this is the form used by the cardholder
to input a variable Code to the terminal.
PayPal PIN Entry PayPal PIN Entry PPALPCAN.HT Requests the cardholder’s PayPal PIN for PayPal
M authorization.
PayPal Please Wait 0030_0029 PPWAIT.K3Z Requests that the PayPal cardholder wait for
approval or denial.
10.3.4.1 Scenario 1
• If Local time is 6AM (0600 hours) and GMT is 10AM (1000 hours), the difference in time is -4 hours: 0600 -
1000 = -0400.
• -4 hours X 3600 seconds = -14400 seconds.
• '-14400' (with the negative sign in front of the numerals) is the value to enter into variable 205.
10.3.4.2 Scenario 2
• If Local time is 1 PM (1300 hours) and GMT is 10 AM (1000), the difference in time is 3 hours, therefore, the
value to enter into variable 205 is '10800'.
When calculating, remember to pay attention to any adjustments in time due to Daylight Savings Time, British
Summer Time, etc., as these events increase or decrease the difference.
See also www.greenwichmeantime.com for additional information.
• Once the POS has sent transaction totals to the terminal, status polling can be disabled until a 10.x Hard
Reset Message or 50.x: message is received from the terminal.
• When using 19.x BIN Lookup Message message for Tender Lookup, config.dfs parameter '0005_0002' can
be set to option '2' so that the 19.x message is sent to the POS only after the amount has been received.
• If the customer does not provide input when an on-demand function is called, a '15.6' message needs to be
sent to stop action and return to the previous state. If state is not a concern, RBA can be configured to accept
any on-demand message (e.g., signature, PIN, clear text, form display, card read) and disregard the previous
request. This is the preferred alternative to the standard RBA flow. When using on-demand functions with
the default RBA flow, the application returns to its previous state when the on-demand function is complete
to preserve the standard transaction flow.
• When using the 28.x Set Variable Request message, use the Response Type parameter to suppress a response
if it is not explicitly needed. This replaces the full response message with a single ACK returned to the POS.
This can be useful to speed up messaging during scrolling receipt updates where multiple items are sent in
short periods of time.
See Host Interface Messages for detailed information on RBA Host Interface messages.
This method cannot be used to obtain Account Name / Card Number “in the clear.” Transaction data
returned when using 406 or 407 will consist of the entire encrypted data string.
As with the previous scenario, a 29.x message with function type of 402 can be sent to retrieve the Account Name
for receipt printing.
3. Build and load a new RBA load package using the updated XML file.
10.5.1.1 Overview
Women, Infants and Children (WIC) is a federal assistance program which provides healthcare and nutrition for
low-income women who are pregnant, breastfeeding, and/or have infants and children under the age of five.
In the past, WIC authorities disseminated benefits to individuals in the past via paper food stamps, online MSR
Electronic Benefits Transfer (EBT) cards, and offline EBT smart cards. Please refer to ANSI 2005 for specification
details unless stated otherwise.
10.5.1.3 Modes
WIC smart cards have three primary usage modes as described in the table below.
Usage Mode Breakdown
Redemption Mode Used by retailers to debit a WIC smart card's benefits balance during normal transactions.
Training Mode Used by retailers to train employees on how to process WIC transactions.
A WIC smart card's benefit balance is typically not debited during training transactions.
The specific PAN digit that indicates WIC smart card type varies by WIC authority. For instance, most WIC
authorities indicate the WIC smart card type in the eighth digit of the PAN. whereas Texas-issued smart cards
indicate the WIC smart card type in the seventh PAN digit.
As an example, the seventh digit of the following Texas-issued smart card account is a 1, indicating that the card is a
production card.
5077171016802632028
As another example, the eighth digit of the following Wyoming-issued smart card account is a 9, indicating that the
card is a training card.
5053495900027662
Half of the WIC transaction messages initiate and/or require cardholder-to-terminal interaction, some
of which may be performed in varying sequences of steps. Other messages may be fragmented and
require multiple messages to be processed or sent.
_60 _61 Authenticate WIC User (i.e. prompt for WIC PIN).
_99 request and response messages are included as a requisite from Toshiba as an option to cancel
debit from the POS, though these are redundant as a 10.x: can cancel the transaction and send
a _31008C cancel response message.
If a WIC transaction is prompted during a standard RBA transaction, the following error will occur:
WSPI_TENDER_MISMATCH error response message _119993 will be sent if the terminal receives _10 Get
PAN Card Number Request but non-WIC transaction already started.
5 4 Alphanum Error code. See eWIC Error Codes/Displays. Sends "0000" if no error.
All WMP format messages use '0000' as the error code if there is no error to report.See eWIC Error
Codes/Displays for a list of all error codes returned during WIC transactions.
M+17 2 Numeric Total number of items in WIC balance. This value is repeated every
block.
Half of the WIC transaction messages initiate and/or require cardholder-to-terminal interaction (see
also eWIC WMP Messages, Section 'Variable/Interactive messages'). Most balance validation and
debit calculations must be performed by the terminal's WIC library (WSPI layer) rather than the smart
cards themselves.
_01 Mess
age
identi
fier:
WSP
M
Reset
/
Activ
ation
respo
nse.
000 No
0 error
code.
NN Numb
er of
WIC
autho
rities.
??. List of
.. WIC
autho
rities.
VER DLL
S.. versio
ns for
WIC
autho
rities.
_00 WSPM Reset/Activation Typically used only once following a reboot or POS
logon, but may precede every transaction.
_10 Get Card PAN May be sent before or after WIC card insertion.
_60 Authenticate WIC User The terminal prompts user for PIN up to a maximum
number of retries.
_70 WSPM Shutdown/Deactivation Typically used once following POS logoff but may be
ignored altogether.
_110000?? 11.19WIC
LLPAN... Me Brea
ssa kdo
ge wn
Fra
gm
ent
_11 Mess
age
identi
fier:
Get
Card
PAN
respo
nse
messa
ge.
000 No
0 error
code.
??. WIC
.. autho
rity.
LL PAN
lengt
h.
PAN PAN.
...
_61 Messa
ge
identif
ier:
Authe
nticat
e WIC
User
respo
nse
messa
ge.
000 No
0 error
code.
00 Valid
PIN
enter
ed.
_210000?? 11.19WIC
... Me Brea
ssa kdo
ge wn
Fra
gm
ent
_21 Messa
ge
identi
fier:
Read
WIC
Balan
ce
respo
nse
messa
ge.
000 No
0 error
code.
?? WIC
autho
rity.
... Curre
nt
mont
h
balan
ce
data.
_00 WSPM Reset/Activation Typically used only once following a reboot or POS
logon, but may precede every transaction.
_10 Get PAN Request May be sent before or after WIC card insertion.
_60 Authenticate WIC User The terminal prompts user for PIN up to a maximum
number of retries.
_20 Read WIC Balance This message checks the card's starting balance.
Performed by WIC library.
_20 Read WIC Balance This message checks the card's ending balance.
Performed by WIC library.
_70 WSPM Shutdown/Deactivation Typically used once following POS logoff, but may be
ignored altogether.
_110000?? 11.19WIC
LLPAN... Me Brea
ssa kdo
ge wn
Fra
gm
ent
_11 Mess
age
identi
fier:
Get
Card
PAN
respo
nse
messa
ge.
000 No
0 error
code.
??. WIC
.. autho
rity.
LL PAN
lengt
h.
PAN PAN.
...
_61 Messa
ge
identif
ier:
Authe
nticat
e WIC
User
respo
nse
messa
ge.
000 No
0 error
code.
00 Valid
PIN
enter
ed.
_210000?? 11.19WIC
... Me Brea
ssa kdo
ge wn
Fra
gm
ent
_21 Messa
ge
identi
fier:
Read
WIC
Balan
ce
respo
nse
messa
ge.
000 No
0 error
code.
?? WIC
autho
rity.
... Curre
nt
mont
h
balan
ce
data.
The 11.19WIC
cardholder
accepts via
"ENTER" or
"YES" buttons.
_310000?? 11.19WIC
LLSIG... Me Brea
ssa kdo
ge wn
Fra
gm
ent
_31 Mess
age
identi
fier:
Debit
WIC
Balan
ce
respo
nse
messa
ge.
000 No
0 error
code.
??. WIC
.. autho
rity.
LL Debit
signat
ure
lengt
h.
SIG.. Debit
. signat
ure.
_210000?? 11.19WIC
... Me Brea
ssa kdo
ge wn
Fra
gm
ent
"_21 Mess
" age
identi
fier:
Read
WIC
Balan
ce
respo
nse
mess
age.
"00 No
00" error
code.
"??... WIC
" balan
ce
infor
matio
n.
_51 Mess
age
identi
fier:
End
WIC
Trans
action
respo
nse
messa
ge.
000 No
0 error
code.
??. WIC
.. autho
rity.
_110000?? 11.19WIC
LLPAN... Me Brea
ssa kdo
ge wn
Fra
gm
ent
_11 Mess
age
identi
fier:
Get
Card
PAN
respo
nse
messa
ge.
000 No
0 error
code.
??. WIC
.. autho
rity.
LL PAN
lengt
h.
PAN PAN.
...
_61000000 11.19WIC
Me Brea
ssa kdo
ge wn
Fra
gm
ent
"_61 Mess
" age
identi
fier:
Authe
nticat
e WIC
User
respo
nse
messa
ge.
"00 No
00" error
code.
"00" Valid
PIN
enter
ed.
_210000?? 11.19WIC
... Me Brea
ssa kdo
ge wn
Fra
gm
ent
"_21 Mess
" age
identi
fier:
Read
WIC
Balan
ce
respo
nse
messa
ge.
"00 No
00" error
code.
"??" WIC
autho
rity.
"..." Curre
nt
mont
h
balan
ce
data.
Cardholder ca 11.19WIC
ncels PIN
entry via
"CANCEL"
button or by
removing the
WIC smart
card.
_31008C? 11.19WIC
?00 Me Brea
ssa kdo
ge wn
Fra
gm
ent
"_31 Mess
" age
identi
fier:
Debit
WIC
Balan
ce
respo
nse
mess
age.
"00 WIC
8C" debit
trans
actio
n
cance
lled
"??... WIC
" autho
rity.
"00" Zero-
lengt
h
debit
signat
ure.
Me Brea
ssa kdo
ge wn
Fra
gm
ent
"_51 Mess
" age
identi
fier:
End
WIC
Trans
actio
n
respo
nse
mess
age.
"00 No
00" error
code.
"??... WIC
" autho
rity.
_110000?? 11.19WIC
LLPAN... Me Brea
ssa kdo
ge wn
Fra
gm
ent
_11 Mess
age
identi
fier:
Get
Card
PAN
respo
nse
messa
ge.
000 No
0 error
code.
??. WIC
.. autho
rity.
LL PAN
lengt
h.
PAN PAN.
...
The
cardholder
enters an
invalid WIC
PINs up to a
maximum
number of
attempts.
_61 Messa
ge
identif
ier:
Authe
nticat
e WIC
User
respo
nse
messa
ge.
009 All
0 WIC
PIN
entry
attem
pts
invali
d but
card
not
PIN-
blocke
d.
FF No
valid
PIN
enter
ed.
or
Me Brea
ssa kdo
ge wn
Fra
gm
ent
"_61 Mess
" age
identi
fier:
Authe
nticat
e WIC
User
respo
nse
messa
ge.
"00 All
0A" WIC
PIN
entry
attem
pts
invali
d and
card
PIN-
block
ed.
"LL" No
valid
PIN
enter
ed;
card
locke
d.
Me Brea
ssa kdo
ge wn
Fra
gm
ent
_51 Mess
age
identi
fier:
End
WIC
Trans
action
respo
nse
messa
ge.
000 No
0 error
code.
??. WIC
.. autho
rity.
_110000?? 11.19WIC
LLPAN... Me Brea
ssa kdo
ge wn
Fra
gm
ent
_11 Mess
age
identi
fier:
Get
Card
PAN
respo
nse
messa
ge.
000 No
0 error
code.
??. WIC
.. autho
rity.
LL PAN
lengt
h.
PAN PAN.
...
_61008EFF 11.19WIC
Me Brea
ssa kdow
ge n
Fra
gm
ent
_61 Messa
ge
identif
ier:
Authe
nticat
e WIC
User
respo
nse
messa
ge.
008 WIC
E PIN
entry
cancel
led.
FF No
valid
PIN
enter
ed.
Me Brea
ssa kdo
ge wn
Fra
gm
ent
_51 Mess
age
identi
fier:
End
WIC
Trans
action
respo
nse
messa
ge.
000 No
0 error
code.
??. WIC
.. autho
rity.
0x0001 WSPI_ACCESS_DENI WIC authorities are not initialized (i.e. no _00 "WIC problem/See
ED message). journal message".
Mapped to Actual Error Code:
0x9998 WSPI_NO_STATE_MODULE_FOR_CARD
0x0004 WSPI_BAD_PARAM Parameters in WMP request message are missing "WIC problem/See
or invalid. journal message".
0x0005 WSPI_CARD_ABSENT WIC smart card is not (yet) inserted (see also "WIC problem/See
0x0006 WSPI_CARD_REMOVED immediately below). journal message".
0x0006 WSPI_CARD_REMOVE WIC smart card was removed unexpectedly with "Card removed/
D WIC transaction in progress. Transaction cancelled".
0x0007 WSPI_DELETE_ERRO WIC smart card erase data error. "WIC problem/See
R journal message".
0x0008 WSPI_INSUFFICIEN Insufficient buffer was provided to return WMP "WIC problem/See
T_BUFFER response message. journal message".
0x000A WSPI_PIN_LOCKED WIC smart card is blocked after allowed number of "Card problem/ Return
PIN entry attempts exceeded (see also 0x009D card to clinic".
WSPI_PINALREADY_BLOCKED).
0x000B WSPI_READ_ERROR WIC smart card read data error. "Card problem/
Return card to clinic".
0x0012 WSPI_READER_BUSY Smart card reader is unavailable, possibly busy No change in display.
with another smart card.
0x0080 WSPI_PURSE_ERROR WIC smart card write balance error. "Card problem/
Return card to clinic".
0x0084 WSPI_INSUFFICIEN No or insufficient WIC items are available to debit "No current WIC".
T_BALANCE from WIC smart card's current month (see also
0x008F WSPI_EMPTY_PRESCRIPTION).
0x0087 WSPI_BENEFITS_EX WIC smart card's benefits are expired (i.e., current "No current WIC".
PIRED date is after all WIC smart card's benefits months).
0x0088 WSPI_BENEFITS_CO WIC smart card's benefits months are invalid; (i.e., "Card problem/
NFLICT multiple benefits for same month(s), start/end Return card to clinic".
dates out-of-order).
0x0089 WSPI_ALREADY_APP WIC debit (has likely) already applied. No change in display.
LIED
0x008A WSPI_PERIOD_NOT_ WIC smart card's benefits are not yet available; "No current WIC".
ON_CARD (i.e., current date is before all WIC smart card's
benefits months).
0x008B WSPI_CARD_REAUTH WIC smart card was re-authenticated at WIC No change in display.
ENTICATED clinic (after having been added to hot card list).
0x008D WSPI_NOPREV_READ WIC smart card debit was attempted without prior "WIC problem/
balance read. See journal message".
0x008E WSPI_PINENTRY_CA WIC PIN entry was cancelled by cardholder or "Entry timeout/
NCELLED timed out. Transaction cancelled".
0x008F WSPI_EMPTY_PRESC No WIC items are available on WIC smart card (for "No current WIC".
RIPTION current month) [see also 0x0084
WSPI_INSUFFICIENT_BALANCE].
0x0090 WSPI_INVALID_PIN No valid PIN was entered by cardholder (but WIC "Incorrect PIN".
card Not PIN-blocked; see 0x000A
WSPI_PIN_LOCKED).
0x0093 WSPI_CARDTYPE_ER WIC smart card type is not enabled for current "Authentication failed".
ROR mode (configured in _00 message, see eWIC WMP
Messages).
0x0095 WSPI_CSNREAD_ERR WIC smart card read serial number error. "Card problem/
OR Return card to clinic".
0x0099 WSPI_BIN_ERROR WIC authority for current card/operation is not "WIC problem/
available or loaded. See journal message".
Mapped to Actual Error Code:
0x9998 WSPI_NO_STATE_MODULE_FOR_CARD
0x009A WSPI_INVALIDPIN_ WIC smart card is (possibly) not blocked even after "Card problem/
LOCK exceeding number of allowed PIN entry attempts Return card to clinic".
(see also 0x000A WSPI_PIN_LOCKED).
0x009C WSPI_GROCER_BLOC WIC smart card is (already) blocked by terminal. "Card problem/
KED Return card to clinic".
0x009D WSPI_PINALREADY_ WIC smart card is already PIN-blocked (see also "Card problem/
BLOCKED 0x000A WSPI_PIN_LOCKED). Return card to clinic".
0x009E WSPI_FUTURE_LOCK Date to block WIC smart card is after current date. No change in display.
CARDDATE
0x9997 WSPI_STATE_MODULE No WIC authority DLLs are available or loaded. "WIC problem/
_MISSING See journal
message".
0x9998 WSPI_NO_STATE_MOD No WIC authority DLLs are initialized (via _00 "WIC problem/
ULE_FOR_CARD message) [see also 0x0001 WSPI_ACCESS_DENIED, See journal
WSPI_BIN_ERROR]. message".
10.7.1 Limitations
The form file name can be up to 12 characters long, including the dot (.) and K3Z extension. 150 total forms can be
loaded to the terminal, including the default forms.
10.7.2 Buttons
The .K3Z files provided with the off-the-shelf RBA include the most common buttons that can be used in the
RBA. In the button graphic’s file name, some .bmp files contain the letter “d” or “u.”
10.7.3 Languages
The RBA has the ability to display prompts in up to three languages. The prompts are stored in the
files PROMPT.XML and SECURPROMPT.XML. In order to support multiple languages, each prompt is assigned a number.
A form can then reference a prompt by its number. For example, the text element in the form swipe.K3Z contains
the text “<?ivPROMPT3?>”. This instructs the RBA to load prompt three from the current language's prompt
file. Prompt three should, in the proper language, instruct the customer to swipe a card.
<?ivCARDNUMBER?> Displays account number with all but last X digits as Xs. The
number of digits shown is set by config setting '0003_0011'.
<?ivVAR1?> through User-defined variable (1-25). Set through the file var.dat or the
<?ivVAR25?> 28.x message.
Example Use of Function Keys for Scrolling and Selecting Menu Options
The following illustrations show Function Key usage for selecting menu options on iPP320, iPP350, iSMP, iCMP,
and iWL series payment terminals.
The use of Function keys to select menu options as described in this section does not apply to the
iSC250, iSC350, or iSC480 touch screen terminals.
Each of the PayPal versions noted in this section includes a PayPal button in place of the Enter Card
button.
10.7.7.1 Advertising
Form ADS.K3Z
Text N/A
10.7.7.2 Approved/Disapproved
Form APPDAPP.K3Z
Form SWIPE.K3Z
The PayPal version of this form is PSWIPE.K3Z. Note that the PayPal form is not available for iMP350,
iMP352, iPP320 and iPP350 terminals.
Description Card read request (prompts user to swipe magnetic stripe card)
Form COD.K3Z
Text Variable
The "Enter Card" button for manual entry is hidden when the Display “Enter Card” Prompt
(configuration parameter '0007_0029') is set to '0'. In order for the manual entry button to be
displayed, this configuration parameter must be set to a value of '1' to '4' as described in the Main Flow
(mainFlow.dat) section of this document.
Status 11.01SlideCard
Response
Form LSWIPE.K3Z
Terminal Cancel
Buttons
Allowed
The PayPal version of this form is PLSWIPE.K3Z. Note that the PayPal form is not available for iPP320
and iPP350 terminals.
Description Prompts the customer to remove the card once it has been inserted.
Initiated By Card is inserted to the slot (is essentially the second swipe card screen).
Form REMOVE.K3Z
Form CASHB.K3Z
Form CASHBA.K3Z
Form CASHBO.K3Z
Form CASHBV.K3Z
Form CCOD.K3Z
Text Variable
Info
The "Enter Card" button for manual entry is hidden when the Display “Enter Card” Prompt
(configuration parameter '0007_0029') is set to '0'. In order for the manual entry button to be
displayed, this configuration parameter must be set to a value of '1' to '4' as described in the Main Flow
(mainFlow.dat) section of this document.
Form CSWIPE.K3Z
The PayPal version of this form is CPSWIPE.K3Z. Note that the PayPal form is not available for iPP320
and iPP350 terminals.
Descr Contactless EMV and Swipe with Language. Settings are as follows:
iption
Parameter Setting Description
This parameter controls the display of the "Enter Card" button on the card swipe screen and
enables cardholder prompts for manual entry. When not set to '0', the "Enter Card" button
will be displayed with prompt options. Additional settings for parameter '0007_0029' used
during manual entry include:
• 2 = Display "Enter Card" button and prompt for card number and expiration date (no
CVV).
• 3 = Display "Enter Card" button and prompt for card number and CVV (no expiration
date).
• 4 = Display "Enter Card" button and prompt for card number (no expiration date or
CVV).
DFS 0030_0039
Data
Index
Form CELSWIPE.K3Z
Form iPP320/iPP350/iWL250/iMP350/iMP352
Butto • “Enter Card” – M
ns
• "Francais"
and
IDs • "English"
• "Espanol"
iSC250/iSC350/iSC480
• "ENTER CARD" - M
• "LANGUAGE" - L
iUP250
• "English"
• "Espanol"
Form BOOT.K3Z
• Alphanumeric Entry
• Input Entry
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iPP350 or iWL250.
Form ALPHA.K3Z
Text Variable
Form INPUT.K3Z
Text Variable
Status Response
Form LANG.K3Z
10.7.7.10 Message
Specification Description
Form MSG.K3Z
Examples follow.
Form MSG.K3Z
Form MSG.K3Z
Form MSG.K3Z
Text “Approved”
Form MSG.K3Z
10.7.7.11 Offline
Initiated By 00.x
Form OFFLINE.K3Z
Info
The PayPal version of this form is PPOFFLINE.K3Z. Note that the PayPal form is not available for
iPP320 and iPP350 terminals.
Form AMTV.K3Z
Info
The form format discussed below applies to the default payment selection screen (pay1.K3Z) as well as
any custom payment screens that may be added (pay2.K3Z through pay9.K3Z).
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iUN250 or iWL250.
Form PSWIPE.K3Z
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iUN250 or iWL250.
Description Card swipe with PayPal and language. Settings are as follows:
Form PLSWIPE.K3Z
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iUN250 or iWL250.
Description Contactless card swipe with PayPal and language. Settings are as follows:
Form CPLSWIPE.K3Z
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iUN250 or iWL250.
Form CPSWIPE.K3Z
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iUN250 or iWL250.
Description PayPal data input form (zip code or phone number, for instance)
Form PPALINP.HTM
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iUN250 or iWL250.
Form PPALPCAN.HTM
This form can also be used as an on demand form using the 31.x PIN Entry on demand message.
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iUN250 or iWL250.
Form PPWAIT.K3Z
Form PIN%c.K3Z
10.7.7.14.1 Using the Credit Soft Key on PIN.K3Z Form for PIN Bypass
The PIN.K3Z form supports a "Credit" Button to allow PIN bypass during debit transactions.
Configuration Requirements
To bypass PIN entry, the following flags must be set:
• 0006_0013 = 1 to allow zero-length PIN entry.
Standard flow uses the same configuration parameters as on-demand; however, each payment type
can use a custom form. For example, Payment type A uses PINA.K3Z, Payment type B uses PINB.K3Z, and
so on.
10.7.7.15.1 Post-Sign
Signature capture for the iSC250, iSC350 and iSC480 is now implemented using a generic Pre-Sign form
(PRESIGN.K3Z). This form displays the "Cancel," "OK" and "Clear" buttons which are fully functional prior to
initiating the signature. Once the signature is initiated, this form is replaced by the Post-Sign form (POSTSIGN.K3Z)
which does not provide the "Cancel" option. The "Cancel" button is cleared from the screen and the "Cancel' key on
the terminal keypad will then be processed as a "Clear" key (which will erase the signature). Refer to the below
table for a summary of the "Cancel" button and key function for Pre-Sign and Post-Sign forms.
On-Demand signature request does not use the Pre-Sign and Post-Sign forms. Instead, a signature form
(SIGN.K3Z) is displayed throughout the transaction, and the "Cancel" button and keypad key continue to
function as "Cancel."
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iPP350 or iWL250.
Status Response before signature 11.10 "Please sign and tap OK with pen"
Form POSTSIGN.K3Z
10.7.7.15.2 Pre-Sign
Signature capture for the iSC250, iSC350 and iSC480 is now implemented using a generic Pre-Sign form
(PRESIGN.K3Z). This form displays the "Cancel," "OK" and "Clear" buttons which are fully functional prior to
initiating the signature. Once the signature is initiated, this form is replaced by the Post-Sign form (POSTSIGN.K3Z)
which does not provide the "Cancel" option. The "Cancel" button is cleared from the screen and the "Cancel' key on
the terminal keypad will then be processed as a "Clear" key (which will erase the signature). Refer to the below
table for a summary of the "Cancel" button and key function for Pre-Sign and Post-Sign forms.
On-Demand signature request does not use the Pre-Sign and Post-Sign forms. Instead, a signature
form (SIGN.K3Z) is displayed throughout the transaction, and the "Cancel" button and keypad key
continue to function as "Cancel.
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iPP350 or iWL250.
Form PRESIGN.K3Z
The "CANCEL" button is displayed until the signature has started. Once the
signature is initiated, the Pre-Sign Form is replaced by the Post-Sign form
and the "CANCEL" button is no longer displayed. This does not apply to
On-Demand signature request, where the "Cancel" button will continue to
be displayed and functional during the signature process.
captured, the "Cancel" button is cleared (hidden) from the screen and the "Cancel" key on the terminal keypad will
then be processed as a "Clear" key (which will erase the signature). The following table illustrates this process. Note
that this does not apply to On-Demand signature. For On-Demand signature, all buttons remain visible and
functional throughout the signature capture process.
Cancel Button and Physical Key Function During Signature Capture Process
For On-Demand signature, the "Cancel" button continues to be displayed during the signature process.
It is not hidden, and it remains fully functional.
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iPP350 or iWL250.
Status Response before 11.10 "Please sign and tap OK with pen"
signature
Form SIGN.K3Z
This parameter controls the display of the "Enter Card" button on the card swipe screen and
enables cardholder prompts for manual entry. When not set to '0', the "Enter Card" button
will be displayed with prompt options. Additional settings for parameter '0007_0029' used
during manual entry include:
• 2 = Display "Enter Card" button and prompt for card number and expiration date (no
CVV).
• 3 = Display "Enter Card" button and prompt for card number and CVV (no expiration
date).
• 4 = Display "Enter Card" button and prompt for card number (no expiration date or
CVV).
DFS 0030_0038
Data
Index
Form CESWIPE.K3Z
10.7.7.16.2 Contactless Smart Card (EMV) and Swipe with Language Selection
Descr Contactless EMV and Swipe with Language. Settings are as follows:
iption
Parameter Setting Description
This parameter controls the display of the "Enter Card" button on the card swipe screen and
enables cardholder prompts for manual entry. When not set to '0', the "Enter Card" button
will be displayed with prompt options. Additional settings for parameter '0007_0029' used
during manual entry include:
• 2 = Display "Enter Card" button and prompt for card number and expiration date (no
CVV).
• 3 = Display "Enter Card" button and prompt for card number and CVV (no expiration
date).
• 4 = Display "Enter Card" button and prompt for card number (no expiration date or
CVV).
DFS 0030_0039
Data
Index
Form CELSWIPE.K3Z
Form iPP320/iPP350/iWL250/iMP350/iMP352
Butto • “Enter Card” – M
ns
• "Francais"
and
IDs • "English"
• "Espanol"
iSC250/iSC350/iSC480
• "ENTER CARD" - M
• "LANGUAGE" - L
0007_0029 1 Display "Enter Card" button and prompt for card number, expiration date and
CVV.
DFS 0030_0036
Data
Inde
x
Form ESWIPE.K3Z
Term Cancel
inal
Butt
ons
Allo
wed
Descr EMV card swipe with language buttons. Settings are as follows:
iption
Parameter Setting Description
This parameter controls the display of the "Enter Card" button on the card swipe screen and
enables cardholder prompts for manual entry. When not set to '0', the "Enter Card" button
will be displayed with prompt options. Additional settings for parameter '0007_0029' used
during manual entry include:
• 2 = Display "Enter Card" button and prompt for card number and expiration date (no
CVV).
• 3 = Display "Enter Card" button and prompt for card number and CVV (no expiration
date).
• 4 = Display "Enter Card" button and prompt for card number (no expiration date or
CVV).
DFS 0030_0037
Data
Index
Form ELSWIPE.K3Z
Form iPP320/iPP350/iWL250
Butto • “Enter Card” – M
ns
• "Francais"
and
IDs • "English"
• "Espanol"
iUP250
• "English"
• "Espanol"
iSC250/iSC350/iSC480
• "ENTER CARD"
• "LANGUAGE"
Termi Cancel
nal
Butto
ns
Allow
ed
Specification Description
Form MENU.K3Z
Text <?ivEMV_DISPLAY_MESSAGE?>
Form Buttons Scroll bar is shown on screen when number of available applications
exceeds page display capacity.
• For iSC250, iSC350, and iSC480,the3 cardholder can use the soft
buttons to scroll through the list of available applications.
• For all other terminals, the Function keys (F2 and F3) are used to
scroll through the list of available applications.
Specification Description
Form ECONFIRM.K3Z
Text <?ivEMV_DISPLAY_MESSAGE?>
Button Button ID
Yes btn1
No btn2
Cancel btn3
Button Button ID
Yes btn1
No btn2
Cancel btn3
Specification Description
Specification Description
Form ECONFIRM.K3Z
Button Button ID
YES btn1
NO btn2
Button Button ID
Yes btn1
No btn2
Cancel btn3
Specification Description
Status Response
Form ELANG.K3Z
EMV Contactless Transactions: Once an application has been selected and confirmed during an EMV
Contact transaction, the application name is displayed on the "Please wait ..." form which follows. For EMV
Contactless transactions, however, the application name will not be displayed on this form.
Specification Description
Form MSGTHICK.K3Z
Notes EMV transactions primarily uses this form when displaying two-line prompts.
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iPP350, or iWL250.
Description Survey swipe screen. Customer may either slide card for payment, or participate in
the survey (and slide card later).
Initiated By 40.x Survey Question Request (collects question and button text), then, 40.0
Survey Request (sends question and button text to terminal display)
Form SURSWIPE.K3Z
Initiated By 25.x
Form TC.K3Z
Text Variable
This form is not available for the iCMP, iSMP, iSMPc, iPP320, iPP350 and iWL250.
Status Response
Form TCSIGN.K3Z
Text Variable
Icon Description
Icon Description
Variable ID Description
Variable ID Description
IP_ADDR_PORT IP address & port "x.x.x.x:p" format, see IP Address and Port Display
Variable for TCP/IP.
Variable ID Description
WIFISSID iWL258, iWL228 and iSMP4 only. Displays the SSID of the access point the
terminal is connected to, if any. Variable is empty on unsupported terminals
or if not connected via Wi-Fi.
10.7.9.1 Overview
The iSC480 terminal can be configured with an internal contactless reader or external contactless reader. Because
there are no built-in LEDs for the internal contactless reader, they can be emulated using the terminal display. Just
as the external contactless reader has four green LEDs that are illuminated when the contactless card enters the
RF field, four green LEDs are displayed in a similar manner at the top of the terminal screen as illustrated:
10.7.9.2 Implementation
To implement this feature, contactless must be enabled. The application identifies whether the contactless reader
is internal or external. If an internal contactless reader is detected, forms are shifted down to display the simulated
contactless status LEDs.
There are also BmpButton IDs associated with each form, which are reserved and should not be used for custom
buttons. Refer to Reserved Form Buttons for a list of reserved BmpButton IDs for each form.
Refer to the following sections for buttons and button IDs specific to each terminal:
• iSMP and iSMPc Button IDs and Images
• iPP320 Button IDs and Images
• iPP350 Button IDs and Images
• iSC250 Button IDs and Images
• iSC350 Button IDs and Images
• iSC480 Button IDs and Images
Also refer to Mobile Terminal Battery Level Icons.
CANCEL 0x1B
CLEAR N/A
Down N/A
FUNCTION
Not Selected
Selected
Scroll Up N/A
Not Selected
Selected
Up N/A
CANCEL 0x1B
CLEAR N/A
Down N/A
Scroll Up N/A
Up N/A
CANCEL 0x1B
CLEAR N/A
Down N/A
PayPal P
Not Selected
Selected
Scroll Up N/A
Not Selected
Selected
Up N/A
Not
Selected
Selected
Not
selected
Selected
Not
Selected
Selected
Not
Selected
Selected
Accept 101 Y
Not
Selected
Selected
Not
Selected
Selected
Credit 104 66
Not
Selected
Selected
Debit 105 65
Not
Selected
Selected
Decline 106 N
Not
Selected
Selected
Not
Selected
Selected
Not
Selected
Selected
English 109 1
Not
Selected
Selected
Not
Selected
Selected
Español 111 2
Not
Selected
Selected
Français 112 3
Not
Selected
Selected
LANGUAGE 177 L
Not
Selected
Selected
No 113 N
Not
Selected
Selected
Other 115 O
Not
Selected
Selected
Not
Selected
Selected
btnp P
Not
Selected
Selected
Not
Selected
Selected
Scroll Up N/A
Not
Selected
Selected
Store 117 69
Not
Selected
Selected
Yes 118 Y
Not
Selected
Selected
Not
Selected
Selected
Not
selected
Selected
Not
Selected
Selected
Not
Selected
Selected
Accept 101 Y
Not
Selected
Selected
Not
Selected
Selected
Credit 104 66
Not
Selected
Selected
Debit 105 65
Not
Selected
Selected
Decline 106 N
Not
Selected
Selected
Not
Selected
Selected
Not
Selected
Selected
English 109 1
Not
Selected
Selected
Not
Selected
Selected
Español 111 2
Not
Selected
Selected
Français 112 3
Not
Selected
Selected
LANGUAGE 177 L
Not
Selected
Selected
No 113 N
Not
Selected
Selected
Other 115 O
Not
Selected
Selected
Not
Selected
Selected
btnp P
Not
Selected
Selected
Not
Selected
Selected
Scroll Up N/A
Not
Selected
Selected
Store 117 69
Not
Selected
Selected
Yes 118 Y
Not
Selected
Selected
Not
Selected
Selected
Not
Selected
Selected
Not
Selected
Selected
Not
Selected
Selected
Accept 101 Y
Not
Selected
Selected
Not
Selected
Selected
Credit 104 66
Not
Selected
Selected
Debit 105 65
Not
Selected
Selected
Decline 106 N
Not
Selected
Selected
Not
Selected
Selected
Not
Selected
Selected
English 109 1
Not
Selected
Selected
Not
Selected
Selected
Español 111 2
Not
Selected
Selected
Français 112 3
Not
Selected
Selected
LANGUAGE 177 L
Not
Selected
Selected
No 113 N
Not
Selected
Selected
Other 115 O
Not
Selected
Selected
Not
Selected
Selected
btnp P
Not
Selected
Selected
Not
Selected
Selected
Scroll Up N/A
Not
Selected
Selected
Store 117 69
Not
Selected
Selected
Yes 118 Y
Not
Selected
Selected
CANCEL 0x1B
CLEAR N/A
Down N/A
FUNCTION
Not
Selected
Selected
Scroll Up N/A
Not
Selected
Selected
Up N/A
BATTC010.PNG 3kB
BATTC020.PNG 3kB
BATTC040.PNG 3kB
BATTC060.PNG 3kB
BATTC080.PNG 3kB
BATTC100.PNG 3kB
BATTD010.PNG 2kB
BATTD020.PNG 2kB
BATTD040.PNG 2kB
BATTD060.PNG 3kB
BATTD080.PNG 3kB
BATTD100.PNG 3kB
Icon images may be customized by replacing the images with another set, maintaining the same file names as listed
above. Each icon image is 11 pixels tall x 18 pixels wide.
Info
The charging state (charging or discharging) and numerals corresponding to the Mobile Terminal Battery
Level (0-100%) may also be found using the 07.x: Unit Data Request message.
Info
The battery level icons appear on non-input forms only.
COD.K3Z/CCOD.K3Z btnm
10.7.10.10.1 Overview
The RBA supports an Ethernet status icon for iSC250 and iPP320 payment terminals. The icon can be added to
any .K3Z form to provide Ethernet status via the terminal screen. To do so, use the following control:
where:
• EthStatus = Control type.
• id = Control ID. "ETHERNETSTATUS" id is mandatory.
• x = Control x position.
• y = Control y position.
• width = Icon width.
• height = Icon height.
• statusactive = Icon resource should be shown when Ethernet is connected and active.
• statustrying = Icon resource should be shown when Ethernet is trying to connect.
• statusidle = Icon resource should be shown when Ethernet is idle (temporary status after failed connection
attempt).
• statusfailed = Icon resource should be shown when Ethernet failed to connect.
• updateperiod = How often RBA should update Ethernet status in milliseconds. This field is optional. The
default value is 2 seconds.
The following tables illustrate the Ethernet icon for iSC250 and iPP320 terminals.
CANCEL 0x1B
CLEAR N/A
CANCEL 0x1B
CLEAR N/A
Navigate Up/Down
CANCEL 0x1B
CLEAR N/A
Navigate Up/Down
In a typical call, the terminal checks with Estate Manager to see if there are any software updates or other packages
to be downloaded, and then proceeds with the appropriate downloads. After a call, the terminal reboots.
You can schedule calls in The Estate Manager to update software on a terminal. For more information about how to
configure The Estate Manager, please refer to its documentation suite.
Item Description
CALLTYPE Set to ONCE to make a single call, or PERIODIC to schedule regular calls.
LASTCALL This parameter is used by the system to remember the time of the last
call. The user should not change this value.
CALLDELAY Time, in seconds, that the application must be inactive before it will make
a scheduled call.
With Standard Flow, RBA will only place a call when it is idle (no
transaction in progress).
With On-Demand messaging, RBA does not know when a transaction is
in progress, so it will wait for a period of inactivity and then assume that
no transaction in progress.
This is not ideal, since the POS could still start a transaction just as RBA is
preparing to make a call. For finer control over scheduled calls, the POS
can use variables 510 and 511.
WINDOW Calling window in minutes. A call will be made at a random time within
this period after the scheduled time.
This allows the same TMS.XML to be used by multiple terminals, while
preventing them all from calling the Estate Manager at the same time and
possibly overloading the Estate Manager or the network.
NOOFRETRY Number of times that the system will retry a failed call.
Note that the system reboots after each connection attempt, whether
successful or not.
MAXDELAYBETWEENRETRIES Maximum time delay, in minutes, between retries. The actual delay will
be random, between 0 and this value.
TMSURL URL of the Estate Manager server. Either the URL or the IP address
should be specified, not both.
TMSIPADDRESS IP address of the Estate Manager server. Either the URL or the IP address
should be specified, not both.
Item Description
TMSSSLMODE Indicates whether to use SSL to connect to the Estate Manager server:
• 0 = Do not use SSL
• 1 = SSLv2
• 2 = SSLv3
• 3 = TLSv1
• 4 = SSLv23
• 5 = TLSv1_1
Note: SSL requires the use of a certificate or a chain of certificates; these
should be supplied by the administrator of the Estate Manager server,
and must be loaded to the HOST directory on the terminal. Certificate
files are named TMSSSL.CRT and TMSSSL.Cxx, where xx is 00 to the
number of certificates minus 1.
If there is only a TMSSSL.CRT file, then it assumed to be a self-signed
certificate.
If there are one or more TMSSSL.Cxx files, then TMSSSL.CRT is the
certificate for the terminal, and TMSSSL.Cxx is the certificate chain up to
the root. Certificates are added in incremental order starting at C00.
</TMSServer>
<Configuration>
<PERIODIC>
<Item name="FREQUENCY" value="" />
</PERIODIC>
</Configuration>
</TMS>