Uniform BEZEL5 Payment Reader User Manual Manual

Uniform Industrial Corp. Payment Reader Manual

Manual

Download: Uniform BEZEL5 Payment Reader User Manual Manual
Mirror Download [FCC.gov]Uniform BEZEL5 Payment Reader User Manual Manual
Document ID2267360
Application ID9nvM6Q18LO2+KtBiV1Friw==
Document DescriptionManual
Short Term ConfidentialNo
Permanent ConfidentialNo
SupercedeNo
Document TypeUser Manual
Display FormatAdobe Acrobat PDF - pdf
Filesize432.31kB (5403923 bits)
Date Submitted2014-05-15 00:00:00
Date Available2014-05-15 00:00:00
Creation Date2014-05-07 12:07:03
Producing SoftwaredoPDF Ver 7.2 Build 376 (Windows XP Professional Edition (SP 3) - Version: 5.1.2600 (x86))
Document Lastmod0000-00-00 00:00:00
Document TitleManual

UIC Bezel5 payment card Reader
Programmer’s Manual
RS232 & USB Interface
Document #: PM098
Revision 1.4
May. 7th, 2014
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
Document History
Document Version
1.1
1.2
1.3
1.4
Author
Robin Tang
Vicky Tuan
Stanley Lui
Ting Sun
UIC Bezel5 Programmer’s Manual
Change
Initial version
Date
Adjusted some wordings
Adjusted some wordings(Bezel5)
Page.2/166
16, Dec, 2013
18, Dec, 2013
07.May.2014
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
Table of Contents
LIST OF TABLES ...............................................................................................................................10
LIST OF FIGURES.............................................................................................................................11
NOTICE ...........................................................................................................................................11
AGENCY APPROVED .......................................................................................................................11
WARRANTY ....................................................................................................................................11
PREFACE .........................................................................................................................................11
1.
2.
GENERAL DESCRIPTION ..........................................................................................................11
1.1.
FEATURES.................................................................................................................................. 11
1.2.
APPLICATION.............................................................................................................................. 11
1.3.
PHYSICAL LED INDICATION ............................................................................................................ 11
CONFIGURATIONS ..................................................................................................................11
2.1.
FUNCTIONAL SPECIFICATIONS......................................................................................................... 11
2.2.
MECHANICAL SPECIFICATIONS........................................................................................................ 11
2.3.
ELECTRICAL SPECIFICATIONS .......................................................................................................... 11
Power Required.................................................................................................................................... 11
Power Consumption............................................................................................................................. 11
Communication.................................................................................................................................... 11
Communication Signal (RS232) ............................................................................................................. 11
2.4.
ENVIRONMENTAL SPECIFICATIONS................................................................................................... 11
Temperature ........................................................................................................................................ 11
Humidity.............................................................................................................................................. 11
2.5.
PIN ASSIGNMENT........................................................................................................................ 11
2.6.
COMMUNICATION ....................................................................................................................... 11
URS232 Interface Data Output ............................................................................................................. 11
USB Interface ....................................................................................................................................... 11
Identification Information .................................................................................................................... 11
3.
OPERATION ............................................................................................................................11
UIC Bezel5 Programmer’s Manual
Page.3/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
3.1.
READER DEFAULT SETTING ............................................................................................................ 11
3.2.
PRESSING THE BUTTONS AND MAGNETIC CARD ‘WIGGLING’ ................................................................ 11
3.3.
3.2.1.
Pressing the Cancel Button.................................................................................................... 11
3.2.2.
Pressing the Enter Button...................................................................................................... 11
3.2.3.
Magnetic Card is ‘Wiggled’.................................................................................................... 11
READER CONFIGURATIONS ............................................................................................................ 11
3.3.1.
Transmission Protocol ........................................................................................................... 11
Protocol 0 ............................................................................................................................. 11
Protocol 2 ............................................................................................................................. 11
3.3.2.
Configuration Protocol .......................................................................................................... 11
BLP Protocol ......................................................................................................................... 11
3.3.3.
Self – Arm Mode ................................................................................................................... 11
20BCard Data Output in Self-Arm and Host-Polled modes ..................................................... 11
3.3.4.
Host Poll Mode ..................................................................................................................... 11
22BRead card data using commands in the Host-Polled mode ............................................... 11
3.3.5.
EMV Mode............................................................................................................................ 11
The Application Diagram ....................................................................................................... 11
3.3.6.
Details of the Payment Card Tracks Data................................................................................ 11
Card Data Output Between a MSR Card and a RFID Card........................................................ 11
Track 3 Data Format for Magstripe Card ................................................................................ 11
Track 3 Data Format for Contactless Payment ........................................................................ 11
TLV (Tag Length Value) Description ........................................................................................ 11
Value of Card Type ................................................................................................................ 11
Value of Transaction Result.................................................................................................... 11
3.3.7.
Payment Card Data Output Example...................................................................................... 11
PayPass–Magstripe3.3........................................................................................................... 11
PayPass–MChip..................................................................................................................... 11
Visa (qVSDC, MSD)................................................................................................................ 11
4.
COMMANDS AND RESPONSES ...............................................................................................11
4.1.
COMMON COMMAND DESCRIPTION ............................................................................................... 11
4.1.1.
% (25H) - Retransmit ............................................................................................................. 11
4.1.2.
70 (37H30H) or 90(39H30H) - Serial Number Report.............................................................. 11
UIC Bezel5 Programmer’s Manual
Page.4/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
4.1.3.
71 (37H31H) or 91 (39H31H) - Copyright Report.................................................................... 11
4.1.4.
7A (37H41H) or 9A (39H41H) - Module Version Report .......................................................... 11
4.1.5.
7F (37H 46H) – Get Hardware Status ..................................................................................... 11
4.1.6.
? (3FH) - Select Verbose Responses Command....................................................................... 11
4.1.7.
$ (24H) – Reader Status Request............................................................................................ 11
4.1.8.
# (23H) – Configuration Request............................................................................................ 11
4.1.9.
 (18H) – Clear Data Buffer ........................................................................................... 11
4.1.10.
<7FH> – Warm Reset............................................................................................................. 11
4.1.11.
5 (35H) – Set RTC Time.......................................................................................................... 11
51 (35H31H) - Read Date....................................................................................................... 11
52 (35H32H) - Read Time ...................................................................................................... 11
54 (35H34H) - Set Date.......................................................................................................... 11
55 (35H35H) - Set Time......................................................................................................... 11
4.2.
4.1.12.
B (42H) – Buzzer Beep control ............................................................................................... 11
4.1.13.
I (49H) – Load RSA Key .......................................................................................................... 11
4.1.14.
w (77H) – Exception File........................................................................................................ 11
4.1.15.
@ (40H) – Display Control ..................................................................................................... 11
4.1.16.
L (4Ch) / l (6Ch) / ( (28h)- LED Control.................................................................................... 11
4.1.17.
LE (4Ch 45h) / LD (4Ch 44h) - Flash LED Control ..................................................................... 11
GENERAL COMMANDS DESCRIPTION ............................................................................................... 11
Self-Arm Mode transaction process Example flow................................................................................. 11
Host Poll Mode transaction process Example flow ................................................................................ 11
4.3.
4.2.1.
H (48H) – Self-Arm function disable/enable........................................................................... 11
4.2.2.
P (50H) – Arm to Read........................................................................................................... 11
4.2.3.
p (70H) – Arm to Read (Used for Manufacturing Test Only) .................................................... 11
4.2.4.
 (1BH) – Abort Arm to Read.......................................................................................... 11
4.2.5.
Q, R, S – Get Transmit Track Data........................................................................................... 11
4.2.6.
T (54H) – Transaction Command............................................................................................ 11
CONFIGURATION COMMAND DESCRIPTION ....................................................................................... 11
4.3.1.
CCx(43h 43h x) - Set Code................................................................................................. 11
4.3.2.
CKx – Enable/Disable User CA Key ......................................................................................... 11
4.3.3.
CLx(43h 4Ch x) - Set TRM Parameters ............................................................................... 11
UIC Bezel5 Programmer’s Manual
Page.5/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
4.4.
4.3.4.
CPx(43h 50h x) - PayPass Support ..................................................................................... 11
4.3.5.
CTx(43h 54h x) - Set Terminal/Transaction Type/Info......................................................... 11
4.3.6.
DFx(44h 46h x) - Default Setting ....................................................................................... 11
4.3.7.
DWx(44h 57h x) - Set Wait Amount mode......................................................................... 11
4.3.8.
ECx(45h 43h x) - Extended Configuration Report Enable/Disable....................................... 11
4.3.9.
EGx(45h 47h x) - Output Data Encryption Enable/Disable.................................................. 11
4.3.10.
ERx(45h 52h x) - Record RF card data................................................................................ 11
4.3.11.
ESx(45h 53h x) - SS/ES Enable/Disable .............................................................................. 11
4.3.12.
Fxy(46h x y) - Set Track 1, 2, 3 Prefix/Suffix Code, Preamble/Postamble Code.................... 11
4.3.13.
LB0x(4Ch 42h 30h x) - Set Read Card Mode....................................................................... 11
4.3.14.
LCx(4Ch 43h x) - LRC Enable/Disable................................................................................. 11
4.3.15.
MFxy(4Dh 46h x y) - Set Payment Card and MIFARE Auto-Polling ...................................... 11
4.3.16.
PCx(50h 43h x) - Set Host Protocol.................................................................................... 11
4.3.17.
PEx (50h 45h x) - Set Pass-Through Function..................................................................... 11
4.3.18.
PHx(50h 48h x) - Set Power On Character ......................................................................... 11
4.3.19.
SAx(53h 41h x) - Self-Arm Mode Enable/Disable ............................................................... 11
4.3.20.
SEx(53h 45h x) - Self-Arm Mode Data Envelope Enable/Disable......................................... 11
4.3.21.
TKx(54h 4Bh x) - Set Transmitting Data Tracks ................................................................... 11
4.3.22.
TMx(54h 4Dh x) - Set Error Code output Enable/ Disable .................................................. 11
4.3.23.
TOx(54h 4Fh x) - Set Transmitting Data Output Format...................................................... 11
4.3.24.
USBx(55h 53h 42h x) - USB Mode (Optional)..................................................................... 11
4.3.25.
UTx(55h 54h x) - Set TAC................................................................................................... 11
4.3.26.
VTx(56h 54h x) - VISA Terminal Transaction Qualifier(Tag ‘9F66’) Setting ........................... 11
4.3.27.
VVx(56h 56h x) - VISA Version setting ............................................................................... 11
4.3.28.
VLx(56h 4Ch x) - VISA CVM Required Limit setting............................................................. 11
CONTACTLESS OPERATION COMMANDS DESCRIPTION.......................................................................... 11
4.4.1.
G (47H) – ISO 14443 Type Protocol Select.............................................................................. 11
4.4.2.
O (4FH) – Antenna power ON................................................................................................ 11
4.4.3.
o (6FH) – Antenna power OFF ............................................................................................... 11
4.4.4.
b (62H) – Request.................................................................................................................. 11
4.4.5.
c (63H) – Anti-collision(type A)/Slot-MARKER(type B) ............................................................ 11
UIC Bezel5 Programmer’s Manual
Page.6/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
5.
4.4.6.
f (66H) – Select(type A)/Attrib(type B) ................................................................................... 11
4.4.7.
g (67H) – MIFARE Classic Card Authentication........................................................................ 11
4.4.8.
h (68H) – MIFARE Classic Card Read Block(Supports MIFARE Ultralight).................................. 11
4.4.9.
i (69H) – MIFARE Classic Card Write Block(Supports MIFARE Ultralight).................................. 11
4.4.10.
t (74H) – MIFARE Classic Card Value Operation ...................................................................... 11
4.4.11.
W (57H) – ISO 14443A Detection........................................................................................... 11
4.4.12.
X (58H) – MIFARE Classic Card Activation (Supports MIFARE Ultralight) .................................. 11
4.4.13.
u (75H) – MIFARE Classic Card Read Sector ............................................................................ 11
4.4.14.
v (76H) – MIFARE Classic Card Write Sector ........................................................................... 11
4.4.15.
J (4AH) – Activate PICC cpu card ............................................................................................ 11
4.4.16.
j (6AH) – Load MIFARE Key(Supports MIFARE Classic only) ..................................................... 11
4.4.17.
F (58H) – Identify MIFARE Card Type...................................................................................... 11
4.4.18.
y (79H) – Send DESELECT command ...................................................................................... 11
4.4.19.
Z (5AH) – I/O to contactless CPU card with APDU format ....................................................... 11
4.4.20.
z (7AH) – I/O to contactless card for block data exchange ...................................................... 11
EMV TRANSACTION OPERATING COMMAND.........................................................................11
5.1.
CONFIGURATION COMMANDS........................................................................................................ 11
5.1.1.
T01 (54H, 30H, 31H) – Terminal Configuration Setup ............................................................. 11
5.1.2.
T03 (54H, 30H, 33H) – Certificate Authority Public Key Setup................................................. 11
5.1.3.
T15 (54H, 31H, 35H) – Contactless Application Configuration Setup....................................... 11
5.1.4.
T19 (54H, 31H, 39H) – EMV Contactless Configuration Data Query ........................................ 11
5.1.5.
T1B (54H, 31H, 42H) – Delete EMV Contactless Configuration Data........................................ 11
5.1.6.
T0C (54H, 30H, 43H) –Configuration Version/Checksum......................................................... 11
5.1.7.
T1C (54H, 31H, 43H) –Terminal and Application List Default Setting ....................................... 11
Terminal Configuration Settings............................................................................................. 11
Visa Application Identifier..................................................................................................... 11
PayPass Application Identifier................................................................................................ 11
MaestroCard Application Identifier........................................................................................ 11
American Express Application Identifier................................................................................. 11
Discover Zip Application Identifier......................................................................................... 11
Interac Application Identifier................................................................................................. 11
5.2.
GENERAL COMMAND................................................................................................................... 11
UIC Bezel5 Programmer’s Manual
Page.7/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
6.
(C8H) – Activate/Deactivate Contactless/MSR Reading command .......................................... 11
5.2.2.
(C9H) – Response of Start Transaction ................................................................................... 11
5.2.3.
(CEH) – Return the Specific EMV Tags .................................................................................... 11
AUTHENTICATION AND CARD DATA ENCRYPTION ???............................................................11
6.1.
DATA SECURITY AND KEY MANAGEMENT.......................................................................................... 11
6.2.
PRODUCT LIFE CYCLE ................................................................................................................... 11
6.3.
OPERATION FLOW ....................................................................................................................... 11
6.4.
AUTHENTICATION........................................................................................................................ 11
6.5.
DOUBLE DUKPT ........................................................................................................................ 11
6.6.
6.7.
7.
5.2.1.
6.5.1.
Auto Rollover 1: key generation............................................................................................. 11
6.5.2.
Auto Rollover 2: key generation............................................................................................. 11
TRACK OUTPUT FORMAT (SELF-ARM).............................................................................................. 11
6.6.1.
RS232/USB Virtual................................................................................................................. 11
6.6.2.
HID MSR (Optional)............................................................................................................... 11
ADMINISTRATION COMMANDS ...................................................................................................... 11
6.7.1.
90H 02H – Load Session ID .................................................................................................... 11
6.7.2.
90H 03H – Get KSN & Encrypted Random.............................................................................. 11
6.7.3.
90H 04H – Select DUKPT Key Slot .......................................................................................... 11
6.7.4.
90H 05H – Select DUKPT Management Mode........................................................................ 11
6.7.5.
90H 06H – DUKPT Key Iteration Test ...................................................................................... 11
6.7.6.
90H 07H – Get Encrypted Status............................................................................................ 11
6.7.7.
90H 10H – Get Challenge....................................................................................................... 11
6.7.8.
90H 11H – Load Encrypt Initial Key ........................................................................................ 11
6.7.9.
90H 12H – Change Encrypt Mode for Data Output Format..................................................... 11
6.8.
LOAD SESSION ID........................................................................................................................ 11
6.9.
LOAD DUKPT KEY ...................................................................................................................... 11
6.10.
LOAD GOOGLE WALLET MERCHANT SYMMETRY KEY ........................................................................... 11
6.11.
LOAD AUTHENTICATION RSA KEY ................................................................................................... 11
6.12.
CHANGE ENCRYPT MODE FOR DATA OUTPUT FORMAT ........................................................................ 11
GOOGLE WALLET ....................................................................................................................11
7.1.
TRACK OUTPUT SCENARIOS ........................................................................................................... 11
UIC Bezel5 Programmer’s Manual
Page.8/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
7.2.
CONFIGURATION OPTION.............................................................................................................. 11
7.3.
TAG FFFF820E DATA FORMAT ...................................................................................................... 11
7.4.
GOOGLE WALLET MERCHANT KEY UPDATE ....................................................................................... 11
7.5.
GOOGLE WALLET COMMANDS ....................................................................................................... 11
7.5.1.
D (44H) – Google Card Operation .......................................................................................... 11
D<03> (44H 03H) - Read transmission log.............................................................................. 11
D<04> (44H 04H) - Clear transmission log.............................................................................. 11
D<07> (44H 07H) – Load Google wallet MIFARE secret key .................................................... 11
D<08> (44H 08H) –Get SHA1 value of MIFARE key................................................................. 11
D<09> (44H 09H) –Get Google Polling Mode ......................................................................... 11
D<0A> (44H 0AH) –Get SHA1 value of All Encrypt MIFARE key ............................................... 11
8.
ISIS WALLET ............................................................................................................................11
8.1.
TRACK OUTPUT CONCEPT ............................................................................................................. 11
8.2.
CONFIGURATION OPTION.............................................................................................................. 11
8.3.
TAG FFFF820E OUTPUT FORMAT .................................................................................................. 11
8.4.
ISIS COMMANDS ........................................................................................................................ 11
8.4.1.
Configuration Command Protocol ......................................................................................... 11
8.4.2.
Activate/or deactivate wallet application............................................................................... 11
8.4.3.
Merchant ID.......................................................................................................................... 11
8.4.4.
Merchant Store ID................................................................................................................. 11
8.4.5.
Load Loyalty ID...................................................................................................................... 11
8.4.6.
Load OFFER_TYPE_CODES ..................................................................................................... 11
8.4.7.
Load MERCHANT_CAPABILITIES............................................................................................. 11
8.4.8.
Load TERMINAL_STARTUP_MODE ......................................................................................... 11
8.4.9.
Set SmarTap Application Version ........................................................................................... 11
UIC Bezel5 Programmer’s Manual
Page.9/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
List of Tables
Table 1-1 Bezel5 features ........................................................................................................11
Table 2-1. Pin Assignment of Interface Cable...........................................................................11
Table 3-1. Default Configuration settings.................................................................................11
Table 3-2. Track 3 Data Format ................................................................................................11
Table 3-3. TLV Tag format and descriptions..............................................................................11
Table 3-4. Card Type indication in Track 3................................................................................11
Table 3-5. Transaction Result indication in Track 3...................................................................11
Table 4-1. Module Version Report Description ........................................................................11
Table 4-2. First Byte Description of Reader Status Request ......................................................11
Table 4-3. Second Byte Description of Reader Status Request..................................................11
Table 4-4. First byte of Configuration Request response..........................................................11
Table 4-5. Load RSA Key Type ..................................................................................................11
Table 4-6. Load RSA Key Data Description................................................................................11
Table 4-7. Load RSA Key example (I1 command)......................................................................11
Table 4-8. Authentication RSA Key data format (I2 command).................................................11
Table 4-9. Padding Frame of Authentication RSA Key command ..............................................11
Table 4-10. Load Authentication RSA Key example (I2 command)............................................11
Table 4-11. LCD Function Table................................................................................................11
Table 4-12. Clear LCD command option...................................................................................11
Table 4-13. Write Characters to LCD ........................................................................................11
Table 4-14. Graphic Picture Selection ......................................................................................11
Table 4-15. LCD Inverse Option................................................................................................11
Table 4-16. Cursor Blink Option ...............................................................................................11
Table 4-17. Cursor Display Option ...........................................................................................11
Table 4-18. Cursor Position Set................................................................................................11
Table 4-19. LCD Blinking Option ..............................................................................................11
Table 4-20. Set LCD Blinking Time ...........................................................................................11
UIC Bezel5 Programmer’s Manual
Page.10/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
Table 4-21. LCD Backlight Control............................................................................................11
Table 4-22. Commands related to Self-Arm mode transaction example flow ...........................11
Table 4-23. Commands related to Host-Poll mode transaction example flow...........................11
Table 4-24. BLP Configuration Protocol....................................................................................11
Table 4-25. Set Configuration Code Table ................................................................................11
Table 4-26. Public Key switch Table .........................................................................................11
Table 4-27. Set TRM Parameters..............................................................................................11
Table 4-28. Configure PayPass supporting mode .....................................................................11
Table 4-29. Set Terminal, Transaction Type/Info Table .............................................................11
Table 4-30. Set Wait Amount mode.........................................................................................11
Table 4-31. Extended Configuration Report Option .................................................................11
Table 4-32. Output Data Encryption Setup ..............................................................................11
Table 4-33. Record RF card data option ...................................................................................11
Table 4-34. SS/ES Option .........................................................................................................11
Table 4-35. Track Format Configuration Table..........................................................................11
Table 4-36. Set Read Card Mode..............................................................................................11
Table 4-37. LRC Option ............................................................................................................11
Table 4-38. Mifare Card Type Response table ..........................................................................11
Table 4-39. Set Transmitting Data Tracks .................................................................................11
Table 4-40. Set TAC Table (for PayPass Only)............................................................................11
Table 5-1. Terminal Configuration Setup Tag list ......................................................................11
Table 5-2. Certificate Authority Public Key parameters description..........................................11
Table 5-3. Application Configuration Tag List ...........................................................................11
Table 5-4. EMV Contactless Configuration Data Query Type ....................................................11
Table 5-5. Configuration Version/Checksum Mode ..................................................................11
Table 5-6. Configuration Version/Checksum Options...............................................................11
Table 5-7. Terminal Configuration Settings Tag List ..................................................................11
Table 5-8. Visa Application ID Default Tag Value ......................................................................11
Table 5-9. PayPass Application ID Default Tag Value.................................................................11
UIC Bezel5 Programmer’s Manual
Page.11/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
Table 5-10. MaestroCard Application ID Default Tag Value ......................................................11
Table 5-11. American Express Application ID Default Tag Value ...............................................11
Table 5-12 Discover Zip Application ID Default Tag Value.........................................................11
Table 5-13. Interac Flash Application ID Default Tag Value .......................................................11
Table 5-14. Interface Priority of Activate Contactless/MSR Reading Command........................11
Table 5-15. Display picture reference of Interface Priority .......................................................11
Table 5-16. Required TLV Tags in Activate Contactless Reading Command ...............................11
Table 5-17. Error Code indication of Transaction Result...........................................................11
Table 5-18. POS Entry indication of Transaction Result ............................................................11
Table 5-19. Field Description of Contactless Transaction Data .................................................11
Table 5-20. Field Description of MSR Transaction Data............................................................11
Table 6-1. Data Security Operations ........................................................................................11
Table 6-2. Key Management Mode..........................................................................................11
Table 6-3. HID MSR Offset Table ..............................................................................................11
Table 6-4. Get Challenge Padding Frame .................................................................................11
Table 6-5. Load Initial Key Padding Frame................................................................................11
Table 6-6. Encrypt Mode of Load Initial Key.............................................................................11
Table 6-7. DUKPT Key Slot of Load Initial Key...........................................................................11
Table 6-8. Padding Frame of Change Encrypt Mode for Data Output Format ...........................11
Table 6-9. Encrypt Mode of Data Output Format.....................................................................11
Table 6-10. Example of Load Session ID ...................................................................................11
Table 6-11. Example of Load DUKPT Key..................................................................................11
Table 6-12. Example of Load Google Wallet Merchant Symmetry Key .....................................11
Table 6-13. Example of Load Authentication RSA Key ..............................................................11
Table 6-14 Example of Change Encrypt Mode for Data Output Format....................................11
Table 7-1. Track/Tag information of Google Wallet Transaction Format ...................................11
Table 7-2. Selectable Configuration of Google Wallet transaction mode..................................11
Table 7-3. Card Data Output mode for different types of card and reader configurations ........11
Table 7-4. Google Wallet Data Transmission Tag Format..........................................................11
UIC Bezel5 Programmer’s Manual
Page.12/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
Table 7-5. Google Wallet Operation Command Type ...............................................................11
Table 8-1 Track/Tag information of Google Wallet Transaction Format ....................................11
Table 8-2. ISIS Wallet Tag Data Output Format ........................................................................11
Table 8-3. ISIS Wallet Data Transmission Tag Format ...............................................................11
UIC Bezel5 Programmer’s Manual
Page.13/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
List of Figures
Figure 3-1. EMV Configuration command diagram ..................................................................11
Figure 3-2. Self-Arm Mode Transaction Process Example Flow ................................................11
Figure 3-3. Host Poll Mode Transaction Process Example Flow................................................11
Figure 6-1. Data Security Operation Flow ................................................................................11
Figure 6-2. Auto Rollover 1: Key Generation............................................................................11
Figure 6-3. Auto Rollover 2: Key Generation............................................................................11
UIC Bezel5 Programmer’s Manual
Page.14/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
NOTICE
The issuer of this manual has made every effort to provide accurate information
contained in this manual. The issuer shall not be held liable for any technical and editorial
omissions or errors made herein; nor for incidental consequential damages resulting
from the furnishing, performance or use of this material.
This document contains proprietary information protected by copyright. All rights are
reserved. No part of this document may be photocopied, reproduced, or translated
without the prior written permission of the issuer. The information provided in this
manual is subject to change without notice.
AGENCY APPROVED
Specification for FCC Class B
Specification for CE Class B, CISPR 22 Class B
Pb
NOTE: This equipment has been tested and found to comply with the limits for a Class B
digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide
reasonable protection against harmful interference in a residential installation. This
equipment generates uses and can radiate radio frequency energy and, if not installed
and used in accordance with the instructions, may cause harmful interference to radio
communications. However, there is no guarantee that interference will not occur in a
particular installation. If this equipment does cause harmful interference to radio or
television reception, which can be determined by turning the equipment off and on, the
user is encouraged to try to correct the interference by one or more of the following
measures:
Reorient or relocate the receiving antenna.
Increase the separation between the equipment and receiver.
Connect the equipment into an outlet on a circuit different from that to which the
receiver is connected.
Consult the dealer or an experienced radio/ TV technician for help.
You are cautioned that any change or modifications to the equipment not expressly
approve by the party responsible for compliance could void your authority to operate
such equipment.
UIC Bezel5 Programmer’s Manual
Page.15/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
WARRANTY
This product is served under one-year warranty of defects in material and functionality to
the original purchasers. Within the warranty period, if the product found to be defective
will be repaired or replaced. This warranty applies to the products only under the normal
use of the original purchasers, and in no circumstances covers incidental or consequential
damages through consumers’ misuse or modification of the product.
PREFACE
This manual provides detailed information relating to the overall operational, electrical,
mechanical, environmental and functional aspects of the Bezel5 reader. This document
should be read and understood prior to the initial operation of the product.
For ease of installation and programming use, we have addressed everything from its
attractive features to its various configurations.
When designing the Bezel5 reader, we selected what we feel are the most useful features
and functions. If in some cases you find that your specific needs differ from our existing
product, we welcome your comments and suggestions. Custom-designed models are also
available.
If further questions do arise, please call for technical support. Our FAE will assist you in
any way we can.
UIC Bezel5 Programmer’s Manual
Page.16/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
1. General Description
This section presents general information about the basic characteristics of the Bezel5.
1.1. Features
Contactless
card brand
label
2x16 LCD Display
Cancel button
Enter button
Reset button
MSR reader
Reset Button
The LCD can be refreshed by a short click on the reset button. After the button is released it will
generate a short beep to indicate the LCD refresh is complete. For hardware reset, please hold the
reset button for 8 seconds. The reader will reset after the button is released.
UIC Bezel5 Programmer’s Manual
Page.17/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
The Bezel5 reader provides the following features:
Bezel5
Integrated magnetic stripe reader to read magnetic stripe cards that conform to ISO standard
Bi-directional card swipe and triple track read capability
64x128 Graphic LCD display with backlight
Front: Two Buttons (cancel button and enter button) ;
Back: One Button (reset button)
LED and Buzzer indicators indicate card status
Encrypted card data output (optional)
Support RS232, USB 2.0 and serial TTL (optional) interfaces by use of corresponding cables.
Supports ISO 14443 & ISO 18092 standard
10
Supports American Express® ExpressPay, MasterCard® PayPassTM (Contactless MagStripe and M/Chip), Visa®
PayWave (MSD and qVSDC), and Discover Network Zip Contactless Payments applications, Google Wallet, ISIS
Wallet.
11
Reads/Writes NXP MIFARE Plus/Classic/Ultralight/DESFire cards
12
NFC Peer-to-Peer function
Table 1-1 Bezel5 features
1.2. Application
The contactless smart card payment card reader is mainly used to support the contactless payment
operations in the vending machine stations. The reader communicates with a host computer or
terminal using a standard RS-232 or USB interface.
UIC Bezel5 Programmer’s Manual
Page.18/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
1.3. Physical LED Indication
Bezel5 has 3 sets of LED for different indications:
1.
2.
3.
Scrolling LED – for catching the attentions of people that the reader is available for accepting
payments.
Magstripe Ready arrow LED – an indicator to show the Bezel5 is ready to accept Magstripe
card swipe
Contactless transaction LEDs – leftmost LED indicates Bezel5 is ready to accept contactless card.
Rest of LEDs to indicate the transaction status.
Contactless
Transaction
LEDs
Magstripe
Arrow LED
Scrolling LED
There are 2 contactless LED indication modes supported by Bezel5:
1.
Self-Arm / Host poll Mode: Under this mode, the reader will read and transmit payment card 1
1 Payment card – the card with MasterCard PayPass, VISA payWave, ExpressPay, or Discover Zip application.
UIC Bezel5 Programmer’s Manual
Page.19/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
data automatically. The contactless LEDs will be flashing from left to right sequentially.
2.
EMV Transaction Mode: Under this mode, the LEDs are lighted during the transaction process.
Each LED will represent a different transaction stage in the process.
Idle, ready to accept contactless card
Processing, transaction is processing and do not remove card.
Complete, transaction has been completed by the reader and the card can be removed now.
Card Remove Warning/Bad card read/Transaction Terminated, if card was not remove, red
LED will light on to remind cardholder remove the card.
UIC Bezel5 Programmer’s Manual
Page.20/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
2. Configurations
This section shows the various specifications of the Bezel5 reader.
2.1. Functional Specifications
Basic functions
Read high or low coercivity magnetic stripes (300-4000oe)
5 LEDs for attention grabbing
Programmable audio buzzer
Real time clock /w 5 years battery life
Contactless communication at 13.56MHz
4 LEDs for contactless payment indication (optional for 2nd phase
development)
Standards
ISO 7810/ 7811
ISO 14443 type A and B compliant
ISO 18092 compliant
11BU
Interfaces
RS232 and USB2.0 interfaces by use of corresponding cables.
USB 2.0 compliant interface configurable to support USB HID MSR,
or USB Virtual COM.
RS232 data output baud rate up to 115.2K BPS
Encrypted card data
output (optional)
Encrypted card data (AES or Triple DES)
DUKPT key management with more than 2M keys (model
selectable)
UIC Bezel5 Programmer’s Manual
Page.21/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
Authentication with RSA 2048 bit key
Antennas
Build-in direct matching antenna
13BU
Payment applications
American Express ExpressPay
Discover ZIP
MasterCard PayPass/MCHIP
Visa MSD/qVSDC
Google wallet
ISIS wallet
MIFARE applications
Read/Write of MIFARE Plus/Classic/Ultralight/DESFire cards
Support MIFARE higher baud rate up to 424KHz
2.2. Mechanical Specifications
Dimension
UIC Bezel5 Programmer’s Manual
Length:
107 mm
Width:
84 mm
Depth:
57.5 mm
Page.22/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
2.3. Electrical Specifications
Power Required
7.5 VDC ~ 45 VDC
Power Consumption
75mA in idle mode; 90mA in operating mode (preliminary
estimate) at 34 V working voltage
Communication
Standard RS232 signal level
Compatible with USB 2.0 specification
Communication Signal
(RS232)
Logic 1 = -3 volts to -15 volts
Logic 0 = +3 volts to +15 volts
2.4. Environmental Specifications
Temperature
Operating: -20 to 70℃
Storage:
Humidity
UIC Bezel5 Programmer’s Manual
-30 to 80℃
Operating: 5 to 95% (non condensing)
Page.23/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
2.5. Pin Assignment
Interface Pin Assignment
Pin
Signal
Comment
Pin
Signal
Comment
VCC
RXD
5VDC
VCC
TXD
5VDC
TXD
Signal Ground
RXD
DN
N/C
DP
Hi power
10
N/C
N/C
Signal Ground
Shield Ground
7.5VDC ~ 45VDC
Table 2-1. Pin Assignment of Interface Cable
UIC Bezel5 Programmer’s Manual
Page.24/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
2.6. Communication
RS232 Interface Data Output
Synchronization
The interface receives and transmits serial asynchronous data at voltage levels compatible with the
RS232 specification.
Baud Rate
9600 BPS default (optional: 1200/2400/4800/9600/19200/38400/56000/115.2K BPS)
USB Interface
Compatible with USB specification 2.0
The in/out commands will use the HidD_GetFeature/HidD_SetFeature functions of the Windows
standard USB HID driver.
Identification Information
USB Vendor ID:
USB Product ID:
6352
BE5A (Virtual COM) / BE5B (HID-MSR)
UIC Bezel5 Programmer’s Manual
Page.25/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
3. Operation
After power up of the reader, the scrolling LEDs are turned on together with one beep sound,
indicating that the reader is ready to operate.
As factory default setting, the Bezel5 reader is set to Self-Arm mode enabled. Under this mode, the
reader will read and transmit payment card 2 data automatically. User needs to disable this mode in
order to send contactless card operation commands.
3.1. Reader Default Setting
Item Description
EEPROM Default Value
UART setting
9600-8-N-1
USB Interface
USB HID MSR
Buzzer
Enabled
Protocol format
Protocol 2 (USI2)
Self-Arm mode
Disabled
EMV Mode
Enabled
Administration command protect
Enabled
Data Encryption
Disabled in Protocol 0 / Enabled in Protocol 2
Crypto Algorithm
TDES
DUKPT Key Management Mode
Auto rollover3
Contactless smart card manual type
(only available in host poll mode)
Type A
Optional functions for the variant versions F
Google application
Mifare First
Pre-load encryption key
(Customer specific or UIC default)
Pre-load Google Wallet merchant keys
Yes (per merchant request)
Table 3-1. Default Configuration settings
2 Payment cards– the card with MasterCard PayPass, VISA payWave, ExpressPay, or Discover Zip application.
3 Please contact UIC support team for more detailed information.
UIC Bezel5 Programmer’s Manual
Page.26/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
3.2. Pressing the Buttons and Magnetic Card ‘Wiggling’
3.2.1.
Pressing the Cancel Button
The message “SSS” is transmitted out from the reader after someone presses the Cancel button
3.2.2.
Pressing the Enter Button
The message “AAA” is transmitted out from the reader after someone presses the Enter Button.
3.2.3.
Magnetic Card is ‘Wiggled’
The message “BBB” is transmitted out from the reader after someone wiggles the magnetic card
back and forth.
UIC Bezel5 Programmer’s Manual
Page.27/166
UDN PM098 Rev. 1.0
Copyright © 2013, Uniform Industrial Corp. All Rights Reserved
3.3. Reader Configurations
3.3.1.
Transmission Protocol
The user may select from two different protocols: Protocol 0 and 2.
Upon reset, the reader will send out the default power-on character “:”, or any character specified
by the configuration setting.
Important:
When the Bezel5 reader is working in the USB interface mode, we need to add the header byte C2h
and the 2-byte data length before the command.
Protocol 0
In Protocol 0, all characters are transmitted and received using exactly the characters listed in
Section 4. There are no headers and Block Check Characters (BCC). Protocol 0 presumes no
transmission errors. If the host detects an error, it may request a retransmission.
Example of Protocol 0, RS232 Interface
Host Command
Reader Response
Comment
Ready to read
Reader ACK
Reader Response
Comment
Example of Protocol 0, USB Interface (Optional)
Host Command
<00h><01h>P
Ready to read
<00h><01h>^
Reader ACK
Protocol 2
In Protocol 2, all messages are preceded by the ASCII character , followed by a one byte
reader address, two bytes character count and terminated with a one byte .
The  is an XOR of the characters (8 bits) in the entire message, including .
Format: 
<00Hex> UIC Bezel5 Programmer’s Manual Page.28/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Example of Protocol 2, RS232 Interface Host Command Reader Response Comment <01><00><00><01>P<50h> Ready to read <01><00><00><01>^<5Eh> Reader ACK Reader Response Comment Example of Protocol 2, USB Interface Host Command <00><06><01><00><00><01>P<50h> Ready to read <00><06><01><00><00><01>^<5Eh> Reader ACK The
field is for a multi-reader system. This function is not currently supported. The recommended value for this field is NULL (00Hex) but any value will work. For Protocols 2, if the reader detects an error in an incoming transmission, it will respond with a “Communications Error” message. If the host detects a transmission error, it may request a retransmission. Protocol 0 is the simplest protocol without adding the redundant data. In order to handle the properly communication, it enforces a 100mSec timeout between characters. In brief, the reader expects the incoming command is ready after 100 ms timeout. For the applications with the short latency requirement, please choose Protocol 2. The reader processes the incoming command right after received a complete packet. If the application requests to exchange the binary data, Protocol 2 is recommended. UIC Bezel5 Programmer’s Manual Page.29/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 3.3.2. Configuration Protocol BLP Protocol In BLP Protocol, all messages are preceded by the ASCII character , followed by a one byte reader address, one byte character count and terminated with a one byte . is an XOR of the 7 data bits, excluding parity, of each character in the entire message, including . Format: <00Hex> Where HT=09Hex Example of BLP Protocol, RS232 Interface Host Command Reader Response <09h><00h><03h>DF<00h><08h> Comment Load Default Reader ACK Reader Response Comment Example of BLP Protocol, USB Interface Host Command <00h><07h><09h><00h><03h>DF<00h><08h> Load Default <00><01>^ UIC Bezel5 Programmer’s Manual Page.30/166 Reader ACK UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 3.3.3. Self – Arm Mode The default reader configuration is in “Self-Arm Mode”. This allows the payment cards (including VISA MSD, ExpressPay card and the general magnetic stripe credit cards) reading functions to run automatically, reporting the card data to the host without any instruction sent from the host. With the reader running in the Self-Arm Mode, it can be configured to the “Host Polled Mode” by disabling the Self-Arm Mode. The “Host Polled Mode” allows the card reading functions to be controlled by the relevant host commands. 19B Card Data Output for Different Types of Card and Reader Configurations With the reader running in the Self-Arm mode and depending on the configuration set in the reader and the type of card to be read, the reader will output different types of card information. The following table lists out the summary of it: Reader Configuration Type of Card Mifare Card Support Disabled (MFxy = 10)4 Payment Card 20B Enabled (MFxy = 11) Track data Track data Mifare Standard 1K N/A “M2” Mifare Standard 4K N/A “M3” Mifare Ultralight N/A “M1” Mifare Ultralight C N/A “M1” Mifare DESFire N/A “M4” Mifare Plus N/A “M5” Card Data Output in Self-Arm and Host-Polled modes Sending card data under the Self-Arm mode: Under the Self-Arm mode, the card data output will not include the protocol envelope code. The user can insert the envelope code by utilizing the configuration commands-SE and TO 5 . Please refer to 4.3.15. MFxy(4Dh 46h x y) - Set Payment Card and MIFARE Auto-Polling Please refer to 4.3.20. SEx(53h 45h x) - Self-Arm Mode Data Envelope Enable/Disable 4.3.23. TOx(54h 4Fh x) - Set Transmitting Data Output Format UIC Bezel5 Programmer’s Manual Page.31/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Card data output clear format (Self-Arm mode) Preamble Protocol Envelope code Tk1 prefix Tk1 Data Tk1 suffix Separator Tk2 prefix Tk2 Data Tk2 suffix Separator Tk3 prefix Tk3 Data Tk3 suffix Protocol Envelope code Postamble The preamble/postamble is only available in the card data output format under Self-Arm mode. The Bezel5 reader can be configured to become a secure reader which will output encrypted card data. The data format is as follows: 21B Encrypted Card data output format6 (Self-Arm mode) DUKPT data output format Encrypt Mode Encrypted Tk1 Data Encrypted Tk2 Data Encrypted Tk3 Data DUKPT KSN Encrypted Session ID RSA data output format Encrypt Mode Notes Encrypted Tk1 Data Encrypted Tk2 Data Encrypted Tk3 Data Encrypt Mode – 1: DUKPT TDES Mode 2: DUKPT AES Mode 3: RSA Mode Please refer to section 6 Authentication and Card Data Encryption for more information. UIC Bezel5 Programmer’s Manual Page.32/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 3.3.4. Host Poll Mode Under this mode, user can send out commands manually. Examples like the Q, R, S commands for individual track card data; the commands for controlling the LED and commands for turn on/off antenna power. Host Poll mode is disabled if the reader is configured with default setting. 22B Read card data using commands in the Host-Polled mode The reader replies to the so called “Host-Polled” command such as “Transmit Track Data”. The requested message is encapsulated in the protocol envelope. The response of the Transmit Track Data command is listed as below: Read TK1 data for command Protocol Envelope code Tk1 prefix Tk1* Data Tk1 suffix Protocol Envelope code Tk2 prefix Tk2* Data Tk2 suffix Protocol Envelope code Tk3 prefix Tk3* Data Tk3 suffix Protocol Envelope code Read TK2 data for command Protocol Envelope code Read TK3 data for command Protocol Envelope code The Protocol Envelope code can be , or NONE, it depends on which protocol is being used. UIC Bezel5 Programmer’s Manual Page.33/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 3.3.5. EMV Mode The EMV transaction is supported by two command groups in Bezel5: 1. Configuration command group 2. General command group. Usually before the deployment, the configuration commands are set to the bezel with the specific EMV transaction parameters. The settings are stored in the nonvolatile memory and kept until new settings are downloaded. This data is acquirer/issuer related. In other words, once the EMV data has been set, it won’t change frequently unless the acquirer/issuer would like to revoke the application or publish new data. The various general commands are called during the process of the EMV transaction. Each transaction will require several commands. When the transaction is complete, the bezel will return the transaction data. Note: The configuration commands and the general commands are using different protocol formats. Detailed information can be found in the command section. The bezel can accept both formats at the same time. The Application Diagram The below diagram describes how the EMV commands work with the bezel. EMV Parameters Initialization – They use the bezel configuration commands (BPL protocol). The process is done before deployment but could be updated after installation if the Gateway/Acquirer provides that facility. In order to process EMV transactions, the bezel must be initialized properly according to the transaction types it has to support. Known as EMV application configuration, the controller needs to configure the bezel with the necessary application related data. All of the application data is stored in the nonvolatile memory of the bezel and is set once before the bezel is deployed to the field site. However, new configuration data can be updated via the remote downloading process if a new application is required to be supported by the bezel. There are three different groups of reader configurations: 1. Terminal Configuration 2. Application Configuration 3. Public Key UIC Bezel5 Programmer’s Manual Page.34/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Public key loading (T03 command) Start Terminal Configuration Setup (T01 command) No Done? Application Configuration Setup (T15 command) Yes Ready for Deployment No Done? Yes Figure 3-1. EMV Configuration command diagram EMV Transaction - Using the bezel general commands (Protocol 2). There are many transaction scenarios for EMV transactions. The on-line transaction is shown in the above as one example. EMV Parameters Maintenance - After the bezel has been deployed, the acquirer may need to update the EMV parameters such as the public key. The parameter update process is similar to the EMV initialization. The controller must be able to handle this kind of process to accept the data from the acquirer. Then converts it to the suitable data format and send to the bezel. UIC Bezel5 Programmer’s Manual Page.35/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 3.3.6. Details of the Payment Card Tracks Data The Bezel5 reader running at Self-Arm mode will automatically decode the payment card data according to the payment application type. For non-supported payment cards, it is possible to go through the host-polled mode to query the card data. In general, for the supported payment cards, track 1 and 2 card data will always be present for a successful reading. Card Data Output Between a MSR Card and a RFID Card The Bezel5 reader is able to read two types of payment cards: MSR and RFID. The card data output for each type of card will have a 5-byte string attached before the card data. Their 5-byte strings are pre-defined in the [Preamble field] as below: 1) MSR card: ‘CARD-‘ 2) RFID card: ‘RFID-‘ Track 3 Data Format for Magstripe Card If the magstripe card is swiped and the track 3 is read, the Bezel5 reader will output Track 3 data conform with the ISO 7811 format. Track 3 Data Format for Contactless Payment Some contactless payment transactions may require extra information outside track 1 & track 2. The Bezel5 has introduced a way to reduce the communication time between the host and the reader with the particular information stored in track 3 or in a special Tag. The data is depended on the card type and its application. It is described in the following sections. The track 3 data of the contactless card is additional card information required for the specific payment transactions. Currently these track 3 data is available for the PayPass-MChip card and the Visa qVSDC/MSD card, and not for other contactless payment cards. These track 3 data is the necessary additional information to be used for System Integration. To simplify the host application process, this data contains only the value field of the Tag Length Value (TLV) data objects and is expressed in Hex format. The data objects placement is arranged in fixed sequence and are separated by the field separator ‘=’. The transaction data object field is empty if the data object is absent in the card. Moreover, the track 3 data begins with start sentinel and ends with end sentinel. UIC Bezel5 Programmer’s Manual Page.36/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Track 3 Data Format Start sentinel Card Type Transaction Result 1-byte 1-byte 2-byte Transaction Data Object(s) (card type dependent) End sentinel Each object is separated by the field separator.(n Bytes) 1-byte Table 3-2. Track 3 Data Format Table of Various Tags with Tag Length Value and their Descriptions Tag Description Track 3 (ASCII-HEX) , RS232/Vcom Interface Data Length (byte) Card Type* Data Object Format in Payment Specification Type, Data Length (byte) MasterCard ans, up to 16 bytes Up to 16 bytes Start Sentinel Card Type xx Transaction Result Field Separator 50 Application Label 57 Track 2 Equivalent Data V/M Binary, 1~19 var. 2~38 bytes 5A PAN V/M cn, 0~19 var, up to 10 byte. 0~20 bytes 5F20 Cardholder Name VISA ans 2~26, 2~26 bytes 2~26 bytes 5F24 Expiry Date V/M n 6 (YYMMDD), 3 bytes 6 bytes 5F2A Transaction Currency Code V/M Binary, 2 bytes 4 bytes 5F34 Application PAN Sequence Number V/M n 2, 1 byte 2 bytes 82 Application Interchange Profile V/M Binary, 2 bytes 4 bytes 84 Dedicated File Name Binary, 5~16 var. 10~32 var 95 Terminal Verification Results V/M Binary, 5 bytes 10 bytes 9A Transaction Date V/M n 6 (YYMMDD), 3 bytes 6 bytes 9B Transaction Status Information V/M Binary, 2 bytes 4 bytes 9C Transaction Type V/M n 2, 1 byte 2 bytes 9F02 Amount, Authorized (Numeric) V/M n 12, 6 bytes 12 bytes 9F03 Amount, Other (Numeric) V/M n 12, 6 bytes 12 bytes 9F09 Terminal Application Version Number V/M Binary, 2 bytes 4 bytes 9F10 Issuer Application Data V/M Binary, var. up to 32 bytes var. up to 64 bytes 9F11 Issuer Code Table Index MasterCard n 2, 1 byte 4 bytes UIC Bezel5 Programmer’s Manual MasterCard Page.37/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Tag Description Track 3 (ASCII-HEX) , RS232/Vcom Interface Data Length (byte) Card Type* Data Object Format in Payment Specification Type, Data Length (byte) MasterCard ans, up to 16 bytes Up to 16 bytes 9F12 Application Preferred Name 9F16 Merchant ID V/M ans, 15 bytes 30 bytes 9F17 Personal Identification Number (PIN) Try Counter VISA Binary, 1 byte 2 bytes 9F1A Terminal Country Code V/M Binary, 2 bytes 4 bytes 9F1E Interface Device Serial Number (IFD) V/M an, 8 bytes 16 bytes 9F26 Application Cryptogram V/M Binary, 8 bytes 16 bytes 9F27 Cryptogram Information Data MasterCard Binary, 1 byte 2 bytes 9F33 Terminal Capabilities V/M Binary, 3 bytes 6 bytes 9F34 Cardholder Verification Method Results MasterCard Binary, 3 bytes 6 bytes 9F35 Terminal Type V/M n 2, 1 byte 2 bytes 9F36 Application Transaction Counter V/M Binary, 2 bytes 4 bytes 9F37 Unpredictable Number V/M Binary, 4 bytes 8 bytes 9F40 Additional Terminal Capabilities V/M Binary, 5 bytes 10 bytes 9F41 Transaction Sequence Counter n 4~8 var., 2~4 bytes 4~8 bytes 9F51 Application Currency Code VISA n 3, 2 bytes 4 bytes 9F53 Transaction Category Code MasterCard Binary, 1 byte 2 bytes 9F54 Cumulative Total Transaction Amount Limit VISA n 12, 6 bytes 12 bytes 9F5D Available Offline Spending Amount VISA n 12, 6 bytes 12 bytes 9F66 Terminal Transaction Qualifiers VISA Binary, 4 bytes 8 bytes 9F68 Card Additional Processes VISA Binary, 4 bytes 8 bytes 9F6B Card CVM Limit VISA n 12, 6 bytes 12 bytes 9F6C Card Transaction Qualifiers VISA Binary, 2 bytes 4 bytes 9F6D VLP Reset Threshold VISA n 12, 6 bytes 12 bytes 9F6E Form Factor Indicator VISA Binary, 4 bytes 8 bytes 9F6E Third Party Data MasterCard Binary, 5-32 var. 10~64 bytes 9F78 VLP Single Transaction Limit VISA n 12, 6 bytes 12 bytes 9F79 VLP Available Funds VISA n 12, 6 bytes 12 bytes UIC Bezel5 Programmer’s Manual MasterCard Page.38/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Tag 9F7C Description Card Type* Data Object Format in Payment Specification Type, Data Length (byte) Track 3 (ASCII-HEX) , RS232/Vcom Interface Data Length (byte) Customer Exclusive Data VISA Binary, 0~32 var. 0~64 bytes POS Entry Mode VISA Binary, 1 byte, VISA only, the value of ‘91’ for MSD transactions. The value of ‘07’ for qVSDC transactions 2 bytes Terminal Entry Capability VISA “5” (for readers that also support VSDC contact chip) or “8” (for readers that do not also support VSDC contact chip). 1 byte End Sentinel Table 3-3. TLV Tag format and descriptions TLV (Tag Length Value) Description [Tag] means the Tag of the TLV item. If the TLV is present in the transaction, it will show in Track 3, else the [Tag] will leave it as empty. If Value of TLV is not alphanumeric or numeric, the data will be shown in Hex Format. Ex: 2AH will show 2A in ASCII code to be visible. Data objects moved from the card to the reader are encapsulated in TLV encoded data objects. Data objects that have the numeric (n) format are BCD encoded, right justified with leading hexadecimal zeros. Data objects that have the compressed numeric (cn) format are BCD encoded, left justified and padded with trailing 'F's. Note that the length indicator in the numeric and compressed numeric format notations (e.g. n 4) specifies the number of digits and not the number of bytes. Data objects that have the alphanumeric (an) or alphanumeric special (ans) formats are ASCII encoded, left justified and padded with trailing hexadecimal zeros. UIC Bezel5 Programmer’s Manual Page.39/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Value of Card Type Card Type: It indicates that the tag may appear in track 3 by reading that particular card. V/M means VISA and MasterCard. If the card brand doesn’t appear in the card type field, it doesn’t mean that this card will not support such tag. Value Card Type* MChip MagStripe V3.3 Amex Express Pay/EP3 (Reserve) Visa(qVSDC, MSD) Interac Discover Zip/D-PAS (Reserve) Table 3-4. Card Type indication in Track 3 Value of Transaction Result Value Transaction Result** 00 Offline Approved 01 Offline Declined 02 Online 03 Switch to other interface 97 Anti-Collision 99 Terminate Table 3-5. Transaction Result indication in Track 3 UIC Bezel5 Programmer’s Manual Page.40/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 3.3.7. Payment Card Data Output Example PayPass–Magstripe3.3 Track 3 data format: Card Type (1-byte) Transaction Result (2-byte) [DDCard Track1]=[ DDCard Track2]= [9F6E]=[84]=[50] =[9F12]=[9F11] Track Data: %B5413330056003529^CUST IMP MC 352/^14122059900909900000099909909969929990400?;5413330056003529=14122059999999469960?+102=9900 909900000099909909969929990400=9999999469960==A0000000041010=ID352 v1 1===? Parsed Track Data: Track 1 %B5413330056003529^CUST IMP MC 352/^14122059900909900000099909909969929990400? Track 2 ;5413330056003529=14122059999999469960? Track 3 +102=9900909900000099909909969929990400=9999999469960==A0000000041010=ID352 v1 1===? Parsed Track 3 Data: Card Type Result 02 Magstripe Online Request Position Tag DDCard Track1 DDCard Track2 9F6E Value 9900909900000099909909969929990400 9999999469960 Description PayPass Third Party Data Position Tag 84 50 9F12 9F11 Value A0000000041010 ID352 v1 1 Description DF Name Application Label Application Preferred Name Issuer Code Table Index UIC Bezel5 Programmer’s Manual Page.41/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved PayPass–MChip Track 3 data format: Card Type (1-byte) Transaction Result (2-byte) =[CVM]=[9F26]=[9F10]=[9F37]=[9F36]=[95]=[9B]=[9A]=[9C]=[9F02]=[5F2A] =[82]=[9F1A]=[9F03]=[9F33]=[9F35]=[84]=[9F09]=[9F1E]=[9F16]=[9F41]=[9F27] =[9F34]=[9F53]=[5A]=[5F24]=[57]=[9F6E]=[50]=[9F12]=[9F11]=[5F34] Track Data: %B5413330089600119^0056^ETEC/PAYPASS^141231^^?;5413330089600119=1412==?+002=1F=96EB58603A581C2 F=0110A00000000000000000000000000000FF0000000000000000000000000000=14A946B2=0001=8000000000== 120604=00=000000001500=0978=1880=0056=000000000000=000888=22=A0000000041010=0002=123456789000 0000=303030303030303030303030303031=00000039=80=1F0300=00=5413330089600119=141231=54133300896 00119D14122010123409172==505043204D43442031312076322031===01? Parsed Track Data: Track 1 %B5413330089600119^0056^ETEC/PAYPASS^141231^^? Track 2 ;5413330089600119=1412==? Track 3 +002=1F=96EB58603A581C2F=0110A00000000000000000000000000000FF00000000000000000000 00000000=14A946B2=0001=8000000000==120604=00=000000001500=0978=1880=0056=00000000 0000=000888=22=A0000000041010=0002=1234567890000000=30303030303030303030303030303 1=00000039=80=1F0300=00=5413330089600119=141231=5413330089600119D1412201012340917 2==505043204D43442031312076322031===01? Parsed Track 3 Data: Card Type Result 02 M-Chip Online Request Position Tag CVM 9F26 9F10 9F37 Value 1F 96EB58603A581C2F 0110A000000000000000000000000 00000FF0000000000000000000000 000000 14A946B2 Description No CVM Application Cryptogram Issuer Application Data Unpredictable Number Position Tag 9F36 95 9B 9A Value 0001 8000000000 Description Application Transaction Counter UIC Bezel5 Programmer’s Manual Terminal Verification Results Page.42/166 120604 Transaction Status Information Transaction Date UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Position 10 11 12 Tag 9C 9F02 5F2A 82 Value 00 000000001500 0978 1880 Description Transaction Type Amount, Authorized Transaction Currency Code Application Interchange Profile Position 13 14 15 16 Tag 9F1A 9F03 9F33 9F35 Value 0056 000000000000 000888 22 Description Terminal Country Code Amount, Other Terminal Capabilities Terminal Type Position 17 18 19 20 Tag 84 9F09 9F1E 9F16 Value A0000000041010 0002 1234567890000000 3030303030303030 30303030303031 Description DF Name Terminal Application Version Number Interface Device Serial Number Merchant ID Position 21 22 23 24 Tag 9F41 9F27 9F34 9F53 Value 00000039 80 1F0300 00 Description Transaction Sequence Counter Position 25 26 27 28 Tag 5A 5F24 57 9F6E 141231 5413330089600119D14122 010123409172 Expiry Date Track 2 equivalent Data Value Description 5413330089600119 PAN Cryptogram Information Data Cardholder Verification Method Results Transaction Category Code Paypass Third Party Data Position 29 30 31 32 Tag 50 9F12 9F11 5F34 Value 505043204D43442 031312076322031 Description Application Label UIC Bezel5 Programmer’s Manual 01 Application Preferred Name Page.43/166 Issuer Code Table Index Card Serial Number UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Visa (qVSDC, MSD) Track 3 data format: Card Type (1-byte) Transaction Result (2-byte) =[9F26]=[9F10]=[9F37]=[9F36]=[9F66]=[95]=[9B]=[9A]=[9F02]=[5F2A]=[82] =[9F1A]=[9F03]=[9F33]=[9F35]=[9F09]=[9F1E]=[9F16]=[5F34]=[9F40]=[9F6E] =[9F7C]=[57]=[5A]=[5F20]=[5F24]=[9C]=[9F5D]=[9F68]=[9F6C]=[9F6B]=[9F51] =[9F17]=[9F78]=[9F79]=[9F6D]=[9F54]=[POS Entry Mode]=[Terminal Enter Capability] Track Data: %B4761739001010010^ /^201212000123100399030000?;4761739001010010=20121200012339900031?+300=AABBCCDDEEFF1122=060111 03900000=94018C92=0003=A0804000=0000000000==120604=000000000100=0840=2000=0840=000000000000=0 00888=22=0000=1234567890000000=303030303030303030303030303031=01=6000000001===4761739001010010 D20121200012339900031F=4761739001010010==201231=00=000000010000==3000========07=08=40? Parsed Track Data: Track 1 %B4761739001010010^ /^201212000123100399030000? Track 2 ;4761739001010010=20121200012339900031? Track 3 +300=AABBCCDDEEFF1122=06011103900000=94018C92=0003=A0804000=0000000000==120604=0 00000000100=0840=2000=0840=000000000000=000888=22=0000=1234567890000000=303030303 030303030303030303031=01=6000000001===4761739001010010D20121200012339900031F=4761 739001010010==201231=00=000000010000==3000========07=08=40? Parsed Track 3 Data: Card Type Result 02 VISA Online Request Position Tag 9F26 9F10 9F37 9F36 Value AABBCCDDEEFF1122 06011103900000 94018C92 0003 Issuer Application Data Unpredictable Number Application Transaction Counter Description Application Cryptogram Position Tag 9F66 95 9B 9A Value A0804000 0000000000 UIC Bezel5 Programmer’s Manual Page.44/166 120604 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Position Description Terminal Transaction Qualifiers Terminal Verification Results Transaction Status Information Transaction Date Position 10 11 12 Tag 9F02 5F2A 82 9F1A Value 000000000100 0840 2000 0840 Description Amount, Authorized Transaction Currency Code Application Interchange Profile Terminal Country Code Position 13 14 15 16 Tag 9F03 9F33 9F35 9F09 Value 000000000000 000888 22 0000 Description Amount, Other Terminal Capabilities Terminal Type Application Version Number Position 17 18 19 20 Tag 9F1E 9F16 5F34 9F40 Value 1234567890000000 30303030303030303030 3030303031 01 6000000001 Description Interface Device Serial Number Merchant ID Application PAN Sequence Number Position 21 22 23 24 Tag 9F6E 9F7C 57 5A 4761739001010010D201 21200012339900031F 4761739001010010 Track 2 Equivalent Data PAN Value Description Form Factor Indicator Customer Exclusive Data Additional Terminal Capabilities Position 25 26 27 28 Tag 5F20 5F24 9C 9F5D 201231 00 000000010000 Expiry Date Transaction Type Available Offline Spending Amount Value Description Cardholder Name Position 29 30 31 32 Tag 9F68 9F6C 9F6B 9F51 Card CVM Limit Application Currency Code Value Description 3000 Card Additional Processes UIC Bezel5 Programmer’s Manual Card Transaction Qualifiers Page.45/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Position 33 34 35 36 Tag 9F17 9F78 9F79 9F6D PIN Try Counter VLP Single Transaction Limit VLP Available Funds VLP Reset Threshold Value Description Position 37 38 39 Tag 9F54 POS Entry Mode Terminal Enter Capability 07 08 qVSDC transaction Always set to 8 Value Description Cumulative Total Transaction Amount Limit UIC Bezel5 Programmer’s Manual Page.46/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4. Commands and Responses 4.1. Common Command Description Reader Response Code Response Meaning Acknowledgement Cannot execute (e.g. out of range) Bad parameter (e.g. incorrect length) + (2BH) No Magnetic Stripe Card Data. Command was received correctly. ? (3FH) Communication Error. Command was not received correctly. : (3AH) Power On report. ~ (7EH) Unavailable. Hardware is not available to complete this request. 4.1.1. % (25H) - Retransmit Retransmits the last message sent by the reader. Example Host Command Reader Response Example Note: This command is ignored if the reader is running in Self-Arm mode. 4.1.2. 70 (37H30H) or 90(39H30H) - Serial Number Report Gets the reader’s serial number that has been stored in the EEPROM Example Host Command Reader Response Example 70 00000000 UIC Bezel5 Programmer’s Manual Page.47/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.1.3. 71 (37H31H) or 91 (39H31H) - Copyright Report Transmits the version and copyright information Example Host Command Reader Response Example 71 131210,BE50131A:V1.G This command is sent if the user wants to know the version, model and copyright of the currently loaded Bezel5 firmware. The response is an ASCII string giving the firmware date (yymmdd), reader type and the firmware version number, followed by the firmware copyright statement. The firmware copyright statement is absent in the OEM version. 4.1.4. 7A (37H41H) or 9A (39H41H) - Module Version Report Transmits the version information This command is sent to request the version of the module in the Bezel5 firmware currently loaded. The response is a 6-byte ASCII string, reader type and the module version number. Command Packet Byte 0-1 Byte 2 7A (37H41H) or 9A (39H41H) 0-7 (See Table 4-1) Description table Module In byte Example ("-xxxx" is a 4 bytes checksum) HAL_VERSION BE5H11-xxxx PAYPASS_VERSION BE5P11-xxxx AMEX_VERSION BE5A11-xxxx VISA_VERSION BE5V11-xxxx DN_VERSION BE5D11-xxxx L1_VERSION BE5111-xxxx L2_VERSION BE5211-xxxx MIFARE_VERSION BE5M11-xxxx Table 4-1. Module Version Report Description Example UIC Bezel5 Programmer’s Manual Page.48/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Host Command Reader Response Example 7A0 BE5H11-xxxx 4.1.5. 7F (37H 46H) – Get Hardware Status This command can get the hardware status back after powered-on. The host can use this command to check if there's any hardware initialization issue happened during the power-on process. If all the ICs are working well, the response should be 4 bytes of zeros. Response Byte 0 Meaning Bit 8 Reserved Bit7 Reserved Bit6 Reserved Bit5 Reserved Bit4 Reserved Bit3 Reserved Bit2 Reserved Bit1 Reserved Byte 1 Meaning Bit 8 Reserved Bit7 Reserved Bit6 Reserved Bit5 Reserved Bit4 Reserved Bit3 Reserved Bit2 Reserved Bit1 Reserved Byte 2 Meaning Bit 8 Create New Session Key Bit7 Session Key Error Bit6 RSA Key Error Bit5 Interface IC Error UIC Bezel5 Programmer’s Manual Page.49/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Byte 2 Meaning Bit4 Create New DUKPT Key Bit3 DUKPT KEY Error Bit2 Create New MAC Key Bit1 MAC Key Error Byte 3 Meaning Bit 8 Create New PingPing Key Bit7 PingPing Key Error Bit6 Ext Flash Error Bit5 Create New RSA Key Bit4 RSA Chip Error Bit3 Create New Master Key Bit2 Initial Master Key Error Bit1 EEPROM Error 4.1.6. ? (3FH) - Select Verbose Responses Command Most error responses, until the reader receives a reset command, error response will include a short descriptive message. Example Host Command Reader Response Example ^Verbose responses enabled 4.1.7. $ (24H) – Reader Status Request Interrogate the reader about its operational status. Two bytes of status information will be returned. Example Host Command Reader Response Example `<01> UIC Bezel5 Programmer’s Manual Page.50/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Reader Response Example = ‘<01> Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Byte 1, see Table 4-2 Byte 2, see Table 4-3 First Status Byte Bit Value: 0 Value: 1 RFU RFU No Card Present Card Seated RFU RFU RFU RFU No Card status Report Auto Card status Report always ‘1’ always ‘1’ Not armed to read Armed to read RFU RFU Table 4-2. First Byte Description of Reader Status Request Second Status Byte Bit Value: 0 Value: 1 First LED OFF First LED ON LED not Flash LED Flash 2-3 RFU RFU No RFID Read RFID Read 5-7 RFU RFU Exception: If there is any LED flashes, the bit 0 status will be ignored. (i.e., in this case, bit 0 always = ‘0’) Table 4-3. Second Byte Description of Reader Status Request 4.1.8. # (23H) – Configuration Request Returns single byte or extended 16-byte string representing the configuration of the device. Example Host Command Reader Response Example UIC Bezel5 Programmer’s Manual Page.51/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Reader Response Example = “ ? ” Byte 1, see Table 4-4 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Standard, One Configuration Byte Bit Value: 0 Value: 1 Track 1 not present Track 1 present Track 2 not present Track 2 present Track 3 not present Track 3 present 3-7 RFU RFU Table 4-4. First byte of Configuration Request response Extended Configuration Bytes (16 bytes) Byte Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5-15 Remark Equip.0 Equip.1 Protocol Speed Address RFU Equip. 0 - Extended Configuration Byte 0 Bit Value: 0 Value: 1 0-3 RFU RFU Track 1 not present Track 1 present Track 2 not present Track 2 present Track 3 not present Track 3 present RFU RFU Bit Value: 0 Value: 1 0-7 Not Used Not Used Equip. 1 - Extended Configuration Byte 1 Byte 2 – Byte 4 Byte Remark Protocol UIC Bezel5 Programmer’s Manual 00H = USI2; 03H = USI0; 06H = USI1 Page.52/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Byte Remark Speed Address 00H=1200, 01H=2400, 02H=4800, 03H=9600, (Default) 04H=19.2k, 05H=38.4k, 06H=57.6k, 07H=115.2k bps Always 00H. By using the configuration setting command, users can select the standard or extended format. For the Extend command usage refer to 4.3.8. ECx(45h 43h x) - Extended Configuration Report Enable/Disable. UIC Bezel5 Programmer’s Manual Page.53/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.1.9. (18H) – Clear Data Buffer Clears read data buffers. Example Host Command Reader Response Example <18> 4.1.10. <7FH> – Warm Reset It aborts all current actions and causes the device to execute all initialization functions. The device will respond as if in a "power up" cycle; by default it returns a ‘:’ (3AH). This operation will take at least 3 seconds to complete. Example Host Command Reader Response Example <7F> 4.1.11. 5 (35H) – Set RTC Time This command is used to set and read device’s RTC Time Command Packet Byte 0 Byte 1 CMD Byte 2 Byte 3 Byte 4 Byte 5 Date or Time CMD Description [CMD, 1 byte] (ASCII – Hex value) Description 1 (or 31h) Read Date 2 (or 32h) Read Time 3 (or 33h) RFU 4 (or 34h) Set Date 5 (or 35h) Set Time UIC Bezel5 Programmer’s Manual Page.54/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Byte 6 51 (35H31H) - Read Date Response data Packet: Byte 0 – Byte 1 Byte 2 Byte 3 Byte 4 Year Month Date Week <20*><12> <12> <06> <04> *The year <20> can be interpreted as space character. 01h=Monday, 02h=Tuesday, … 07h=Sunday Note: BCD format from 010 (0000BCD = 0h) to 910 (1001BCD = 9h) Example Host Command Reader Response Example 51 <20*><12><12><06><04> 52 (35H32H) - Read Time Response data Packet: Byte 0 – Byte 1 Byte 2 Byte 3 Byte 4 Hour Min Second Millisecond <16> <30> <00> <04><90> Note: BCD format from 010 (0000BCD = 0h) to 910 (1001BCD = 9h) Example Host Command Reader Response Example 52 <16>0<00><04><90> UIC Bezel5 Programmer’s Manual Page.55/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 54 (35H34H) - Set Date Command Packet: Byte 0-1 Byte 2-3 Byte 4 Byte 5 Byte 6 Command Year Month Date Week 54 <14><0C> <0C> <06> <04> Hex value format valid input 01h=Monday, 02h=Tuesday, … 07h=Sunday Default setting is <20><01><01><01><01>, obtained by Read Date. YYYY: 14h 00h – 1Eh FFh (2000 – 3000) If the ‘YYYY’ falls out of range, the reader will restore the configuration to default settings after resetting the device. Example Host Command Reader Response Example 54<14><0C><0C><06><04> 55 (35H35H) - Set Time Command Packet: (Hex value format valid input) Byte 0-1 Byte 2 Byte 3 Byte 4 Byte 5-6 Command Hour Min Second Millisecond 55 <11> <0E> <37> <00><0A> Example Host Command Reader Response Example 55<11><0E><37><00><0A> UIC Bezel5 Programmer’s Manual Page.56/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.1.12. B (42H) – Buzzer Beep control Used to let the Buzzer to beep under user’s control Command Packet Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Command Count Tone On Duration Short Duration <31> <30> <7F> <00> Example Host Command Reader Response Example B<31><30><7F><00> Command Type Field Count Description 0 (30h, ASCII Hex) – long beep **Important: Once ‘B0’ command starts beeping, NO command can STOP it–unless users send a “Reset” command to stop it. 1~9, A~F(31h~39h 41h~46h, ASCII Hex) – 1~15 short beeps Tone For adjusting the frequency level, 00h~FFh(high → low). On Duration The duration of a beep; time unit is 10ms, 00h means 10ms, FFh means 2560ms. Short Duration The interval between 2 beeps in unit of 10 milliseconds; 00h means 10ms, FFh means 2560ms. Note: If Type parameter is omitted, reader will treat it as the ONE SHORT Beep command. UIC Bezel5 Programmer’s Manual Page.57/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.1.13. I (49H) – Load RSA Key This command is used to load RSA Key and query Key Index for PayPass MCHIP and VISA qVSDC applications. Command Packet Byte 0 Byte 1 or Byte 1-3 Byte 2~ Command Type, see Table 4-5 Data, see Table 4-6 <01><00><05><00><00><00><00><01><01><03><03><01><00>< 01><80><14><12><88><09><88><19>~y<8F><0D><90>fc<13>:p<98><1E>a&+(<8B><98><97><82><94>*9< 98><08>WF<88>K<0D>7-<1C>h<9A>[<8 4>Z<99><88>Q<0C><9A><96>D]L<1D>W=<14>-^<8B>< C5>DT<92><12>1~z5R’<8B>{_e<0F>W~< F2>}{3okSj;<09><14>
>+l8Y<99><88 >yX<86><9E><91> Command Type Command Format (ASCII – Hex) Description 0[01H 16H] (or 30H 01H 16H) Show Stored Key’s Index and RID 1 ( or 31h) Load RSA Key 2 ( or 32h) Load Authentication RSA Key 5 ( or 35h) Load Test Key and Test RSA Chip FFH 00H 00H Erase all Key Entry Table 4-5. Load RSA Key Type Command Data Data Description Entry Index 1 byte in binary format, must be 1-16. Total Len Total length of rest data, 2 bytes in binary format. RID Len 1 byte in binary format, must be 5. RID 5 bytes in binary format CAPKI Len 1 byte in binary format, must be 1. CAPKI Key Index, 1 byte in binary format. Exp Len 1 byte in binary format, must be 1 or 3. Exponent 1 or 3 bytes in binary format. UIC Bezel5 Programmer’s Manual Page.58/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Data Description Mod Len 1 byte in binary format, Max is 248. Modulus 1-248 bytes in binary format. Sha_1 Len Len-1 byte in binary format, must be 0 or 20. Sha_1 20 bytes in binary format, if present. Table 4-6. Load RSA Key Data Description I1 command Example Data Value RID 0000000001 CA Index 03 Modulus 14C312D488A70988A4F219D5D67E798FDCA0A70D906663133A70981E6126F92B28 8BED98D69782CCA8C594B0CF2AB2ECE7399808574688A1B84BBCD20D37E92D1C68 9A5BBD845A9988510C9A96EE445D4C1DA357AD3D142D5E8BC5D644549212317E7 A3552278BF8C67B5FBF650FFDAF577EF2297B336FEF6BA6536ADE3BA109 Exponent 010001 Sha_1 Value DD3E2B6CCD38CF59998879F058BF86C827E09E91 Command Form: I1<01><00><05><00><00><00><00><01><01><03><03><01><00><01><80><14><12><88><09>< 88><19>~y<8F><0D><90>fc<13>:p<98><1E>a&+(<8B><98><97><8 2><94>*9<98><08>WF<88>K<0D>7-<1C>h<9A>[<84>Z<99><88>Q<0C><9A><96>D]L<1D>W=<14>-^<8B>DT<92><12>1~z5R’<8B> {_e<0F>W~}{3okSj;<09><14>
>+l8Y<99><88>yX<86> <9E><91> Note: These values are used for testing purposes. Table 4-7. Load RSA Key example (I1 command) Command Data Format - (Command I2, Authentication RSA Key) Data Byte Field Name Padding Data Length Var. Padding frame see Table 4-9 16+n Random 17+n Exponent Length 1 Byte 21+n Exponent 4 Bytes 23+n Modules Length 2 Bytes 23+n+m Modules 43+n+m SHA1 Notes 16 Bytes Var. Issue 90h 10h command to get random. Binary format 20 Bytes Padding + Random + Exp Len + Exp + Modules Length + Modules Table 4-8. Authentication RSA Key data format (I2 command) UIC Bezel5 Programmer’s Manual Page.59/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Padding Frame - (Command I2, Authentication RSA Key) Byte 0~1 Byte 2+n Byte 3+n 00h 01h Var. 00h Table 4-9. Padding Frame of Authentication RSA Key command Example - (Command I2, Authentication RSA Key) Host Command Reader Response I26F5DFC046F37D2CEFAE240A3E1870CA374F34FF9F1D138D5D78B09AA1863E1129F35E2559 4B40205E46EE1C603AD080141B51020892408DB741A58B203A4E8D75A9E98B45FA33AE495F 24F2D6F78048804320216E295E721DED633EFCCCD8CA91B7D12E8AB7FBA8490B5AC87F17E9 3A2E18C4993B52E020ED3C18138CE4A091D2EB0DA846D50C5432E186AB148257884C409A4D DBBF42FB8CFBF778E7966E3704DC8B976945B302D21E82515390FCC6F6BCA4894F6CA29B027 40DD22A1B530DA2CD2F90E9F673E3E0BD1EBCAA3BAC2D5F664F5F77C5193B4A78AF8D5CAC F5344D5E63CF3898D77F96468FA7CBABEE6A4E43E203AF6141E19D3390B9C5565C88F13E091 5EB57034EB4C3788DE6FFEE355364EDDF4E32CABB52DA0DDB816634E58BFA79FFC890B8DE0 F766906C05EBAA2578F85D2D3D3F4D5712722441D1449E40F6BC7205DD281C937E675214D6 63BA69BDB2E5674B4CC8D4D1002814E7BBEED9A96C177A0C8872F59E12593607A440E3ABA D5DF510798B363505F6E81E63FC3F60884404923768C6D1228CAE34289C051418C2FC8C98F5 8CB98F1DED473A7F8F8449682B572EB56758588DD9D6DFD5BC4EC72FF9D3B7E9C6B79F7231 6B593611FF5D0753466621A80EB71BB2D4575AB795C47A1FD4D21B3D702FB296E67F49ED18 07531177900AFE9D7FE8B4DBF19AA520E9BC6D8AA0EE664887C3CD716B5E Table 4-10. Load Authentication RSA Key example (I2 command) 4.1.14. w (77H) – Exception File To add or process the PAN in the Exception File. Primary Account Numbers kept by this black list will be denied for transactions. Command Packet Byte 0 Byte 1 Byte 2~ Command Type Data <10>6011111111111117 Command Type ASCII – Hex Value Description 0 ( or 30h) Erase Exception File 1 ( or 31h) Report counts of PANs in the Exception File 2 ( or 32h) Add a PAN to the file, 272 entries max. 3 ( or 33h) Query if a PAN exists in the Exception File UIC Bezel5 Programmer’s Manual Page.60/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved ASCII – Hex Value Description 4 ( or 34h) Request a certain PAN from the Exception File Command Data Type Description 2 ( or 32h) 3 ( or 33h) 4 ( or 34h) data length(1 byte) + PAN(up to 19 bytes ASCII ‘0’~’9’) 2 bytes long, range from 0000h to 010Fh Response data format Type Description 1 ( or 31h) Return 2-byte binary number -- the total number of PANs in the file. 3 ( or 33h) Return ‘1’ if PAN exists; else, return ‘0'. 4 ( or 34h) Return primary account number; else, return 00h. w1 Example Host Command Reader Response Example w1 <00><02> w2<10>6011111111111117 w3<10>6011111111111117 w4<00>03> <10>6011111111111117 4.1.15. @ (40H) – Display Control The LCD panel can show eight rows x 18 small ASCII font, four rows x 18 big ASCII font or four rows x 9 Chinese code. Command Packet Byte 0 Byte 1 Byte 2 ~ Command Type Data <01> <00> UIC Bezel5 Programmer’s Manual Page.61/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Command Type Type Description 01h LCD Clear, See Table 4-12 02h LCD Write Char, See Table 4-13 03h Graphic picture selection, See Table 4-14 04h LCD Inverse, See Table 4-15 07h Cursor Blink, See Table 4-16 08h Cursor Home 09h Cursor Display, See Table 4-17 0Ah Position Cursor, See Table 4-18 0Bh LCD Blinking, See Table 4-19 0Ch LCD Blink Time, See Table 4-20 16h LCD Backlight control, See Table 4-21 Table 4-11. LCD Function Table Command Data Option LCD Clear Data Description 00h Clear entire display 01h Clear line 1 02h Clear line 2 03h Clear line 3 04h Clear line 4 Table 4-12. Clear LCD command option Example Display Line Host Command Reader Response Example <01><00><00><03>@<01><01>B <01><00><00><03>@<01><02>A <01><00><00><03>@<01><03>@ <01><00><00><03>@<01><04>G UIC Bezel5 Programmer’s Manual Page.62/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Display Line Host Command Reader Response Example LCD Write Char (5 Fields in binary format) Field 1 Field 2 Field 3 Field 4 Field 5 1~18 1~64 Length 1 Length 2 Data buffer Total length = (Length 1 * 256) + Length 2 Table 4-13. Write Characters to LCD Example Display Line Host Command Reader Response Example <01><00><00><16>@<02><00><00><00><10>1234567890123456C <01><00><00><16>@<02><00><01><00><10>1234567890123456B <01><00><00><16>@<02><00><02><00><10>1234567890123456A <01><00><00><16>@<02><00><03><00><10>1234567890123456@ Graphic Picture Selection Data Description 00h 01h 02h 03h Table 4-14. Graphic Picture Selection UIC Bezel5 Programmer’s Manual Page.63/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved LCD Inverse Data Description 00h Normal 01h Light pixels on a dark background Table 4-15. LCD Inverse Option Example Host Command Reader Response Example <01><00><00><03>@<04><01>G Enable <01><00><00><03>@<04><00>F Disable Cursor Blink Data Description 00h No blinking 01h Cursor blink on Table 4-16. Cursor Blink Option Cursor Display Data Description 00h Cursor hides 01h Cursor display Table 4-17. Cursor Display Option Position Cursor Data ux and uy Description Set cursor position, 2 bytes in binary format Table 4-18. Cursor Position Set LCD Blinking Data Description 00h Blinking off 01h Blinking on Table 4-19. LCD Blinking Option UIC Bezel5 Programmer’s Manual Page.64/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved LCD Blink Time Data Description 00h~0Fh Setup blinking time, 1 byte in binary format Table 4-20. Set LCD Blinking Time LCD Backlight control Data Description 00h Off 01h Turn on the LCD backlight. Table 4-21. LCD Backlight Control Example Host Command Reader Response Example <01><00><00><03>@<16><01>U On <01><00><00><03>@<16><00>T Off 4.1.16. L (4Ch) / l (6Ch) / ( (28h)- LED Control This command is for Contactless LED control. Usually contactless LED don't have to control by the host, but this command can be used for LED function testing or specific purpose. Command Packet Byte 0 Byte 1 (LED Position) Description LED turn-on LED turn-off LED Flashing UIC Bezel5 Programmer’s Manual Page.65/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved LED Position Type Description 1, (31h) First LED (Blue) 2, (32h) Second LED (Orange) 3, (33h) Third LED (Yellow Green) 4, (34h) Fourth LED (Red) 4.1.17. LE (4Ch 45h) / LD (4Ch 44h) - Flash LED Control This command is for the user to recognize that the reader is up and functioning. The default is turned-on upon power up. For specific purpose, it can be disabled and controlled by the host to determine when the LED be turned on. Command Description Command Description LE Turn-on Flashing LED LD Turn-off Flashing LED UIC Bezel5 Programmer’s Manual Page.66/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.2. General Commands Description The default setting of the Bezel5 reader, Self-Arm mode, is mainly used to simplify the process so that the host does not need to communicate back and forth with the reader. In this situation, the Bezel5 acts like a general magnetic stripe card reader. Whenever it senses the card it will try to decode the card data automatically and send out the decoded data to the host if the process is successful. Otherwise, error code will be sent out for host to make next activation. If the application would like to take complete control on the reader, we recommend the user to use the “Host-Polled” mode instead of the “Self-Arm” mode. It can be done by either sending “Self-Arm” disable command or changing the default setting in the reader configuration. Once the Bezel5 receives the Self-Arm disable command, ‘H0’ (see the command description section), it will turn off the auto-read function and then wait for the “Arm-to-Read” command, ‘P’ (50h) prepared for the next transaction. Since the Self-Arm disable command won’t change the EEPROM setting, the Bezel5 will turn back to the Self-Arm mode in the next power cycling. Besides, the Self-Arm enable command, ‘H1’, can also bring the Bezel5 back to the Self-Arm mode. To disable the Self-Arm mode permanently, the host needs to set its EEPROM value of the Bezel5. The configuration command ‘SA' (see 4.3.19. SAx(53h 41h x) - Self-Arm Mode Enable/Disable) saves the setting into the EEPROM of the Bezel5 and keeps the value until the next change. We recommend users to use Protocol 2 (USI2) in their “host-polled” applications. This protocol contains the header, message counter and block check character. It is better than using Protocol 0(USI0) as it can prevent the data to be misinterpreted but requires more redundant bytes. UIC Bezel5 Programmer’s Manual Page.67/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Self-Arm Mode transaction process Example flow Receive error from reader Reader Initial Enable Self-Arm Mode H1 / SAE Command Terminal/Controller Action Start new transaction Error Code Action 54/55 Command Set Transaction Date/Time Return Error Code? * Set reader to Self-Arm mode by send H1 command is for temporary test, reader will return to Host-Poll mode after power cycling. Yes TM<01> Command No Start Transaction with amount Return Error Code Process Terminal/Controller Action Tap Card No Wait amount to start transaction? Reader Setting Command Reader Transaction Command Yes Tap Contactless Card T1 Command Set Amount DWE Command Figure 4-1. Self-Arm Mode Transaction Process Example Flow Related Commands: Function Reference 4.2.1. H (48H) – Self-Arm function disable/enable 4.3.19. SAx(53h 41h x) - Self-Arm Mode Enable/Disable Self-Arm Mode setting Set Transaction Date/Time 4.1.11. 5 (35H) – Set RTC Time Return Error Code setting 4.3.22. TMx(54h 4Dh x) - Set Error Code output Enable/ Disable Wait Amount mode setting Set Amount 4.3.7. DWx(44h 57h x) - Set Wait Amount mode 4.2.6. T (54H) – Transaction Comman Table 4-22. Commands related to Self-Arm mode transaction example flow UIC Bezel5 Programmer’s Manual Page.68/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Host Poll Mode transaction process Example flow In this Example, assume the Bezel5 is in protocol USI2 and Self-Arm disable mode. Reader Initial Receive error from reader Terminal/Controller Action Host-Poll Mode Enabled? * Bezel-5 Plus has Host-Poll mode enabled set to default. No Start new transaction Error Code Action Return Error Code Process S Command Get TK3 Terminal/Controller Action *H0/SAD Command Yes 54/55 Command Set Transaction Date/Time Reader Setting Command Reader Transaction Command Return Error Code? Tap Card Yes TM<01> Command Tap Contactless Card No Abort by Send <1B> command Error? P Command Arm to Read T1 Command Set Amount Figure 4-2. Host Poll Mode Transaction Process Example Flow After the host issues the Arm-to-Read command, the Bezel5 will check if any payment card is detected in the reading zone or any magnetic stripe card is swiped. No matter the card is decoded successfully or not, it will return the ‘^’ to indicate that the card has been read. The host can issue the ‘Q’, ‘R’, ‘S’ commands to retrieve the card data accordingly. Related Commands: Function Reference 4.2.1. H (48H) – Self-Arm function disable/enable 4.3.19. SAx(53h 41h x) - Self-Arm Mode Enable/Disable Host-Poll Mode setting Set Transaction Date/Time 4.1.11. 5 (35H) – Set RTC Time Return Error Code setting 4.3.22. TMx(54h 4Dh x) - Set Error Code output Enable/ Disable UIC Bezel5 Programmer’s Manual Page.69/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Function Reference Set Arm to Read 4.2.2. P (50H) – Arm to Read Set Amount 4.2.6. Get Transaction Data T (54H) – Transaction Comman 4.2.5. Q, R, S – Get Transmit Track Data Table 4-23. Commands related to Host-Poll mode transaction example flow 4.2.1. H (48H) – Self-Arm function disable/enable Used for controlling the contactless auto read function temporarily. Command Packet Byte 0 Byte 1 Type Command Type ASCII - Hex 1 Byte Value Description 0 ( or 30h) Self Arm Disable 1 ( or 31h) Self Arm Enable Host Command Reader Response Example Example H0 Note: Bezel5 cannot perform the Self-Arm enable command for the contactless payment card reading under the following conditions: 1. 2. The payment card is decoded successfully and the Bezel5 is waiting for the card to be removed from the reading zone. The payment card is failed to decode and the Bezel5 is waiting for the card to be removed from the reading zone. 4.2.2. 1. 2. 3. 4. P (50H) – Arm to Read Clears data buffers. Transmits command acknowledgement (‘^’ 5EH) if successful. Waiting for and detect for an approaching card. The LED1 will light on and then turn off after a successful reading or a MIFARE card being detected. UIC Bezel5 Programmer’s Manual Page.70/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Example Host Command Reader Response Example Note: 1. 2. 3. After an Arm to Read command is received and acknowledged the only valid commands that will be accepted for execution are: “Abort” and ‘$’ “Status”. Reader will NOT send out track data automatically; the host has to issue the ‘Q’, ‘R’, ‘S’ commands to get the corresponding track data. In the Self-Arm mode, it is not necessary to send this command. If this command is sent, it will temporarily override the Self-Arm mode. 4.2.3. p (70H) – Arm to Read (Used for Manufacturing Test Only) Equivalent to the 'P' command, except that the card read acknowledgement is not the ‘^’ character. Example Host Command Reader Response Example It will report a ‘(‘ (28H) byte if the card media is detected, and a ‘)’ (29H) byte when the media detection goes inactive. 4.2.4. (1BH) – Abort Arm to Read 1. Clear the data buffers. 2. Aborts the Arm to Read command. Example Host Command Reader Response Example <1B> UIC Bezel5 Programmer’s Manual Page.71/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.2.5. Q, R, S – Get Transmit Track Data Q (51H) Transmit Track 1 data R (52H) Transmit Track 2 data S (53H) Transmit Track 3 data Example Host Command Reader Response Example +300=AABBCCDDEEFF1122=06011103900000=09861AA8=0003=A0800000=0000000000=0 000=121207=000000000000=0840=2000=0840=000000000000=000888=25=0000=303030 3030303030=303030303030303030303030303031=01=6000000001=======00=00000001 0000==2000========07=08? 4.2.6. T (54H) – Transaction Command This command is used to view and manipulate transaction activities. Command Packet Byte 0 Byte 1 Byte 2 ~ Command Type Data <00><00><00><00><01><00> Example Host Command Reader Response Example T1<00><00><00><00><01><00> Command Type Parameter Description 0 ( or 30h) Erase all Transaction records 1 ( or 31h) Enter Amount 2 ( or 32h) Read Transaction Record B ( or 42h) Query records Count 5 ( or 35h) Clear Amount UIC Bezel5 Programmer’s Manual Page.72/166 Note Command Type 0, 2, B is related to Data Record, Bezel5 default is set to clear record before next transaction start, if transaction records required to be control manually, Host need to send ERx command to enable data record function. (Refer to Section 0 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Command Data Command Type Data Description T1 6 bytes in numeric format, use once only. T2 2 bytes in binary format, decide which record to read; range from 0001h to 0186h. TB (Get Data) 2 bytes in binary format. Note: Record data of ‘T2’ command includes Transaction Date and Tracks data. UIC Bezel5 Programmer’s Manual Page.73/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.3. Configuration Command Description The configuration commands related to card brands transaction listed in this section only provide the usage which don't require to have EMV or any card brand certifications. Bezel5 has PayPass 3.0 supported, to process with EMV transaction flow, please use the EMV transaction operating commands (refer to Section 5 EMV Transaction Operating Command). The following are configuration commands executed in BLP format. BLP Protocol – RS232 Interface Byte 1 Byte 2,3 Byte 4+n Byte 5+n 09h Command Len Command/Data(n bytes) BCC Table 4-24. BLP Configuration Protocol Response Code Response Meaning Acknowledgement Cannot execute (e.g. out of range) Bad parameter (e.g. incorrect length) CCx(43h 43h x) - Set Code 4.3.1. Command Packet Byte 0 Byte 1 Byte 2 ~ 3 (or 4) CC Type Data Command Type Type Length Description Example (Hex) 2 Bytes Country Code 09h 00h 05h 43h 43h 31h 08h 40h 75h 2 Bytes Currency Code 09h 00h 05h 43h 43h 32h 08h 40h 76h 3 Bytes Terminal Capabilities 09h 00h 06h 43h 43h 33h 00h 08h 88h BCh Table 4-25. Set Configuration Code Table UIC Bezel5 Programmer’s Manual Page.74/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.3.2. CKx – Enable/Disable User CA Key To enable/disable the user CA key (i.e. load by I command) Command Packet Byte 0~1 Byte 2 CK Parameters, see Table 4-26 Command Type Parameter Example (Hex) Description 00h 09h 00h 03h 43h 4Bh 00h 02h User CA Key 01h 09h 00h 03h 43h 4Bh 01h 03h Test CA key (default) Table 4-26. Public Key switch Table Note: 1. The host must send CK<00> to set user CA keys enabled if the new CA key is set via T03 command. Otherwise, the default test key is used. It impacts the offline authentication in EMV contactless only. For MSR contactless such as PayPass magstripe or VISA MSD, it has no effect. 2. The reader keeps the setting forever until the next CKx command. 4.3.3. CLx(43h 4Ch x) - Set TRM Parameters Command Packet Byte 0 ~ 1 Byte 2 Byte 3+n CC Type Data Command Type Parameter Length Description Example (Hex) Var. Dump setting parameters 09h 00h 03h 43h 4Ch 30h 35h 4 Bytes Terminal Floor Limit 09h 00h 07h 43h 4Ch 31h 31h 30h 30h 32h 33h 6 Bytes Threshold 09h 00h 09h 43h 4Ch 32h 31h 30h 30h 32h 30h 30h 3Dh 1 Byte Target percentage 09h 00h 04h 43h 4Ch 33h 20h 11h 1 Byte Max Target percentage 09h 00h 04h 43h 4Ch 34h 26h 10h Table 4-27. Set TRM Parameters Note: 1. Set Threshold data format is numeric, others are binary. 2. Target percentage range: 00h ~ 63h. 3. Max Target percentage range: 00h ~ 63h UIC Bezel5 Programmer’s Manual Page.75/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved CPx(43h 50h x) - PayPass Support 4.3.4. Command Packet Byte 0 ~ 1 Byte 2 CP Command Type, see Table 4-28 Command Type Parameter Example (Hex) Description 00h 09h 00h 03h 43h 50h 00h 19h MagStripe Only 01h 09h 00h 03h 43h 50h 01h 18h MChip Enable Table 4-28. Configure PayPass supporting mode CTx(43h 54h x) - Set Terminal/Transaction Type/Info 4.3.5. Command Packet Byte 0 ~ 1 Byte 2 Byte 3 CT Type Data, see Table 4-29 Command Type Parameter Length Description Example (Hex) 1 Byte Terminal Type 09h 00h 04h 43h 54h 30h 22h 08h 1 Byte Transaction Type 09h 00h 04h 43h 54h 31h 00h 2Bh 1 Byte Transaction Info 09h 00h 04h 43h 54h 32h 40h 68h Table 4-29. Set Terminal, Transaction Type/Info Table DFx(44h 46h x) - Default Setting 4.3.6. The reader will restore the configuration to default manufacture settings after receiving this command. Command Packet Byte 0 ~ 1 Byte 2 DF <00> Important: It has to power-cycle the reader after this command is processed. UIC Bezel5 Programmer’s Manual Page.76/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved DWx(44h 57h x) - Set Wait Amount mode 4.3.7. This command can only operate in Self-Arm mode. If the wait amount mode is enabled, transaction can only be enabled by reader receiving amount through T1 command. Command Packet Byte 0 ~ 1 Byte 2 DW Command Type, see Table 4-30 Command Type Parameter Length Description Example (Hex) 1 Byte Disable 09h 00h 03h 44h 57h 44h 5Dh 1 Byte Enable 09h 00h 03h 44h 57h 45h 5Ch Table 4-30. Set Wait Amount mode ECx(45h 43h x) - Extended Configuration Report Enable/Disable 4.3.8. Command Packet Byte 0 ~ 1 Byte 2 EC Command Type, see Table 4-31 Command Type Parameter Length Description Example (Hex) 1 Byte Disable, returns one byte with configuration (Default) 09h 00h 03h 45h 43h 44h 4Bh 1 Byte Enable, returns 16 bytes string with configuration 09h 00h 03h 45h 43h 45h 4Ah Table 4-31. Extended Configuration Report Option If the “Extended Configuration Report” is enabled, the Configuration Request Command ‘#’ will return an extended 16-byte string with configuration, else it will return a standard one byte. EGx(45h 47h x) - Output Data Encryption Enable/Disable 4.3.9. Command Packet Byte 0 ~ 1 Byte 2 EG Command Type, see Table 4-32 UIC Bezel5 Programmer’s Manual Page.77/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Command Type Parameter Length Description Example (Hex) 00 1 Byte Output clear data 09h 00h 03h 45h 47h 00h 08h 01 1 Byte Output encrypted data 09h 00h 03h 45h 47h 01h 09h Table 4-32. Output Data Encryption Setup 4.3.10. ERx(45h 52h x) - Record RF card data Command Packet Byte 0 ~ 1 Byte 2 ER Command Type, see Table 4-33 Command Type Parameter Length Description Example (Hex) 00 1 Byte Not record 09h 00h 03h 45h 52h 00h 1Dh 01 1 Byte Record, but stop recording after memory full, continue reading 09h 00h 03h 45h 52h 01h 1Ch 02 1 Byte Record, but stop reading after memory full, 3 beeps 09h 00h 03h 45h 52h 02h 1Fh 03 1 Byte Record, but stop reading after memory full, 3 beeps and send '&' out 09h 00h 03h 45h 52h 03h 1Eh Table 4-33. Record RF card data option 4.3.11. ESx(45h 53h x) - SS/ES Enable/Disable Command Packet Byte 0 ~ 1 Byte 2 ES Command Type, see Table 4-34 Command Type Parameter Length Description Example (Hex) 1 Byte Disable 09h 00h 03h 45h 53h 44h 58h 1 Byte Enable 09h 00h 03h 45h 53h 45h 59h Table 4-34. SS/ES Option UIC Bezel5 Programmer’s Manual Page.78/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved If SS/ES is enabled, each track data of magnetic stripe card that sent automatically in Self-Arm mode will be wrapped by the SS/ES character. Note: This command is only effective in Self-Arming mode. 4.3.12. Fxy(46h x y) - Set Track 1, 2, 3 Prefix/Suffix Code, Preamble/Postamble Code Command Packet Byte 0 Byte 1 Byte 2 (max 5 bytes) Type Data (1 ~ 5 Bytes) Command Type Parameter (x) Description Example (Hex) Example Data (y) TK1 Prefix 09h 00h 07h 46h 41h 42h 45h 35h 30h 31h 3Ah 'BE501' TK1 Prefix Disable (Default) 09h 00h 03h 46h 41h 00h 0Dh '00' TK1 Suffix 09h 00h 07h 46h 61h 42h 45h 35h 30h 31h 1Ah 'BE501' TK1 Suffix Disable (Default) 09h 00h 03h 46h 61h 00h 2Dh '00' TK2 Prefix 09h 00h 07h 46h 42h 42h 45h 35h 30h 32h 3Ah 'BE502' TK2 Prefix Disable (Default) 09h 00h 03h 46h 42h 00h 0Eh '00' TK2 Suffix 09h 00h 07h 46h 62h 42h 45h 35h 30h 32h 1Ah 'BE502' TK2 Suffix Disable (Default) 09h 00h 03h 46h 62h 00h 2Eh '00' TK3 Prefix 09h 00h 07h 46h 43h 42h 45h 35h 30h 33h 3Ah 'BE503' TK3 Prefix Disable (Default) 09h 00h 03h 46h 43h 00h 0Fh '00' TK3 Suffix 09h 00h 07h 46h 63h 42h 45h 35h 30h 33h 1Ah 'BE503' TK3 Suffix Disable (Default) 09h 00h 03h 46h 63h 00h 2Fh '00' Set Preamble Code 09h 00h 07h 46h 50h 70h 72h 65h 30h 31h 7Eh 'pre01' Preamble Code Disable (Default) 09h 00h 03h 46h 50h 00h 1Ch '00' Set Postamble Code 09h 00h 06h 46h 70h 50h 4Fh 53h 54h 21h 'POST' Postamble Code Disable (Default) 09h 00h 03h 46h 70h 00h 3Ch '00' Table 4-35. Track Format Configuration Table 4.3.13. LB0x(4Ch 42h 30h x) - Set Read Card Mode Command Packet Byte 0 ~ 2 Byte 3 LB0 Command Type, see Table 4-36 UIC Bezel5 Programmer’s Manual Page.79/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Command Type Parameter Length Description Example (Hex) 00 1 Byte All cards 09h 00h 04h 4Ch 42h 30h 00h 33h 02 1 Byte PayPass 09h 00h 04h 4Ch 42h 30h 02h 31h 03 1 Byte VISA 09h 00h 04h 4Ch 42h 30h 03h 30h 04 1 Byte AMEX 09h 00h 04h 4Ch 42h 30h 04h 37h 05 1 Byte Discover 09h 00h 04h 4Ch 42h 30h 05h 36h Table 4-36. Set Read Card Mode 4.3.14. LCx(4Ch 43h x) - LRC Enable/Disable If LRC is enabled, each track data sent automatically in self-arm mode will be followed by the LRC character. Command Packet Byte 0 ~ 1 Byte 2 LC Command Type, see Table 4-37 Command Type Parameter Length Description Example (Hex) 1 Byte Disable (Default) 09h 00h 03h 4Ch 43h 44h 41h 1 Byte Enable 09h 00h 03h 4Ch 43h 45h 40h Table 4-37. LRC Option 4.3.15. MFxy(4Dh 46h x y) - Set Payment Card and MIFARE Auto-Polling Command Packet Byte 0 ~ 1 Byte 2 Byte 3 MF Type (Payment) Type (Mifare) Command Type (Payment) Parameter Length Description Example (Hex) 1 Byte Disable Payment Card 09h 00h 04h 4Dh 46h 30h 31h 07h 1 Byte Enable Payment Card *Example set to Mifare Card enabled 09h 00h 04h 4Dh 46h 31h 31h 06h UIC Bezel5 Programmer’s Manual Page.80/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Command Type (Mifare) Parameter Length Description Example (Hex) 1 Byte Disable Mifare Card 09h 00h 04h 4Dh 46h 31h 30h 07h 1 Byte Enable Mifare Card *Example set to Payment Card enabled 09h 00h 04h 4Dh 46h 31h 31h 06h Once MIFARE Auto-Polling is enabled, the reader will send out the following characters to the host if a MIFARE Card is detected. Card Type Response Description M1 MIFARE Ultralight M2 MIFARE 1K M3 MIFARE 4K M4 MIFARE DESFire M5 MIFARE Plus 2K M6 MIFARE Mini M7 MPCOS Gemplus M8 Jewel for Innovision M9 JCOP31 M0 Not MIFARE card or Not supported card Table 4-38. Mifare Card Type Response table 4.3.16. PCx(50h 43h x) - Set Host Protocol Command Packet Byte 0 ~ 1 Byte 2 PC Command Type Command Type Parameter Length Description Example (Hex) 1 Byte Switch to Protocol 2 09h 00h 03h 50h 43h 30h 29h 1 Byte Switch to Protocol 0 09h 00h 03h 50h 43h 33h 2Ah * The reader will warm-reset automatically after this command is received UIC Bezel5 Programmer’s Manual Page.81/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.3.17. PEx (50h 45h x) - Set Pass-Through Function Command Packet Byte 0 ~ 1 Byte 2 PE Command Type Command Type Parameter Length Description Example (Hex) 1 Byte Pass-Through Disabled 09h 00h 03h 50h 45h 30h 2Fh 1 Byte Pass-Through Enabled 09h 00h 03h 50h 45h 31h 2Eh 4.3.18. PHx(50h 48h x) - Set Power On Character Command Packet Byte 0 ~ 1 Byte 2 PH Command Type Command Type Parameter Length Description Example (Hex) 3Ah 1 Byte Set power on character to " : " 09h 00h 03h 50h 48h 3Ah 28h 00h 1 Byte Disable power on character *Default power on character is ":" 09h 00h 03h 50h 48h 00h 12h 4.3.19. SAx(53h 41h x) - Self-Arm Mode Enable/Disable Here is the difference between this command and the "H" command: If the reader is switched to Self-Arm mode enabled by "H" command, it will return to default after power cycling. If the reader is switched to Self-Arm mode by receiving the SAE command, the Self-Arm mode is kept enabled after power cycling. Command Packet Byte 0 ~ 1 Byte 2 SA Command Type Command Type Parameter Length Description Example (Hex) 1 Byte Self-Arm mode Disabled 09h 00h 03h 53h 41h 44h 5Ch 1 Byte Self-Arm mode Enabled 09h 00h 03h 53h 41h 45h 5Dh UIC Bezel5 Programmer’s Manual Page.82/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.3.20. SEx(53h 45h x) - Self-Arm Mode Data Envelope Enable/Disable Command Packet Byte 0 ~ 1 Byte 2 SE Command Type Command Type Parameter Length 1 Byte Description Example (Hex) Disable. The data is not wrapped in the current protocol envelope (default) 09h 00h 03h 53h 45h 44h 58h Enable. The data is wrapped in the current protocol 09h 00h 03h 53h 45h 45h 59h envelope * In the self-arm mode, the default is not to send any protocol information with the magnetic stripe card data. 1 Byte 4.3.21. TKx(54h 4Bh x) - Set Transmitting Data Tracks Command Packet Byte 0 ~ 1 Byte 2 TK Command Type, see Table 4-39 Command Type Parameter Length Description Example (Hex) 1 Byte Track 1 09h 00h 03h 54h 4Bh 31h 24h 1 Byte Track 2 09h 00h 03h 54h 4Bh 32h 27h 1 Byte Track 1 & 2 09h 00h 03h 54h 4Bh 33h 26h 1 Byte Track 3 09h 00h 03h 54h 4Bh 34h 21h 1 Byte Track 1 & 3 09h 00h 03h 54h 4Bh 35h 20h 1 Byte Track 2 & 3 09h 00h 03h 54h 4Bh 36h 23h 1 Byte Track 1, 2 & 3(default) 09h 00h 03h 54h 4Bh 37h 22h Table 4-39. Set Transmitting Data Tracks 4.3.22. TMx(54h 4Dh x) - Set Error Code output Enable/ Disable Command Packet Byte 0 ~ 1 Byte 2 TM Command Type UIC Bezel5 Programmer’s Manual Page.83/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Command Type Parameter Length Description Example (Hex) 00h 1 Byte Disabled 09h 00h 03h 54h 4Dh 00h 13h 01h 1 Byte Enabled 09h 00h 03h 54h 4Dh 01h 12h 4.3.23. TOx(54h 4Fh x) - Set Transmitting Data Output Format Command Packet Byte 0 ~ 1 Byte 2 TO Command Type Command Type Parameter Length Description Example (Hex) 1 Byte Protocol 0 09h 00h 03h 54h 4Fh 30h 21h 1 Byte Protocol 2 09h 00h 03h 54h 4Fh 32h 23h 4.3.24. USBx(55h 53h 42h x) - USB Mode (Optional) Command Packet Byte 0 ~ 2 Byte 3 USB Command Type Command Type Parameter Length Description Example (Hex) 00h 1 Byte HID_KBD 09h 00h 04h 55h 53h 42h 00h 49h 01h 1 Byte CDC 09h 00h 04h 55h 53h 42h 01h 48h 02h 1 Byte HID_MSR 09h 00h 04h 55h 53h 42h 02h 4Bh 4.3.25. UTx(55h 54h x) - Set TAC Command Packet Byte 0 ~ 1 Byte 2 Byte 3 ~ 7 UT Command Type, see Table 4-40 TAC Parameters UIC Bezel5 Programmer’s Manual Page.84/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Command Type Parameter Length Description Example (Hex) 1 Byte Default 09h 00h 08h 55h 54h 30h 00h 00h 00h 00h 00h 30h 1 Byte Denial 09h 00h 08h 55h 54h 31h 00h 00h 00h 00h 00h 31h 1 Byte Online 09h 00h 08h 55h 54h 32h 00h 00h 00h 00h 00h 32h Table 4-40. Set TAC Table (for PayPass Only) 4.3.26. VTx(56h 54h x) - VISA Terminal Transaction Qualifier(Tag ‘9F66’) Setting Command Packet Byte 0 ~ 1 Byte 2 ~ 5 VT TTQ parameters Command Type Parameter Length Description Example (Hex) A0 00 00 00 4 Bytes MSD & qVSDC 09h 00h 06h 56h 54h A0h 00h 00h 00h ADh 4.3.27. VVx(56h 56h x) - VISA Version setting Command Packet Byte 0 ~ 1 Byte 2 VV Command Type Command Type Parameter Length Description Example (Hex) 02h 1 Byte Auto Polling Mode 09h 00h 03h 56h 56h 02h 08h 03h 1 Byte Visa 2.1 Only 09h 00h 03h 56h 56h 03h 09h 4.3.28. VLx(56h 4Ch x) - VISA CVM Required Limit setting Command Packet Byte 0 ~ 1 Byte 2 ~ 7 VL CVM Required Limit value UIC Bezel5 Programmer’s Manual Page.85/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Example Parameter Length Description Example (Hex) 31h 30h 30h 30h 30h 30h 6 Bytes Amount=$313,030,303,030 09h 00h 08h 56h 4Ch 31h 30h 30h 30h 30h 30h 1Ah *CVM Required Limit value is fixed at 6 bytes and data format is numeric. UIC Bezel5 Programmer’s Manual Page.86/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.4. Contactless Operation Commands Description 4.4.1. G (47H) – ISO 14443 Type Protocol Select Select which manual command to be operated – ISO 14443 Type A or B. Command Packet Byte 0 Byte 1 Command Type Command Type Type Description 0 (30h, ASCII Hex) ISO 14443 Type A 4 (34h, ASCII Hex) ISO 14443 Type B Note: The default contactless smart card type is Type A after power up. Example Host Command Reader Response Example G0 4.4.2. O (4FH) – Antenna power ON To apply power to the antenna. This command is for manual command operation. Example Host Command Reader Response Example Note: If the reader is in Self-Arm mode. The antenna power cannot be turned on by manual command setting. UIC Bezel5 Programmer’s Manual Page.87/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.4.3. o (6FH) – Antenna power OFF To Turns off the antenna power Example Host Command Reader Response Example Note: If the reader is in Self-Arm mode. The antenna power cannot be turned off by manual command setting. 4.4.4. b (62H) – Request The ‘Request’ command. Command Packet - ISO 14443 type A Byte 0 Byte 1 Command Req command 52 The request command code is ISO 14443 type A. It can be either 26(REQA) or 52(WUPA). Note: If the [Req command] field does not appear in the request command, reader will set the request mode to WUPA automatically. Command Packet - ISO 14443 type B Byte 0 Byte 1 Byte 2 Command AFI PARAM 00 00 Command Description Byte Description AFI(optional) Binary Hex(00h to FFh), please refer to ISO 14443-3 for detailed information. PARAM(optional) Binary Hex(00h to FFh), please refer to ISO 14443-3 for detailed information. If the [AFI] and [PARAM] fields do not appear in the request command, reader will set the request mode to WUPB automatically. UIC Bezel5 Programmer’s Manual Page.88/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Success Response Data Format Message Type Description ATQA 2 bytes, type A, Binary Hex ATQB 16 bytes, type B, Binary Hex Note: If reader response ‘*’ = No card response or No power on the antenna 4.4.5. c (63H) – Anti-collision(type A)/Slot-MARKER(type B) In type A mode, reader sends the ANTICOLLISION command to the card. In type B mode, reader sends the Slot-MARKER command to the card. Command Packet Card Type Byte 0 ISO 14443 type A ISO 14443 type B Byte 1 APn Command Description Byte Description APn Anti-collision Prefix byte, please refer to ISO 14443-3 for detailed information. Success Response Data Format Card Type Description ISO 14443 type A PICC serial number for type A(Binary Hex) ISO 14443 type B PICC send ATQB(12 bytes, Binary Hex) for type B Note: If reader response ‘*’ = No card response or No power on the antenna 4.4.6. f (66H) – Select(type A)/Attrib(type B) In type A mode, reader sends the SELECT command to the card. In type B mode, reader sends the ATTRIB command to the card. Example Host Command Reader Response (ISO 14443 Type A) Reader Response (ISO 14443 Type B) ‘^’ + SAK(1 byte) ‘^’ + MBLI/CID(1 byte) ‘*’ - No card response or No power on the antenna UIC Bezel5 Programmer’s Manual Page.89/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.4.7. g (67H) – MIFARE Classic Card Authentication An authentication command has to be carried out before any operation in order to allow further commands. Command Packet Byte 0 Byte 1-3 Byte 4 Byte 5 Command Block number Key number Key type 001 Byte 0 Byte 1-3 Byte 4 Byte 5-16 Command Block number Key Type Key 001 FFFFFFFFFFFF Or Authenticate the card with the key stored in EEPROM. Block Number – 2 Types Block Number Type Data Format 000 to 255 30h30h30h to 32h35h35h, ASCII Hex B<00><00> to B<00> 42h00h00h to 42h00hFFh, ASCII Hex Key Information Field Length Description Key Number 1 Byte 0 to 4(30h to 34h, ASCII Hex) Key Type 1 Byte A or B(41h or 42h) Key 12 Bytes 0 to 9 or A to F(30h to 39h or 41h to 46h, ASCII Hex) Example Host Command Reader Response Example g001AFFFFFFFFFFFF 4.4.8. h (68H) – MIFARE Classic Card Read Block(Supports MIFARE Ultralight) MIFARE Classic card read command. UIC Bezel5 Programmer’s Manual Page.90/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Command Packet Byte 0 Byte 1-3 Command Block number 001 Block Number – 2 Types Block Number Type Data Format 000 to 255 30h30h30h to 32h35h35h, ASCII Hex B<00><00> to B<00> 42h00h00h to 42h00hFFh, ASCII Hex Example Host Command Reader Response Example h001 1111111111111111 Response Block data (16 bytes, Binary Hex) 4.4.9. i (69H) – MIFARE Classic Card Write Block(Supports MIFARE Ultralight) MIFARE Classic card write command. Command Packet Byte 0 Byte 1-3 Byte 4-7 or Byte 4-19 Command Block number Block data 001 1234123412341234 Block Number – 3 Types Block Number Type Data Format Description 000 to 255 30h30h30h to 32h35h35h, ASCII Hex General MIFARE block B<00><00> to B<00> 42h00h00h to 42h00hFFh, ASCII Hex <00><00> to U<00> 55h00h00h to 55h00hFFh, ASCII Hex MIFARE Ultralight Block Data Card Type Length MIFARE Ultralight 4 Bytes Others 16 Bytes UIC Bezel5 Programmer’s Manual Page.91/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Example Host Command Reader Response Example i0011234123412341234 4.4.10. t (74H) – MIFARE Classic Card Value Operation Value Block Operation commands. Command Packet Byte 0 Byte 1-3 Byte 4 Byte 5-8 Byte 9-11 Command Block number Operation mode Value Transfer block 001 00 02 Block Number – 2 Types Block Number Type Data Format 000 to 255 30h30h30h to 32h35h35h, ASCII Hex B<00><00> to B<00> 42h00h00h to 42h00hFFh, ASCII Hex Operation Mode ASCII – Hex Value Description 0 ( or 30h) Decrement 1 ( or 31h) Increment 2 ( or 32h) RFU 3 ( or 33h) Decrement and transfer to the different block 4 ( or 34h) Create MIFARE Value in the block Others Field Description Value Binary Hex from 00h to FFh Transfer block For option 3 only, the data format is the same as [Block number]. If [transfer block] is not given, reader will regard it as normal Decrement command. Example Host Command Reader Response Example t00140002 UIC Bezel5 Programmer’s Manual Page.92/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Host Command Reader Response Example t00100001 t00110001 t00130001002 4.4.11. W (57H) – ISO 14443A Detection To detect the ISO 14443A cards Response ‘M’ if detects an ISO 14443A card. 4.4.12. X (58H) – MIFARE Classic Card Activation (Supports MIFARE Ultralight) Performs the request/anti-collision/select commands to activate the card It is also can be used for any ISO 14443 compatible cards. Card Type Description Type A ATQA/SAK/serial number if command executed successfully Type B ATQB(12 bytes) if command executed successfully Example Host Command Reader Response Example <04><00><08>dEq 4.4.13. u (75H) – MIFARE Classic Card Read Sector MIFARE Classic card read sector command. Command Packet Byte 0 Byte 1-3 Command Block number 001 UIC Bezel5 Programmer’s Manual Page.93/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Block Number – 2 Types Block Number Type Data Format 000 to 255 30h30h30h to 32h35h35h, ASCII Hex B<00><00> to B<00> 42h00h00h to 42h00hFFh, ASCII Hex Note: For MIFARE Classic 4K, sectors 0~31 contains 4 blocks each and sectors 32~39 contains 16 blocks each. Response Sector data (64/256 bytes, depending on the card) if command executed successfully 4.4.14. v (76H) – MIFARE Classic Card Write Sector MIFARE Classic card write sector command. Command Packet Byte 0 Byte 1-3 Byte 4~ Command Sector number Sector Data Sector Number – 2 Types Block Number Type Data Format 000 to 255 30h30h30h to 32h35h35h, ASCII Hex B<00><00> to B<00> 42h00h00h to 42h00hFFh, ASCII Hex Sector Data For MIFARE Classic 4K, sectors 0~31 contains 4 blocks each and sectors 32~39 contains 16 blocks each. That is, the sector data should be 64 bytes for MIFARE 1K card, 64/256 bytes for MIFARE 4K card. 4.4.15. J (4AH) – Activate PICC cpu card PICC cpu card activation command. The Antenna POWER ON command has to be sent first. Response ATS (type A) or PUPI (type B) if the command is executed successfully 4.4.16. j (6AH) – Load MIFARE Key(Supports MIFARE Classic only) Saves up to 5 key sets for MIFARE Classic card application Note: For security reasons, there is no way to retrieve the keys. UIC Bezel5 Programmer’s Manual Page.94/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Command Packet Byte 0 Byte 1 Byte 2~13 Command Key number Key data Key Information Field Data Format Key number 0 to 4 (or 30h to 34h, ASCII Hex) Key data 0 to 9 or A to F( or 30h to 39h or 41h to 46h, ASCII Hex) 4.4.17. F (58H) – Identify MIFARE Card Type To reports the MIFARE Card type. It also can be used for any ISO 14443A compatible cards. Host Command Reader Response Example Card Type* Card Type* Response Description 1 (31H) MIFARE Ultralight 2 (32H) MIFARE 1K 3 (33H) MIFARE 4K 4 (34H) MIFARE DESFire 5 (35H) MIFARE Plus 2K 6 (36H) MIFARE Mini 7 (37H) MPCOS Gemplus 8 (38H) Jewel for Innovision 9 (39H) JCOP31 0 (30H) Not MIFARE card or Not supported card ’*’ No card response or No power on the antenna Note: This command is only available after users successfully activate the MIFARE cards (after the ‘f’ or ‘X’ command). 4.4.18. y (79H) – Send DESELECT command Sends the ISO 14443 layer 4 DESELECT command to the card. UIC Bezel5 Programmer’s Manual Page.95/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 4.4.19. Z (5AH) – I/O to contactless CPU card with APDU format The command is used to pass an APDU to the card where both data and an ISO status are expected in the response. Command Packet Byte 0 Byte 1~ (262 Bytes max) Command APDU (Binary hex(00h to FFh)) If successful, the data from the ICC and the two bytes SW1/SW2 ISO 7816-4 response are returned. If unsuccessful, reader transmits '*'. APDU Command Structure CLA INS P1 P2 P3 (Lc or Le) Data (If Lc present) APDU Response Structure Data (optional) SW1 SW2 4.4.20. z (7AH) – I/O to contactless card for block data exchange The command is used to pass a block data to a card. Command Packet Byte 0 Byte 1 Byte 2-5 Byte 5~ (384 Bytes max) Command CRC mode Wait time Block data CRC Mode Mode Description 0 (30h, ASCII Hex) Block data contain 2 bytes CRC and enable CRC transmission. 1 (31h, ASCII Hex) No CRC in block data and disable CRC transmission. Others Field Description Wait time 0000 to 9999(30h30h30h30h to 39h39h39h39h, ASCII Hex) in milliseconds. Block data Binary hex(00h to FFh), maximum 384 bytes. If successful, the data from the ICC are returned. If unsuccessful, reader transmits '*'. UIC Bezel5 Programmer’s Manual Page.96/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 5. EMV Transaction Operating Command In order to process EMV transactions, the reader must be initialized properly according to the transactions it has to support. Known as EMV application configuration, the controller needs to configure the reader with the necessary application data. All of the application data is stored in the nonvolatile memory of the reader and is set once before the reader is deployed to the field site. However, it is also possible to update that configuration data via the remote downloading process if a new application is required to be supported by the reader. There are three different groups of reader configurations: 1. Terminal Configuration: there is only one terminal configuration data set per reader. 2. Application Configuration: multiple applications are allowed to be saved at the reader (up to 11 applications). Each application with a unique AID is associated with its own set of application data. 3. CA Public Key: the RSA public keys are stored at the reader. Up to a maximum of 30 public keys are accommodated in the secure area of the reader. All of the data in the parameter field of the Terminal configuration and Application configuration must be presented in the TLV binary format. For Example, the tag 9F35 with 1 bytes data length and the data is 22h. It will use 4 bytes as 9Fh, 35h, 01h, and 22h. Byte 1 Byte 2 Byte 3 Byte 4 9Fh 35h 01h 22h UIC Bezel5 Programmer’s Manual Page.97/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 5.1. Configuration Commands The following are configuration commands executed in BLP format BLP Protocol – RS232 Interface Byte 1 Byte 2,3 Byte 4+n Byte 5+n 09h Command Len Command/Data(n bytes) BCC Response Code Response Meaning Acknowledgement Cannot execute (e.g. out of range) Bad parameter (e.g. incorrect length) 5.1.1. T01 (54H, 30H, 31H) – Terminal Configuration Setup The EMV application uses this command to send the Terminal Configuration Data to the reader. Command Byte 1,2,3 Byte 4+n T01 TLV Data Object List (n bytes) Required TLV Parameters Tag Description 9F15 Merchant Category 9F16 Merchant ID 9F1A Terminal Country Code 9F1C Terminal ID 9F1E IFD Serial NO 9F35 Terminal Type 9F4E Merchant Name and Location Remarks Optional Table 5-1. Terminal Configuration Setup Tag list UIC Bezel5 Programmer’s Manual Page.98/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Note: 1. The reader will reject the command if the data is in non-TLV format and with invalid coding. 2. For all the unknown tags or tags with incorrect values, it will be ignored by the reader. 3. For the duplicate tags, the reader always overwrites the earlier tag value by the latter tag. 4. The reader accepts partial data update of TLV data. 5. See appendix A for the terminal default value. Example - Update 9F 1A Terminal Country Code: Host Command Reader Response Example <09><00><08>T01<9F><1A><02><08>@<9B> 5.1.2. T03 (54H, 30H, 33H) – Certificate Authority Public Key Setup The EMV application uses this command to send the Certificate Authority Public key data to the bezel. The key will be used in the EMV transaction. Command Byte 1,2,3 Byte 4,5,…,13 Byte 14, 15 Byte 16, 17 Byte 18,19,…,57 Byte 58,59 Byte 60,61 Byte 62,63,…, 67 Byte 68+n T03 RID PKI Hash algo Hash PK Algo PK len PK Exponent PK Modulus (n bytes) Parameter description Parameters Length Description RID 10 bytes Hexadecimal string, the left 5 bytes of EMV Application ID. PKI 2 bytes Public Key Index, hexadecimal string. (Refer to EMV 4.1, tag ‘9F22’) Hash Algo 2 bytes Hash Algorithm Index, hexadecimal string. ‘01’: SHA-1 is the only acceptable value. Hash 40 bytes (same calculation method issued by the card brand association) PK Algo 2 bytes Public Key Algorithm, hexadecimal string. ‘01’: RSA digital signature is the only acceptable value. PK len 2 bytes Public Key size, hexadecimal string, for Example ‘80’ = 128 bytes = 1024 bits PK Exponent 6 bytes Public Key Exponent’s size, hexadecimal, ‘000003’ or ‘010001’ PK Modulus Var. bytes Public Key Modulus, presented in hexadecimal, data length = 2*[PK length] Table 5-2. Certificate Authority Public Key parameters description UIC Bezel5 Programmer’s Manual Page.99/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 5.1.3. T15 (54H, 31H, 35H) – Contactless Application Configuration Setup The EMV application uses this command to send one set of EMV application configuration data to the reader. T15 command is acceptable by the reader up to a maximum of 1K bytes for one application. A total of 11 applications can be stored. The command will be rejected if it goes beyond the max number of the application configurations. Please use the T1B command to delete the unnecessary application configuration. Command Packet Byte ,1,2,3 Byte 4+n T15 Data Object (TLV format) (n bytes) Required TLV Parameters Tag Data Object Name Format Length (Byte) Application Identifier (AID) –card 5-16 Transaction Type Mandatory Tags 9F06 9C Group Tags (Can be sent individually or combined with other tags together) FFFF8001 Registered Application Provider Identifier (RID) FFFF8002 Application Selection Indicator FFFF8003 Kernel ID FFFF8004 Disable Contactless Transaction Limit FFFF8005 Zero allow FFFF8006 CVN17 Enable (VISA) FFFF8007 Sign Unit Check (VISA) FFFF8008 Amount Option 1/2 Select (VISA) FFFF8009 CVM Require Limit Check Enable (VISA) FFFF800A Reader Contactless Floor Limit Check (VISA) FFFF800B Online Capable Disable (VISA) FFFF800C Exception Check Enable FFFF800D ReFund FFFF8101 Terminal Contactless Floor Limit n12 FFFF8102 Terminal Contactless Transaction Limit n12 FFFF8103 CVM Required Limit n12 FFFF8201 Terminal Action Code (Online) FFFF8202 Terminal Action Code (Default) UIC Bezel5 Programmer’s Manual Page.100/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Tag Data Object Name Format Length (Byte) FFFF8203 Terminal Action Code (Denial) FFFF8204 Terminal Entry Capability (VISA) FFFF8205 Time-Out Value FFFF8206 Retry Counter for Wait Online Response (DPAS) FFFF8207 Time-Out for Wait Online Response FFFF8208 Transaction Info FFFF8209 Default TDOL FFFF820A Default PDOL FFFF8210 Paypass Phone Message Table FFFF8211 Certification Revocation List FFFF8212 Paypass Signal Out FFFF8213 Paypass Message Out 9F09 Application Version Number (M/Chip) (Value = 00 02) 9F6D Application Version Number (MagStripe) (Value = 00 01) 9F1B Terminal Floor Limit 9F33 Terminal Capabilities DF2A Threshold Value for Biased Random Selection DF2B Maximum Target Percentage for Biased Random Selection DF2C Target Percentage for Random Selection 9F40 Additional Terminal Capabilities 9F1D Terminal Risk Management Data 9F66 Terminal Transaction Qualifiers (TTQ) FFFF820B Application Program IDs (VISA) 16 FFFF820C Single Unit Value Table 5-3. Application Configuration Tag List Note: 1. Tag 9f 06 (AID) and Transaction Type (9C) are the mandatory tag for each T15 command. UIC680 use AID and Transaction Type to identify the group tags to be stored in the proper location. 2. The reader will reject the command if the data is non-TLV format or with invalid coding. 3. For the unknown tags or tags with incorrect values, it will be ignored by the reader. 4. For the duplicate tags, the reader always overwrites the earlier tag value by the latter tag. 5. The reader accepts the partial data update TLV data. 6. See appendix A for the application terminal default value. UIC Bezel5 Programmer’s Manual Page.101/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Example - Update 9F66 of VISA AID (A0 00 00 00 03 10 10) in the group tags: Host Command <09><00><17>T15<9F><06><07><00><00><00><03><10><10><9C><01> <00><9F>f<04><80><00><00><00><93> Reader Response Example 5.1.4. T19 (54H, 31H, 39H) – EMV Contactless Configuration Data Query To retrieve the group ID of the EMV application or the CA public key stored in the rerader. Command Packet Byte 1,2,3 Byte 4 T19 Configuration Type Table 5-4 Configuration Type Parameter Description 31h All the IDs of CA public key, setup by T03. 32h All the IDs of EMV application data, setup by T15. 33h + AID + Transaction Type 34h Read data setting of AID and Transaction Type. (Ex: A000000310109C0100) Read data of terminal Table 5-4. EMV Contactless Configuration Data Query Type Response Result Response Success ID List Failed Description The concatenation of IDs. There is a <1C> between each ID. Only present if the result is successful Bad parameters Can’t execute Example Host Command Reader Response Example <09><00><04>T191` A00000015201<1C>A00000015203 <09><00><04>T192c UIC Bezel5 Programmer’s Manual Page.102/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Host Command Reader Response Example A0000000031010<1C>A0000000999090<1C>A0000000032010<1C>A00000 00041010<1C>A0000000043060<1C>B012345678<1C>A00000002501<1C> A0000003241010<1C>A0000001523010 <09><00><13>T193A0000000031010<0 <9F><06><07><00><00><00><03><10><10><9C><01><00>< 0><07> 80><02><01><01><80><03><01><03><80><04><01><01 ><80><05><01><01><9F><1B><04><00><00>’<10><81> <01><06><00><00><00><10><00><00><81><02><06><00><00>< 00>P<00><00><81><03><06><00><00><00><20><00><00><9F><0 9><02><00><02><9F>3<03><00><08><88><9F>f<04><00><00><00><9 F><1A><02><08>@<80><06><01><01><80><07><01><0 1><80><08><01><00><80><09><01><00><80> <0A><01><01><80><0B><01><00><9F>5<01>% <09><00><04>T194e <9F><15><08>00000000<9F><16><0F>000000000000001<9F><1A><02><0 8>@<9F><1C><08>00000000<9F><1E><08>00000000<9F>5<01><00> 5.1.5. T1B (54H, 31H, 42H) – Delete EMV Contactless Configuration Data To delete the EMV application or the CA public key stored in the reader. Command Packet Byte 1,2,3 Byte 4 Byte 5 Byte 6+n T1B Configuration Type <1A> (Optional) *The concatenation of IDs. There is a <1C> between each ID. ID List (Optional)* (n bytes) Configuration Type Parameter Description 31h All the IDs of CA public key, setup by T03. 32h All the IDs of EMV application data, setup by T15. 33h Delete all CA public keys. 34h Delete all EMV application data. 35h Delete Terminal Setting. Example Host Command Reader Response Example <09><00><04>T1B4<1E> UIC Bezel5 Programmer’s Manual Page.103/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 5.1.6. T0C (54H, 30H, 43H) –Configuration Version/Checksum To retrieve the checksum/version of the EMV application or the CA public key stored in the reader. Command Packet Byte 1,2,3 Byte 4 Byte 5 T0C Mode, see Table 5-5 Options, see Table 5-6 Mode Parameter Description 31h Terminal data checksum request. 32h EMV Contactless application data checksum request. 33h Public key data checksum request. Table 5-5. Configuration Version/Checksum Mode Options Parameter AID/(RID+CAPKI) + Transaction Type AID/(RID+CAPKI) Description To read EMV application data checksum request, user need to enter AID string and Transaction Type. (Ex. A0000000041010<00>) To read Public key data checksum request, user need to input AID String. ( Ex: A0000000031010) Table 5-6. Configuration Version/Checksum Options Response Result Response Success 20 bytes SHA1 checksum Failed Description Only present if the result is successful Bad parameters Can’t execute Example Host Command Reader Response Example <09><00><04>T0C1<1B> <92><00>cX<04>o<0E><8F>y<95>-<20>@Qo <09><00><13>T0C2A0000000031010<00>} <9F><0B>~z<02>omd<20>B <09><00><10>T0C3A00000015201{ <80>1)<1A>><8B><9C>y9<15>G<84>k<8F> UIC Bezel5 Programmer’s Manual Page.104/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 5.1.7. T1C (54H, 31H, 43H) –Terminal and Application List Default Setting To restore the default terminal and application data in the reader (For testing only) Command Packet Byte 1~3 T1C Example Host Command Reader Response Example T1C 1. 2. This command will take 15 ~ 20 seconds to update EEPROM. Note 2: Be careful to use this command because the previous data will be changed permanently. Default terminal and application data Terminal Configuration Settings Tag Length Value Description 9F1A 02 0056 Terminal Country Code 9F1C 08 3030303030303031 Terminal Identification 9F1E 08 3030303030303031 Interface Device (IFD) Serial Number 9F4E 08 3030303030303031 Merchant Name and Location DF811C 02 0000 Max Lifetime of Torn Transaction Log Record DF811D 01 00 Max Number of Torn Transaction Log Records FFFF8211 81C4 A0000000045CF85A00001000001100010100011000011 100100000100100101000101100110000110100111000 111101000001000101001001001101010001010101011 101100001100101101001101101110001110101111001 1111100000100001B0123456785CF85A0000100000110 001010001100001110010000010010010100010110011 000011010011100011110100000100010100100100110 101000101010101110110000110010110100110110111 00011101011110011111100000100001 Certification Revocation List Table 5-7. Terminal Configuration Settings Tag List UIC Bezel5 Programmer’s Manual Page.105/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Visa Application Identifier Tag Length Value Description 9F06 07 A0000000031010 AID Visa 9C 01 00 Transaction Type FFFF8002 01 01 ASI DF810C 01 03 Kernel ID FFFF800F 01 00 Dynamic Reader Limits Enable FFFF8007 01 01 Status Check(Signal Unit Enable) FFFF8005 01 01 Zero allow FFFF8008 01 01 Select Amount Option 1/2 FFFF8004 01 01 Disable Contactless Transaction Limit DF8124 06 000000003000 Reader Contactless Transaction Limit FFFF8009 01 01 CVM Required Limit Check DF8126 06 000000001000 CVM Required Limit FFFF800A 01 01 Reader Contactless Floor Limit Check DF8123 06 000000002000 Reader Contactless Floor Limit 9F1B 04 000007D0 Reader Floor Limit 9F09 02 0002 Application Version Number 9F66 04 A6004000 Terminal Transaction Qualifiers FFFF8006 01 01 CVN17 Enable FFFF800B 01 01 Online Capable Enable FFFF800C 01 00 Exception Check Enable 9F35 01 25 Terminal Type 9F1A 02 0840 Country Code 9F33 03 000888 Terminal Capabilities Table 5-8. Visa Application ID Default Tag Value PayPass Application Identifier Tag Length Value 9F06 07 A0000000041010 AID MaestroCard 9C 01 00 Transaction Type FFFF8002 01 01 Application Selection Identifier FFFF8004 01 01 Disable Contactless Transaction Limit FFFF8005 01 01 Zero allow UIC Bezel5 Programmer’s Manual Page.106/166 Description UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Tag Length Value Description FFFF8007 01 01 Sign Unit Check FFFF8009 01 01 CVM Require Limit Check Enable FFFF8010 01 00 Extended Selection Support flag FFFF8208 01 40 Transaction Info 5F57 00 N/A Account Type 9F01 00 N/A Acquirer Identifier 9F40 05 0000000000 9F09 02 0002 DF8117 01 00 Card Data Input Capability DF8118 01 60 CVM Capability-CVM Required DF8119 01 08 CVM Capability-No CVM Required DF811A 03 9F6A04 DF8130 00 N/A Hold Time Value DF811B 01 20 Kernel Configuration DF810C 01 02 Kernekl ID 9F6D 02 0001 DF811E 01 10 Mag-stripe CVM Capability-CVM Required DF812C 01 00 Mag-stripe CVM Capability-No CVM Required 9F15 02 0001 DF812D 03 000000 9F7E 00 N/A DF8123 06 000000010000 Reader Contactless Floor Limit DF8124 06 000000030000 Reader CTL (No On-device CVM) DF8125 06 000000050000 Reader CTL (On-device CVM) DF8126 06 000000001000 CVM Required Limit DF811F 01 08 DF8120 05 0000000000 Terminal Action Code-Default DF8121 05 0000000000 Terminal Action Code-Denial DF8122 05 0000000000 Terminal Action Code-Online 9F33 00 N/A Terminal Capabilities 9F35 01 22 Terminal Type FFFF8026 01 01 Transaction Type Check 5F36 01 02 Transaction Currency Exponent Additional Terminal Capabilities App Version Default UDOL Mag-stripe Application Version Number Merchant Category Code Message Hold Time Mobile Support Indicator Security Capability (CDA) Table 5-9. PayPass Application ID Default Tag Value UIC Bezel5 Programmer’s Manual Page.107/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved MaestroCard Application Identifier Tag Length Value 9F06 07 A0000000043060 AID MaestroCard 9C 01 00 Transaction Type FFFF8002 01 01 Application Selection Identifier FFFF8004 01 01 Disable Contactless Transaction Limit FFFF8005 01 01 Zero allow FFFF8007 01 01 Sign Unit Check FFFF8009 01 01 CVM Require Limit Check Enable FFFF8010 01 00 Extended Selection Support flag FFFF8208 01 40 Transaction Info 5F57 00 N/A Account Type 9F01 00 N/A Acquirer Identifier 9F40 05 0000000000 9F09 02 0002 DF8117 01 00 Card Data Input Capability DF8118 01 60 CVM Capability-CVM Required DF8119 01 08 CVM Capability-No CVM Required DF811A 03 9F6A04 DF8130 01 00 Hold Time Value DF811B 01 A0 Kernel Configuration DF810C 01 02 Kernekl ID 9F6D 02 0001 DF811E 01 10 Mag-stripe CVM Capability–CVM Required DF812C 01 00 Mag-stripe CVM Capability–No CVM Required 9F15 02 0001 DF812D 03 000000 9F7E 00 N/A DF8123 06 000000010000 Reader Contactless Floor Limit DF8124 06 000000030000 Reader CTL (No On-device CVM) DF8125 06 000000050000 Reader CTL (On-device CVM) DF8126 06 000000030000 CVM Required Limit DF811F 01 08 Security Capability DF8120 05 0000000000 UIC Bezel5 Programmer’s Manual Page.108/166 Description Additional Terminal Capabilities App Version Default UDOL Mag-stripe Application Version Number Merchant Category Code Message Hold Time Mobile Support Indicator Terminal Action Code-Default UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Tag Length Value Description DF8121 05 0000000000 Terminal Action Code-Denial DF8122 05 0000000000 Terminal Action Code-Online 9F33 00 N/A Terminal Capabilities 9F35 01 22 Terminal Type FFFF8026 01 01 Transaction Type Check 5F36 01 02 Transaction Currency Exponent Table 5-10. MaestroCard Application ID Default Tag Value American Express Application Identifier Tag Length Value Description 9F06 06 A00000002501 9C 01 00 Transaction Type FFFF8002 01 03 Application Selection Identifier DF810C 01 04 Kernel ID FFFF8004 01 01 Disable Contactless Transaction Limit FFFF8005 01 01 Zero allow FFFF8007 01 01 Sign Unit Check FFFF8009 01 01 CVM Require Limit Check Enable FFFF8010 01 00 Extended Selection Support flag FFFF8208 01 40 Transaction Info 5F57 00 N/A Account Type 9F01 00 N/A Acquirer Identifier 9F40 05 0000000000 9F09 02 0002 9F33 03 000888 9F35 01 22 Terminal Type 5F36 01 02 Transaction Currency Exponent DF8123 06 000000010000 Reader Contactless Floor Limit DF8124 06 000000030000 Reader CTL (No On-device CVM) DF8125 06 000000050000 Reader CTL (On-device CVM) DF8126 06 000000001000 CVM Required Limit AID American Express Additional Terminal Capabilities App Version Terminal Capabilities Table 5-11. American Express Application ID Default Tag Value UIC Bezel5 Programmer’s Manual Page.109/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Discover Zip Application Identifier Tag Length Value Description 9F06 07 A0000003241010 AID Discover Zip 9C 01 00 Transaction Type FFFF8002 01 01 Application Selection Identifier DF810C 01 05 Kernel ID FFFF8004 01 01 Disable Contactless Transaction Limit FFFF8005 01 01 Zero allow FFFF8007 01 01 Sign Unit Check FFFF8009 01 01 CVM Require Limit Check Enable FFFF8010 01 00 Extended Selection Support flag FFFF8208 01 40 Transaction Info 5F57 00 N/A Account Type 9F01 00 N/A Acquirer Identifier 9F40 05 0000000000 9F09 02 0002 App Version 9F33 00 N/A Terminal Capabilities 9F35 01 22 Terminal Type 5F36 01 02 Transaction Currency Exponent DF8123 06 000000010000 Reader Contactless Floor Limit DF8124 06 000000030000 Reader CTL (No On-device CVM) DF8125 06 000000050000 Reader CTL (On-device CVM) DF8126 06 000000001000 CVM Required Limit Additional Terminal Capabilities Table 5-12 Discover Zip Application ID Default Tag Value Interac Application Identifier Tag Length Value 9F06 07 A0000002771010 AID Interac Flash 9C 01 00 Transaction Type 5F57 01 00 Account Type 9F01 06 000000000001 9F09 02 0002 9F33 03 000888 9F35 01 25 UIC Bezel5 Programmer’s Manual Page.110/166 Description Acquirer Identifier App Version Terminal Capabilities Terminal Type UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Tag Length Value Description 9F40 05 0000000000 9F5E 02 E000 9F58 01 03 9F59 03 D84000 9F5A 01 00 9F5D 06 000000005000 Terminal Contactless Receipt Required limit DF2A 01 000000000600 Threshold Value for Biased Random Selection DF2B 01 00 Maximum Target Percentage for Biased Random Selection DF2C 01 63 Target Percentage for Random Selection DF810C 01 06 Kernel ID DF8120 05 0000000000 Terminal Action Code-Default DF8121 05 0000000000 Terminal Action Code-Denial DF8122 05 0000000000 Terminal Action Code-Online DF8123 06 000000010000 Reader Contactless Floor Limit DF8126 06 000000001000 CVM Required Limit FFFF8002 01 01 Application Selection Identifier FFFF8004 01 01 Disable Contactless Transaction Limit FFFF8005 01 01 Zero allow FFFF8007 01 01 Sign Unit Check FFFF8009 01 01 CVM Require Limit Check Enable FFFF8208 01 40 Transaction Info Additional Terminal Capabilities Terminal Option Status (TOS) Merchant Type Indicator Terminal transaction Information (TTI) Terminal transaction Type TTT Table 5-13. Interac Flash Application ID Default Tag Value UIC Bezel5 Programmer’s Manual Page.111/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 5.2. General Command The general command of the reader is for daily transaction purpose. Depending on the reader set for which protocol, the command can be sent by using one of the following protocols: USI0, or USI2 (default). USI0 – the simplest data format without the header, the trailer or the BCC. The reader relies on a 100ms timeout to determine that a command is received. USI2 – with 01h (SOH), data length and BCC Byte 0 Byte 1 Byte 2~3 Byte 4+n Byte 5+n 01h Address (not in use) Command Len Command/Data (n bytes) BCC Note: USI2 do not have the 100ms timeout delay. 5.2.1. (C8H) – Activate/Deactivate Contactless/MSR Reading command This command can activate the reader to start to read the card. Please be noted that the value in required TLV parameters will impact the transaction result (Refer to Table 5-16) Command Packet Byte 0 Byte 1 C8 Interface Priority, 1 byte See Table 5-14 Byte 2~3 (Optional) Time out (mS, Binary Format) Byte 4+n Data Object List in TLV (n bytes) See Table 5-16 Note: "Time Out" is an optional field in the C8 command. If "Time Out" was not set in C8 command, then reader will keep waiting for card tapping, until the host sends the <00> command to cancel the transaction. Interface Priority Parameter Description 00 Cancel 01 RFID & Magstripe 02 RFID Note Disable all interface. Enable both Magstripe and Contactless interface.* Enable Contactless interface only. 03 Magstripe Enable Magstripe interface only. * The controller determines the priority per transaction. Table 5-14. Interface Priority of Activate Contactless/MSR Reading Command UIC Bezel5 Programmer’s Manual Page.112/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Default Display picture of Interface Priority In EMV mode, the display will be empty in the idle mode. After the Host sends the Activate Contactless Reading command to Bezel5, the display will show the picture according to the parameter set in the Interface Priority field. Parameter Description 01 RFID & Magstripe 02 RFID 03 Magstripe Display Note: The pictures in this table are reference only. For the real position of the signs please refer to the physical unit. Table 5-15. Display picture reference of Interface Priority Required TLV Parameters Tag Description Length Remarks Amount, Authorized 6 Bytes Mandatory 9C Transaction Type 1 Byte Options 9A Transaction Date 3 Bytes Options 9F21 Transaction Time 3 Bytes Options 5F2A Currency Code 2 Bytes Options 9F02 Table 5-16. Required TLV Tags in Activate Contactless Reading Command UIC Bezel5 Programmer’s Manual Page.113/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Note: 1. 2. 3. 4. 5. The reader will reject the command if the data is non-TLV format or with invalid coding. For the unknown tags or tags with incorrect values, it will be ignored by the reader. For the duplicate tags, the reader always overwrites the earlier tag value by the latter tag. The reader accepts partial data update TLV data. If "Transaction Date" and "Transaction Time" was not set in C8 command, the reader will proceed to the transaction by using RTC time (set by command "54" and "55"). 5.2.2. (C9H) – Response of Start Transaction This command is the return of the result to the Start Transaction command (C8h). The controller should send ‘^’ to acknowledge upon receiving the data. Command format Field 1 Field 2 Field 3 Field 4 Byte 0 (1 byte) Byte 1 (1 byte) Byte 2 (1 byte) Byte 3+n (Var. bytes) C9h Error Code Table 5-17 POS Entry Table 5-18 Card Data Error Code Value Description Contactless Magstripe 00 Successful ( If contactless transaction, the value means online request transaction) 01 Offline Approved 02 Offline Declined 03 Card not support 04 Initiation error 05 Chip error (No AID) 06 Empty candidate list 07 Time out 08 Card block 09 Application blocked 0A Magstripe card data error 0B Transaction error 0C Authentication error 0E CVM Failed 10 Log full UIC Bezel5 Programmer’s Manual Page.114/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Value 11 12 Description Contactless Magstripe Card executing (Wait for the card (either contactless or contact) to be completely removed from reading area or card slot.) Try Again nd 20 2 Tap 33 Switch to Other Interface. (Contactless Used) 37 Multiple Card 39 Terminated. (Contactless Used) 86 Empty candidate list, try other interface 8C Authentication error, try other interface Table 5-17. Error Code indication of Transaction Result POS Entry Bit 7 Bit 6 Bit 5 Bit 4 – 0 Description 00001 Contactless – qVSDC Card 00010 Contactless – MSD Card 00011 Contactless – PayPass Mchip Card 00100 Contactless – PayPass Magstripe Card 00101 Contactless – AMEX CPU Card 00110 Contactless – AMEX MSD Card 00111 Contactless – Discover DPAS Card 00001 Mag stripe card 00000 No payment card, no additional data available. * 00000 ISIS Sizzle *Bit 7 = 0, the additional data is available. Bit 7 = 1, no additional data. Table 5-18. POS Entry indication of Transaction Result Card Data Scenario Contactless card read successful: Error code = 00 (successful) and POS Entry = 02 or 03 Clear Data RFID- Encrypted Data TK1 TK2 UIC Bezel5 Programmer’s Manual Clear Data TK3 Page.115/166 DUKPT SN/Counter UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved SID Fields Description Value Length (Byte) Description ‘|’ Field separator. DUKPT SN/Counter 20 DUKPT Key serial number, DUKPT Key using for data encryption can be recognized by this serial number. SID 16 Encrypted Session ID. Table 5-19. Field Description of Contactless Transaction Data Magstripe card read successful, Error code = 00 (successful) and POS Entry = 04 Clear Data CARD- Encrypted Data TK1 TK2 Clear Data TK3 DUKPT SN/Counter SID Table 5-20. Field Description of MSR Transaction Data 5.2.3. (CEH) – Return the Specific EMV Tags The reader will retrieve the data that list on the DOL after the EMV transaction is done. Response Response Description Result, 1 byte, Only present if the result is failed Tag result in TLV format Only present if the result is successful Return Data Format Head Total Length Tag 1 Tag Length UIC Bezel5 Programmer’s Manual Tag 2 Value Page.116/166 Tag Length Tag 3~ Value UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Tag 6. Authentication and Card Data Encryption ??? Question: Is this applicable to Bezel5 only? Does it apply to Bezel5? The Bezel5 can be configured as a secure reader to protect the card holder’s privacy. Once the Bezel5 enters into the secure reader mode, the output card data is encrypted. And the administration commands for changing the status or settings of the reader need to be authenticated. 6.1. Data Security and Key Management The Bezel5 security arrangement involves a cryptography system for supporting end-to-end encryption. 1. Card Data Encryption: It uses the symmetric-key encryption, Triple DES (TDES)/or AES, with the Derived Unique Key Per Transaction (DUKPT) key management, as well as the RSA mode, to protect the card data. 2. Authentication for the administration command: All of the administration commands must be authenticated before their executions. A challenge-Response mechanism is involved in the process. 3. Google Wallet merchant data update: In order to simplify the merchant data update in the field site, the UIC680 will pre-load a TDES injection key. The current data of the merchant key and the merchant id are updated through the application which sends out the merchant data which is protected by the injection key. Here is the brief summary: 1. The payment card data and the Google Wallet application data are going to be encrypted either by the TDES, AES or RSA mode. 2. The reader leverages the DUKPT for the key management scheme which is used for card data security. 3. The number of card readings is extended to two millions by arranging two key slots. 4. The encrypted output data of the USB HID report is in binary format. The reader encryption is enabled as default by the factory. It requires an authentication if the user UIC Bezel5 Programmer’s Manual Page.117/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved wants to disable the encryption function. The RSA key length is 2048-bits. TDES will use the double length key and AES will use 128 bits if it is selected. 6.2. Product Life Cycle The reader will go through several states in related to its data security operations: State Operator Function Description Security Creation UIC Production Enable encryption, load initial key, load key management mode, enable command administration protection No authentication Operation Administration System Integrators or Merchants Update key, update key management mode, load unique serial number, enable/disable encryption Authentication / Key is encrypted Google Wallet merchant data update Key is encrypted Operation – General Operation Merchants Reader is ready to operate No Authentication/ Card data is encrypted Terminated UIC RMA/ System Integrator Key generation reaches to the end, needs to return to the system integrator to re-inject the key. Authentication / Key is encrypted Remark The key load in clear text. Table 6-1. Data Security Operations UIC Bezel5 Programmer’s Manual Page.118/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.3. Operation Flow Creation The reader is in the UIC factory to preload the encryption key. UIC Factory Operation Administration The system integrator updates the key and load the session ID. Field Site/ Operation – General Operation The merchant operates the reader System Integator Terminated The key generation reaches the end, no more card reading operation at the reader UIC Factory/ System Integrator Re-inject the key Figure 6-1. Data Security Operation Flow 6.4. Authentication The command set of the Bezel5 is divided into several groups – the general operation, the administration and Google wallet merchant key update. The general operation commands, Examples like the version report, the encrypted track data query, the serial number query, are allowed to execute in the daily operation without the authentication process required. For the DUKPT key and the sensitive data updates, they belong to the administration commands and the authentication process is mandatory. The final command, Google Wallet merchant command, is protected by the pre-loaded injection key. The Bezel5 adapts a simple version of entity authentication by using the public key cryptography. The reader pre-loads with the RSA public key. The authentication process uses RSA/SHA-1 to validate the incoming command. At the other end, the host must hold the private key for generating the correct data signature to attach to the command. The process is a kind of unilateral entity authentication, having the reader challenging the host application. No mutual authentication is necessary which reduces the complexity of authentication. In this way, the public key is considered as the part of the sensitive data and thus loaded and saved in the secure storage area of the reader as well. UIC Bezel5 Programmer’s Manual Page.119/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Authentication involved entities: 1. 2. 3. 4. 5. 6. The claimant = the host application The verifier = the reader TEXT = the command/or key data to be sent from the host to the reader PrivA = The RSA private key at the host application PubA = The RSA public key at the reader TDES/RSA […] = Data encrypted either by RSA or Triple DES The authentication process proceeds as follows: 1. The claimant makes an authentication request to the verifier. 2. The verifier generates a random number challenge RB (16 bytes data generated by the true random number generator). 3. The verifier encrypts RB and its SHA1 value, PubA[RB || SHA1(RB )] and sends to the claimant. 4. Upon receiving the challenge, the claimant decrypts RB and validates SHA1 value. If SHA1 fails, the claimant terminates the process or requests RB again. 5. The claimant creates an authentication token, TokenAB, by concatenating data and generating a digital signature: TokenAB = PrivA-RSA[ RB || TEXT ||SHA1(RB ||TEXT)] 6. The claimant sends the TokenAB to the verifier. 7. The verifier decrypts the TEXT and retrieves the SHA1 value by using the public RSA key, PubA. 8. The verifier executes the command data in [TEXT] if the signature is validated OK. The RB must be used only once to enter the administration mode of the reader. Requires authentication Device challenge PubA [ R B ||SHA1(R B )] Authentication Token TokenAB = PrivA-RSA [ R B || TEXT || SHA1( R B ||TEXT )] Acknowledge if successful UIC Bezel5 Programmer’s Manual Page.120/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.5. Double DUKPT In order to support 2 million times of card reading, the Double DUKPT (D-DUKPT) solution is being used in the Bezel5 reader. There are two DUKPT key slots available inside the reader. They can be combined in different modes to fit the user application for achieving the 2 million times of operations. In this way it can extend the life cycle of the reader without the need to return the reader to the factory for key re-injection. The host application chooses either Triple DES or AES as the crypto engine to protect the card data. Key Management Mode Mode Function Description Auto rollover 1 (Factory Default) Under this mode, the user only needs to load the initial key/ key serial number (KSN) to slot 1. The reader will duplicate the same key and KSN to slot 2. When the slot 1 key generation reaches the maximum 1M iterations, the reader will roll over the key management to slot 2 to continue the work. Note: Loading the key to slot 2 is prohibited. Note: the EC of KSN will start over when the reader switches the key management to slot 2. Auto rollover 2 Under this mode, the user needs to load the initial key/key serial number (KSN) to slot 1 and slot 2 separately. The key management starts at slot 1. When the slot 1 key reaches the end, the reader will roll over the key management to slot 2 if the key is available. If slot 2 has no key, the reader enters the terminated state. Otherwise it continues to work at slot 2. The key and KSN can be different in both slots. Note: it is allowed to update the key to any slot regardless the slot is active or not. The simple rule is that the reader always chooses the lower number of the key slot for the key management if it is available. For Example, if the active key slot is 2 and slot 1 reaches the end, and then the user updates slot 1. For the next card swipe, the reader will choose slot 1 for the key management and leave slot 2 unchanged. Once the new key in slot 1 is running over, the reader will go back to slot 2 (assuming no key update in slot 2) to continue the work. Traditional mode Reserved and not in use. Table 6-2. Key Management Mode D-DUKPT Rules: 1. There are two DUKPT key management slots in the reader. 2. Each key slot has 3 different states: Empty: No key is loaded. Active: Key is loaded and is able to do the key management. Terminated: Passed 1M key iterations. No more function is allowed unless the key is re-injected. 3. No matter the reader is in what mode, it will always examine the key slot starting at the lower number (i.e. slot 1 then slot 2). If slot 1 is active with the key available, the reader will use the key for the data encryption. If slot 1 is inactive (empty or terminated) but slot 2 is active, the UIC Bezel5 Programmer’s Manual Page.121/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved reader will get the key from slot 2. If both key slots are inactive and the data encryption is enabled, the reader is in the terminated state then no data output is available. 6.5.1. Auto Rollover 1: key generation Figure 6-2. Auto Rollover 1: Key Generation UIC Bezel5 Programmer’s Manual Page.122/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.5.2. Auto Rollover 2: key generation 1M iteration 1M iteration Terminated Slot 1 Slot 2 Slot 1 and 2 can have different initial key and KSN Key Injection Key Injection Figure 6-3. Auto Rollover 2: Key Generation UIC Bezel5 Programmer’s Manual Page.123/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.6. Track Output format (Self-Arm) The encrypted data output varies according to the encryption mode and the interface type of the reader. The card data can be encrypted with one of the following three modes: 1. DUKPT TDES 2. DUKPT AES 3. RSA The following two interface groups will give totally different output formats of the encrypted card data: 1. RS232/USB Virtual COM 2. HID MSR They are described in the following sections. 6.6.1. RS232/USB Virtual DUKPT data output format Encrypt Mode (7Ch) Encrypt Tk1 Data Encrypt Tk2 Data Encrypt Tk3 Data KSN Encrypt Session ID EXAMPLE 1|2B06FD66BF9896C0DD0207B8DFBA25745EC15069ECBE88E65738E6DADA2C7311859568DDDE08437775C8D703FA7 53BC9F57944404A2A5187E554D5B2FDB8E565|894C04A6BCF008448A6A6766A840502DABFC15308971492519C9E09C 3F3EE839400432CDFE924CCB123731F078E29B58|84CF9EBE8E1C2CD04E5A72BCC63142C2300806552ED9C2EDED593 EDC703EB00C39FC75DE6314F8A3C395A44A3B69F3B951838FA0479C7BA55438E1FE56DFF5A5DDC1C840547A4D430EE 5B3DEFBF935AC||55494330303031000044|C9738D7244D6BC57| RSA data output format Encrypt Mode (7Ch) Encrypted Tk1 Data UIC Bezel5 Programmer’s Manual Encrypted Tk2 Data Page.124/166 Encrypted Tk3 Data UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved EXAMPLE 3|ZBJPirNzGDqKfOZ9Iar1MB12qQo+Sm4NJZZi5RVyEZ30O0qh1sc4Cq+IctcOQdNLNLlJEAx9bM/O59dV60v4upM5V7hpe ROaQQCu1H2OQfvz/lEwqgpWEWySTqjWg/w/hh8c2yqT8ZZrWvJjddx0+tJCRpmtLZbmaYdFH7AvCdUQobEpamNnltg1vb XoZ2OXYAIt9Wps3E6M4ogsoI0wDI87TYXgUXDl3Onz1Tjz+dnXYtoet/lKp4++n8B8MEm/U4wHfmxgjzNwl/HM/ZxhSH5IwL rOJh/vhTN/SyWZ4jqr/+qUxTLmcITyOtKli3X6+2m5443p5nyQ6GTwsWbrxg==|vZ/M4tMk+1SY8Lyjy7UGzVBO0rOTYZZDY WMMnnS+c8cEO0kHbnz26j3wbyWkI/rZoq07VTeviCenqFU79QFs/s8ZLGRugWLa6jzJW4rqjB4UT2zlQBtQPtMZ2hVjBi+M XYg3T9Wwfaj5aa0COTMMhrPHrDLSIYW3CYHN/dPRo8i187HIIwAzmsw+N0cG7gaMz89jgwOpPIehA0E8m1YurqOe0ScdY wl3zWJH8KMf+3AjKnmRfSAHFjDRvWHkKVLJTwC8jDj/dITyuSCHbD3RpBpq9hBmp9d5VI+0V7YpUyQpakHqzMcix04FCnZ malaG6ToNjqvY1WVP6QfjQp8hFw==|htdHYRIKrppRiYyS8Lk0s1BG10hpUNMjwAcFxjIGKU9Wb+6a4av+R79NvUiUACNK RHP3hvwiGzlqpdw1jS7jokroIF8Vjvgn78CxNwN+QRgmII+d4ke0adzY4X39br7iPCqnQau6uZWV/ubokBbvGTjytxLQCgxzG3l X9iZwqfPQTF504Gn+y6npic/Y5xp/zfWuXoLR2v0SPZMmbNap1givc5W3d93r6lJehmRbWJCJoW16n4dDMoZwiKSE7K8gK QAsQB1FcNRzFYfHWU4EvpJnBBZ48myzwgreQrhYt2BI8JAGlYRIUNpSOu43TPlwTAFZbadT22fEvDqJU4fv4g==| 6.6.2. HID MSR (Optional) Offset Usage Name Description Track 1 status 00hdecode error, 01hdecode ok Track 2 status 00hdecode error, 01hdecode ok Track 3 status 00hdecode error, 01hdecode ok 4-5 Track 1 encrypted data length Track 1 encrypted data length 6-7 Track 2 encrypted data length Track 2 encrypted data length 8-9 Track 3 encrypted data length Track 3 encrypted data length 12 Card type See note *. 13 Encrypt Mode 0:Not Encrypt 1:DUKPT TDES 2:DUKPT AES 3: RSA 14-23 DUKPT serial number/counter DUKPT serial number and counter 24-31 Device serial number Serial number for device 32-47 Encrypted Session ID Session ID use DUKPT to encrypt 48-303 Track 1 encrypted data Original TK1 data use the crypto algorithm to encrypt. 304-559 Track 2 encrypted data Original TK2 data use the crypto algorithm to encrypt. 560-1071 Track 3 encrypted data * Note (offset 12) Card type Original TK3 data use the crypto algorithm to encrypt. Table 6-3. HID MSR Offset Table UIC Bezel5 Programmer’s Manual Page.125/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Low Nibble 0 ISO/ABA:ISO/ABA encode format for all contactless payments High Nibble Bit 7, 6, 5 – payment instrument status 000 – No payment solution is available or its traditional magistrate card data 001 – Track of Google payment MID available in track 1 and 2 010 – PayPass Magstripe & Mchip available in track 1, 2 and 3 011 – Visa MSD & qVSDC available in track 1, 2 and 3 100 – Amex available in track 1 and 2 101 – Discover ZIP available in track 1 and 2 111 – Other contactless payment solution (reserved for future) Example 0000: Google Wallet not available and no other contactless payment instrument available. 0001: Google Wallet available only but neither Google payment MID nor other contactless payment available. 0100: Google Wallet not available but Contactless PayPass available. 0011: Google Wallet is available and the data of Google payment MID is available in track 1 and 2. UIC Bezel5 Programmer’s Manual Page.126/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.7. Administration Commands 6.7.1. 90H 02H – Load Session ID This command is used to load 8 bytes Session ID to device. Command Pocket Byte 0~1 Byte 2~9 Byte 10~17 Command Encrypted Random Encrypted Session ID 90h 02h Issue 90h 03h command to get random For creating new keys 6.7.2. 90H 03H – Get KSN & Encrypted Random This command is used to get the DUKPT Key Serial Number and encrypted random number. Command Pocket Byte 0~1 Command, 90h 03h Response Response Byte 0~9 Byte 10~17 Success DUKPT serial number and counter Random number in encrypted format Bad Parameters Example Host Command Reader Response Example <90><03> <55><49><43><30><30><30><31><00><00><05><96><02><15><2D> 6.7.3. 90H 04H – Select DUKPT Key Slot This command is used to select DUKPT encrypt key slot of device. UIC Bezel5 Programmer’s Manual Page.127/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Command Pocket Byte 0~1 Byte 2 Command, 90h 04h Data Command Data Data Description 01h Select key slot 1 02h Select key slot 2 Response Code Response 6.7.4. Meaning Acknowledgement Cannot execute (e.g. out of range) Bad parameter (e.g. incorrect length) 90H 05H – Select DUKPT Management Mode This command is used to select DUKPT Management Mode of device. Command Pocket Byte 0~1 Byte 2 Command, 90h 05h Data Command Data Data Description 01h Select Mode 1 02h Select Mode 2 Response Code Response Meaning Acknowledgement Cannot execute (e.g. out of range) Bad parameter (e.g. incorrect length) UIC Bezel5 Programmer’s Manual Page.128/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.7.5. 90H 06H – DUKPT Key Iteration Test This message is designed to do DUKPT key iteration test. The reader will return 71 assuming a PIN of ‘1234’ and pack the data in ANSI X9.8 PIN block format. This command can be used to verify the key being loaded properly or not. Command Pocket Byte 0~1 Byte 2~11 Byte 12 Byte 13 Byte 14~17 Command, 90h 04h Account FS DC Ind Amount Parameters Field Description Primary account number, “1234567890” (31H 32H 33H 34H 35H 36H 37H 38H 39H 30H) – Fixed data, don’t change Account FS <1C>, field separator DC Ind ‘D’ (44H) – Fixed data, don’t change Amount “4567” (34H 35H 36H 37H) – Fixed data, don’t change Response element Field Length Value and description 71 Message ID Reserved Always ‘0’ Key Serial# 10..20 [PIN] 16 Key Serial number used in encrypting PIN. Included only when PIN is entered. Format: hexadecimal string. Encrypted PIN block. Format: hexadecimal string. Error codes Code Meaning ‘0’ Null Account input field. ‘2’ Account number shorter than 8 digits. ‘3’ Account number longer than 19 digits. ‘4’ Account number have character other than ‘0’-‘9’. ‘5’ [D/C Ind] field not exist or format error. ‘6’ Timeout value error. '8' Amount string format error. ‘A’ No DUKPT key injected. UIC Bezel5 Programmer’s Manual Page.129/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Code Meaning ‘B’ Flash read/write error. ‘C’ Memory buffer allocation error. ‘F’ DUKPT operation limit (1 million) reached, program stop. Example Parameter Initial Key “554E49464F524D5F44454641554C5421” Account number “1234567890” Usage Send command "<90><06>1234567890<1C>D4567" Gets PIN Block "710554943303030310003E32FF2D3C47BF9F87E" Find out current key by using of initial key and serial number/counter. (DUKPT scheme) Current Key = "A51DD67C06A54E7F0ADA776534532772" Decrypt PIN Block by using the current key “2FF2D3C47BF9F87E” Clear PIN Block "041234FEDCBA9876" Take max. 12 bytes of account number from the next-to-last digit, then pad zeroes on the left to match the length of 16 bytes “0000000123456789” XOR the clear PIN Block with account number "041234FFFFFFFFFF" “04” means 4 bytes data follows PIN = “1234” 6.7.6. 90H 07H – Get Encrypted Status This command is used to Get Encrypted Status of device. Command Pocket Byte 0~1 Command, 90h 07h Response Response Success Bad Parameters Byte 0~5 Encrypt Mode (1 byte) + DUKPT Key Slot (1 byte) + DUKPT Management Mode (1 byte) + DUKPT Key Slot 1 Status (1 byte) + DUKPT Key Slot 2 Status (1 byte) UIC Bezel5 Programmer’s Manual Page.130/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Response element Encrypt Mode Code Meaning 00 Not Encrypted 01 DUKPT Mode 02 AES Mode 03 RSA Mode DUKPT Key Slot Code Meaning 00 Key Slot 1 01 Key Slot 2 DUKPT Management Mode Code Meaning 00 Mode 1 01 Mode 2 DUKPT Key Slot 1 Status Code Meaning 00 DUKPT Key Empty 01 DUKPT Key Active 02 DUKPT Key Terminated DUKPT Key Slot 2 Status Code Meaning 00 DUKPT Key Empty 01 DUKPT Key Active 02 DUKPT Key Terminated UIC Bezel5 Programmer’s Manual Page.131/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.7.7. 90H 10H – Get Challenge This command is used to get challenge from the reader. Command Pocket Byte 0~1 Command, 90h 10h RSA Encrypted Response Response Byte n Byte 0~15 +n Success Padding Data See Table 6-4 Random Byte 16~35 +n SHA1 (Padding + Random + Exp Len + Exp + Modules Length + Modules) The return length is upon RSA key length. Bad Parameters Padding Frame Byte 0~1 Byte 2+n Byte 3+n 00h 02h Var. 00h Table 6-4. Get Challenge Padding Frame 6.7.8. 90H 11H – Load Encrypt Initial Key This command is used to load initial key to device. Command Pocket Byte 0~1 Data Command, 90h 11h Var. Bytes Data Format Data Byte Field Name Padding Data Length Var. 16 Bytes Notes Padding frame see Table 6-5 16+n Random 17+n Encrypt Mode 1 Byte See Table 6-6 18+n DUKPT Key Slot 1 Byte See Table 6-7 UIC Bezel5 Programmer’s Manual Issue 90h 10h command to get random. Page.132/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Data Byte Field Name 19~20 +n Key Length 21~28 +n Key Data 29~48 +n SHA1 Length 2 Bytes 8~16 Bytes 20 Bytes Notes 2 bytes in binary format Initial DUKPT Key, must be 8 or 16 bytes Padding + Random + Encrypt Mode + Key Slot + Key Length + Key Data Padding Frame Byte 0~1 Byte 2+n Byte 3+n 00h 01h Var. 00h Table 6-5. Load Initial Key Padding Frame Encrypt Mode Code Meaning 01 DUKPT Mode 02 Google Wallet merchant symmetry key Table 6-6. Encrypt Mode of Load Initial Key DUKPT Key Slot Code Meaning 01 DUKPT Key Slot 1 02 DUKPT Key Slot 2 Table 6-7. DUKPT Key Slot of Load Initial Key 6.7.9. 90H 12H – Change Encrypt Mode for Data Output Format This command is used to change the encryption mode of data output format for the device. Command Pocket Byte 0~1 Data Command, 90h 12h Var. Bytes Data Format Data Byte 16+n Field Name Padding Data Random Length Var. 16 Bytes UIC Bezel5 Programmer’s Manual Notes Padding frame see Table 6-8 Issue 90h 10h command to get random. Page.133/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Data Byte 17+n Field Name Length Encrypt Mode 18~37+n Notes 1 Byte SHA1 See Table 6-9 20 Bytes Padding + Random + Encrypt Mode Padding Frame Byte 0~1 Byte 2+n Byte 3+n 00h 01h Var. 00h Table 6-8. Padding Frame of Change Encrypt Mode for Data Output Format Encrypt Mode Code Meaning 30h None Encrypted Mode 31h DUKPT TDES Mode 32h DUKPT AES Mode 33h RSA Mode Table 6-9. Encrypt Mode of Data Output Format UIC Bezel5 Programmer’s Manual Page.134/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.8. Load Session ID USAGE: 1. Issue the 90h 03h command to get encrypted random number. 2. Decrypt “Encrypted Random” using the current key and gets “Random”. 3. Generate an encryption key by XORing current key and “Random”. 4. Use encryption key to encrypt [(Random) + (New Session ID)]. Put the result into the 90h 02h command packet. EXAMPLE Parameter Initial Key “554E49464F524D5F44454641554C5421” New Session ID “0102030405060708” Usage get encrypted random number from the 90h "554943303030310003E103EA68415833B363 " 03h command Find out the current key by using the initial key and the serial number/counter. (DUKPT scheme) Current Key : "13B9BB5C4136505FB9B1335223CC9291" Random number “03EA68415833B363 " using the current key to gets Clear Random Clear Random : "495AF134649D561E" Generate an encryption key by XORing the current key and the clear Random Encryption Key: "5AE34A6825AB0641F0EBC2664751C48F" Use the encryption key to encrypt (TDES) [(Random)+(New Session ID)] Encrypted data: "82CEEAF1C6502358686C954C121E65E6" Put the result into the 90h 02h command packet 90h 02h 82h CEh EAh F1h C6h 50h 23h 58h 68h 6Ch 95h 4Ch 12h 1Eh 65h E6h Table 6-10. Example of Load Session ID UIC Bezel5 Programmer’s Manual Page.135/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.9. Load DUKPT Key USAGE: 1. 2. 3. 4. 5. Issue the 90h 10h command to get the encrypted challenge data. Decrypt the “Encrypted Challenge” by using the “RSA Private Key” and then get the “Random”. Use the command format data to get the SHA 1(20 bytes). Use the “RSA Private Key” to encrypt the command format data. Put the result into the 90h 11h command packet. EXAMPLE Parameter New KSN 55494330303031000000 New Initial Key “554E49464F524D5F44454641554C5421” Exp “00010001” RSA Private Key “7AD86A3E9BEBCE15EAE06EAC8CEAFF119E8584B0A24AADDDF6827A2ED46AA9D78FC7B 9CE262CAF5CC17BFA3DF074C9E7B79577BDF530784DB3EB57CD455CA2BA5F9CDDA5B38 380C89B1136BE1A1BE82DE9A4ABA2CBC6F0E8F75208EF1B77AA7D4FC7A8642A0C268DC6 A012B908F3D8A646246F70236FAACE67FCF638E75E7EBFAD71D52405EAC4F04D9530BDA C54D97BB37C9BF229D2F18F140AB071BC7C144F9255947A5C55DFF8B1A465621E64447C A6AA5D50876F2B22CCEC68EF629AAE7AD78CA9D3D3BC1A72E92FDDACFFC4A347240ED9 FDF245AE0D3545D2249553DD5A4758D58A44E642736B60E6D5B4C2A940C194F4109F458 C9D2636535EC63A82A1” Modules “BDEA7BE96D7CC049C6D68EFB7AFF404810C23AC88866E744C5E27016E415D3787F57EF8 35B84A5AAC8D550C99E3C2955472525A7AB40C5190CF42351AD41386BD8238A54746373 32BFF35A7B7CF1C3173FA424F466DD574C23B84ED9B748D7350F26BF17D5014EDAEDAD5 917991427C5D3859D16312DEEE2E2A5B2287856CDB435B8B5D3E7C68E70B31398EEC34C 45524EB54DD4153438A3BE50D4EEA7BD54E088873C173F5023AD18FD4AAC9068DA786A 9A5AD7462683CEDA8B862AC3CC19F7715AD37A19E1A9C2AC9169D58283674041B66D7A 2E69D4920E45D4B75AA745DFC0C1C654FDD47E526298F86DEB0DC80BBB6DC26793C48B DC8D99CB31FFEA42BD” Usage Get Challenge Data "115BBAC1EFF299152081B7C81858820D8A13D6630CB0F322D20110F2FFDF1ED759411A from 90h 10h command B528998CCA983ED0503D306B7E17E08B0B2A196983BE52E95BF2554F690F3FC08C50ADB E94E115BAA44ECBFD9C9E55FA6749981782340B749794F08ACF92271240E8A0EE382863C 29F7455CDAABC9F666D3270580465F2522C6A83FE0EA52D06C48AD93CE9DC803FFF38DD 4EB33966E8618B39C9D580F9F6313A67884C1DC42203EE78CAC9A0029FD41E8F55A54C4 AD65BDDEE605A15C309B608307CC7C86940ADC65BFC260718D236C3DC1D887BFA655EA 7D22EDF6453BDA365CB81F64B5477C53BCCB4792D2C8B09D3C72AB5A55982E5B8369E49 853514E3A6A9EBFF" Using the RSA Private key to decrypt 90h "7AD86A3E9BEBCE15EAE06EAC8CEAFF119E8584B0A24AADDDF6827A2ED46AA9D78FC7B 9CE262CAF5CC17BFA3DF074C9E7B79577BDF530784DB3EB57CD455CA2BA5F9CDDA5B38 380C89B1136BE1A1BE82DE9A4ABA2CBC6F0E8F75208EF1B77AA7D4FC7A8642A0C268DC6 UIC Bezel5 Programmer’s Manual Page.136/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 10h command result A012B908F3D8A646246F70236FAACE67FCF638E75E7EBFAD71D52405EAC4F04D9530BDA C54D97BB37C9BF229D2F18F140AB071BC7C144F9255947A5C55DFF8B1A465621E64447C A6AA5D50876F2B22CCEC68EF629AAE7AD78CA9D3D3BC1A72E92FDDACFFC4A347240ED9 FDF245AE0D3545D2249553DD5A4758D58A44E642736B60E6D5B4C2A940C194F4109F458 C9D2636535EC63A82A1" gets clear format “000213128446848055107333536843043063130225127201117370049836628096318451 1345200232425145528526184503136810365209537777444951615531096409926153192 2782409A52271033378951605115421705215522657720984452132328205851634102206 26135747447445225318556615053620101236A5256349552436400251106038551298032 5691462212205272480213494445154801158639191173674445039854305894846751965 1414232611163199405454121077815089534523380341246349153232583010410797517 2007E7DF70595A4D1571AEC6AC83F4580A97F1EDC26824B9B6AC828DEB6A5A88F738D61 D10C” Random data “7E7DF70595A4D1571AEC6AC83F4580A9” Complement the data length “0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF007E7DF70595A4D1571 AEC6AC83F4580A901010010554E49464F524D5F44454641554C542155494330303031000 000” get SHA 1 “6170126C75D798FAD28E93FCEBC9A5AC24956BA6” Combine data “0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF007E7DF70595A4D1571 AEC6AC83F4580A901010010554E49464F524D5F44454641554C542155494330303031000 0006170126C75D798FAD28E93FCEBC9A5AC24956BA6” Using the RSA Private key to encrypt “AFD7EA2D13FBDBC74DEAB0C427A95612FC38CAAC0F89ABF8F61B20139A82285C97B321 742EE19524A7A2066819F32DCD2AD46CFDE70680896E095238858377BDB7651AA467779 18728E38F0238D6522CEB2D0096A9FD734A08C4C7736EB63E7B5DFBD3D9E738369C90FE 6981923D3C38285EA2ECEADAD9B880C65EAFF1B05775F6B3E2B44BB1C695AEF5DE086FD 1FABAFCE3CDB80F8DE6FA2701B42998B7F3D568DF0248190898CA6A83A2755B0100FC9B C8F2F73C9E5A399A39B0A76DDB0BE342B605EFC4F687E97244AC60C33337F684765E4C95 8C1F4AC636DDEE9820E3E84BB4E24DD47AB5FE95747A9355F4AB09E72147FAE4E18BD12 968FE69037E9CAA” Put the result into the 90h 11h command packet “<90><11>AFD7EA2D13FBDBC74DEAB0C427A95612FC38CAAC0F89ABF8F61B20139A8228 5C97B321742EE19524A7A2066819F32DCD2AD46CFDE70680896E095238858377BDB7651 AA46777918728E38F0238D6522CEB2D0096A9FD734A08C4C7736EB63E7B5DFBD3D9E738 369C90FE6981923D3C38285EA2ECEADAD9B880C65EAFF1B05775F6B3E2B44BB1C695AEF 5DE086FD1FABAFCE3CDB80F8DE6FA2701B42998B7F3D568DF0248190898CA6A83A2755B 0100FC9BC8F2F73C9E5A399A39B0A76DDB0BE342B605EFC4F687E97244AC60C33337F684 765E4C958C1F4AC636DDEE9820E3E84BB4E24DD47AB5FE95747A9355F4AB09E72147FAE4 E18BD12968FE69037E9CAA” Table 6-11. Example of Load DUKPT Key UIC Bezel5 Programmer’s Manual Page.137/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.10. Load Google Wallet Merchant Symmetry Key USAGE: 1. 2. 3. 4. 5. Issue the 90h 10h command to get the encrypted challenge data. Decrypt the “Encrypted Challenge” using the the “RSA Private Key” and then get the “Random”. Use the command format data to get the SHA 1(20 bytes). Use the “RSA Private Key” to encrypt the command format data. Put the result into the 90h 11h command packet. EXAMPLE Parameter New Symmetry Key 112233445566778899AABBCCDDEEFF11 Exponent “00010001” RSA Private Key “7AD86A3E9BEBCE15EAE06EAC8CEAFF119E8584B0A24AADDDF6827A2ED46AA9D78FC7B 9CE262CAF5CC17BFA3DF074C9E7B79577BDF530784DB3EB57CD455CA2BA5F9CDDA5B38 380C89B1136BE1A1BE82DE9A4ABA2CBC6F0E8F75208EF1B77AA7D4FC7A8642A0C268DC6 A012B908F3D8A646246F70236FAACE67FCF638E75E7EBFAD71D52405EAC4F04D9530BDA C54D97BB37C9BF229D2F18F140AB071BC7C144F9255947A5C55DFF8B1A465621E64447C A6AA5D50876F2B22CCEC68EF629AAE7AD78CA9D3D3BC1A72E92FDDACFFC4A347240ED9 FDF245AE0D3545D2249553DD5A4758D58A44E642736B60E6D5B4C2A940C194F4109F458 C9D2636535EC63A82A1” Modules “BDEA7BE96D7CC049C6D68EFB7AFF404810C23AC88866E744C5E27016E415D3787F57EF8 35B84A5AAC8D550C99E3C2955472525A7AB40C5190CF42351AD41386BD8238A54746373 32BFF35A7B7CF1C3173FA424F466DD574C23B84ED9B748D7350F26BF17D5014EDAEDAD5 917991427C5D3859D16312DEEE2E2A5B2287856CDB435B8B5D3E7C68E70B31398EEC34C 45524EB54DD4153438A3BE50D4EEA7BD54E088873C173F5023AD18FD4AAC9068DA786A 9A5AD7462683CEDA8B862AC3CC19F7715AD37A19E1A9C2AC9169D58283674041B66D7A 2E69D4920E45D4B75AA745DFC0C1C654FDD47E526298F86DEB0DC80BBB6DC26793C48B DC8D99CB31FFEA42BD” Usage Use 90h 10h command to get the encrypted challenge data "553B9A174DFE7B9D23C3C888AF16F658AAED690BC32900F99647A2E41A2B206D050DB0 2032A789EEB577C65DE1B8EDA36DEE1ECC13E55E4BB315EF2F2A4B3648B29D975C9516C 180A14A939FF05AB648D3795E8957E47C1BDD2704350B3D9F463A3D27D5BA3E4F738420 C1AB2A36F49CD7DF3CD8A9B3628C07BA8E64D58AE0762420E27A574B0D7412B26770682 963ECB1BB28F73717C650EF13AEFD969A383C9A8D9B5586B943D9A09EFCFAE75C2B90D6 4C4B7B336AF1D2D796E2D2EF3107EE0DC64586B88AD3A5397496A3B1B06B820D10AD28 66BD8BEE0DFFFA566CFCBAEE96F2EF264C76F4959F0B06C11BC65B40CD24E0D4F7780C6A A16D05F9C3228C12" Using the RSA Private “000221121594264486233532718792540694605011393993939132395445052538546241 key to decrypt challenge 3795364563300354304063330414814532809465084321420681852650545225432319437 data then gets clear 2987535730243527681408210576453834025294324914553401003421337519483235237 UIC Bezel5 Programmer’s Manual Page.138/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved format 5246048350230716256119815505945234153193597310555761037509143415560395999 1042127044404248709333974621853650201647513489037542275934139063120931881 3020127526814474630130205503555125012019698125060363012279079380506308573 9007284558CF716CA567844661192AD23C99DEE8B5255D018714140BFE60D122467ECF17 5A7” Random data “7284558CF716CA567844661192AD23C9” Complement the data length “0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 07284558CF716CA567844661192AD23C902010010112233445566778899AABBCCDDEEFF 111” Get SHA 1 “5AE7E8F57264369B47FC6E06703712EEECC11FF” Combine data “0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 07284558CF716CA567844661192AD23C902010010112233445566778899AABBCCDDEEFF 1115AE7E8F57264369B47FC6E06703712EEECC11FF” Using the RSA Private key to encrypt the combine data “312AD2AD1849FE8ACC2A769D4BE22F0FAD504C85D9BD98C3C1B9E27F2055727709E16C DB6F37F009032BBE33E34D475DB8FB1EA2C94995A44A144E3E91A740065FD5FAECEB134 1A92896A1C087B038D2360F048A4F6EAF1647C19C4DEBF2F58770B3B8D5651C5E3FDED5 C3857135D3B405AD0E77DA24DED419F88D3CB37A177F24C3440B033D61331CD3813C86 A102970464842DD7ED261A76E023F73BEEB48AC69763F6EFABAFC32416796E62169DB453 7038EAE3C9ADD13141763B20193392D812151B8F24183E8DB31CEA2D30DAF0CB9600A5 B395744E946A0AEF94FD7497F628EB6D145DF023E8A349CDA1F5C790C84B58D4E1D1A44 F1525696BB2C37E01” Put the result into 90h 11h command packet “<90><11>312AD2AD1849FE8ACC2A769D4BE22F0FAD504C85D9BD98C3C1B9E27F205572 7709E16CDB6F37F009032BBE33E34D475DB8FB1EA2C94995A44A144E3E91A740065FD5F AECEB1341A92896A1C087B038D2360F048A4F6EAF1647C19C4DEBF2F58770B3B8D5651C 5E3FDED5C3857135D3B405AD0E77DA24DED419F88D3CB37A177F24C3440B033D61331C D3813C86A102970464842DD7ED261A76E023F73BEEB48AC69763F6EFABAFC32416796E62 169DB4537038EAE3C9ADD13141763B20193392D812151B8F24183E8DB31CEA2D30DAF0 CB9600A5B395744E946A0AEF94FD7497F628EB6D145DF023E8A349CDA1F5C790C84B58D 4E1D1A44F1525696BB2C37E01” Table 6-12. Example of Load Google Wallet Merchant Symmetry Key If Data Length < RSA Private Key Length, then complement data length = RSA Private Key Length – sha1(20 bytes) – 2 bytes (head and end) If Data Length > RSA Private Key Length, then complement data length = Multiple (RSA Private Key Length) – sha1(20 bytes) – 2*n bytes (head and End); n= qty’ of page UIC Bezel5 Programmer’s Manual Page.139/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.11. Load Authentication RSA Key USAGE: 1. 2. 3. 4. 5. Issue the 90h 10h command to get the encrypted challenge data. Decrypt the “Encrypted Challenge” using the “RSA Private Key” and then get the “Random”. Use the command format data to get the SHA 1(20 bytes). Use the “RSA Private Key” to encrypt the command format data. Put the result into the “I2” command packet. EXAMPLE Parameter New Modules (First byte should be greater then “6A”) “C827FF33BD1C24C6A2919F8B182975F1399697F460514B2B67BB7822DB9A4D11457F0A1 0EE420011D96A42F91BA42D1DEDB5EA4B6B7A32E3EBE67574211E68D78FAB65994A6D9 AD3343CDCC5C28F0E46AE391054811EE4B1D11DE4EAB6EF9EAF79750F049DA24678D835 C06587A9101B0AE1344D71D5D58E469F7FE352AD61A587924F47A8E5EECD9911440E9C0 9CF2625CD34CB9B4907A19C7EEFE3DC460759AEDBDC902174D2A8F5D21E35B690EEFB75 6E6C1A88D0B8B9D243C1C0785617FC21B8D4B441F3341B00566A05AEFE31D3277EF8E3B 0A7E8660C9C7278E9418DB5BF2924B50FB84CEE4E9A03250DBA83FD3B9245F0727FAFCF8 5C71B9ED87BE01B” New Exponent “00010001” Exponent “00010001” RSA Private Key “7AD86A3E9BEBCE15EAE06EAC8CEAFF119E8584B0A24AADDDF6827A2ED46AA9D78FC7B 9CE262CAF5CC17BFA3DF074C9E7B79577BDF530784DB3EB57CD455CA2BA5F9CDDA5B38 380C89B1136BE1A1BE82DE9A4ABA2CBC6F0E8F75208EF1B77AA7D4FC7A8642A0C268DC6 A012B908F3D8A646246F70236FAACE67FCF638E75E7EBFAD71D52405EAC4F04D9530BDA C54D97BB37C9BF229D2F18F140AB071BC7C144F9255947A5C55DFF8B1A465621E64447C A6AA5D50876F2B22CCEC68EF629AAE7AD78CA9D3D3BC1A72E92FDDACFFC4A347240ED9 FDF245AE0D3545D2249553DD5A4758D58A44E642736B60E6D5B4C2A940C194F4109F458 C9D2636535EC63A82A1” Modules “BDEA7BE96D7CC049C6D68EFB7AFF404810C23AC88866E744C5E27016E415D3787F57EF8 35B84A5AAC8D550C99E3C2955472525A7AB40C5190CF42351AD41386BD8238A54746373 32BFF35A7B7CF1C3173FA424F466DD574C23B84ED9B748D7350F26BF17D5014EDAEDAD5 917991427C5D3859D16312DEEE2E2A5B2287856CDB435B8B5D3E7C68E70B31398EEC34C 45524EB54DD4153438A3BE50D4EEA7BD54E088873C173F5023AD18FD4AAC9068DA786A 9A5AD7462683CEDA8B862AC3CC19F7715AD37A19E1A9C2AC9169D58283674041B66D7A 2E69D4920E45D4B75AA745DFC0C1C654FDD47E526298F86DEB0DC80BBB6DC26793C48B DC8D99CB31FFEA42BD” Usage Use 90h 10h command to get the encrypted challenge data "A08B1810E85D8D5B9DD8E324A6D204DD2E6C3ED6DA2706EEE461469567DD9B3EA9053 F60CB48168922161E640340C782FEF919B5BF1B293EDD2F0C5B7449543134877B150FACF 558ACFCF7719473DAA20C7E389B17C3159D3DBDF6CEFD3CA15652EB916D8B8252077AF B32CF5416D12FC79F06E8AB9ED2834CE6CE5AD98018BC5C62A4074389004B04AE4BC7FE F027F87694F45912DD238A6043FD6AFA38F6F9CD2E307FB3186C784F3D3C093BB665FF41 UIC Bezel5 Programmer’s Manual Page.140/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved C923CB0FEF00EC2A9BE648E952AFB7502733D11EBA0CE4D3642EDAC412F58773AA793C9 784BACD3068A8CF76CC65175001AE879E78F437D67051CE604839C3BA4177407B353FEB0 887A3FFC2A47940" Using the RSA Private key to decrypt challenge data then gets clear format “000290503282591385508221843391503270417040350361787725870210458535565343 46428212305541795712283982062056A5103685107835553812620610084709515281116 0037930080451625357213530957558147293393101182408247185240470195245305292 294510361970931605044744353414A508130184732033202054404326349151207544054 3548102078998077614401818313444192728A55190150354234451459599308024558041 0280210216780521343004033224587476330621061445055389200412632075454684562 40046C66E3F4D4AA86FFF55132FBB71C845179D53D3B8BC9210DA8CAA1319E835A12FC7 8114” Random data “46C66E3F4D4AA86FFF55132FBB71C845” Complement the data length8 “0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFF0046C66E3F4D4AA86FFF55132FBB71C84504000100010100C827FF33B D1C24C6A2919F8B182975F1399697F460514B2B67BB7822DB9A4D11457F0A10EE420011 D96A42F91BA42D1DEDB5EA4B6B7A32E3EBE67574211E68D78FAB65994A6D9AD3343CDC C5C28F0E46AE391054811EE4B1D11DE4EAB6EF9EAF79750F049DA24678D835C06587A91 01B0AE1344D71D5D58E469F7FE352AD61A587924F47A8E5EECD9911440E9C09CF2625CD 34CB9B4907A19C7EEFE3DC460759AEDBDC902174D2A8F5D21E35B690EEFB756E6C1A88D 0B8B9D243C1C0785617FC21B8D4B441F3341B00566A05AEFE31D3277EF8E3B0A7E8660C 9C7278E9418DB5BF2924B50FB84CEE4E9A03250DBA83FD3B9245F0727FAFCF85C71B9ED8 7BE01B” Get SHA 1 “9A2A410325F5ECE9A251A3316B449E7DF649BDD2” Combine data “0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFF0046C66E3F4D4AA86FFF55132FBB71C84504000100010100C827FF33B D1C24C6A2919F8B182975F1399697F460514B2B67BB7822DB9A4D11457F0A10EE420011 D96A42F91BA42D1DEDB5EA4B6B7A32E3EBE67574211E68D78FAB65994A6D9AD3343CDC C5C28F0E46AE391054811EE4B1D11DE4EAB6EF9EAF79750F049DA24678D835C06587A91 01B0AE1344D71D5D58E469F7FE352AD61A587924F47A8E5EECD9911440E9C09CF2625CD 34CB9B4907A19C7EEFE3DC460759AEDBDC902174D2A8F5D21E35B690EEFB756E6C1A88D 0B8B9D243C1C0785617FC21B8D4B441F3341B00566A05AEFE31D3277EF8E3B0A7E8660C 9C7278E9418DB5BF2924B50FB84CEE4E9A03250DBA83FD3B9245F0727FAFCF85C71B9ED8 7BE01B9A2A410325F5ECE9A251A3316B449E7DF649BDD2” If Data Length < RSA Private Key Length, then complement data length = RSA Private Key Length – sha1(20 bytes) – 2 bytes (head and end) If Data Length > RSA Private Key Length, then complement data length = Multiple (RSA Private Key Length) – sha1(20 bytes) – 2*n bytes (head and End);n= qty’ of page UIC Bezel5 Programmer’s Manual Page.141/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Base on Private Key Length – 2 bytes, add 2 bytes of Head (6A) and End (BC) to each package. “6A0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFF0046C66E3F4D4AA86FFF55132FBB71C84504000100010100C827FF 33BD1C24C6A2919F8B182975F1399697F46051BC” “6A4B2B67BB7822DB9A4D11457F0A10EE420011D96A42F91BA42D1DEDB5EA4B6B7A32E 3EBE67574211E68D78FAB65994A6D9AD3343CDCC5C28F0E46AE391054811EE4B1D11DE4 EAB6EF9EAF79750F049DA24678D835C06587A9101B0AE1344D71D5D58E469F7FE352AD6 1A587924F47A8E5EECD9911440E9C09CF2625CD34CB9B4907A19C7EEFE3DC460759AEDB DC902174D2A8F5D21E35B690EEFB756E6C1A88D0B8B9D243C1C0785617FC21B8D4B441F 3341B00566A05AEFE31D3277EF8E3B0A7E8660C9C7278E9418DB5BF2924B50FB84CEE4E9 A03250DBA83FD3B9245F0727FAFCF85C71B9ED87BE01B9A2A410325F5ECE9A251A3316B 449E7DF649BDD2BC” Using the RSA Private key to encrypt the combine data “60B09C88578CC3E8C299F87FECDA9FD95D1314CDBB4C65254F9FEB3C368F0259BB6BDD 50F33EAFEB6A73E4D96630268A5AF0AFC3E9DB696B882FD175144C6DE997FD0B4966DED 0A0B43F866FF4BF0AC368D25CE032652AE29F72B2B3D3459CB36AC9B26B1922C0B7CEBC 8643E18A0EDAF0F0D1652FC6D21DD518483FDA29F81125713BF0221436CB6071E1E3185 08E91D8B827D100652AFCAB47C84963351E7C8DEB41DD4D1B278C1A964C20A3DE07E6F 6B1394981C2FD910FD53EB8B084FAC5D0B4F82E716A06A933DF80E7B49F62A4CA11408A 5CDBF874C8A877CA03BDC13914CF7D01018F424624242F48E7427D1693AA3098999482E 9A9A0C49139D8A361” “777D160D8F040298DAD7911CD81C9113961B6358240F6D83025537E6BE5AA42EDFBD3C 5BEE250136FB90C5B3B58B1D4AE088197B34B15152E252A721E5FD89C629DB8A8DA564E 59B7611C0F8F1DCEE344197C34ED5EA5033516F7E740ECEF8E50B4C10EE3FD3591E4806D 1F1F4367CA05FFD2684EA7325C64E82F01C2A6285221F3C6F4507B0135F5DC978C363B5F AE61A4817067ACE52774817C028AA4EE293AC7B584A3524D50A49AA2B94BA2F7D3B16F6 B016A89A3A6A453705464E74BF1541DC0CC51B49F051891C6DE0280A435A043C7DAD4A 45EF8B4E5D4983208EAA19DDDC4C3932E1B6511EE8A743F830FCAC4AF692BE5EB9AF8A8 80AC4E9A0137396” Put the result into I2 command packet I260B09C88578CC3E8C299F87FECDA9FD95D1314CDBB4C65254F9FEB3C368F0259BB6BD D50F33EAFEB6A73E4D96630268A5AF0AFC3E9DB696B882FD175144C6DE997FD0B4966DE D0A0B43F866FF4BF0AC368D25CE032652AE29F72B2B3D3459CB36AC9B26B1922C0B7CEB C8643E18A0EDAF0F0D1652FC6D21DD518483FDA29F81125713BF0221436CB6071E1E318 508E91D8B827D100652AFCAB47C84963351E7C8DEB41DD4D1B278C1A964C20A3DE07E6 F6B1394981C2FD910FD53EB8B084FAC5D0B4F82E716A06A933DF80E7B49F62A4CA11408 A5CDBF874C8A877CA03BDC13914CF7D01018F424624242F48E7427D1693AA3098999482 E9A9A0C49139D8A361777D160D8F040298DAD7911CD81C9113961B6358240F6D830255 37E6BE5AA42EDFBD3C5BEE250136FB90C5B3B58B1D4AE088197B34B15152E252A721E5F D89C629DB8A8DA564E59B7611C0F8F1DCEE344197C34ED5EA5033516F7E740ECEF8E50B 4C10EE3FD3591E4806D1F1F4367CA05FFD2684EA7325C64E82F01C2A6285221F3C6F4507 B0135F5DC978C363B5FAE61A4817067ACE52774817C028AA4EE293AC7B584A3524D50A4 9AA2B94BA2F7D3B16F6B016A89A3A6A453705464E74BF1541DC0CC51B49F051891C6DE0 280A435A043C7DAD4A45EF8B4E5D4983208EAA19DDDC4C3932E1B6511EE8A743F830FC AC4AF692BE5EB9AF8A880AC4E9A0137396” Table 6-13. Example of Load Authentication RSA Key UIC Bezel5 Programmer’s Manual Page.142/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 6.12. Change Encrypt Mode for Data Output Format USAGE 1. 2. 3. 4. 5. Issue the 90h 10h command to get the encrypted challenge data. Decrypt the “Encrypted Challenge” using the the “RSA Private Key” and then get the “Random”. Use the command format data to get the SHA 1 (20 bytes). Use the “RSA Private Key” to encrypt the command format data. Put the result into the 90h 12h command packet. EXAMPLE Parameter Select Encrypt Mode 31 (DUKPT TDES Mode) Exponent “00010001” RSA Private Key “7AD86A3E9BEBCE15EAE06EAC8CEAFF119E8584B0A24AADDDF6827A2ED46AA9D78FC7B 9CE262CAF5CC17BFA3DF074C9E7B79577BDF530784DB3EB57CD455CA2BA5F9CDDA5B38 380C89B1136BE1A1BE82DE9A4ABA2CBC6F0E8F75208EF1B77AA7D4FC7A8642A0C268DC6 A012B908F3D8A646246F70236FAACE67FCF638E75E7EBFAD71D52405EAC4F04D9530BDA C54D97BB37C9BF229D2F18F140AB071BC7C144F9255947A5C55DFF8B1A465621E64447C A6AA5D50876F2B22CCEC68EF629AAE7AD78CA9D3D3BC1A72E92FDDACFFC4A347240ED9 FDF245AE0D3545D2249553DD5A4758D58A44E642736B60E6D5B4C2A940C194F4109F458 C9D2636535EC63A82A1” Modules “BDEA7BE96D7CC049C6D68EFB7AFF404810C23AC88866E744C5E27016E415D3787F57EF8 35B84A5AAC8D550C99E3C2955472525A7AB40C5190CF42351AD41386BD8238A54746373 32BFF35A7B7CF1C3173FA424F466DD574C23B84ED9B748D7350F26BF17D5014EDAEDAD5 917991427C5D3859D16312DEEE2E2A5B2287856CDB435B8B5D3E7C68E70B31398EEC34C 45524EB54DD4153438A3BE50D4EEA7BD54E088873C173F5023AD18FD4AAC9068DA786A 9A5AD7462683CEDA8B862AC3CC19F7715AD37A19E1A9C2AC9169D58283674041B66D7A 2E69D4920E45D4B75AA745DFC0C1C654FDD47E526298F86DEB0DC80BBB6DC26793C48B DC8D99CB31FFEA42BD” Usage Use 90h 10h command to get the encrypted challenge data "4151FDFB7D5D0C6546E980D0BBE220A5703F36CD3A6A7307EA9303BE7CECF781973F37 737CD5A439EB3DE0D687A8E5B38B3450D211E62B1EDABA5A9A81B89D8280B3C6E2C6A9 7B2B619C5CE762E6556B33F7C0F181FBE769C272E20CDF1696D40B856B019678D20CD3BE 8F6A5979DB7E6AB26AEBF4FAFE09B2C2D28B5C846BC74E33372023D2C249BC24AD9D113 DA9E1C5B56880074C2891BA037BB137EFE1BAF3CF5E96841B966E374ADAAE076BFA48AC C3375A155C1502959434FA58B8B4CB59D98CD749384CB10F789BB39A8B2989C3C1B7FEF 3EC85E42479C0511A1EB328FBA05E70CCE4D9119454E575E2809280D48142FF2E86DC177 F2084C6A2D30809" Using the RSA Private “000235066333089386850502754743045911912419929544890545269515445804334744 key to decrypt challenge 3270472741035105151215647164955051253717A59321516113509277384655112543158 UIC Bezel5 Programmer’s Manual Page.143/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved data then gets clear format 2261382065027843430440595310358901384310502624329203409175009185065590105 7752232055503031414823180337450550305385945111913229101984324536531003011 5167151413692235302595123933765030701823657750310331305823732689042341455 1257281483427422206143305936656063250116625831111935366452330928410225178 5000591231B27E3E125BE4B88B68D451A2EEB5A5734ECB97987B0C26873D84F13CA52267 898” Random data “0591231B27E3E125BE4B88B68D451A2E” Complement the data length9 “0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000591231B27E3E125BE4B88B68D451A2E31” Get SHA 1 “5AE7E8F57264369B47FC6E06703712EEECC11FF” Combine data “0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000591231B27E3E125BE4B88B68D451A2E3182 CD8E4AACB8966CE3FA3D8A579A93B049DABC67” Using the RSA Private key to encrypt the combine data “905EB9A2240901536FC4CE8EDEE3F8551D7157238DDE2600733E4AEB54C7E993989BA4E 92F8A1ADBF71FEF288E714E353AD5490234B2672AF9791C213B766744855F1A416B61AF0 CB40517BA3A85D06C51E834AB129EE1C0E551555C5BAB828D8A354F80DC2953785F65C3 55202FA6FD0A7F72288AF171084F305EEAA4CF6C2D99B25780790D0BFCB9CAC6897BA3D 6B21B1B8229CEA4F49F4A0113A3D98208B549EE965D7BC706BC0731662921E53EB6BF58 CEC4D30C6CA5ED79937483EB1FF45F5C157BAAF6E1269200081304458734C6B4B397A868 C35BDA3F7E715F02B5F6015EC12EDDA09FFD407EB3698A324E20D31715FE0817E2DDD0F 540DB097932CE” Put the result into 90h 12h command packet “<90><12>905EB9A2240901536FC4CE8EDEE3F8551D7157238DDE2600733E4AEB54C7E99 3989BA4E92F8A1ADBF71FEF288E714E353AD5490234B2672AF9791C213B766744855F1A4 16B61AF0CB40517BA3A85D06C51E834AB129EE1C0E551555C5BAB828D8A354F80DC2953 785F65C355202FA6FD0A7F72288AF171084F305EEAA4CF6C2D99B25780790D0BFCB9CAC6 897BA3D6B21B1B8229CEA4F49F4A0113A3D98208B549EE965D7BC706BC0731662921E53 EB6BF58CEC4D30C6CA5ED79937483EB1FF45F5C157BAAF6E1269200081304458734C6B4B 397A868C35BDA3F7E715F02B5F6015EC12EDDA09FFD407EB3698A324E20D31715FE0817 E2DDD0F540DB097932CE” Table 6-14 Example of Change Encrypt Mode for Data Output Format If Data Length < RSA Private Key Length, then complement data length = RSA Private Key Length – sha1(20 bytes) – 2 bytes (head and end) If Data Length > RSA Private Key Length, then complement data length = Multiple (RSA Private Key Length) – sha1(20 bytes) – 2*n bytes (head and End);n= qty’ of page UIC Bezel5 Programmer’s Manual Page.144/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 7. Google Wallet Google Wallet is an application utilizing the mobile phone as the payment instrument. It provides several services in one wallet including payments, offers and rewards. The general working scenario is just to have the user to tap the phone at the Bezel5 reader. By passing all necessary information to the host application, the user can purchase the goods to earn the loyalty points, get the discount price or pay by the gift card. There are two different phases proposed by Google Wallet - Legacy and Next Generation. The current available service is Legacy which is fully supported by the Bezel5 reader. 7.1. Track Output Scenarios The Legacy service is composed of payment (compliant with EMV contactless specification) and value-added services over MIFARE. Bezel5 reads all services in one tap and outputs the card data in the following scenarios. CASE 1: • • Card contains active payment instrument in PPSE and active payment instrument in Mifare. VAID containing payment MID is present in PPSE. Output: Tag FFFF820E. Track 1 and 2 contain Google Wallet payment MID track data if any. There is no track 3 data. CASE 2: • Card contains active payment instrument in PPSE and no payment instrument in Mifare. • VAID containing payment MID is not present in PPSE. Output: Track 1 and 2 (or 3) with contactless payment data, and Tag FFFF820E if any. CASE 3: • Card contains no active payment instrument in PPSE and an active payment instrument in Mifare. • VAID containing payment MID is present in PPSE Output: Tag FFFF820E. Track 1 and 2 contain Google Wallet payment MID track data if any. There is no track 3 data. UIC Bezel5 Programmer’s Manual Page.145/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved CASE 4: • Card contains no active payment instrument in PPSE and no active payment instrument in Mifare. • VAID containing payment MID is not present in PPSE Output: Tag FFFF820E, if any. Track 1~3, Tag FFFF820E Information Track # Description SS/ES Data PayPass/payWave/Amex/Discover ZIP/Google Wallet Payment %/? Emulate magnetic stripe track 1: PAN, Card holder name, Expiration Date, Track 1 Discretionary Data. PayPass/payWave/Amex/Discover ZIP /Google Wallet Payment ;/? Emulate magnetic stripe track 2: PAN, Expiration Date, and Track 2 Discretionary Data. PayPass/payWave +/? UIC proprietary data output for extra contactless payment information. Tag FFFF820E Description Google Wallet applets SS/ES $/? Data UIC proprietary data output for Google Wallet. Table 7-1. Track/Tag information of Google Wallet Transaction Format UIC Bezel5 Programmer’s Manual Page.146/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 7.2. Configuration Option In order to integrate the Google Wallet with other payment schemes, Bezel5 provides the following selectable configurations. Mode Description Google application deactivated Google application (and Mifare functionality) is deactivated Mifare First (default) Google application (and Mifare functionality) is activated and Mifare is read first Select PPSE First Google application (and Mifare functionality) is activated and Select PPSE is done first Table 7-2. Selectable Configuration of Google Wallet transaction mode Card Data Output for Different Types of Card and Reader Configurations With the reader running in the Self-Arm mode, depending on the configuration set in the reader and the type of card to be read, the reader will output different types of card information. The following table lists out the summary of it: Reader Configuration Google Wallet Support Type of Card Mifare Card Support Disabled PPSE First Mifare First Disabled (MFxy = 10) Enabled (MFxy = 11) Payment Card Track data Track data Track data Track data Track data Google Wallet with payment instrument Track data Google data Google data Google data Google data Google Wallet without payment instrument Track data Track data /w Google data Track data /w Google data Track data /w Google data Track data /w Google data Mifare Standard 1K N/A N/A N/A N/A “M2” Mifare Standard 4K N/A N/A N/A N/A “M3” Mifare Ultralight N/A N/A N/A N/A “M1” Mifare Ultralight C N/A N/A N/A N/A “M1” Mifare DESFire N/A N/A N/A N/A “M4” Mifare Plus N/A N/A N/A N/A “M5” Table 7-3. Card Data Output mode for different types of card and reader configurations UIC Bezel5 Programmer’s Manual Page.147/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 7.3. Tag FFFF820E Data Format Tag FFFF820E data format is reserved for Google Wallet application only (Tag FFFF820E data format is being used for Google Wallet application). This data can be represented in ASCII-HEX values. If the data is in ASCII, it is embraced by […]. The data begins with start sentinel “$” and ends with end sentinel “?”. Google Wallet data is output in Tag FFFF820E according to the following format: Byte 0 Byte 1~2 Byte 3 Byte 4~5 Byte 6 [$], Start sentinel (1-byte) Total length of track (2-bytes) Num of applications (1-byte) CB 02 Byte 7~8 Byte 9 Byte 10~12 Byte 12+n App 1 Schema-code (2-byte) App 1 tag (1-byte) Length of all records for App1 (1-3 byte) Data of records for App 1 (var bytes) Byte n CB 02 App 2 Schemacode (2-byte) App 2 tag (1-byte) Length of all records for App1 (1-3 byte) Data of records for App 2 (var bytes) … CB 02 Byte n App n Schema- code (2-byte) App n tag (1-byte) Length of all records for App n (1-3 byte) Data of records for App n (var bytes) [?], End sentinel (1-byte) Tag FFFF820E Data Object Format: Data/Tag Description Data Object Format (Bytes) Start Sentinel 1 byte Total Length of track 2 bytes Number of application 1 byte CB02 [CB][02] 2 bytes 1002 App 1 Schema-code 2 bytes C5 App 1 tag 1 byte 05 Length of all records for App 1 1~3 byte Data of all records for App 1 var bytes [CB][02] 2 bytes 0023 03 6502530000 CB02 UIC Bezel5 Programmer’s Manual Page.148/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Data/Tag 2002 Description Data Object Format (Bytes) App 2 Schema-code 2 bytes C5 App 2 tag 1 byte 04 Length of all records for App 2 1~3 byte Data of all records for App 2 var bytes CB02 [CB][02] 2 bytes 4002 App 3 Schema-code 2 bytes D1 App 3 tag 1 byte 07 Length of all records for App 3 1~3 byte Data of all records for App 3 var bytes End Sentinel 1 byte 12340001 12FF34FF056789 Table 7-4. Google Wallet Data Transmission Tag Format Google Wallet Sample Data Format $[Total Length][Number of application][CB][02][App1 Schema-code][App1 tag][length of record for App1][Data of records for App1] [CB][02][App2 Schema-code][App2 tag][length of record for App2][Data of records for App2]…[CB][02][App n Schema-code][App n tag][length of record for App n][Data of records for App n]? Example (in Hex String) $002303CB021002C5056502530000CB022002C50412340001CB024002D10712FF34FF056789? Important note: If the Google Wallet contains incorrect data such as CRC error at one application, the reader will ignore (discard) the related application. Then the reader will continue to read the next application in the wallet. There is no output data if the CRC of all applications are erroneous. The data sequence for multiple bytes value is in big-endian. For Example, [01 02] = 1 x 256 + 2 = 258. UIC Bezel5 Programmer’s Manual Page.149/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 7.4. Google Wallet Merchant Key Update The Google Wallet merchant key is protected by a pre-loaded injection key by using TDES crypto algorithm. Since the key is always encrypted, the authentication is not required. The reader will use the SHA1 value for verification purpose. The Host Application The Reader TDES-INJECTION-KEY[Merchant Secret ] Request SHA1 checksum of TDES-INJECTION-KEY[Merchant Secret ] Return SHA1 checksum The reader only accepts the merchant key to follow the Google MIFARE key packet format. In general, Google will generate the new key which is protected by the merchant defined symmetry key (TDES key). The normal procedure is that the encrypted data is sent to the merchant. Once the merchant application receives the data, it will convert the data to the suitable coding format according to the reader’s command to be sent to the reader. Then the reader will use the pre-loaded symmetry key to decrypt the merchant key and install it. The symmetry key is able to be updated after the unit is deployed to the field site. The details of the symmetry key update process are not described in this section. Please refer to the Bezel5 command authentication section for more information. In the meantime, the reader will perform SHA1 on the whole encrypted merchant key data block and store the value in the nonvolatile memory. The application can verify the checksum to assure the key is installed properly. The format of the packaged merchant key is , the length of enc_X, (1 byte) UIC Bezel5 Programmer’s Manual , the encrypted list of merchant secrets, (n bytes) Page.150/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 7.5. Google Wallet Commands 7.5.1. D (44H) – Google Card Operation The command is used to operate Google card. Command Packet Byte 0 Byte 1 Byte 2+n D (44h) Command Type Data, (Optional) Command Type Command Description 03h Read transmission log 04h Clear transmission log 07h Load Google wallet MIFARE secret key 08h Get SHA1 value of MIFARE key 09h Get Google Polling Mode 0Ah Get SHA1 value of All Encrypt MIFARE key Table 7-5. Google Wallet Operation Command Type D<03> (44H 03H) - Read transmission log Example Host Command Reader Response Example The Google Wallet card on top of the card reader H0 Comment Do not remove Self-Arm Disable, see 4.1.15. Reader ACK Antenna power On, see 4.4.2. D<03> Reader ACK Read transmission log UIC Bezel5 Programmer’s Manual Page.151/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Host Command Reader Response Example Comment <02><01><30><30><30><30><30><30><30><30> <12><01><00><5A><02><01><00><30><31> <00><00><00><97><12><01><00><5A><02><01> <00><30><31><00><00><00><97><12><01><00> Transmission log of the card (40 bytes) OR D<03> Read transmission log * (2Ah) Card not detected D<04> (44H 04H) - Clear transmission log Example Host Command Reader Response Example Comment The Google Wallet card on top of the card reader Do not remove H0 Self-Arm Disable, see 4.1.15. Reader ACK Antenna power On, see 4.4.2. D<03> Reader ACK Read transmission log <02><01><30><30><30><30> <30><30><30><30><12><01><00> <5A><02><01><00><30><31> <00><00><00><97><12><01><00> <5A><02><01><00><30><31> <00><00><00><97><12><01><00> D<04> Transmission log of the card (48 bytes) Clear transmission log ^ (5Eh) D<03> Successful Read transmission log <00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00> <00><00><00><00><00><00><00><00> Clear (48 bytes) OR D<04> Clear transmission log * (2Ah) UIC Bezel5 Programmer’s Manual Page.152/166 Card not detected UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved D<07> (44H 07H) – Load Google wallet MIFARE secret key Command Packet Byte 0-1 Byte 2 Byte 3~ Command Total Encrypt length Encrypt data D<07> <38> 3FAF3B31B3DDDBA6964DF8BBB81A3F828BEF5FAEED91B5B2856E44E4 E0C30ED930502694CD20EE81E43B0846FDC8DD7924B7A04BA6248C5E Example Keys Symmetry Key 112233445566778899AABBCCDDEEFF11 Secret Key MID 20E103626A70A92B3AD3FDE04429C3B6 0000 642DDA067A4A1725C6F3B22F51E607EE FFFE 7A244D16EAB80D7CBB5329E0653A09CD F010 Load MIFARE Key Get clear text data 36||20E103626A70A92B3AD3FDE04429C3B60000642DDA067A4A1725C6F3B 22F51E607EEFFFE7A244D16EAB80D7CBB5329E0653A09CDF010||80 Encrypt the clear text data by the 3FAF3B31B3DDDBA6964DF8BBB81A3F828BEF5FAEED91B5B2856E44E4E0C30 symmetry Key doing TDES Encrypt ED930502694CD20EE81E43B0846FDC8DD7924B7A04BA6248C5E Clear Data Total Encrypt Data Length = 38h Send the command to the reader D<07>383FAF3B31B3DDDBA6964DF8BBB81A3F828BEF5FAEED91B5B2856E44 E4E0C30ED930502694CD20EE81E43B0846FDC8DD7924B7A04BA6248C5E *[Encrypt Data]: Symmetry Key encrypted [Total Clear Key Length (1 byte) + Key1 (32 bytes) + MID1 (2 bytes) + Key2 (32 bytes) + MID2 (2 bytes) + Key3 (32 bytes) + MID 3 (2 bytes) + padding (80h 00h 00h....)] Example Host Command Reader Response Example D<07> 383FAF3B31B3DDDBA6964DF8BBB81A3F828BEF5FAEED91B5B2856E44E4E0C30ED93 0502694CD20EE81E43B0846FDC8DD7924B7A04BA6248C5E ^ (5Eh) Successful UIC Bezel5 Programmer’s Manual Page.153/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved D<08> (44H 08H) –Get SHA1 value of MIFARE key Command Packet Byte 0-1 Byte 2 Command Key Index D<08> 1 (31h) ~ 8 (38h) Example Keys Symmetry Key 112233445566778899AABBCCDDEEFF11 Secret Key MID 20E103626A70A92B3AD3FDE04429C3B6 0000 642DDA067A4A1725C6F3B22F51E607EE FFFE 7A244D16EAB80D7CBB5329E0653A09CD F010 Load MIFARE Key Get clear text data 36||20E103626A70A92B3AD3FDE04429C3B60000642DDA067A4A1725C6F3B 22F51E607EEFFFE7A244D16EAB80D7CBB5329E0653A09CDF010||80 Encrypt the clear text data by the 3FAF3B31B3DDDBA6964DF8BBB81A3F828BEF5FAEED91B5B2856E44E4E0C30 symmetry Key doing TDES Encrypt ED930502694CD20EE81E43B0846FDC8DD7924B7A04BA6248C5E Clear Data Total Encrypt Data Length = 38h Send the command to the reader D<07>383FAF3B31B3DDDBA6964DF8BBB81A3F828BEF5FAEED91B5B2856E44 E4E0C30ED930502694CD20EE81E43B0846FDC8DD7924B7A04BA6248C5E *[Encrypt Data]: Symmetry Key encrypted [Total Clear Key Length (1 byte) + Key1 (32 bytes) + MID1 (2 bytes) + Key2 (32 bytes) + MID2 (2 bytes) + Key3 (32 bytes) + MID 3 (2 bytes) + padding (80h 00h 00h....)] Get MIFARE Key SHA1 value Send the command string to the D<08H>1 reader Return SHA1 <12><5A><6E><5C><3A><17><41><72><3F><3F><0 E><6C><30> Verify the SHA1 value Key1 = 20e103626a70a92b3ad3fde04429c3b6 Symmetry Key = 112233445566778899AABBCCDDEEFF11 Encrypt Data = AF0F842C5E9DE3C5983943B326264075 [Encrypt Data] SHA1 = 12C7B4D75A6E5CA13A1741723FA63F0E6C30E9B2 UIC Bezel5 Programmer’s Manual Page.154/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Example Host Command Reader Response Example Comment <12><5A><6E><5C><3A><17><41 ><72><3F><3F><0E><6C><30> SHA1 (20 bytes) Empty (20 bytes) D<08>1 D<09> (44H 09H) –Get Google Polling Mode Example Host Command Reader Response Example Comment 0 (30h) Google Polling Disable 1 (31h) PPSE First 2 (32h) MIFARE First * (2Ah) Bad parameters D<09> D<0A> (44H 0AH) –Get SHA1 value of All Encrypt MIFARE key Command Packet Byte 0-1 Command D<0A> Example Keys Symmetry Key 112233445566778899AABBCCDDEEFF11 Secret Key MID 20E103626A70A92B3AD3FDE04429C3B6 0000 642DDA067A4A1725C6F3B22F51E607EE FFFE 7A244D16EAB80D7CBB5329E0653A09CD F010 UIC Bezel5 Programmer’s Manual Page.155/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Load MIFARE Key Get clear text data 36||20E103626A70A92B3AD3FDE04429C3B60000642DDA067A4A1725C6F3B 22F51E607EEFFFE7A244D16EAB80D7CBB5329E0653A09CDF010||80 Encrypt the clear text data by the symmetry Key doing TDES Encrypt Clear Data 3FAF3B31B3DDDBA6964DF8BBB81A3F828BEF5FAEED91B5B2856E44E4E0C30 ED930502694CD20EE81E43B0846FDC8DD7924B7A04BA6248C5E Total Encrypt Data Length = 38h Send the command to the reader D<07>383FAF3B31B3DDDBA6964DF8BBB81A3F828BEF5FAEED91B5B2856E44 E4E0C30ED930502694CD20EE81E43B0846FDC8DD7924B7A04BA6248C5E *[Encrypt Data]: Symmetry Key encrypted [Total Clear Key Length (1 byte) + Key1 (32 bytes) + MID1 (2 bytes) + Key2 (32 bytes) + MID2 (2 bytes) + Key3 (32 bytes) + MID 3 (2 bytes) + padding (80h 00h 00h....)] Get MIFARE Key SHA1 value Send the command string to the reader D<0AH> Encrypt the clear text data by the symmetry Key doing SHA1 Value 383FAF3B31B3DDDBA6964DF8BBB81A3F828BEF5FAEED91B5B2856E44E4E0C 30ED930502694CD20EE81E43B0846FDC8DD7924B7A04BA6248C5E Return SHA1 BB8EB10C7521C547E6D74643D5559A6C1080ABF9 Example Host Command Reader Response Example Comment BB8EB10C7521C547E6D74643D5559A6C1080ABF9 SHA1 (40 bytes) D<0A> UIC Bezel5 Programmer’s Manual Page.156/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 8. ISIS Wallet ISIS Wallet is proposed by the wireless service providers, AT&T Mobility, T-Mobile USA, and Verizon Wireless that mainly target at the payment solutions. The payment application name is called the Sizzle Apps which runs on the phone to manage the payment information, loyalty data or the coupon offer. The reader plays the role to gather all transaction data from the Sizzle Apps and pass it to the POS applications. According to the transaction requirements, there are two major payment methods to be used for a transaction: 1. 2. Single Tap Double Tap The Single Tap is the simplest way to fit most of the transactions. The user just taps the phone once at the reader to complete the transaction. All the required payment information is sent to the POS application. The user will experience no difference from the current contactless payment schemes such as PayPass or PayWave. For the Double Tap, the user is requested to tap at the reader twice. The first tap is same as the Single Tap for passing the payment information. The second tap is required for some types of transaction as for them the first tap cannot determine the final amount of the transaction. At the moment, Bezel5 only supports the Single Tap mode. It is expected to add the Double Tap support in the future. ISIS Wallet Transaction Style Operation Support Function Single Tap Support Double Tap Not support Remark Will support in future version ISIS AID (Application Identifier) The ISIS AID is hardcoded in the reader firmware and is listed as below: Application Name Application Identifier Sizzle AID A00000048510010101 UIC Bezel5 Programmer’s Manual Page.157/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 8.1. Track Output Concept Bezel5 is designed to eliminate the burdens of the communication between the reader and the host application. When the user taps the phone, the reader gathers all the data within the track format and output to the host just in one time. It does not require the application to send any command to get the card data. For the tracks data arrangement, Track 1, Track 2 and Track 3 contain the regular payment information, while Track 4 contains the ISIS wallet data of loyalty data or coupons. This arrangement of sending all card data out not only can save the communication time, but also make it easy for the Bezel5 to work with the host applications like the Web POS applications which can only accept keyboard interface input. This data output arrangement for the ISIS wallet data in the Bezel5 is consistent to the other wallet applications and the contactless payment schemes being implemented in the same platform. It creates a uniform programming experience for the POS applications in dealing with different contactless payment solutions. However, the working behavior of the Bezel5 is a little bit different from the scenario described in the ISIS wallet specification. It requires the reader to output the data in two separate times. The Bezel5 should be able to meet the ISIS wallet specification because it is up to the POS application to process the track data. The POS application can parse the Tag data to obtain the necessary information to calculate the total amount, and then parse the Track 1/2/3 to get the payment information to complete the transaction. Track 1~3 and Tag FFFF820E Information Track # Description SS/ES Data PayPass/payWave/Amex/Discover ZIP/Google Wallet Payment %/? Emulate magnetic stripe track 1: PAN, Card holder name, Expiration Date, Track 1 Discretionary Data. PayPass/payWave/Amex/Discover ZIP /Google Wallet Payment ;/? Emulate magnetic stripe track 2: PAN, Expiration Date, and Track 2 Discretionary Data. PayPass/payWave +/? UIC proprietary data output for extra contactless payment information. Tag FFFF820E Description SS/ES ISIS Wallet application #/? Data UIC proprietary data output for ISIS Wallet. Table 8-1 Track/Tag information of Google Wallet Transaction Format UIC Bezel5 Programmer’s Manual Page.158/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 8.2. Configuration Option There are some configuration settings to be done before the unit is deployed to the field Mode Description Wallet application deactivated ISIS wallet is deactivated Mifare First (default) Google application (and Mifare functionality) is activated and Mifare is read first ISIS Wallet ISIS wallet is activated*. The operation PPSE or Sizzle AID is determined by TERMINAL_STARTUP_MODE. And the host can choose for ‘ISIS only’, or ‘ISIS with the payment in MERCHANT_CAPABILITIES’. * ISIS requests two different ways to start the application – manual or automatic (default). 8.3. Tag FFFF820E Output Format The wallet data is output in Tag FFFF820E packed in a series of application data units according to the following format: The data of all records are expressed in ASCII-HEX values. For Example, the character ‘B’ is expressed as ‘42’. If the data is in ASCII, it is embraced by […]. The Tag FFFF820E must be present if the tap is from the phone. It can either be the normal track or the empty track in cases of no application or read back with error. The data begins with the start sentinel “#” and ends with the end sentinel “?”. * Tag FFFF820E is always in clear text ISIS Wallet data is output in Tag FFFF820E according to the following format: Byte 0 Byte 1~4 Byte 5~6 Byte 7~8 Byte 9~10 Byte 11 Byte 12+n Byte 13+n [#], Start sentinel Total length of track Num of Tags Num of Loyalty Num of Offer Tag1 ... Byte n Byte n+1 Tagn [?], End sentinel Table 8-2. ISIS Wallet Tag Data Output Format UIC Bezel5 Programmer’s Manual Page.159/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Empty Tag Format Byte 0 Byte 1~4 Byte 5 [#], Start sentinel 0000 [?], End sentinel The empty track has two different meanings 1. It may indicate the user taps the ISIS wallet phone for the payment but there is no ISIS wallet data. Usually, it comes after track 1 & 2 payment card data. 2. It may indicate the POST TRANSACTION command is sent to the ISIS wallet phone successfully. Error Tag Format Byte 0 Byte 1~4 Byte 5~8 Byte 9 [#], Start sentinel Fxxx (Error code) Status code, Optional (only available for some error codes) [?], End sentinel The error track data is starting with FXXXX to indicate ISIS wallet error reading. Or the error returned from POST TRANSACTION command. Error code List Error Code Status Code Description F101 XXXX* F102 N/A Get SmarTap Data Error - buffer overflow F103 N/A Get SmarTap Data Error - Command Timeout F104 N/A Get SmarTap Data Error - the length of Card Response is wrong F111 XXXX* F112 N/A Post Transaction Data Error - buffer overflow F113 N/A Post Transaction Data Error - Command Timeout Get SmarTap Data Error Post Transaction Data Error F114 N/A Post Transaction Data Error - the length of Card Response is wrong * XXXX is from the ISIS wallet to be the status code other than 9000 (success) such as 6909 (ISIS wallet internal error). The programmer must refer to ISIS technical document for further information. Tag FFFF820E Data Object Format Data/Tag Data Object Format (Bytes) Output in ASCII (Bytes) Description Start Sentinel 1 byte 0000 Total length of track 2 bytes UIC Bezel5 Programmer’s Manual Page.160/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Data/Tag Data Object Format (Bytes) Output in ASCII (Bytes) Description Xx Num of tags 01 to 99 xx Num of Loyalty If num = 00, DF41/ DF43 doesn’t present in track 4, If it exists, the number is LoyaltyID#x Xx Num of Offer If num = 00, DF51/ DF53/ DF55 doesn’t present in track 4 If it exists, the number is Offer_Type_Code#x Field separator DF21 Customer ID Field separator DF41 LoyaltyID #1 Field separator DF43 Loyalty Account #1 Field separator … … … DF41 LoyaltyID #x var bytes, if missed, it doesn’t present. Field separator DF43 Loyalty Account #x Field separator DF51 Offer_ID#1 Field separator DF53 Offer_Type_Code#1 Field separator DF55 Offer signature#1 var bytes, if missed, it doesn’t present. DF51 Offer_ID#x var bytes, if missed, it doesn’t present. Field separator DF53 Offer_Type_Code#x Field separator DF55 Offer signature#x var bytes, if missed, it doesn’t present. End Sentinel 1 byte var bytes, if missed, it is empty field var bytes, if missed, it is empty field var bytes, if missed, it doesn’t present. var bytes, if missed, it doesn’t present. … var bytes, if missed, it doesn’t present. Table 8-3. ISIS Wallet Data Transmission Tag Format UIC Bezel5 Programmer’s Manual Page.161/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 8.4. ISIS Commands Bezel5 supports the BLP command format and is mainly to update the EEPROM setting. In general, the factory or the system integrator uses the BLP protocol to configure the reader before deploying it to the field site. It can always be set back to a known state by the BLP protocol if the user doesn’t know the current setting of the reader. 8.4.1. Configuration Command Protocol The BLP protocol is used to store the configuration settings to the nonvolatile memory. The host can use the configuration commands to configure the bezel purposely to access the EMV card by the BLP protocol. BLP Protocol – RS232 Interface Byte 0 Byte 1~2 Byte 3+n Byte 4+n 09h Command Len Command/Data BCC BLP Protocol - USB Interface (adding the header C2h and Len) Byte 0 Byte 1~2 Byte 3 Byte 4~5 Byte 6+n Byte 7+n C2h Len 09h Command Len Command/Data BCC * BCC is the LRC calculated the first byte to the last byte before BCC. * Address field is not using, please use 00h * If Command LEN is 00h, the bezel assumes the length of Command/Data field to be 3. 8.4.2. Activate/or deactivate wallet application Command Data Format/Example Description ISE 09 00 03 49 53 45 55 enable ISIS wallet ISD 09 00 03 49 53 44 54 disable ISIS wallet 8.4.3. Merchant ID The Merchant ID is a value assigned by ISIS that can be loaded into the NFC reader. UIC Bezel5 Programmer’s Manual Page.162/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Load Merchant ID Command Data Format/Example ISM 09 00 0C 49 53 4D 08 11 22 33 44 55 66 77 01 5B Description Set Merchant ID, Ex: set 11 22 33 44 55 66 77 01 Get Merchant ID Command Data Format/Example Description ISm 09 00 03 49 53 6D 7D Get Merchant ID (Response) < Merchant ID, var bytes> 08 11 22 33 44 55 66 77 01 Returned Merchant ID, Ex: get 11 22 33 44 55 66 77 01 8.4.4. Merchant Store ID The Merchant store ID is a value assigned by ISIS that can be loaded to the NFC reader. Load Merchant Store ID Command ISS Data Format/Example Description 09 00 0C 49 53 53 08 11 22 33 44 55 66 77 88 CC Set Merchant Store ID, Ex: set 11 22 33 44 55 66 77 88 Data Format/Example Description Get Merchant Store ID Command ISs 09 00 03 49 53 73 63 Get Merchant Store ID (Response) < Merchant Store ID, var bytes> 08 11 22 33 44 55 66 77 88 Returned Merchant ID, Ex: get 11 22 33 44 55 66 77 88 8.4.5. Load Loyalty ID The Loyalty Identifier number is a number assigned by ISIS that can be loaded to the NFC reader. It reserves a maximum of 50 records of the loyalty ID (total bytes should not exceed 256 bytes). UIC Bezel5 Programmer’s Manual Page.163/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Load Loyalty ID Command Data Format/Example ISL< Loyalty ID, var bytes> 09 00 0C 49 53 4C 08 11 22 33 44 55 66 77 01 5A Description Add Loyalty ID, Ex: set 11 22 33 44 55 66 77 01 Get Loyalty ID Command Data Format/Example Description ISl 09 00 03 49 53 6C 7C Get Loyalty ID (Response) < Loyalty ID, var bytes> 08 11 22 33 44 55 66 77 01 Returned Loyalty ID, Ex: get 11 22 33 44 55 66 77 01 Erase Loyalty ID Command Data Format/Example ISRL 09 00 04 49 53 52 4C 09 Description Erase the last one in Loyalty ID list Important: MEI 4-in-1 Plus accepts multiple Loyalty IDs. However, the new added Loyalty ID appended at the end of the list. The erase command will erase the last Loyalty ID from the list. 8.4.6. Load OFFER_TYPE_CODES The Offer Type Codes are values assigned by ISIS that can be loaded to the NFC reader. It reserves a maximum of 50 records of the offer (total bytes should not exceed 256 bytes). Load OFFER_TYPE_CODES Command Data Format/Example ISO< OFFER_TYPE_CODES, var bytes > 09 00 0D 49 53 4F 09 01 11 22 33 44 55 66 77 01 58 Description Add OFFER_TYPE_CODES, Ex: set 11 22 33 44 55 66 77 01 Get OFFER_TYPE_CODES Command Data Format/Example Description ISo 09 00 03 49 53 6F 7F Get OFFER_TYPE_CODES (Response) < OFFER_TYPE_CODES , car bytes> 09 01 11 22 33 44 55 66 77 01 Returned OFFER_TYPE_CODES, Ex: get 01 11 22 33 44 55 66 77 01 UIC Bezel5 Programmer’s Manual Page.164/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved Erase OFFER_TYPE_CODES Command Data Format/Example ISRO 09 00 04 49 53 52 4F 0A Description Erase the last one in OFFER_TYPE_CODES list Important: MEI 4-in-1 Plus accepts multiple OFFER_TYPE_CODES. However, the new added OFFER_TYPE_CODES appended at the end of the list. The erase command will erase the last OFFER_TYPE_CODES from the list. 8.4.7. Load MERCHANT_CAPABILITIES To accept ISIS wallet only or not. Command Data Format/Example IS1< MERCHANT_CAPABILITIES, 2 bytes > 09 00 05 49 53 31 F8 00 DF Description Set Merchant Capabilities, Ex: set F8 00 The Merchant Capabilities value represents the different SmarTap features supported by the merchant. Byte Bit Value NFC Reader function MSB 1=Merchant Loyalty Support 0=No If Bit 8 is on, the reader will send the required Merchant ID and optionally a Loyalty ID for the merchant. 1=Secondary Loyalty 0=No Bit 8 must be on. Additional Loyalty IDs will be included in the Get SmarTap Data request. 1=Offers Support 0=No Offer Type fields will be included in the Get SmarTap Data request. 1=Post Transaction Data support The NFC reader will receive redemption data from the ECR and forward it to the handset. 1=Contactless Payment support 0=No Bit set to 0 will have the reader to accept the SmarTap -only operation but not other contactless payments 3-1 Reserved for Future Use 8-1 Reserved for Future Use Note: BYTE 1 BIT 5 isn’t changeable. It is always 1. UIC Bezel5 Programmer’s Manual Page.165/166 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved 8.4.8. Load TERMINAL_STARTUP_MODE The Terminal Start mode will determine in the reader the mechanism to be used to start the SmarTap application on the NFC reader. Command Data Format/Example IS2< TERMINAL_STARTUP_MODE, 2 bytes > Byte Bit MSB 09 00 05 49 53 32 90 00 B4 Value Description Set TERMINAL_STARTUP_MODE, Ex: set 90 00 NFC Reader function 1=Auto Start 0=No At the start of the check the reader will quest for the SmarTap AID at the first TAP 1=Manual Start 0=No The reader will only select a SmarTap AID after some user intervention. Payment and Post Transaction Data will occur on TAP 2 1=Payment with Post Transaction Data 0=No Payment First Payment PPSE will precede in the Auto or Manual start modes 4-1 Reserved for Future Use 8-1 Reserved for Future Use Note: Bits 7 and 8 are exclusive and only one bit can be turned on at a time. Note: Bit 6 is fixed and can’t be changed. Note: Power cycling is needed after change the start mode. 8.4.9. Set SmarTap Application Version Command Data Format/Example IS2< SmarTap Application Version, 2 bytes > UIC Bezel5 Programmer’s Manual 09 00 05 49 53 30 01 01 26 Page.166/166 Description Set SmarTap Application Version, Ex: set 01 01 UDN PM098 Rev. 1.0 Copyright © 2013, Uniform Industrial Corp. All Rights Reserved

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 166
Page Layout                     : OneColumn
Page Mode                       : UseNone
Producer                        : doPDF Ver 7.2 Build 376 (Windows XP Professional Edition  (SP 3) - Version: 5.1.2600 (x86))
Create Date                     : 2014:05:07 12:07:03+08:00
EXIF Metadata provided by EXIF.tools
FCC ID Filing: TFJBEZEL5

Navigation menu