Uniform PP791 PIN Pad 791 User Manual

Uniform Industrial Corp. PIN Pad 791

User Manual

3,13DG3URJUDPPHU¶V0DQXDO3HUVRQDO,'1XPEHU3DG:LWK(09/HYHO7UDQVDFWLRQ&DSDELOLWLHV3&,326$6SHFLILFDWLRQ3085HYLVLRQ
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Notice, Agency Approved, and Warranty  2015-04-20                       Page 2 Uniform Industrial Corp.    Proprietary and Confidential                Total  342  pages NOTICE The issuer of this manual has made every effort to provide accurate information. The issuer will not be held liable  for  any  technical  and  editorial  omission  or  errors  made  herein;  nor  for  incidental  consequential damages  resulting  from  the  furnishing,  performance  or  use  of  this  material.  This  document  contains proprietary information that is protected by copyright. All rights are reserved. No part of this document may be photocopied,  reproduced,  or  translated  without  the  prior  written  consent  of  the  issuer.  The  information provided in this manual is subject to change without notice.  第十二條 經型式認證合格之低功率射頻電機,非經許可,公司、商號或使用者均不得擅自變更頻率、 大功率或變更原設計之特性及功能。  第十四條 低功率射頻電機之使用不得影響飛航安全及干擾合法通信;經發現有干擾現象時,應立即停用,並改善至無干擾時方得繼續使用。  前項合法通信,指依電信法規定作業之無線電通信。低功率射頻電機須忍受合法通信或工業、科學及醫療用電波輻射性電機設備之干擾。  AGENCY APPROVED -  FCC class B -  CE class B  WARRANTY This  product  is  served  under  one-year  warranty  to  the  original  purchaser.  Within  the  warranty  period, merchandise found to be defective would be repaired or replaced. This warranty applies to the products only under the normal use of the original purchaser, and in no circumstances covers incidental or consequential damages through consumers’ misuse or modification of the products.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Notice, Agency Approved, and Warranty  2015-04-20                       Page 3 Uniform Industrial Corp.    Proprietary and Confidential                Total  342  pages Document History Document Version Apply to FW version Change 01  PP791:  10A.01 SysMgr:  10A.01 First Release 02  PP791:  10A.03 SysMgr:  10A.03   Modify the description of I17 command.     Remove  “All”  type  of  saver  screen  setting  in  BB command.   Add a error code in 71 command.   Add a error code in 91 command. 03  PP791:  10A.05 SysMgr:  10A.04   Add a error code in 02 command.     Add a error code in 91 command. 04  PP791:  10A.06 SysMgr:  10A.05   Add message JA for set boot logo.   EMV  Level  2  transaction  messages  for  PCD implementation done.   05  PP791:  10A.06 SysMgr:  10A.05   Add  Contactless  EMV  transaction  description in  EMV Level 2 transaction messages.   Message T19, T23 update message flow.   Add PCD MiFare Message.   Split  EMV  transaction  chapter  into  two,  Contact  and Contactless EMV transaction.   Remove I10 command.  Add a new description of WIFI/BT setting menu. 06  PP791:  10A.09 SysMgr:  10A.08   Add NCC Compliance and Advisory Statement.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 1 – Introduction  2015-04-20   Page4 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Table of Contents Section 1    Introduction _________________________________________________ 11 PIN Pad components _______________________________________________________________ 11 Display ________________________________________________________________ 12 Keypad ________________________________________________________________ 12 Communication Interface __________________________________________________ 12 Magnetic and Smart Card reader  ____________________________________________ 12 Smart card and Security Access Module (SAM) interfaces ________________________ 13 Tamper Evidence and Tamper Responsive  ____________________________________________ 13 Section 2    System Manager _____________________________________________ 14 Introduction  14 Security management ______________________________________________________________ 14 Main menu of system manager ______________________________________________________ 15 Prepare downloading  ______________________________________________________________ 15 “Download” menu _________________________________________________________________ 16 “Date & Time” menu _______________________________________________________________ 17 “Setting” menu 17 “System Info” menu  _______________________________________________________________ 18 “Self Test” menu __________________________________________________________________ 18 “Change Password” menu __________________________________________________________ 19 Section 3    PP791 Setup & Diagnostic Menu ________________________________ 20 Call up Diagnostic Menu ____________________________________________________________ 20 Diagnostic Menu 1: HW Tests  _______________________________________________________ 20 Diagnostic Menu 2: Display Info _____________________________________________________ 21 Diagnostic Menu 3: Setup COM Port __________________________________________________ 21 Diagnostic Menu 4: Set LCD Backlight ________________________________________________ 22 Diagnostic Menu 5: Logo Setup ______________________________________________________ 23 Diagnostic Menu 6: Setup Password  _________________________________________________ 23 Diagnostic Menu 7: Set Keypad Beep _________________________________________________ 23 About USB virtual COM port (only applied on USB version) ______________________________ 24 Call up Interface Setting Menu _______________________________________________________ 24 Interface Setting Menu 1: COMM. Interface Switch ______________________________________ 24 Interface Setting Menu 2: WIFI Setting ________________________________________________ 24 Interface Setting 3: Bluetooth Setting _________________________________________________ 25 Interface Setting Menu 4: Status _____________________________________________________ 25 Section 4    Message format ______________________________________________ 26 Notation Conventions ______________________________________________________________ 26 Control Codes ___________________________________________________________ 26 Message frame summary ___________________________________________________________ 27
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 1 – Introduction  2015-04-20   Page5 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message type  ___________________________________________________________ 27 Time-out _______________________________________________________________ 27 Transmission Error _______________________________________________________ 27 Packet Error  ____________________________________________________________ 27 Section 5    Administration and maintenance messages _______________________ 28 Message 02 Load Master Key   ____________________________________________________ 28 Symmetric Keys Loading Authentication ______________________________________________ 32 Message 04 Check Master Key ____________________________________________________ 34 Message 05 Load Serial Number __________________________________________________ 36 Message 06 Get Serial Number  ___________________________________________________ 37 Message 07 Test DES Implementation ______________________________________________ 38 Message 08 Select Master Key ____________________________________________________ 39 Message 09 Communication Test  _________________________________________________ 40 Message 11 PIN Pad Device Connection Test  _______________________________________ 42 Message 12 Select Prompt Language ______________________________________________ 43 Message 13 Adjust COM1 Baud Rate (RS-232 version only)  ___________________________ 45 Message 14 Enable/Disable Timer Display __________________________________________ 47 Message 15 Adjust LCD Backlight Level ____________________________________________ 49 Message 16 Remote self-test request ______________________________________________ 50 Message 17 Request random number ______________________________________________ 51 Message 18 Set PIN pad system time  ______________________________________________ 52 Message 19 Query Firmware Version  ______________________________________________ 56 Message 1C   Query Hardware Capability ___________________________________________ 58 Message 1F Query Usable Prompt Table ____________________________________________ 59 Message 1J Turn ON/OFF LCD Backlight ___________________________________________ 61 Message 1K Turn ON/OFF LCD Power-save mode ____________________________________ 63 Message 1M Setup Keypad Beeper _________________________________________________ 65 Section 6 Contact EMV Level 2 transaction messages ________________________ 67 Message T01   Terminal Configuration Setup _________________________________________ 69 Message T02   Terminal Configuration Setup Response ________________________________ 72 Message T03   Certification Authority Public Key Setup ________________________________ 73 Message T04   Certification Authority Public Key Setup Response _______________________ 75 Message T05   EMV Application Configuration Setup __________________________________ 76 Message T06   EMV Application Configuration Setup Response _________________________ 80 Message T07   Data Format Table Setup _____________________________________________ 81 Message T08   Data Format Table Setup Response ____________________________________ 83 Message T09   EMV Config Data Query Message ______________________________________ 84 Message T0A Response of EMV Config Data Query Message _____________________________ 85 Message T0B Delete EMV Configuration Data Message.  _________________________________ 86 Message T0C Response of Delete EMV Configuration Data Message. ______________________ 87
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 1 – Introduction  2015-04-20   Page6 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message T11   Application Select ___________________________________________________ 88 Message T12   Application Select Response  _________________________________________ 89 Message T13   Application Select Next ______________________________________________ 90 Message T15   Start Transaction ____________________________________________________ 91 Message T16   Start Transaction Response  __________________________________________ 93 Message T17   Send Online Authorized Code _________________________________________ 95 Message T19   Send Issuer Script Command _________________________________________ 97 Message T1D Transaction Data loading _______________________________________________ 99 Message T1E    Transaction Data loading Response ____________________________________ 101 Message T20   Send Issuer Script Command Response _______________________________ 102 Message T21   Get Transaction Result’s Data ________________________________________ 103 Message T22   Get Transaction Result’s Data Response _______________________________ 104 Message T23   Erase EMV Transaction Log. _________________________________________ 105 Message T1C Terminal Cancel Transaction ___________________________________________ 106 Message T25   Get Batch Data  ____________________________________________________ 107 Message T26   Response of Get Batch Data message _________________________________ 109 Message T27   Get Online authorization Data ________________________________________ 110 Message T28   Response of Get Online authorization Data message ____________________ 111 Message T29   Get Reversal Data __________________________________________________ 112 Message T2A Response of Get Reversal Data message _________________________________ 113 Overall Contact EMV Level 2 transaction flow reference ________________________________ 114 Ref. 1  Packet command flow for transaction with offline ____________________  114 Ref. 2  Packet command flow for transaction with online _____________________  114 Ref. 3    Packet command flow for transaction with MSR. _____________________  115 Ref. 4  Packet command flow for transaction with online and Issuer Script command Processing 116 Ref. 5  Packet command flow for first EMV application is blocked _____________  116 Section 7    Contactless EMV Level 2 transaction messages __________________ 118 Message T51 PCD Terminal Configuration Setup _____________________________________ 120 Message T52 PCD Terminal Configuration Setup Response _____________________________ 123 Message T53 PCD Certification Authority Public Key Setup _____________________________ 124 Message T54 PCD Certification Authority Public Key Setup Response ____________________ 126 Message T55 PCD Application Configuration Setup ____________________________________ 127 Message T56 PCD Application Configuration Setup Response ___________________________ 131 Message T59 PCD Config Data Query Message________________________________________ 132 Message T5A Response of PCD Config Data Query Message ____________________________ 133 Message T5B Delete PCD Configuration Data Message.  ________________________________ 134 Message T5C Response of Delete PCD Configuration Data Message. _____________________ 135 Message T5D PCD House Keeping Message.  _________________________________________ 136 Message T5E Response of PCD House Keeping Message. ______________________________ 137
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 1 – Introduction  2015-04-20   Page7 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message T61 Start Transaction _____________________________________________________ 138 Message T62 Start Transaction Response ____________________________________________ 140 Message T63 Get Transaction Result’s Data  __________________________________________ 141 Message T64 Get Transaction Result’s Data Response _________________________________ 142 Message T65 Get Online authorization Data  __________________________________________ 143 Message T66 Response of Get Online authorization Data message _______________________ 144 Message T6C Cancel PCD Transaction _______________________________________________ 145 Message T71 Send PCD Online Authorized Code ______________________________________ 146 Message T73   Send Issuer Script Command ________________________________________ 148 Message T75 Revocation List Setup _________________________________________________ 149 Message T76 Revocation List Setup Response ________________________________________ 150 Message T77 Exception List Setup __________________________________________________ 151 Message T78 Exception List Setup Response _________________________________________ 152 Overall Contactless EMV Level 2 transaction flow reference _____________________________ 153 Ref. 1  Packet command flow for transaction with offline approval _____________ 153 Ref. 2  Packet command flow for transaction with online approval _____________ 154 Section 8    MIFARE card messages ______________________________________ 155 Message P01   Enable/Disable MIFARE _____________________________________________ 156 Message P02   Query MIFARE Presence ____________________________________________ 158 Message P03   MIFARE Anti-collision  _______________________________________________ 160 Message P04   MIFARE Selection __________________________________________________ 162 Message P05   MIFARE Classic/Ultralight Card Activation  _____________________________ 164 Message P06   MIFARE Classic/Ultralight Card HALT  _________________________________ 166 Message P07   MIFARE Classic Card Authentication ___________________________________ 168 Message P08   MIFARE Ultralight Card Read Page ____________________________________ 170 Message P09    MIFARE Ultralight Card Write Page _____________________________________ 172 Message P10   MIFARE Classic/Ultralight Card Read Block ____________________________ 174 Message P11    MIFARE Classic/Ultralight Card Write Block  _____________________________ 176 Message P12   MIFARE Classic/Ultralight Card Read Sector  ____________________________ 178 Message P13   MIFARE Classic/Ultralight Card Write Sector  ___________________________ 180 Message P14    MIFARE Classic Card Value Operation __________________________________ 182 Message P15   Load MIFARE key __________________________________________________ 184 Message P16   Identify MIFARE Card Type ___________________________________________ 186 Message P17   MIFARE DESfire Card Activation ______________________________________ 188 Message P18   MIFARE DESfire Card Deselect ________________________________________ 190 Message P19   I/O to MIFARE card with APDU format _________________________________ 192 Message P20    I/O to MIFARE card for block data exchange _____________________________ 194 Overall MIFARE operation flow reference _____________________________________________ 196 Ref. 1  Activate and authenticate for MIFARE classic card. ___________________ 196 Ref. 2  The quick method for activating classic card. ________________________ 197
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 1 – Introduction  2015-04-20   Page8 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Ref. 3  Activate and authenticate for MIFARE Ultralight card.  ________________ 198 Ref. 4  The quick method for activating Ultralight card. ______________________ 199 Ref. 5  Activating for DESFire card  _____________________________________ 200 Section 9    Online transaction messages with Master/Session Keys (MK/SK) ____ 201 Message 70 PIN entry request (MK/SK) ____________________________________________ 201 Message 71 Encrypted PIN Block Response  _______________________________________ 204 Message 72 PIN Entry Cancel ____________________________________________________ 206 Message Z0 Move Display Cursor ________________________________________________ 207 Message Z1 Reset State  ________________________________________________________ 208 Message Z2 Display String ______________________________________________________ 209 Message Z3 Display Line Prompts ________________________________________________ 212 Z2 / Z3 Authenticated mode with fixed prompt  ________________________________________ 215 Z2 / Z3 PIN entry mode with fixed prompt_____________________________________________ 215 Message Z2 Display String with Authentication Code ________________________________ 216 Message Z3 Display Line Prompts with Authentication Code  _________________________ 218 Example to use Z2 / Z3 with Authencation Code.  ______________________________________ 220 Message Z42   Read Key Code ____________________________________________________ 221 Message Z43   Read Key Code Response ___________________________________________ 222 Message Z50   String Entry Request  _______________________________________________ 223 Message Z51   String Entry Response ______________________________________________ 225 Message Z60   PIN entry request with external prompt (MK/SK)  ________________________ 226 Message Z62   PIN entry request with customized prompt (MK/SK)  _____________________ 228 Message Z66   Message Authentication Code (MAC) Request __________________________ 231 Message Z67   Message Authentication Code (MAC) Response_________________________ 234 Message Z7 Turn ON/OFF CANCEL Message Display ________________________________ 236 Message Z8 Set Idle Prompt _____________________________________________________ 237 Section 10    Online transaction messages with Derived Unique Key per Transaction (DUKPT) _____________________________________________________________ 238 Message 60 Pre-authorization PIN Entry Request ___________________________________ 239 Message 62 Pre-authorization Amount Authorization Request  ________________________ 241 Message 63 Pre-authorization Amount Authorization Response _______________________ 242 Message 70 PIN Entry Request (DUKPT)  __________________________________________ 243 Message 71 Encrypted PIN Block Response  _______________________________________ 245 Message 72 PIN Entry Cancel ____________________________________________________ 246 Message Z60   PIN entry request with external prompt (DUKPT) ________________________ 247 Message Z62   PIN entry request with customized prompt (DUKPT) _____________________ 249 Message 76 PIN Entry Test Request  ______________________________________________ 252 Message 7A KSN output format _____________________________________________________ 253 Message 90 Load First Initial Key Request _________________________________________ 254 Message 91 Load Initial Key Response ____________________________________________ 256
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 1 – Introduction  2015-04-20   Page9 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message 94 Load Second Initial Key Request ______________________________________ 257 Message 96 Select Active Key Set ________________________________________________ 259 Section 11    ICC / SAM / Magnetic stripe card manipulating messages  _________ 260 Message I00 Query Primary Smart Card Presence ___________________________________ 261 Message I01 Primary Smart Card Cold Reset  _______________________________________ 262 Message I02 Primary Smart Card ATR Response ____________________________________ 263 Message I04 Primary Smart Card Deactivate ________________________________________ 264 Message I06 Primary Smart Card C-APDU __________________________________________ 265 Message I07 Primary Smart Card R-APDU __________________________________________ 266 Message I08 Smart Card Offline PIN Verification (EMV) _______________________________ 267 Message I09 Response of Smart Card Offline PIN Verification (EMV)  ___________________ 269 Message I0F   Error Codes _______________________________________________________ 270 Message I11 SAM slot Cold Reset_________________________________________________ 271 Message I12 SAM slot ATR Response  _____________________________________________ 272 Message I14 SAM slot Card Deactivate ____________________________________________ 273 Message I15 SAM Select Interface  ________________________________________________ 274 Message I16 SAM slot C-APDU ___________________________________________________ 275 Message I17 SAM slot R-APDU ___________________________________________________ 276 Message Q1   Display SWIPE CARD message_______________________________________ 277 Message Q2 Transaction Completed ______________________________________________ 278 Message Q3 Ignore Card Swipe  __________________________________________________ 279 Message Q4   Enable/Disable Magnetic Card Reader _________________________________ 280 Message Q5 Set MSR Retry Count ________________________________________________ 281 Message Q6   MSR Operation Control  _____________________________________________ 282 Message Q7 MSR Mode Query  ___________________________________________________ 283 Message Q8 Display TAP CARD message __________________________________________ 284 Message Q9 Display SWIPE / TAP CARD message  __________________________________ 285 Message QA   Enable/Disable Contactless Card Reader  ______________________________ 286 Message QB   MSR Device (Not) Always Detection ___________________________________ 287 Message QC   Contactless module (Not) Always Detection ____________________________ 288 Message QD   Contactless Card Data with/without Start/End sentinels __________________ 289 Message 81 MSR Card Data _____________________________________________________ 290 Message 83 Contact-less Card Data  ______________________________________________ 292 Section 12    Display functionality messages _______________________________ 293 Message B1 Font Size Selection __________________________________________________ 294 Message B3 Font Color (Foreground / Backgroud) Selection __________________________ 295 Message BB Screen Saver Setting ________________________________________________ 296 Message BD Enable / Disable Screen Saver  ________________________________________ 298 Message BF Screen Saver Preview / Stop Preview___________________________________ 299 Section 13    JPEG File Operation messages _______________________________ 300
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 1 – Introduction  2015-04-20   Page10 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message J0 JPEG File Table Initialization __________________________________________ 301 Message J1 Query JPEG File Table _______________________________________________ 302 Message J2 Select JPEG File ____________________________________________________ 304 Message J3 Delete JPEG File ____________________________________________________ 306 Message J4 Download JPEG File _________________________________________________ 308 Message J5 Upload JPEG File ___________________________________________________ 310 Message J6 Play JPEG File______________________________________________________ 312 Message J7 Set JPEG File As Idle Prompt  _________________________________________ 313 Message J8 Enable/Disable Idle Logo Functionality _________________________________ 314 Message J9 Show JPEG File  ____________________________________________________ 315 Message JA Set Boot Logo  ________________________________________________________ 317 Appendix A    Key management __________________________________________ 319 Appendix B    PIN Block Format__________________________________________ 327 ANSI x9.8 format (MK/SK, DUKPT, and Offline clear text PIN entry) _______________________ 327 EMV Level 2 format (Offline enciphered PIN entry) _____________________________________ 328 Appendix C    Features and specification __________________________________ 329 Appendix D    Tag Definition on EMV data  _________________________________ 330 Appendix E    Minimum Set of EMV Configuration Data  ______________________ 333 Appendix F    PCD Tag Definition on EMV data _____________________________ 334 Appendix G    PCD Minimum Set of EMV Configuration Data __________________ 337 Appendix H    Fixed Prompts for Z2/Z3 authenticated mode ___________________ 339 Appendix I    Fixed Prompts for Z2/Z3 PIN entry mode _______________________ 341
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 1 – Introduction  2015-04-20   Page11 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Section 1    Introduction PIN Pad 791 (PP791) provides a secure and friendly way of obtaining customer Personal Identification Numbers (PIN), dealing with smart card offline transaction specified in EMV Level 2 book 3 and book4. PP791 can deal PIN entry and transaction in following ways: 1.  As a PIN Entry Device (PED): PP791 can encrypt ANSI X9.8 standard PIN block by DES and TDES algorithm,  using  master/session  key  or  DUKPT  as  key  management  scheme.  In  addition,  it  can encrypt EMV Level 2 specified PIN block by DES or RSA algorithm. 2.  As  an  EMV  Lv2  mini  terminal:  PP791  can  handle  most  of  the  EMV  Level  2  transaction  flow, especially card holder verification (CHV) process, and send transaction result to its host machine. With  properly  development  tool,  system  integrators  can  develop  their  customized  application  for PP791,  use  its  internal  function  calls  to  build  their  own  transaction  flow.  PP791  will  secure  the sensitive  data  by  restricting  the  memory  space  that  can  be  accessed  by  customized  application program.  PIN Pad components This PIN Pad is composed of the following components:  (1). LCD display with 320 * 240 resolution.   (2). Magnetic stripe reader swiping slot. (3). 13 key telephone-style keypad and 3 function keys. (4). Smart card reader inserting slot. (5). Primary communication interface (RS232 or USB), with protection cover (6). Ethernet LAN Port   (1) (2) (3) (4)  (5) (6)  (7)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 1 – Introduction  2015-04-20   Page12 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  (7). Three secure access module (SAM) slots, with protection cover.  Display The 320*240 pixels TFT LCD is capable of displaying characters and graphic. For displaying characters,   It  provides  ASCII  8*8 character  set for range  0x20~0x7E,  8*16, 16*16, 16*24 character  set for range 0x20~0xFF.    Keypad The PIN Pad uses its 16 keys to accept commands. For each key pressed, there will be a short beep to confirm that key is accepted. The following diagram shows layout of the keys.  1  2  3 4  5  6 7  8  9 CAN 0 ENTER CLR  [CAN] (Cancel) button will abort PIN entering transactions or magnetic card swiping actions, and cause PP791 back to idle state. [CLR] (Clear) button will reset PIN input when doing PIN entry transactions. [F1]  The  F1  button  is  treated  as  “move  up”  when  dealing  with function menu  (such  as  diagnostic mode or EMV Lv2 transaction menu). With customized application, system integrators can define its usage by themselves. [F2]  The  F2  button  is  treated  as  “go  back”  when  dealing  with  function  menu.  With  customized application, system integrators can define its usage by themselves. [F3]  The  F3  button is  treated  as  “move  down”  when  dealing  with function  menu.  With  customized application, system integrators can define its usage by themselves.  Communication Interface PP791 has two communication interfaces: 1.  A  detachable  9-pin  Mini-DIN  interface  which  can  be  used  to connect  proprietary  RS232/USB  auto selecting cable for power feeding and data exchange with host device.   2. A RJ-45 Ethernet jack for TCP/IP communication.  Magnetic and Smart Card reader The smart card reader of PP791 can accept EMV Level 2 compatible smart cards for offline transaction, F1  F2  F3
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 1 – Introduction  2015-04-20   Page13 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages or exchange APDU packets with EMV Level 1 compatible smart cards via ICC-related commands. It also reads ISO 7811 compatible magnetic cards for legacy online debit / credit card operation.  Smart card and Security Access Module (SAM) interfaces PP791 provides three SAM interfaces (optional) for customer usage. System Integrators can use PP791 internal API or SAM-related commands to switch between different slots and exchange APDU.  Tamper Evidence and Tamper Responsive PP791  is  compatible  with “Payment Card Industry (PCI)  POS PIN  entry device security  requirement” version 3.0. Per this requirement, PP791 will detect tampering attempts by its multiple security design. If tamper is  detected,  security  subsystem  will  cause  the  automatic  and immediate  erasure  of  all  secret information  contained  in it. Such as master  keys,  DUKPT  key,  personalization information  and so  on. Without  security  information  PP791  will  not  work  anymore.  A  user  should  contact  system integrator or vendor representative for RMA when a PP791 was tampered.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 2 –System Manager  2015-04-20   Page14 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 2    System Manager  Introduction The system manager is a resident process launched automatically when PP791 boot up. It will manage the download and execution of other application, do basic settings, and self tests. After system booted up and the startup application is launched, user can press “ENT + 1” (press ENT key and ‘1’ at the same time), then input dual passwords of system manager to enter system manager menu. (The default password will be sent to legal user by secure method). NOTE 1: Enter system manager will terminate the current application. NOTE 2: System manager will exit and re-launch startup application if no input over 60 seconds.  Security management 1.  Personalization and tamper detection Each PP791 is “personalized” (create an AES key randomly for sensitive data protection) before delivery. Every  time PP791 boot  up, system manager  will  check  the  personalization status  and existence of this AES key. If device is tampered, security mechanism will erase the AES key and invalid personalization status, then reboot. After reboot, system manager will see the change and show following message (tamper evidence mode): “System has tampered, you shall release it before you can normally use.” In this situation, user can press “ENT + 1” (press ENT key and ‘1’ at the same time), then input dual passwords of system manager to exit tamper evidence mode. When exiting tamper evidence mode, PP791 will be re-personalized. All keys will be erased.  2.  Certificate management Every application in the PP791 should have digital signature (sha256 hash encrypted by 2048bit RSA  key)  The  system  process  (system  manager  and  PP791  appl.,)  will  be verified  by  a  fixed system certificate resident in system kernel, and user applications will be verified by user-loaded certificates, which is managed by system manager.  The certificate hierarchy of PP791 contains: Vendor certificate: This certificate is created by user (i.e. system integrator or bank), it verifies user applications when downloading application and launching application. Intermediate certificate: This certificate is issued by intermediate CA, it verifies vendor certificate every time when system manager starts. Root  certificate:  This  certificate  is  issued  by  root  CA,  by  default, PP791  have  a  root  certificate resident in system kernel. But users can load their own root certificate along with intermediate and vendor  certificate  in  the  same  trust  chain.  It  verifies  intermediate  certificate  every  time  when system manager starts.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 2 –System Manager  2015-04-20   Page15 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Main menu of system manager  DISPLAY  ACTION Key Injection  Do clear text key load. Download  Do firmware updates. Date & Time  Adjust system date, time, and time zone. Setting  Set up system manager options. System Info  Show firmware version, TCP/IP settings, and certificate names. Self Test  Do basical hardware test. Change Password  Change system manager password.   Prepare downloading User  has  to  use  system manager  to download applications, graphics, or  update  system  components. There are two methods to download: via TCP/IP (need to a FTP server, and correctly setup IP address and FTP config scripts by “Setting” menu).  Prepare FTP server: User  can  establish  a  FTP  server  on  any computer that  already  connected  to  LAN  and  have valid  IP address. The server should have a directory (i.e. ftproot/pub) that contains following directory (case sensitive): 1.  certs:  Contains  certificate  files  with  pre-defined  names:  “appl_vendor.crt”  for  vendor certificate; “appl_inter.crt” for  intermediate certificate;  “custom_root.crt” for  customized root certificate if needed; “certificates.tar.gz” for package download if needed. 2.  graphics: Contains a “graphics.lst” file and picture packages in tar.gz format. 3.  system: Contains system update files provided by UIC.  The list files (graphics.lst) are pure text file, with one name per line: Graph_01 Graph_02 ..... When PP791 reads “Graph_01”, in graphics.lst, it will go to server to find “Graph_01.tar.gz”.  Prepare FTP config script: PP791 can manage multiple FTP settings by selecting config script. Each config script should have the extension name “.cfg”, with following format: host=xxx.xxx.xxx.xxx port=21 user=anonymous IP address of FTP server. FTP port number. FTP login name.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 2 –System Manager  2015-04-20   Page16 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages password=xxxxxx path=/pub FTP login password. Directory name that contains appls, certs, graphics and system. PP791  will  read  an  “ftp_setting_file”  which  contains  one  ftp  config  script  name,  and  use  it  as default FTP setting. The factory default of ftp_setting_file is: ftp_site1.cfg (As a result, system manager will read server IP address, port, username and password from this file).  The FTP setting file and config scripts can by edited by system manager.    “Download” menu  DISPLAY  ACTION Download System  Select download method; Then show system update menu. Download Graphics  Select download method; Then show graphics download menu. Download Certs  Select  download  method;  Then  show  certificates  download menu  “Download System” menu: DISPLAY  ACTION PIN Pad 791  Update PP791 application. System Manager  Update System Manager. Linux Kernel  Update Linux kernel of PP791. Root Filesystem  Update system files of PP791.   Note: these update files will be signed by UIC and verified by built-in UIC system certificate.  “Download Graphics” menu: The graphic package (.tar.gz format) should have a subdirectory: jpeg:     JPEG pictures (Refer to Jxx commands of PP791)   DISPLAY  ACTION Download Graphics  Display  graphic package  names  from  “graphics.lst”  resident in PP791.  Use  [F1]  ~  [F3]  to  navigate,  [ENT]  to  start  download graphic package.   If download success, system manager will copy graphics in the package file to system graphics directory. Download Graphics List Download “graphics.lst” from server.  “Download Certs” menu:
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 2 –System Manager  2015-04-20   Page17 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages DISPLAY  ACTION Download Vendor Cert.  Download “appl_vendor.crt”   Download  Intermediate Cert. Download “appl_inter.crt”   View current cert. CN  View  CN  (common  name)  of  current  intermediate and  vendor certificate. Lock/Unlock Cert. CN  This option , if enabled, will cause system manager to check the CN  (common  name)  field  of  newly  downloaded  certificate;  if new  CN  is  different  than  old  one,  system  manager  will reject this certificate.   “Date & Time” menu  DISPLAY  ACTION Current date/time  Display current time zone,   Current RTC time (UTC). Current Local time. Set time zone  1. Enter the name of local time zone. (3~6 bytes) 2. Input the time offsets from UTC. (use [F1] to add minus sign) 3.  Enter  the  name  of  Daylight  Saving  Time  (DST)  or  press [CAN] to skip the related settings of DST. 4. Input the time offsets of DST from UTC. 5. Enter the start date and time of DST. 6. Enter the date and time to set the end of DST. Set date/time  1. Enter year, month, day, hour (24h format), minute, second. 2. Press [ENT] to set time, or [CAN] to cancel.   “Setting” menu  DISPLAY  ACTION Set DHCP / IP  Bring up sub menu of basic TCP/IP settings [Set DHCP] Enable or disable DHCP client of PP791. This setting will effect after reboot. [Set Local IP] Set fixed IP address of PP791 if DHCP disabled. [Set Gateway IP]
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 2 –System Manager  2015-04-20   Page18 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Set gateway IP address of PP791 if DHCP disabled.  [Set Subnet Mask] Set subnet mask of PP791 if DHCP disabled.  [Set DNS Server] Set DNS server address of PP791 if DHCP disabled. Set Console  Enable or disable linux command console. Set FTP   [Set FTP Server] Set  default  FTP  server  IP  address  and  save  to  detault  FTP config script when user selected “Save all setting”. [Select FTP script] System manager will show a list of FTP config scripts resident in PP791, use [F1] ~ [F3] to navigate, and [ENT] to select one as defaut FTP config script. NOTE: The settings in the script will take effect immediately. Set  Leave  Before  Run Appl If  this  option  enabled,  system  manager  will  leave  interactive menu before run application. Display all setting  Display current value of each “Setting” menu. Save all setting?  Save new settings.   “System Info” menu  DISPLAY  ACTION Kernel  PP791 Linux kernel version. RFS  PP791 root file system version. SysMgr  PP791 system manager version. PP791  PP791 appication version. Serial#  Serial number of this device. MAC  Ethernet MAC address of this device. IP Addr  Current IP address of this device. After 10 seconds passed or user press any key, PP791 will show the certificate information: (The certificate info has 3 pages: for vendor, intermediate, and root certificate). DISPLAY  ACTION Cert. CN  “Common Name” field of certificate Cert. Hash (partial)  Most significant 4 bytes of the SHA-1 hash of this certificate.   “Self Test” menu
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 2 –System Manager  2015-04-20   Page19 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages DISPLAY  ACTION Display Test  Display black screen, then display test string on LCD. Keypad Test  Display keypad input on LCD, press [CAN] to exit. MSR Test  Test  MSR  swipe;  the  PAN  of  payment  track  will  be  partially masked. ICC Test  Test smart card powerup and display its ATR. RFID Test  Test tap  for  RFID credit cards such as visa wave and PayPass; the PAN of payment track will be partially masked. COM1 Test  Select  baud  rate,  then  PP791  will  send  a  test  pattern  thru COM1. User should echo this test pattern. PP791 will show the compare result. TCP Test  Enter any IP address, PP791 will ping 4 times to see if network is accessable.   “Change Password” menu  DISPLAY  ACTION Change Password 1  Change 1st password of system manager. Change Password 2  Change 2nd password of system manager.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 3 –PP791 Setup & Diagnostic Menu  2015-04-20   Page20 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 3    PP791 Setup & Diagnostic Menu  Call up Diagnostic Menu Press function key [CLR] + [3] (quickly press ‘3’ after [CLR] released) of PP791 will call up diagnostic menu  when  PP791 in  idle  state.  The  default  2  passwords  for  diagnostic menu  are  “87806799”  (both passwords)  DISPLAY  ACTION (Idle prompt)  Power on. Press [CLR]+[3] Password 1?  Input first setup password and press [ENTER] Password 2?  Input second setup password and press [ENTER] HW Tests Display Info Setup COM Port Set LCD Backlight Logo Setup Update Password Set Keypad Beep Use [F1] ,[F3] to scroll up and down. [F2] to go back. [ENTER] to execute.  Diagnostic Menu 1: HW Tests  DISPLAY  ACTION Display Test  Display two pages of test pattern: First  page  is  turn  on  all  pixels  to  check  if  there  are  any  dot damage. Press any key or wait 10 sec to continue. Second page shows PP791 character sets. Press any key or wait 5 sec to leave. Keypad Test  PP791 will echo user’s input key at line 2.   Press [CAN] to leave this test. MSR Test  PP791 will show “MSR TEST –SWIPE” on LCD and wait for user  to  swipe  any  magnetic  stripe  card.  After  card  swiped,  a submenu  will  displayed  to  let  user  check  track  1,2,3 independently.   ICC Test  Insert  an  EMV  Lv1  compatible  smart  card  into  primary  card slot, and  then  select  this  function.  PP791  will display  its  ATR string on LCD for check.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 3 –PP791 Setup & Diagnostic Menu  2015-04-20   Page21 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Diagnostic Menu 2: Display Info  DISPLAY  ACTION Show COM Param.  Display current COM port setting on PP791. COM1:  Primary  interface  (if  primary  interface  is  USB,  the value will be 9600, N, 8, 1) Show SerialNum  Display current serial number. Refer to message 06. Show Version  Display current firmware version SENSOR STATUS  Display the sensor setting information  Diagnostic Menu 3: Setup COM Port  DISPLAY  ACTION Set COM1 Param  A sub menu will show up: Set Baudrate Set Mode Enter into “Set Baudrate” to set COM1 baud rate Press keypad to set baud rate: ‘1’ = 1200bps ‘2’ = 2400bps ‘3’ = 4800bps ‘4’ = 9600bps ‘5’ = 19200bps ‘6’ = 38400bps ‘7’ = 57600bps ‘8’ = 115200bps
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 3 –PP791 Setup & Diagnostic Menu  2015-04-20   Page22 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Set COM1 Param (Continued) Enter into “Set Mode” to set COM1 operation mode Press keypad to set COM1 operation mode: ‘1’ = ‘8’, ‘N’, ‘1’ (8-bit data length, none parity, 1 stop bit) ‘2’ = ‘7’, ‘E’, ‘1’ (8-bit data length, even parity, 1 stop bit) ‘3’ = ‘7’, ‘O’, ‘1’ (8-bit data length, odd parity, 1 stop bit) ‘4’ = ‘8’, ‘N’, ‘1’ with handshake ‘5’ = ‘7’, ‘E’, ‘1’ with handshake ‘6’ = ‘7’, ‘O’, ‘1’ with handshake The COM1 on PP791 supports three handshake modes: 1. RTS flow control 2. XON-XOFF flow control 3. RTS/XON-XOFF flow control  The  default  parameter  of  COM1  on  PP791  is  “9600bps,  none parity, 8 data bits, 1 stop bit”. User can use command message 10 to change this setting remotely.     Diagnostic Menu 4: Set LCD Backlight DISPLAY  ACTION Light Always ON Light Auto OFF  First item will set LCD backlight always on. This setting is the same with message Z9 with parameter 1. Second  item  will  set  PP791  enable  its  backlight  in  following situation: a. Any key is pressed. b. PIN entry command is working c. Selecting Menu. And  backlight  will  automatically  turn  off  after  3  seconds  of above operation ends.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 3 –PP791 Setup & Diagnostic Menu  2015-04-20   Page23 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Diagnostic Menu 5: Logo Setup  DISPLAY  ACTION Idle Logo ON/OFF  Enable or disable graphical idle logo.   (The logo image is defined by command J7)   Diagnostic Menu 6: Setup Password  DISPLAY  ACTION Update Password1  PP791 will show following message: NEW PASSWD **** CONFIRM PASSWD **** User  should  press  1st  password,  press  [ENTER]  to  enter  2nd password, then press [ENTER] to finish input. If two passwords mismatch  the  password  will  not  be  changed.  Password  must have 6 characters at least, with maximum 16 characters. Update Password2 PP791 will show following message: NEW PASSWD **** CONFIRM PASSWD **** (Usage is the same with password 1.)  Diagnostic Menu 7: Set Keypad Beep  DISPLAY  ACTION Beep ON  Key press with beep. Beep OFF Key press without beep.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 3 –PP791 Setup & Diagnostic Menu  2015-04-20   Page24 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages About USB virtual COM port (only applied on USB version) PP791 USB version will identify itself as a virtual COM port for Windows 2000/XP device enumeration. When Windows requests PP791’s device driver, please provide a directory name which contains PP791 USB driver, and answer “proceed anyway” when prompted with driver certification questions.   The baud rate of  PP791 virtual  COM port is determined by the application program. When  AP calls Windows API to open COM port, PP791 and Windows virtual COM port driver will adjust its baud rate according to the parameters sent to API function.  Call up Interface Setting Menu In  a  WIFI/Bluetooth  capable  PP791,  press  function  key  [CLR]  +  [F2]  (quickly  press  ‘F2’  after  [CLR] released) of PP791 will call up interface setting menu when PP791 in idle state.  DISPLAY  ACTION (Idle prompt)  Power on. Press [CLR]+[F2] COMM. Interface Switch WIFI Setting Bluetooth Setting Status Use [F1] ,[F3] to scroll up and down. [F2] to go back. [ENTER] to execute. Interface Setting  Interface Setting Menu 1: COMM. Interface Switch  DISPLAY  ACTION COM  PP791 communicate with Terminal via COM. WIFI  PP791 communicate with Terminal via WIFI. Bluetooth  PP791 communicate with Terminal via Bluetooth. Use Default  Use Default interface which is COM.  Interface Setting Menu 2: WIFI Setting  DISPLAY  ACTION Discover Server  PP791  will  scan  all  available  server  on  the  same  wireless  lan (Refer  to  PIN  PAD  791  Multicast  Programmer’s  Manual)and show  the  result  on  the  screen.  As  user  choose  a  server,  the configuration(Server  IP and  Server  Port)  of  Server  will  be  set into PP791, and then user can use “Connect” option to connect to the server. Set Server IP  Manually  set  the  IP  address  of  Server  which  you  want  to connect.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 3 –PP791 Setup & Diagnostic Menu  2015-04-20   Page25 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Set Server Port  Manually  set  the  Port  number  of  Server  which  you  want  to connect. Connect  Connect to the Server. Disconnect  Disconnect with the Server. Status  Display the WIFI setting information  Interface Setting 3: Bluetooth Setting  DISPLAY  ACTION Choose Devices  1. Scan Devices: Get the BT Device name, and MAC address.    2. Choose Devices: Input the 0~ 9 to choose the BT device. PIN Setup  1. Read Device PIN: Default PIN is “123456”   Change Device PIN Connect Device  Connect to BT Device Disconnect Device  Disconnect with BT Device Interface Setting Menu 4: Status
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 4 – Message format  2015-04-20   Page26 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 4    Message format This chapter details the format of messages exchanged between the host and PIN Pad.  Notation Conventions The following conventions are used to make the description of messages more readable:  Control Codes Control codes (non-displayable codes) are represented by two to three capital letters enclosed in angled brackets  “<>“.  This  PIN  Pad  uses  12  control  codes  in  total.  Their  actual  code,  when  referenced,  is represented by two hex digits enclosed in angled brackets, <0F> for example. The following table lists their usage and value in hex codes.  CODE  HEX VALUE USAGE STX  02  Denotes the beginning of a message frame ETX  03  Denotes the ending of a message frame EOT  04  Indicates communication session terminated ACK  06  Acknowledge of message received SI  0F  Denotes the beginning of a message frame SO  0E  Denotes the ending of a message frame NAK  15  Indicates invalid message received SUB  1A  Message parameter follows FS  1C  Field separator GS  1D  Message ID follows DC1  11  Used for Z2 message, enable inverse mode. DC2  12  Used for Z2 message, disable inverse mode.  [LRC] Each message frame transmitted is followed by an LRC byte to detect communication error. This byte should be regarded as part of the message frame but comes after the ending delimiter character. [LRC] is used to represents this LRC byte in describing message frames. LRC is calculated as an XORed value of every byte after start code in the message frame except itself, that means from the next byte of <STX> or <SI> through the <ETX> or <SO> byte.  [item] A descriptive item name enclosed in bracket denotes a string or data byte that has no fixed value.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 4 – Message format  2015-04-20   Page27 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message frame summary Data  exchanged  between  PIN  Pad  and  host  computer  are  grouped  into  “message  frames”.  Each message frame has one of the two frame formats listed below:  <STX>[message ID][data]<ETX>[LRC]  <SI>[message ID][data]<SO>[LRC] Each type of message has a unique value in its message ID field. In the following texts, we reference a message type by its message ID value, e.g. “message 70”.  Message type Messages exchanged between the PIN Pad and the HOST can be divided into two categories.   One  is  for  administration  and  maintenance,  in  general  administrative  messages  have  <SI>  packet header and will return message to HOST by the same message ID.   The other is for various transactions, in general transaction messages have <STX> packet header, and comes in pair. Even number message packets sends command and data to PIN pad, then odd number message packets returns the result.  Time-out Whenever  the  PIN  Pad  sends  a  message,  a  response  (<ACK>  character  for  acknowledgement  or <NAK>  character  if  LRC  error  occurred)  from  host  is  expected.  If  the  PIN  Pad  does  not  receive  a response  within  5  seconds,  it  will  retransmit  the  last  packet.  If  PIN  pad  does  not  receive  <ACK>  or <NAK> after two retransmit attempts, it will send <EOT> character and this communication session will be terminated.  Transmission Error The PIN Pad expects the host computer to send a NAK when the host decides that an invalid frame is received.  When  the  PIN  Pad  receives  a  NAK,  it  will  retransmit  its  last  message.  If  the  message retransmitted is invalid again, then a NAK should be sent by host to request for another try. The PIN Pad will keep on retransmitting until an <ACK> or <EOT> is received.  Packet Error When PIN  pad received a  good transmission but  invalid packet  (wrong message id) it  will ignore the packet. If the packet has acceptable message id but have wrong format. PIN pad will send <EOT> as error message. When in PIN entry functions it will send more detail error code.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page28 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 5    Administration and maintenance messages    Message 02 Load Master Key   Format:    <SI>02[Key ID][Key value] <FS>[Usage][Mode]<SO>[LRC]  (with clear text key) <SI>02[Key ID][Key value (ANSI TR31 format)]<SO>[LRC]  (with encrypted key)  Message length:  Variable (38 to 94 bytes). Usage:  Load Master Keys into PP791. PP791 can store 32 master keys (16 of them not used by PP791 application); each has a one digit ID. Master keys are divided into three groups of different functions. Refer to Appendix A: Key management for key usage and ID definition.    PP791 implements multiple security measures to conform Payment Card Industry (PCI) security  requirement.  In  order  to load clear text master keys, two  authorized people with  their  password  are  required.  Otherwise  the  user  must  issue  message  02  with encrypted key value (ANSI TR31 format). See next entity “Symmetric Keys Loading Authentication” for detailed information.  Note:  1.  The  [key value] field’s  format  is  ASCII  string  with  range  ‘0’-‘9’,  ‘A’-‘V’,  which represents a hexadecimal byte in two characters, i.e. “1F” represents 0x1F. 2. PP791 requires key loading key (master key #F) to be TDES. 3. Pass key loading authentication and then load new clear text master key will erase all other master keys, to prevent malicious key substitution. For more information refer to “Symmetric Keys Loading Authentication” at page 24.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page29 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message element: Request fame (HOST to PP791) Field  Length  Value and description <SI>  1  <0F> 02  2  Message ID [Key ID]  1  ‘0’ to ‘9’, ‘A’ to ‘V’ (A and H to V is not used) [Key value] Var.  Hexadecimal string for key value.   Clear  text  format:  32  bytes  for  double  length,  48 bytes for triple length. TR31  format:  56  bytes  for  single  length,  72  bytes for double length, 88 bytes for triple length. <FS>  1  Field separator.   (Optional,  only available  in clear text format  frame if following [Usage] and [Mode] exists) [Usage]  2  (Optional:  ANSI  TR-31  key  usage  for  clear  text frame.)   Available value are: “K0” for key encryption. (id 0 ~ 9, B ~ G) “P0” for PIN encryption. (id 0 ~ 9) “M3” for MAC calculation. (id B ~ E) “D0” for data encryption. (id G) If omitted, default value is “K0” [Mode]  1  (Optional:  ANSI  TR-31  key  mode  for  clear  text frame.) Available value are: ‘D’ for decryption only. (K0 keys) ‘E’ for encryption only (P0 / D0 keys) ‘G’ for MAC generation only (M3 keys) ‘V’ for MAC verification only (M3 keys) If omitted, default value is ‘D’. <SO>  1  <0E> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page30 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Response fame – Error message (HOST to PP791) Field  Length  Value and description <SI>  1  <0F> 02  2  Message ID ?  1   [Err msg]  1  ‘2’: Key duplicate. ‘3’: Internal fail: fail to allocate memory ‘4’: Internal fail: fail to read key structure ‘7’: Fail to decrypt key value. ‘A’: TR31 format error. ‘B’: Insecure key inject. (New key is longer than   the key used to protect it.) ‘C’: Fail to verify MAC value. ‘D’: KLK does not exist / The selected key (KLK) is not with usage “K0” ‘E’: Incompatible key usage.   ‘F’: Key loading count over limit. <SO>  1  <0E> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message 02 (request frame)     <ACK> /<NAK>/<EOT>   Processing request. If format error, send <EOT> and end. Message 02 (echo of request frame). Verify echo frame. If verify ok, send <ACK>. If  packet  LRC  error,  send <NAK>. If  host  want  to  cancel  key loading  procedure,  send <EOT>.      Save key value and send <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page31 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Example:   Clear Text Master key to be loaded:    1919191919191919 5B5B5B5B5B5B5B5B The Key ID you want to load:  0 The resulting 02 message :   <SI>02019191919191919195B5B5B5B5B5B5B5B<SO>[LRC]  Encrypted (ANSI TR-31 2005 Key Variant Binding Method)   Key encrypting key (Mkey #F):  1919191919191919 5B5B5B5B5B5B5B5B Master key to be loaded (K0):  AA55AA55AA55AA55 3434343434343434 Key Block Header (KBH):      (ASCII) A0072K0TD00N0000 TDES CBC encrypted key value: 7D2D21FC9ECD3EEC BB0A2615BD8F0560 5722120BDFF2CCAC Left 4 bytes of MAC value:    319C3198 The Key ID you want to load:  0  The resulting 02 message:   <SI>020A0072K0TD00N00007D2D21FC9ECD3EECBB0A2615BD8F05605722120BDFF2CCAC319C3 918 <SO>[LRC]  Encrypted (ANSI TR-31 2010 Key Derivation Binding Method) Key condition: Load a double length PIN encryption key to key position #1 Key block protection key (KBPK):     1919191919191919 5B5B5B5B5B5B5B5B PIN encryption key to be loaded:     AA55AA55AA55AA55 3434343434343434 Padded key data:   0080 AA55AA55AA55AA55 3434343434343434 1C2965473CE2 Key Block Header (KBH):          (ASCII) B0080P0TE00N0000 Derived Key block encryption key (KBEK):  DB7F2A99D5647A7D D3EDFE3DA7CF5B21 Derived Key block MAC key (KBMK):    87EE6C0795954446 A34A0BB5F305BCE1             (See Appendix A for detail derive process) CMAC of (KBH + Padded key data), using KBMK:    EA391E5834C1AA0C             (See Appendix A for detail CMAC algorithm) Use CMAC as IV to do TDES CBC encryption on padded key data, using KBEK: Encrypted key data:  3C4F5024C59C182F 7165BC870FCB7F63 456AAE07DB736C32 The resulting 02 message:   <0F>021B0080P0TE00N0000 3C4F5024C59C182F 7165BC870FCB7F63 456AAE07DB736C32 EA391E5834C1AA0C<0E>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page32 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Symmetric Keys Loading Authentication  In  order to make  PP791 accept  clear text  key loading frame, the  key loading authentication must  be processed.    [Enter key loading authentication menu] Press [CLR]+[2] on the keypad of PP791, then PP791 will show key injection authentication login screen as following: ENTER PASSWORD 1:  (Default password will be sent to authentic owner separately) The first authorized person come to enter 1st password on keypad and press [ENTER]. Then PP791 will prompt to enter 2nd password if 1st password is correct. If 2nd password is correct, too, PP791 will enter key loading mode and show following menu: KEY INJECT MODE UPDATE PASSWORD1 UPDATE PASSWORD2 INJECT MKEY/IPEK Use [F1] and [F3] key to navigate light bar to “Inject MKEY/IPEK”, then press [ENTER]. Then user is free to load clear text master key by message 02, or load DUKPT initial key by message 90 and 94.  [Timing constraint and message constraint of Key Inject Mode] According  to  PCI  security  requirement,  PIN  pad  cannot  stay  in  Key  Inject  Mode  forever.  Thus  when PP791 entered Key Inject Mode, its internal timer will start to countdown, and its operating system will monitor specific message packets. If any one of following criteria is matched, PP791 will exit Key Inject Mode and reject message 02(clear text form) and 90, 94 command: 1.  When PIN pad idled for 60seconds, it will exit Key Inject Mode. (Each time 02 / 90 / 94 / 08 / 96 is succeeded, the 60 seconds counter will reset to 60 again.) 2.  When  PIN pad has  been in  Key  Inject Mode for 15 minutes.  It  will unconditionally exit Key Inject Mode. 3.  When PIN pad receives messages other than 02 / 90 / 94 / 08 / 86, it will exit Key Inject Mode. 4.  When user pressed CAN key on keypad, it will exit key inject mode.  [Master key substitution protection] When user entered Key Inject Mode, PIN pad operating system will set up a new “Key Injecting Session”. The first injected clear text master key in a new session will erase all other master keys. The other master keys loaded in the same session will not erase any other master key. DUKPT key set 0 and set 1 will not erase each other.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page33 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Example flow to load master keys with security: In the following example we assume a bank receives a new PP791 and wants to initialize it before deploy. And want to update some master keys after its deployed. We also assume the master key to be loaded is position 0 and position F; their values are already stored in a Tamper Resistant Security Module (TRSM) in a secure way.  1.  The bank must generate two passwords, and make two authorized people to keep them separately. 2.  Authorized people must enter KEY INJECT AUTH menu and change password 1 and password 2. 3.  After  password  changed, connect  PIN  Pad  to  TRSM,  enter KEY  INJECT  AUTH menu  again and choose Inject MKEY/IPEK function. 4.  Operate TRSM to load master key #F and master key #0.  After step 4 finishes, user can issue other commands to PIN pad (such as message 08 to select key #0 as active master key) or turn it off and deploy it.  5.  To load or update master keys at field site, user should issue encrypted command 02.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page34 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 04 Check Master Key Format:    <SI>04[key ID][Key Info Query]<SO>[LRC] Message length:  Variable (6 or 7) bytes. Usage:  Host sends this message to PIN Pad for checking if the master key with an ID of [key ID] has been loaded or not. Message 04 should be used before loading any master key.  Message  04  can  be  also  used  to  query  key  information  (key usage/mode/algorithm) if the designated key is not empty. Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <SI>  1  <0F> 04  2  Message ID [key ID]  1  Master key ID    (0~9, A~G) [Key Info Query] 1  <Option>, 1: query key information <SO>  1  <0E> [LRC]  1  Checksum    Response frame (PIN Pad to HOST) Field  Length  Value and description <SI>  1  <0F> 04  2  Message ID [response code]  1  0 Master key not loaded F Master key loaded [Key usage]  2  <Option, if key info query filed is set> “K0”: Key encrypting key. (Master key   for PIN / MAC / Data key) “P0”: PIN key “D0”: Data key “M1”: MAC key for MAC algorithm 1 “M3”: MAC key for MAC algorithm 3 <FS>  1  <Option, if key info query filed is set> <1C>, filed separator [Mode]  2  <Option, if key info query filed is set> “E”: Encryption use “D”: Decryption use <FS>  1  <Option, if key info query filed is set> <1C>, filed separator [Algorithm]  2  <Option, if key info query filed is set>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page35 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages “T”: Triple DES “D”: Single DES <SO>  1  <0E> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message 04 (request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Check requested memory location Message 04 (response) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page36 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 05 Load Serial Number Format:    <SI>05[string]<SO>[LRC] Message length:  Variable, maximum length is 17 bytes Usage:  Load  the PIN  Pad  with the  serial number given in the message frame. PIN  Pad will send the whole message frame back to host as a confirmation of good reception. Host should then send an <ACK> to confirm or <EOT> to cancel this serial number loading process if the LRC is good but serial number echoed is incorrect. Follow the standard <NAK> process if an invalid LRC is detected.   Message element: Field  Length Value and description <SI>  1  <0F> 05  2  Message ID [string]  0..12  Alphanumeric string (0~9, A~Z, a~z) <SO>  1  <0E> [LRC]  1  Checksum  Message flow: HOST  Direction     PIN Pad Message 05      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message  05  (echo  frame) or <EOT> indicate error. <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     (Stores serial number) <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page37 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 06 Get Serial Number Format:    <SI>06<SO>[LRC] <SI>06[string]<SO>[LRC] Message length:  Fixed 5 bytes for requesting message, variable for response message (max 17 bytes.) Usage:  This message is used to get serial number of the PIN Pad. PIN Pad will send the serial number previously loaded or string of 12 ‘0’s as the serial number if it has not been loaded. Serial number will be displayed on LCD, too. Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <SI>  1  <0F> 06  2  Message ID <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length  Value and description <SI>  1  <0F> 06  2  Message ID [string]  0..12  String for serial number <SO>  1  <0E> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message 06 (request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 06  (response frame) or <EOT> if read error <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page38 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 07 Test DES Implementation Format:    <SI>07[master key][clear text][cipher text]<SO>[LRC] Message length:  Fixed 53 bytes. Usage:  This message is used to validate DES implementation of PIN Pad. Testing result will be shown on the PIN Pad display and return response code for remote diagnostic. Message element:   Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 07  2  Message ID [Master key] 16  Master Key used of encoding (hexadecimal string) [Clear text]  16  Clear text for encoding (hexadecimal string) [Cipher text] 16  Known ciphered text (hexadecimal string) <SO>  1  <0E> [LRC]  1  Checksum Response frame (PIN Pad to HOST) Field  Length  Value and description <SI>  1  <0F> 07  2  Message ID [response code]  1  0: Test Success F: Test Failed. <SO>  1  <0E> [LRC]  1  Checksum Message flow: HOST  Direction      PIN Pad Message 07 (request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 07 (response) <ACK>/<NAK>/ <EOT>      <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page39 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message 08 Select Master Key Format:    <SI>08[KeyID]<SO>[LRC] Message length:  Fixed 6 bytes. Usage:  This message  is  used  to  select  one  of  the  10  possible  PIN  encrypting  master keys previously  loaded  using  message  02.  The  selected  master  key  will  be  used  in  the following transactions.  Note:  Check master key existence before change: This message does not respond for checking master key existence. You may choose an empty master key without notice.   TDES capability: If selected master key is a double length key (32 characters when loaded with  message  02), PP791 will treat  all  session  keys (in MK/SK  message  70, Z60, Z62) as EDE encrypted by this master key. (See Appendix A)   Confirm key existence before issue 08: message 08 is not responsible for check if [KeyID] has a valid master key, use message 04 before 08.  Message element: Field  Length  Value and description <SI>  1  <0F> 08  2  Message ID [KeyID]  1  0~9, one of Master key id. <SO>  1  <0E> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message 08      <ACK>/<NAK>/<EOT>   [Success] <SI>080<SO> [Fail] <SI>08[errCode]<SO> <ACK>/<NAK>/ <EOT>     <EOT>  Error Message: Error Code Meaning ‘1’  Key index > 9
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page40 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 09 Communication Test Format:    <SI>09<SO>[LRC] <SI>09<SUB>PROCESSING<SO>[LRC] Message length:  Fixed 5 bytes for requesting message, fixed 16 bytes for response message. Usage:  This message is used  to  test communication link  between  HOST  and the PIN Pad. Both HOST and PIN Pad can initiate communication test. The initiating party should send  the  requesting  message;  the  other  party  should  response  with  the  response message that should be ACKed if received correctly. After verifying that the response message  is  correctly,  the  initiating  party  should  send  back  the  same  response message  and the  receiving party  should acknowledge this message. Testing  results are shown on the PIN Pad display. Message element:   Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 09  2  Message ID <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 09  2  Message ID <SUB>  1  <1A> [Test string]  10  ASCII string “PROCESSING” <SO>  1  <0E> [LRC]  1  Checksum  Result frame (PIN Pad to HOST) Field  Length  Value and description <SI>  1  <0F> 09  2  Message ID [response code]  1  0: Test Success F: Test Failed. <SO>  1  <0E> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page41 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction      PIN Pad Message 09 (request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 09 (response frame) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 09 (response)      <ACK> (Good LRC) <NAK> (Bad LRC)   Message 09 (result frame) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page42 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 11 PIN Pad Device Connection Test Format:    <SI>11<SO>[LRC] Message length:  Fixed 5 bytes. Usage:  This message  is used to  ensure  that the  PIN Pad is  attached to the  HOST working normally. PIN Pad will response an ACK (or NAK if LRC incorrect) within one second. Message element: Field  Length  Value and description <SI>  1  <0F> 11  2  Message ID <SO>  1  <0E> [LRC]  1  Checksum  Message flow: HOST  Direction  PIN Pad Message 11      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page43 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 12 Select Prompt Language Format:    <SI>12[language index]<SO>[LRC] (request frame) <SI>12[status]<SO>[LRC] (response frame) Message length:  Fixed 6 bytes. Usage:  This message  is used to  select  PP791  prompt message table to different language. There is always an English prompt table resident as  default, its index  number is ‘0’. The  other  prompts  can  be  updated  and  selected.  PP791  will  select  corresponding code page in order to display correctly.   NOTE.    The language order or supported language may be different from this manual as the prompt  message  module  changes.  Refer  to  the  response  from  PIN  pad  through message 1F. Message element: Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 12  2  Message ID [language index] 1  Language code ‘0’: English (default) ‘1’: Spanish ‘2’: Brazilian Portuguese <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 12  2  Message ID [status]  1  Status: ‘0’: Success ‘F’: prompt index value error. <SO>  1  <0E> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page44 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction  PIN Pad Message 12 (Request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 12 (Response frame) <ACK>/<NAK>/<EOT>      <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page45 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 13 Adjust COM1 Baud Rate (RS-232 version only) Format:    <SI>13[baud code][mode]<SO>[LRC] Message length:  Variable, 6~7 bytes. Usage:  This message will change the working baud rate and transmit mode of PP791 for later operations.  The  setting  is  kept  in  the  battery-powered  memory,  which  will  not  be erased until security is breached or the battery exhausted. Baud rate will be changed after message flow ends. Note:  If [mode] parameter is not specified, the default transmit mode is N, 8, 1. Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <SI>  1  <0F> 13  2  Message ID [baud code]  1  ASCII character ‘1’ = 1200bps ‘2’ = 2400bps ‘3’ = 4800bps ‘4’ = 9600bps ‘5’ = 19200bps ‘6’ = 38400bps ‘7’ = 57600bps ‘8’ = 115200bps [Transmit mode] (optional) 1  ASCII character ‘1’ = None parity, 8-bit, 1 stop bit    ‘2’ = Even parity, 7-bit, 1 stop bit ‘3’ = Odd parity, 7-bit, 1 stop bit  0x41  =  None  parity,  8-bit,  1  stop bit, with XON-XOFF flow control 0x42 = Even parity, 7-bit, 1 stop bit, with XON-XOFF flow control 0x43 = Odd parity, 7-bit, 1 stop bit, with XON-XOFF flow control  0x81  =  None  parity,  8-bit,  1  stop bit, with RTS flow control 0x82 = Even parity, 7-bit, 1 stop bit, with RTS flow control
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page46 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages 0x83 = Odd parity, 7-bit, 1 stop bit, with RTS flow control  0xC1  =  None  parity,  8-bit,  1  stop bit,  with  RTS/XON-XOFF  flow control 0xC2  =  Even  parity,  7-bit,  1  stop bit,  with  RTS/XON-XOFF  flow control 0xC3 = Odd parity, 7-bit, 1 stop bit, with RTS/XON-XOFF flow control <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 13  2  Message ID [status]  1  ASCII character ‘0’ for success ‘1’ for parameter error <SO>  1  <0E> [LRC]  1  Checksum  Message flow: HOST  Direction  PIN Pad Message 13 (request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 13 (response) <ACK>/<NAK>/<EOT>     <EOT>   (Change  working  baud rate and save setting)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page47 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 14 Enable/Disable Timer Display Format:    <SI>14[E/D]<SO>[LRC] (request frame) <SI>14[Status]<SO>[LRC] (response frame) Message length:  Fixed 6 bytes. Usage:  This message is used to enable / disable PP791 system timer display. Message element: Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 14  2  Message ID [E/D]  1  ‘0’: Disable ‘1’: Enable <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 14  2  Message ID [Status]  1  ‘0’: Disabled ‘1’: Enabled ‘2’: Format Error <SO>  1  <0E> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page48 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction  PIN Pad Message 14 (Request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 14 (Response frame) <ACK>/<NAK>/<EOT>      <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page49 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 15 Adjust LCD Backlight Level Format:    <SI>15[contrast stepping code]<SO>[LRC] Message length:  Fixed 6 bytes. Usage:  This message will set the backlight level of LCD monitor. Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <SI>  1  <0F> 15  2  Message ID [contrast   stepping   code] 1  ASCII character ‘1’ = darkest to   ‘8’ = lightest <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 15  2  Message ID [status]  1  ASCII character ‘1’ to ‘8’ for success (echo of contrast stepping code). ‘F’ for operation fail <SO>  1  <0E> [LRC]  1  Checksum  Message flow: HOST  Direction  PIN Pad Message 15 (request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 15 (response) <ACK>/<NAK>/<EOT>     <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page50 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 16 Remote self-test request Format:    <SI>16<SO>[LRC] Message length:  Fixed 5 bytes. Usage:  This  message  is  used  to  ensure  that  the  PP791  attached  to  the  HOST  is  working normally. PP791 will response an ACK (or NAK if LRC incorrect) within one second. If multiple tests failed, response code will concatenate such as “<SI>16125<SO>”. Message element: Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 16  2  Message ID <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 16  2  Message ID [Response]  1 .. 3  0 – Healthy 1 – RAM test fail 2 – ROM checksum fail 5 – Master keys CRC error <SO>  1  <0E> [LRC]  1  Checksum Message flow: HOST  Direction  PIN Pad Message 16 (Request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 16 (Response frame) <ACK>/<NAK>/<EOT>     <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page51 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 17 Request random number Format:    <SI>17<SO>[LRC] Message length:  Fixed 5 bytes. Usage:  This message is used to request PIN Pad to generate an 8bytes random number block. This random number is generated by hardware TRNG that is  certified with sufficient security. Message element: Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 17  2  Message ID <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 17  2  Message ID [RndBlk]  16  Random number block  generated by PP791.   Format: hexadecimal string. <SO>  1  <0E> [LRC]  1  Checksum Message flow: HOST  Direction  PIN Pad Message 17 (Request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 17 (Response frame) <ACK>/<NAK>/<EOT>     <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page52 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 18 Set PIN pad system time Format:    <SI>18[YYYY][MM][DD][W][HH][MM][SS]<SUB>[TZ Variable]<SO>[LRC] (Request frame for setting local time and time zone)   <SI>18<SUB>[TZ Variable]<SO>[LRC] (Request frame for setting time zone)   <SI>18[YYYY][MM][DD][W][HH][MM][SS]<SO>[LRC] (Request frame for setting local time) Message length:  Fixed 20 bytes. Fixed 20 (set date and time only) or Variables (with time zone) bytes. Usage:  This message is  used to set PP791 internal clock to display local time and for EMV level 2 transaction log.  The syntax of time zone environment variables are same as POSIX systems. Please be aware of the input syntax, otherwise the time zone setting will be invalid. This time zone  setting  just  needs  to  setup  once,  and  then  the  environment  variables  will  be stored in PP791.  Message element: Request frame for setting local time and time zone (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 18  2  Message ID [YYYY]  4  AD year, i.e. “2014” [MM]  2  Month, “01”~”12” [DD]  2  Day of month, “01”~”31” [W]  1  Day  of  week,  “0”=Sunday,  ~ “6”=Saturday [HH]  2  Hour, “00”~”23” [MM]  2  Minute, “00”~”59” [SS]  2  Second, “00”~”59” <SUB>  1  <1A> [TZ Variable]  Var.  Time zone environment variable. (For example, send "PST+8PDT,M3.2.0/2,M11.1.0/2" to  set  Pacific  time  zone  in  the United States) <SO>  1  <0E>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page53 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages [LRC]  1  Checksum  Request frame for setting time zone (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 18  2  Message ID <SUB>  1  <1A> [TZ Variable]  Var.  Time zone environment variable. <SO>  1  <0E> [LRC]  1  Checksum  Request frame for setting local time (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 18  2  Message ID [YYYY]  4  AD year, i.e. “2014” [MM]  2  Month, “01”~”12” [DD]  2  Day of month, “01”~”31” [W]  1  Day  of  week,  “0”=Sunday,  ~ “6”=Saturday [HH]  2  Hour, “00”~”23” [MM]  2  Minute, “00”~”59” [SS]  2  Second, “00”~”59” <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 18  2  Message ID [status]  1  0: Success F: Failed. <SO>  1  <0E> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page54 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction  PIN Pad Message 18 request frame     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 18 Response Frame <ACK> /<NAK> /<EOT>      Processing and send <EOT>  NOTE: The followings describe that how to input a proper syntax of time zone enviorment variable. The first format is used when there is no Daylight Saving Time in the local time zone:  std offset  The std string specifies the name of the time zone. It must be 3 ~ 6 characters long and must not contain a leading colon, embedded digits, commas nor plus and minus signs.  The offset specifies the time value you must add to the local time to get a Coordinated Universal Time value. It has syntax like [+|-]hh[:mm[:ss]]. This is positive if the local time zone is west of the Prime Meridian and negative if it is east. The hour must be between 0 and 23, and the minute and seconds between 0 and 59. (for example, PST+8)  The second format is used when there is Daylight Saving Time:  std offset dst[offset],start[/time],end[/time]  The initial std and offset specify the standard time zone, as described above. The dst string and offset specify  the name and offset for the corresponding Daylight Saving Time zone. If the offset is omitted, it defaults to one hour ahead of standard time.  The start field is when Daylight Saving Time goes into effect and the end field is when the change is made back to standard time. The following formats are recognized for these fields: Jn   This specifies the Julian day, with n between 1 and 365. February 29 is never counted, even in       leap  years.  n     This specifies the Julian day, with n between 0 and 365. February 29 is counted in leap years.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page55 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Mm.w.d  This specifies day d of week w of month m. The day d must be between 0 (Sunday) and 6. The       week w must be between 1 and 5, week 1 is the first week in which day d occurs, and week 5       specifies the last d day in the month. The month m should be between 1 and 12.  The time fields specify when, in the local  time currently in effect, the  change  to the  other  time occurs. If omitted, the default is 02:00:00.  For  example,  here  is  how  you  would  specify  the  Pacific  time  zone  in  the  United  States,  including  the appropriate Daylight Saving Time and its dates of applicability. The normal offset from UTC is 8 hours, since this is west of the prime meridian, the sign is positive. Summer time begins on the second Sunday in March at 2:00am, and ends on the first Sunday in Novenber at 2:00am.  PST+8PDT,M3.2.0/2,M11.1.0/2
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page56 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 19 Query Firmware Version Format:    <SI>19[part]<SO>[LRC] (request frame) <SI>19.[Version] <SO>[LRC] (response frame) Message length:  Fixed 6 bytes (request frame) / Variable (response frame). Usage:  This message is  used to query PP791 firmware version number and firmware check sum value. Message element: Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 19  2  Message ID [part]  1  Firmware Part number 1: Uboot 2: Kernel 3: Root File System (RFS) 4: System Manager (SysMgr) 5: PP791 App. <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 19  2  Message ID .  1  <2E>, field separator [Version]  Var.  Version string (ASCII string) <SO>  1  <0E> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page57 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction  PIN Pad Message 19 (Request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 19 (Response frame) <ACK>/<NAK>/<EOT>      <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page58 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 1C   Query Hardware Capability Format:    <SI>1C<SO>[LRC] (request frame) <SI>1C[string]<SO>[LRC] (response frame) Message length:  Fixed 5 bytes (request). Variable (response). Usage:  This message is used to query the peripheral capability of PP791. Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <SI>  1  <0F> 1C  2  Message ID <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length  Value and description <SI>  1  <0F> 1C  2  Message ID [string]  Variable  <1C>[HW1]<1C>[HW2]...... Possible string: “ICC”: Smart card reader. “SAM”: Security Access Module Slot. “MSR”: Magnetic Stripe Reader. “0” Pure PIN pad without peripherals. <SO>  1  <0E> [LRC]  1  Checksum  Message flow: HOST  Direction  PIN Pad Message 1C (Request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 1C (Response frame) <ACK>/<NAK>/<EOT>      <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page59 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages   Message 1F Query Usable Prompt Table Format:    <SI>1F<SO>[LRC] (request frame) <SI>1F[Prompt_List]<SO>[LRC] (response frame) Message length:  Fixed 6 bytes (request frame); Variable (response frame). Usage:  This message is  used to query usable PP791 prompt message table list. List  will be represented as 2-character country code defined by ISO 3166. Message element: Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 1F  2  Message ID <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 1F  2  Message ID [Prompt List]  20  Format:   [active country code]   <FS> [country code0]   …. <FS> [country code5] <SO>  1  <0E> [LRC]  1  Checksum  Message flow: HOST  Direction  PIN Pad Message 1F (Request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 1F (Response frame) <ACK>/<NAK>/<EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page60 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages   <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page61 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 1J Turn ON/OFF LCD Backlight Format:    <SI>1J[option]<SO>[LRC] Message length:  Fixed 6 bytes. Usage:  This message can control the global backlight ON or OFF for the LCD of PP791 with backlight option. By default, PP791 will turn on its LCD backlight when it receives PIN entry  or  clear  text  entry  message  such  as  70  or  Z50,  and  turn  it  off  when  those functions  exits. With  message  “1J1”,  the  PP791  will  keep  LCD  backlight  turned ON until “1J0” is issued.  Message element: Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 1J  2  Message ID [option]  1  ASCII character ‘0’: Turn off LCD backlight ‘1’: Turn on LCD backlight <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 1J  2  Message ID [status]  1  ASCII character ‘0’: Turn off LCD backlight ‘1’: Turn on LCD backlight <SO>  1  <0E> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page62 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction    PIN Pad Message 1J     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 1J (Response frame) <ACK>/ <NAK>/ <EOT>     <EOT>     LCD backlight turned ON/OFF
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page63 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 1KTurn ON/OFF LCD Power-save mode Format:    <SI>1K[option]<SO>[LRC] Message length:  Fixed 6 bytes. Usage:  For  power  consumption  saving,  this  message  can  make  PP791  turns  the  backlight level to darker after several seconds automatically. The backlight level will return to the value set before when a key strobe is pressed, a message about PIN entry or key entry is received.  Message element: Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 1K  2  Message ID [option]  1  ASCII character ‘0’: Turn off LCD power-save mode ‘1’: Turn on LCD power-save mode <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 1K  2  Message ID [status]  1  ASCII character ‘0’: Turn off LCD power-save mode ‘1’: Turn on LCD power-save mode <SO>  1  <0E> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page64 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction      PIN Pad Message 1K     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 1K (Response frame) <ACK>/ <NAK>/ <EOT>     <EOT>     LCD power-save mode turned ON/OFF
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page65 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 1M  Setup Keypad Beeper Format:    <SI>1M[option]<SO>[LRC] Message length:  Fixed 6 bytes. Usage:  This message is used to turn on or turn off beeper when the keypad is pressing.  Message element: Request frame (HOST to PIN Pad) Field  Length Value and description <SI>  1  <0F> 1M  2  Message ID [option]  1  ASCII character ‘0’: Disable keypad beeper. ‘1’: Enable keypad beeper. <SO>  1  <0E> [LRC]  1  Checksum  Response frame (PIN Pad to HOST) Field  Length Value and description <SI>  1  <0F> 1M  2  Message ID [status]  1  ASCII character ‘0’: Keypad beeper disabled. ‘1’: Keypad beeper enabled. <SO>  1  <0E> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 5 – Administration and maintenance messages  2015-04-20   Page66 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction    PIN Pad Message 1M     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 1M (Response frame) <ACK>/ <NAK>/ <EOT>     <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page67 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 6 Contact EMV Level 2 transaction messages EMV  Level2  transaction  messages  are  divided  into  2  groups.  One  is  EMV-configuration  data  operation messages (T01, T03, T05, T07, T09, T0B) and the other one is EMV-transaction messages (T11, T13, T15, T17, T19, T1C, T21, T25, T27, T29).    The  ICC  EMV  transaction  messages  issuing  sequence  is  control  by  PIN  pad,  an  invalid  sequence  will terminate ICC EMV transaction. At the first of ICC EMV transaction, user has to issue messages T11 to make PIN pad negotiate with card and generate a candidate list of EMV-application that supported by PIN pad and card both, and then select a highest priority one automatically or selected by user (according to the terminal configuration data installed in PIN pad), finally return  the EMV-application  name. Message T15 is  used for terminal-side to transmit transaction information such as amount and then PIN pad do a complete transaction with card if the transaction needs not to be authorized online. Terminal can issue message T1D to transmit additional transaction data into PIN pad for ICC  EMV transaction, such as  online response data, magnetic stripe card track data. Message T17 is applied if the transaction needs to be authorized online, terminal-side will transmit necessary information via this message to PIN pad to continue the rest steps of transaction. If the response from host contains issuer script (see EMV), terminal-side applies message T19 to input these scripts into PIN pad and PIN pad will issue these scripts at appropriate time to card. Message T1C is used to terminate  an  ICC  EMV  transaction.  Finally,  message  T21  is  used  for  terminal-side  to  get  the transaction information through EMV transaction.  Terminal  can  apply Txx messages to  handle a  complete  ICC EMV  transaction  except  that the transaction must be changed to magnetic stripe card processing. According to EMV rule, if terminal fails to read IC card, the transaction could be change to magnetic stripe card transaction. Because of different types of magnetic stripe card, the magnetic stripe card processing should be taken by terminal. Terminal could issue message Q1 provided by PIN pad to make user swipe his card and then issue message 70 to complete a magnetic stripe card transaction. In this situation, terminal will get response of T11 message that indicates an failed IC card read, terminal should then issue message T1D, T15 and T17 to PIN pad for batch data capture. The flow chart for  changing  to magnetic  stripe  card  processing  could  be  referred in  “Overall  Contact  EMV  level  2 transaction flow reference” section.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page68 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  The meaning of error code in the [Err Message] are listed below:  Error Code  Error Description 00000003  Service not accepted. 00000F9B  Store configuration data error. 8FFF0001  Out of memory. 8FFF0002  Parameter error. 8FFFFF02  Tag’s data format error. 8FFFFF03  Some mandatory tags are not configured well. 8FFFFFF0  Command format error. 8FFFFFF1  The sequence of EMV transaction command is error. 8FFFFFF2  Terminal fundamental data is missing. 8FFFFFF3  Authentication failed. 8FFFFF1A  Authentication key expired. 8FFFFF1B  Terminal configuration data is missing. 8FFFFF1C  No configuration data of EMV application or the data is missing. 8FFFFFF4  The storage space of batch data capture is full. 8FFFFFF5  No terminal configuration data, EMV application configuration data or CA public key. A2000001  Application initial conditions are not satisfied. A2000002  The generated cryptogram is not allowed. A2000007  The instruction ID of the specified is not recognized. A200000A  The type to request application cryptogram is incorrect. A200000C  The status response (SW1 SW2) is other than ‘9000’. A200000D  The Generate AC command is called more than 2 times in the current transaction. A200000E  The AIP mandatory data is missing in response data from card. A200000F  The AFL mandatory data is missing in response data from card. A2000010  The response template from card isn't correct. A2000011  The format of AFL is incorrect. A2000013  A redundant data output from card is not allowed. A2000014  Missing mandatory data in response data from card. EFFFFFFF  EMV transaction cancelled. DFFFFFFF  EMV forced abort.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page69 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T01    Terminal Configuration Setup Format:    <STX>T01[Pkt No.][Total Pkts]<SUB>[DO]<ETX>[LRC]  Message length:  Variable.   Usage:  Host  can  use  this  command  to  send  terminal  configuration  data  to  PIN  pad,  this command  can  be  sent  many  times.  PIN  pad  will  save  those  data  inside  and  apply those  data  when  do  the transaction.  PIN  pad  will  send  the  message  T02  (Terminal Configuration Setup Response) to host. Message element: Field  Length Value and description <STX>  1  <02> T01  3  Message ID Pkt No.  1  Decimal. Packet sequence number (1 ~ 9)(ex. 2) Total Pkts  1  Decimal. Total packets (1~9)(ex. 8). <SUB>  1  <1A, Optional, only if [DO] is existed DO  Var.  Data Object, format as below <ETX>  1  <03> [LRC]  1  Checksum  Data Object Format: each data object is delimited by <SUB>, and each field inside each data   object is delimited by <FS>.    Data Format: (Please also refer to EMV 4.3 BOOK3, section 4.3) Format Description 1  a - Alphabetic data (a ~z, A~Z) 2  b - unsigned binary numbers or bit combinations 3  an - Alphanumeric data  (a ~z, A~Z, 0~9) 4  ans - Alphanumeric Special data (Characters defined in ISO8859) 5  cn - Compressed numeric data (0~9, left justify, pad hexadecimal ‘F’s. Ex. 12 34 56 12 3F FF) 6  n - Numeric data (0~9, right justify, pad leading hexadecimal zeroes. Ex. 00 00 00 01 23 45) 7  var - Variable data (Any bit combination)  Note. User has to obey the restriction specified in EMV 4.3 BOOK3, Annex A and Appendix D of   this  document  to  load  configuration  data.  PIN  pad  will  check  if  the  length  of  each configuration  data  item  is  consistent.  Any  inconsistent  data  item  will  make  data  loading fail.   Note. If the data format is ‘2’ (binary), ‘5’(compressed numeric), ‘6’(numeric) or ‘7’(variable data),   it can not be allocated in message T01 directly. It should be transferred into hexadecimal string and then allocated in message T01.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page70 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Example: (Clear the terminal configuration data and then setup new data.) Merchant Category Code:  0000 (Numerical) Terminal ID:      SmartPOS (Ascii) UI Capability:      0x01 (binary)  <STX>T0111<SUB>9f15<FS>6<FS>0000<SUB>9f1c<FS>3<FS>SmartPOS<SUB> 50000002<FS>2<FS>01<ETX>[LRC]  Special Tag for PIN pad: 0x50000001, 0x50000002 Name  Description  Format  Tag  Length Terminal UI Capability 0:  Make  PIN  pad  selects  the  highest priority  application  and  ask  user’s confirmation.   1:Make  PIN  pad  provides  a  list  of candidate applications. b  50000002  1 MSR Processing Batch Tag List PIN  pad  will  store  transaction  data according  to  the  tag  list  while  the transaction  is  performed  as  MSR processing. Ex, for tag list (829F365F3 09F399F029F03),  PIN  pad  will  store transaction  data  of  tag  number  0x82, 0x9F36,  0x5F30,  0x9F39,  0x9F02  and 0x9F03. b  50000003  var Online PIN Block Tag Define User  can  define  new  tag  number  for online PIN block. b  50000004  1~4 Online PIN Key Tag Define User  can  define  new  tag  number  for online PIN key. b  50000005  1~4 These data object are defined in EMV 4.3 BOOK3, Annex A without tag values. The tag values are   defined by UIC.  NOTE.   In  order  to  make  PIN  pad  accept  new  defined  tag  (Online  PIN  Block Tag,  Online  PIN  Key Tag), terminal should issue message T07 to add the new tag into tag table inside PIN pad. For example, if   terminal wants to define new tag 0xDF01 and 0xDF02 for PIN block tag and PIN key tag, it must   issue message T07 with value “0<SUB>DF01<FS>202020<SUB>DF02<FS>202020” to add new tag number  into  tag  table  inside  PIN  pad.  Finally,  issue  message  T01  with  value  “50000004 <FS>2<FS>DF01<SUB>50000005<FS>2<FS>DF02”
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page71 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages PIN pad will check if terminal downloads minimum set of terminal-related information into PIN pad. The download process will be failed if there is not enough data in this message. Please refer to Appendix E for minimum set of terminal-related data  Message flow: HOST  Direction      PIN pad 1st Message T01      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   1st Message T02 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   2nd Message T01      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   2nd Message T02 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   …  …  … Last one Message T01      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Last one Message T02 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page72 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T02    Terminal Configuration Setup Response Format:    <STX>T02[Res][Reason][Err Msg][Err Tag Number]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T01.  Message element:   Field  Length  Value and description <STX>  1  <02> T02  3  Message ID Res  1  ‘0’: Ok, ‘1’: Fail Reason  1  <Optional, if Res = ‘1’> ‘1’: Fatal Error ‘2’: Format Error ‘3’: Invalid Data Object format. ‘4’: Invalid Tag value Err Message  8  Optional, if Reason = ‘1’, Hex decimal string Err Tag Number  Var.  Optional,  if  Reason  =  ‘3’  or  ‘4’,  Hex  decimal string <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T01.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page73 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T03    Certification Authority Public Key Setup Format:    <STX>T03[Op code][RID][PKI][Hash Algo][Hash][PK Algo][PK Leng] [PK Exponent]<ETX>[LRC] <STX>T03[Op code][PK Modulus]<ETX> Message length:  Variable.   Usage:  Host can use this command to send the Certification Authority Public key data to PIN pad, each command can only setup one key but this command can be sent many times.  PIN  pad  will  save  those  key  data  inside  and  use  those  data  when  do  the transaction.  PIN  pad  will  send  the  message  T04  (Certification  Authority  Public  Key Setup Response) to host. The data installed into PIN pad via this message, PIN pad will save it in internal storage structure with a name same as concatenation of value in [RID] and [PKI] fields. Ex. value in [RID] field is “A000000003”, value in [PKI] filed is “90”, PIN pad will save these data and give an ID as “A00000000390”.  Message element:   1st Packet (Load RSA public key): Field  Length Value and description <STX>  1  <02> T03  3  Message ID Op code  1  1: Load first part of RSA public key RID  10  Hexadecimal  string,  the  left  5  bytes  of  Registered Application Provider ID PKI  2  Public  Key  Index,  hexadecimal  string.  (Refer  to EMV 4.3, tag ‘9F22’)   Hash Algorithm 2  Hash Algorithm Index, hexadecimal string ‘01’: SHA-1. Now, PIN pad accepts only ‘01’. Hash  40  Hash checksum, hexadecimal Sha1(PKModules) or   Sha1(RID+PKI+PKModules+PKExp) PK Algorithm 2  Public Key Algorithm, hexadecimal string ‘01’:  RSA digital  signature.  Now,  PIN  pad  accepts only ‘01’. PK Leng  2  Public Key size, hexadecimalstring, for example: ‘80’ = 128 bytes = 1024 bits PK Exponent 1  Public Key Exponent’s size, hexadecimal ‘1’: 3 ‘2’: 216+1
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page74 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages <ETX>  1  <03> [LRC]  1  Checksum  2nd Packet (Load RSA public key): Field  Length  Value and description <STX>  1  <02> T03  3  Message ID Op code  1  2: Load second part of RSA public key PK Modulus Var  Public  Key  Modulus,  presented  in hexadecimal, data length = 2*[PK length] <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad 1st Message T03      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   1st  CA  Public  Key  Setup Response Message T04 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   2nd Message T03      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   2nd  CA  Public  Key  Setup Response Message T04 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page75 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T04    Certification Authority Public Key Setup Response Format:    <STX>T04[Sequence][Res][Reason][Err Msg]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T03.    Message element:   1st, 2nd Packet: Field  Length  Value and description <STX>  1  <02> T04  3  Message ID Sequence  1  1 / 2 (first/second part of RSA public key) Res  1  ‘0’: Ok, ‘1’: Fail Reason  1  ‘1’: Fatal Error ‘2’: Format Error ‘3’: Authentication Fail Err Message  8  Optional, if Reason = ‘1’Hex String <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T03.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page76 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T05    EMV Application Configuration Setup Format:    <STX>T05[Pkt No.][Total Pkts]<SUB>[AID]<SUB>[DO]<ETX>[LRC]   <STX>T05[Pkt No.][Total Pkts]<SUB>[DO]<ETX>[LRC] Message length:  Variable.   Usage:  Host can use this command to send the EMV application configuration data to PIN pad,  this  command  can  be  sent  many  times  but  each  command  is  only  for  one application.  PIN  pad  will  save  those  data  inside  and  use  those  data  when  do  the transaction. PIN pad will send the message T06 (EMV Application Configuration Setup Response) to host. The data installed into PIN pad via this message, PIN pad will save it in internal storage structure with a name same as in [AID] field.  Message element:   1st Message: Field  Length Value and description <STX>  1  <02> T05  3  Message ID Pkt No.  1  Decimal. Packet sequence number (1 ~ 9) Total Pkts  1  Decimal. Total packets (1~9)(ex. 8). <SUB>  1  Optional, if Pkt No is 1 <1A> AID  10~32 Optional, if Pkt No is 1. EMV Application ID, refer to EMV 4.3 <SUB>  1  Optional, only if [DO] is existed DO  Var.  Data Object, format as below <ETX>  1  <03> [LRC]  1  Checksum Rest of Message (If there are 2 more messages): Field  Length Value and description <STX>  1  <02> T05  3  Message ID Pkt No.  1  Decimal. Packet sequence number (1 ~ 9) Total Pkts  1  Decimal. Total packets (1~9)(ex. 8). <SUB>  1  Optional, only if [DO] is existed DO  Var.  Data Object, format as below <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page77 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages    Data Format: (Please also refer to EMV 4.3 BOOK3, section 4.3) Format Description 1  a - Alphabetic data (a ~z, A~Z) 2  b - unsigned binary numbers or bit combinations 3  an - Alphanumeric data  (a ~z, A~Z, 0~9) 4  ans - Alphanumeric Special data (Characters defined in ISO8859) 5  cn - Compressed numeric data (0~9, left justify, pad hexadecimal ‘F’s. Ex. 12 34 56 12 3F FF) 6  n - Numeric data (0~9, right justify, pad leading hexadecimal zeroes. Ex. 00 00 00 01 23 45) 7  var - Variable data (Any bit combination)  Note. User has to obey the restriction specified in EMV 4.3 BOOK3, Annex A and Appendix D of   this  document  to  load  configuration  data.  PIN  pad  will  check  if  the  length  of  each configuration  data  item  is  consistent.  Any  inconsistent  data  item  will  make  data loading fail. Note. If the data format is ‘2’ (binary), ‘5’(compressed numeric), ‘6’(numeric) or ‘7’(variable data),   it  can  not  be  allocated  in  message  T05  directly.  It  should  be  transfer  into  hexadecimal string and then allocated in message T05.  Example: Default TDOL:  97 07 9f 02 06 95 05 9b 02 (binary) Threshold Value for Biased Random Selection:  00 00 00 00 40 00(numerical) Max. Target percentage to be used for Biased Random selection: 100 (decimal) / 0x46 (binary)  <STX>T0511<SUB>A00000031010<SUB>97<FS>2<FS>97079f020695059b02 <SUB>40000004<FS>6<FS>000000004000 <SUB>40000006<FS>2<FS>46<ETX>[LRC] PIN pad saves these data and give an ID as “A00000031010” to this group of data.    Special  Tag  for  PIN  pad:  0x40000001,  0x40000004,  0x40000005,  0x40000006,  0x40000007, 0x40000008, 0x40000009. Name  Description  Format  Tag  Length Application Selection Indicator  See below  n  40000001  1 Threshold Value for Biased Random Selection See below  n  40000004  6 Target Percentage to be used for Biased Random Selection See below  b  40000005  1 Maximum Target Percentage to be used for Biased Random Selection See below  b  40000006  1
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page78 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Terminal Action Code - Default  See below  b  40000007  5 Terminal Action Code - Denial  See below  b  40000008  5 Terminal Action Code - Online  See below  b  40000009  5 Data Tags required in Online message (ARQC) See below  b  4000000A  var. Data tags required in reversal message See below  b  4000000D  var. Data tags for batch data capture  See below  b  40000010  var. ARC Approve  See below  b  4000001A  var. ARC Decline  See below  b  4000001B  var. ARC Referral  See below  b  4000001C  var. These  data  object  are  defined  in  EMV  4.3  BOOK3, Annex  A  without  tag  values.  The tag  values  are defined by PIN pad.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page79 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction      PIN pad 1st Message T05      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   1st Message T06 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   2nd Message T05      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Application Select Response. 2nd Message T06 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   …  …  … Last one Message T05      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Application Select Response. Last one Message T06 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)    PIN pad will check if terminal downloads minimum set of EMV Application-related information into PIN pad. The download process will be failed if there is not enough data in this message. Please refer to Appendix E for minimum set of EMV Application -related data
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page80 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T06    EMV Application Configuration Setup Response Format:    <STX>T06[Res][Reason][Err Msg][Err Tag Number]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T05.    Message element:     Message flow:  Please refer to message T05. Field  Length  Value and description <STX>  1  <02> T06  3  Message ID Res  1  ‘0’: Ok, ‘1’: Fail Reason  1  ‘1’: Fatal Error ‘2’: Format Error ‘3’: Invalid Data Object format. ‘4’: Invalid Tag value Err Message  8  Optional, if Reason = ‘1’Hex String Err Tag Number  Var.  Optional,  if  Reason  =  ‘3’  or  ‘4’,  Hex decimal string <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page81 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T07    Data Format Table Setup Format:    <STX>T07[Clear]<SUB>[DO]<ETX>[LRC] Message length:  Variable.   Usage:  PIN pad will check the consistent of TLV object from terminal via message T01 and T05. Terminal can add more TLV format checking rules into PIN pad. PIN pad will send the message T08 (Data Format Setup Response) to host. Message element: Field  Length Value and description <STX>  1  <02> T07  3  Message ID Clear  1  ‘1’: Clear existed Data Format file <SUB>  1  <1A, Optional, only if [DO] is existed DO  Var.  Data Object, format as below <ETX>  1  <03> [LRC]  1  Checksum  Format of Data Objects:   The Data Objects for T07 shall include five data fields delimited by <FS>: [Tag#] <FS> [Format] [Min Len] [Max Len] [Flag], Each data object is delimited by a <SUB> to construct multiple <DO>. If [flag] is ‘0’, the data object will accept the length of value within [Min Len] and [Max Len]; if [flag] is ‘1’, the data object will only accept ether [Min Len] or [Max Len] as valid length.    Example: (setup new data format.)      <STX>T070<SUB>5F88<FS>4021A0<SUB>5F99<FS>2080B1<ETX>[LRC]  In this example, PIN pad will check if the length of data with tag value 5F99 is 8-byte or 11-byte. PIN pad will check if the length of data with tag value 5F88 is more than 1-byte and less than 27-byte. Message flow: HOST  Direction      PIN pad 1st Message T07      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) Tag  Data Format Min Len Max Len Or Flag 5F88  4  02  1A  0 (data length is 2 ~ 26 bytes) 5F99  2  08  0B  1 (data length is 8 bytes or 11 bytes)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page82 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages   1st Message T08 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page83 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T08    Data Format Table Setup Response Format:    <STX>T08[Res][Reason][Err Msg]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T07.  Message element:   Field  Length  Value and description <STX>  1  <02> T08  3  Message ID Res  1  ‘0’: Ok, ‘1’: Fail Reason  1  ‘1’: Fatal Error ‘2’: Format Error Err Message  8  Optional, if Reason = ‘1’Hex String <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T07.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page84 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T09    EMV Config Data Query Message Format:    <STX>T09[Config Type]<ETX>[LRC] Message length:  Fixed 7 bytes. Usage:  Get the group ID of EMV application data or CA public key stored in PIN pad.  Message element:   Field  Length  Value and description <STX>  1  <02> T09  3  Message ID [Config Type]  1  1: All the IDs of CA public key. 2: All the IDs of EMV application data. <ETX>  1  <03> [LRC]  1  Checksum   Message flow: HOST  Direction  PIN pad Message T09      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T0A <ACK>/ <NAK>/ <EOT> 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page85 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T0A Response of EMV Config Data Query Message Format:    <STX>T0A[Config Type][Status]<SUB>[ID List]<ETX>[LRC] Message length:  Variable. Usage:  Get the group ID of EMV application data or CA public key stored in PIN pad.  Message element:   Field  Length  Value and description <STX>  1  <02> T0A  3  Message ID Config Type  1  Return the inputted data in the field [Config Type] of T09. Status  1  0: There is data in identified data type. 1: No data in identified data type. 2: Arrange exceed. <SUB>  1  <1A>, Optional if Status is 0 ID List  Var  Optional, if Status is 0. [LRC]  1  Checksum  [ID List]: The concatenation of IDs. There is a <FS> between each ID.   Ex. [ID List] = A00000000390<FS> A000000004F8<FS> A000000004F5 ( Config Type = 1 )       [ID List] = A0000000041010<FS>B0123456781234<FS> A000000010 ( Config Type = 2 )  Message flow: Please refer to message T09.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page86 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T0B Delete EMV Configuration Data Message. Format:    <STX>T0B[Config Type]<SUB>[ID List]<ETX>[LRC]  Message length:  Variable.   Usage:  Host  can  use  this  command  to  delete  EMV  application  configuration  data or  CA public key in PIN pad, this command can be sent many times.  Message element:   Field  Length Value and description <STX>  1  <02> T0B  3  Message ID Config Type 1  1: CA public key. 2: EMV application data. <SUB>        1  <1A> ID List      Var  List of ID that will be erased. <ETX>  1  <03> [LRC]  1  Checksum  [ID List]: The concatenation of IDs. There is a <FS> between each ID.   Ex. [ID List] = A00000000390<FS> A000000004F8<FS> A000000004F5 ( Config Type = 1 )       [ID List] = A0000000041010<FS>B0123456781234<FS> A000000010 ( Config Type = 2 )  Message flow: HOST  Direction      PIN pad Message T0B      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T0C <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page87 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T0C Response of Delete EMV Configuration Data Message. Format:    <STX>T0C[Config Type][Status]<SUB>[Del Result]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T0B.    Message element:   Field  Length  Value and description <STX>  1  <02> T0C  3  Message ID Config Type  1  1: CA public key. 2: EMV application data. Status  1  0: Delete OK 1: Fatal Error 2: Format error. 3:  No  CA  public  key  or  EMV  application  data existed. <SUB>  1  <1A>, Optional, if Status is 0. Del Result  var    The results of delete operation on indicated ID <ETX>  1  <03> [LRC]  1  Checksum  [Del Result]: It’s the concatenation of results for delete operation on indicated ID. There is a <FS>   between each result. If the delete operation is successfully (When PIN pad finds   out the matched one and delete it successfully), the result is 0. If there is no such ID as   terminal specified, the result is 1.  Ex. Terminal issues message T0B to erase EMV application data with ID “A0000000102020”,   “A0000020” and “A0000000103030”. PIN pad now keeps EMV application data with ID   “A0000000103030” only. The data in [Del Result] field will be “1<FS>1<FS>0”.    Message flow:  Please refer to message T0B.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page88 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T11    Application Select Format:    <STX>T11<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  PIN  pad  performs  an  application  select  on  the  active  smart  card.  PIN  pad  will  also prompt user to insert its card if the card has not yet presented. PIN pad will send the message T12 (Application Selection Response) to host.  Message element:   Field  Length  Value and description <STX>  1  <02> T11  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum   Message flow: HOST  Direction      PIN pad Message T11      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Application Select Response. Message T12 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page89 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T12    Application Select Response Format:    <STX>T12[Status][Reason][Application Name][ErrMessaeg]<ETX>[LRC] Message length:  Variable, depending on the length of returned application name. Usage:  The message contains the name of final selected application on the smart card to be sent to host. In general, application name conforms to the EMV 4.3 level 2. See these standards for more information. Message element:   Field  Length Value and description <STX>  1  <02> T12  3  Message ID Status  1  0:OK [Application Name]  10-32  EMV application is selected successfully. Format: Hexadecimal string. The content of this filed will not exist if there is no EMV application can be selected.   <ETX>  1  <03> [LRC]  1  Checksum OR Field  Length Value and description <STX>  1  <02> T12  3  Message ID Status  1  1:Fail Reason  1  1:Fatal Error 2:Command Format Error 3.Transaction Canceled 4.MSR processing. [Err Message]  8  Optional, if Reason = ‘1’Hex String <ETX>  1  <03> [LRC]  1  Checksum NOTE. According to EMV Level2’s rule, if IC card can not be read, PIN pad will return message “T1214” to indicate that terminal should apply magnetic stripe card processing. In this situation, terminal should issue message Q1 to get magnetic stripe data and issue message T1D to tell PIN pad the data  element  in  magnetic  stripe  card  and message  T15  to  transmit  necessary  data  (Amount, transaction type, and so on.) to make PIN pad record enough information for this transaction.    Message flow:  Please refer to message T11.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page90 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T13    Application Select Next Format:    <STX>T13<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  If the selected EMV application is blocked (terminal will know that in message T16), terminal could issue this message to ask PIN pad to display rest of EMV application for cardholder selection.  Message element:   Field  Length  Value and description <STX>  1  <02> T13  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum   Message flow: HOST  Direction      PIN pad Message T13      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Application Select Response. Message T12 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page91 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T15    Start Transaction Format:    <STX>T15<SUB>[AmtAuth]<SUB>[AmtOther]<SUB> [CurExponent][CurCode]<SUB>[TranType]<SUB>[TranInfo]<SUB> [Account  Type]<SUB>[Force  Online]<SUB>[Encrypted  Session  key]  <ETX>[LRC] Message length:  Variable.   Usage:  PIN pad performs an completed EMV transaction flow (via ‘Initiate Application’ through ‘Completion’,  see  EMV  4.3,  book  3,  chap  8.2,  figure  6  -  transaction  flow  example) based  on  the  selected  EMV  application  that  has  corrected  application  name  on the T12  (Application  Select  response),  PIN  pad  will  also  prompt  user  to  do  the appropriated entry when presented, like confirm or enter PIN code. PIN pad will send the message T16 (Start Transaction Response) to host. If the IC card can not be read (switch to magnetic stripe card processing), PIN pad will store the information provided from this message  and return the  track data  of magnetic  stripe  card  and then finish EMV  transaction  (The rest of  operation on  magnetic  stripe card  is  outside  scope of EMV). Terminal could have extra operation on magnetic stripe card transaction (Issue message 70 for PIN, and so on.). Message element:   Field  Length Value and description <STX>  1  <02> T15  3  Message ID <SUB>  1  <1A> [AmtAuth] 12  Hexadecimal,  Amount  Authorized  tag ‘0x9F02’ <SUB>  1  <1A> [AmtOther] 12  Hexadecimal,  Amount  Other,  tag ‘0x9F03’ <SUB>  1  <1A> [CurExponent]  1  Hexadecimal, tag ‘0x5F36’ [CurCode] 3  Hexadecimal, tag ‘0x5F2A’.   For example, USD$ = 0x840 <SUB>  1  <1A> [TranType] 2  Hexadecimal,  Transaction  Type,  tag ‘0x9c’ <SUB>  1  <1A> [TranInfo] 2  Transaction Info, tag ‘0x60000001’ <SUB>  1  <1A> [Account Type] 2  Account Type, tag ‘0x5F57’
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page92 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages <SUB>  1  <1A> [Force Online] 1  1: Force Online <SUB>  1  <1A> [Encrypted Session key] 16  or 32 (Optional, if the transaction needs user to enter password for online authorized and  not  session  key  exists,  PIN  pad will  ignore  the  password  input  and indicate  that  no  password  is  entered) DES  session  key  /  TDES  session  key used for EMV online PIN entry. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message T15      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Start Transaction Response. Message T16 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page93 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T16    Start Transaction Response Format:    <STX>T16[Status][Reason][Err Message][Result]<SUB> <Advice Need><Reversal Need><Financial Need><ETX>[LRC] Message length:  Variable. Usage:  The message contains the transaction result on the smart card to be sent to terminal. Message element:   Field  Length Value and description <STX>  1  <02> T16  3  Message ID Status  1  0:OK; 1:Fail Reason  1  Optional. (If Status = 1) 1:Fatal Error 2:Command Format Error Err Message  8  Optional, if Reason = ‘1’Hex String Result  2  Optional. (If Status = 0) ‘Y1’: Offline Approved, ‘Z1’: Offline Declined ‘Y3’: Unable to go online,           Offline Approved ‘Z3’: Unable to go online, Offline Decline. ‘Y4’: Online Approved ‘Z4’: Online Decline ‘A1’: Online Authorize Request,   ‘A4’: Application reselection. <Reversal Need>  1  0: Terminal does not need to send a reversal to   host for this transaction 1: Terminal should send a reversal to host for this  transaction. <ETX>  1  <03> [LRC]  1  Checksum  Note: If the [Result] is ‘A1’, then terminal  should send online authorization request to issuer host; and after done, send message T17 to PIN pad to continue transaction. (See EMV 4.3, book 3, chap 9, figure 7) Note: If the transaction is switched to MSR processing, T16 will always return “A1” in [Result] field.  Note:  If  the  previous  selected  application  on  IC  card  can’t  do  the  transaction  (for  example,  this
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page94 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages application has blocked) but has another application ID within this IC card, PIN pad will response ‘A4’ to let terminal know and terminal can issue message T13 to select another application ID and issue  message  T15  to  re-start  the  transaction.  Please  refer  the  paragraph  of  “Ref.  5  Packet command  flow  for  first  EMV  application  is  blocked”  in  the  section  of  “Overall  EMV  Level  2 transaction flow reference”.  Message flow:  Please refer to message T15.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page95 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T17    Send Online Authorized Code Format:    <STX>T17[OnlineRes]<SUB>[ARC]<SUB>[IAD]<ETX>[LRC] Message length:  Fixed 7 or 16 bytes.   Usage:  PIN  pad  continues  to  perform  the  EMV  transaction  flow  after  received  this  online response  from  host  when  the  transaction  response  T16  is  ‘A1’  (online  authorized request, see EMV 4.3, book 3, chap 8.2, figure 6 – transaction flow example). PIN pad will send the message T16 (Start Transaction Response) to host. Message element:   Field  Length  Value and description <STX>  1  <02> T17  3  Message ID Online Res  1  ‘0’: Unable to go online <ETX>  1  <03> [LRC]  1  Checksum   OR Field  Length  Value and description <STX>  1  <02> T17  3  Message ID Online Res  1  ‘1’: Get Online Response, <SUB>  1  <1A> ARC  2  Optional, if there is ARC from host. Authorisation  Response  code,  ASCII (0~9, A~Z),. <SUB>  1  <1A> [IAD] 16~32  Optional, if there is IAD from host. Issuer Authentication Data , Hex string. <ETX>  1  <03> [LRC]  1  Checksum  OR (If the transaction is changed to Magnetic stripe card processing) Field  Length  Value and description <STX>  1  <02> T17  3  Message ID Online Res  1  ‘3’: MSR Online Approve other: MSR Online Decline, <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page96 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Note: If [Online Res] is ‘4’, then PIN pad will decide to approve or decline by the rule of TAC/IAC default.    Message flow: HOST  Direction      PIN pad Message T17      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Start Transaction Response. Message T16 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page97 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T19    Send Issuer Script Command Format:    <STX>T19[IS]<ETX>[LRC] Message length:  Var.   Usage:  PIN  pad  performs  the  Issuer  script  processing  as  in  EMV  transaction  flow  after received this command from the host  those  are the response message  when doing online  authorization.  This  command  can  be  send  many  times  if  too  many  script commands  need  to  be  processed,  but  the  last  one  should  be  send  before  T17 command.   Message element:      Message flow: HOST  Direction  PIN pad Message T19      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T20 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)      Issuer Script Format: (see EMV 4.3, book 3, chap 10.10, Figure 14)    T  L  T  L  Script ID  Commands ‘71’ or ‘72’ Including Script ID, tags, lengths ‘9F18’  ‘04’  Identifier (4 bytes) Issuer Script Command Format (see below)    Issuer Script Command Format: (see EMV 4.3, book 3, chap 10.10, Figure 15)    Field  Length  Value and description <STX>  1  <02> T19  3  Message ID IS  Var.  Issuer Script, format as follow. Hex string. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page98 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages T1  L1  V1  T2  L2  V2  T3  L3  V3  Tx  Lx  Vx ‘86’  L(V1) Cmd ‘86’  L(V2) Cmd ‘86’  L(V3) Cmd ‘86’  L(Vx) cmd
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page99 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T1D Transaction Data loading Format:    <STX>T1D<SUB>[DO]<ETX>[LRC] Message length:  Variable. Usage:  Terminal can use this command to send transaction data to PIN pad, this command can be sent many times. PIN pad will save those data inside and apply those data when do the transaction. PIN pad will send the message T1E to terminal. Message element:   Field  Length Value and description <STX>  1  <02> T1D  3  Message ID <SUB>  1  <1A, Optional, only if [DO] is existed DO  Var.  Data Object, format as below <ETX>  1  <03> [LRC]  1  Checksum  Data Object:   Each <DO> shall include three data field: [Tag#] || [Format] || [Value], and each field shall delimit with a <FS>. Each data object is delimited by a <SUB> to construct multiple <DO>. The [tag#] defined in EMV 4.3 Book3 Annex A and specific [tag#] defined at Appendix D of this manual have the pre-defined data format and length range, those [tag#] must follow up the rule, otherwise the PP791 will reject this data setup. Any customer defined [tag#] number shall use the command T07 pre-defined the data format and length range before load by this T1D command.    Note. If the data format is ‘2’ (binary), ‘5’(compressed numeric), ‘6’(numeric) or ‘7’(variable data),     Data Format: (Please also refer to EMV 4.3 BOOK3, section 4.3) Format Description 1  a - Alphabetic data (a ~z, A~Z) 2  b - unsigned binary numbers or bit combinations 3  an - Alphanumeric data  (a ~z, A~Z, 0~9) 4  ans - Alphanumeric Special data (Characters defined in ISO8859) 5  cn - Compressed numeric data (0~9, left justify, pad hexadecimal ‘F’s. Ex. 12 34 56 12 3F FF) 6  n - Numeric data (0~9, right justify, pad leading hexadecimal zeroes. Ex. 00 00 00 01 23 45) 7  var - Variable data (Any bit combination)  Example:   (IC card can not be read, terminal changes to MSR processing and then load these data into PIN pad.) Service Code:  0211 (Numeric)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page100 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages PAN:  123456789022334455(Compressed Numeric) Terminal sends, <STX>T1D<SUB>5F30<FS>6<FS>0211<SUB>5A<FS>5<FS>123456789022334455<ETX>[LRC]  NOTE. The data from online host can be installed into PIN pad also. Please do not load ARC, IAD and issuer scripts via this message. NOTE. Terminal should issue this message to load online response data before issue message T17.  Message flow: HOST  Direction      PIN pad Message T1D      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T1E <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page101 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T1E    Transaction Data loading Response Format:    <STX>T1E[Res][Reason][Err Msg]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T1D.  Message element:   Field  Length  Value and description <STX>  1  <02> T1E  3  Message ID Res  1  ‘0’: Ok, ‘1’: Fail Reason  1  <Optional, if Res = ‘1’> ‘1’: Fatal Error ‘2’: Format Error ‘3’: Invalid Data Object format. ‘4’: Invalid Tag value Err Message  8  Optional, if Reason = ‘1’, Hex decimal string Err Tag Number  Var.  Optional,  if  Reason  =  ‘3’  or  ‘4’,  Hex  decimal string <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T1D.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page102 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T20    Send Issuer Script Command Response Format:    <STX>T20[Status][Reason][Err Message]<ETX>[LRC] Message length:  Variable. Usage:  The message response the command T19.    Message element:   Field  Length Value and description <STX>  1  <02> T20  3  Message ID Status  1  0:OK ; 1:Fail Reason  1  Optional. (if Status = 1) 1:Fatal Error 2:Command Format Error Err Message  8  Optional, if Reason = ‘1’Hex String <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T19.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page103 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T21    Get Transaction Result’s Data Format:    <STX>T21[DOL]<ETX>[LRC] Message length:  Var.   Usage:  PIN pad will retrieve the data that list on the DOL after EMV transaction done. PIN pad will send the message T22 (Get Transaction Result’s Data Response) to host. Message element:    Field  Length  Value and description <STX>  1  <02> T21  3  Message ID DOL  Var  Data  Object  List,  each  object  is  expressed by  tag  number,  and  <SUB>  is  used  to delimit each object. For example, 9F12<SUB>9A<SUB>9F02<SUB>…. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message T21      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> after 3 NAKs   Get Transaction Result’s Data Response. Message T22 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page104 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T22    Get Transaction Result’s Data Response Format:  <STX>T22[DO]<ETX>[LRC] Message length:  Var. Usage:  The message contains the transaction result’s data to be sent to host. Message element:   Field  Length  Value and description <STX>  1  <02> T22  3  Message ID [DO]  Var  Data  Object,  each  data  object  is expressed  by  TLV  format  with  an <FS>  delimit  in  each  field,  and <SUB>  is  used  to  delimit  each object. For example: 9F12<FS>0F<FS>CREDITO  DE VISA<SUB>9A<FS>06<FS>050806<SUB>……. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T21.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page105 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T23    Erase EMV Transaction Log. Format:  <STX>T23<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  The message is used to purge the memory (flash) area for transaction logs. Message element:   Field  Length  Value and description <STX>  1  <02> T23  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum    Message flow: HOST  Direction   PIN pad Message T23      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page106 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T1C Terminal Cancel Transaction Format:  <STX>T1C<ETX>[LRC] Message length:  Fixed 6 bytes Usage:  The message used to cancel the transaction.. Message element:   Field  Length  Value and description <STX>  1  <02> T1C  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message T1C      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page107 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T25    Get Batch Data Format:  <STX>T25<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  Issue this message to get batch data (EMV). Message element:   Field  Length  Value and description <STX>  1  <02> T25  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum    Each  issuing  of  message  T25,  PIN  pad  will  return  one  of  record  in  batched  data  via  message  T26. Terminal could keep issuing message T25 until PIN pad return message to indicate that there is no more record in batch data.  User  can  load  a  tag  list  of  batch  data  into  PIN  pad,  PIN  pad  will  search  the  corresponding  values according to the tag list and store it as transaction record. Please refer to Appendix D for more details.        Note. If there is no more memory space for batch data, EMV transaction will be always failed transaction.                 Please issue message T23 to release the memory space.       Note. PIN pad can store at most 1000 records.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page108 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction      PIN pad Message T25      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T26 (T262) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T25      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T26 (T262) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   …  …  … Message T25      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T26 (T261) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)  PIN pad erases batch data.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page109 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T26    Response of Get Batch Data message Format:  <STX>T26[Status][record of Batch data]<ETX>[LRC] Message length:  var. Usage:  Return batch data to terminal. Message element:   Field  Length  Value and description <STX>  1  <02> T26  3  Message ID Status  1  0: No more record. 1: It is the last one record inside PIN pad. 2: There is still record inside PIN pad. [Batch data]  Var.  Hex string. <ETX>  1  <03> [LRC]  1  Checksum  Format of Batch data: According to the tag list of  batch  data (refer to Appendix  D), PIN pad will  search  the  corresponding values according to the tag list and store it as transaction record. [EMV Tag Number (1 ~ 4 byte)] || [Length (1byte)] || [Value] || [EMV Tag Number (1 ~ 4 byte)] || [Length (1byte)] || [Value] || …[EMV Tag Number (1 ~ 4 byte)] || [Length (1byte)] || [Value]. PIN pad can save at most 256 bytes of data as one record, the right part of data will be ignored if the length record is greater than 256 byte.  PIN pad will unpack the binary data into hex string and return to terminal. For example, the data of one record  is  0x9F02  ||  06  ||  000000001100  ||  5A  ||  10  ||  1122334455667  7889900AABBCCDDEEFF, terminal will see “9F02060000000011005A1011223344556677889900A ABBCCDDEEFF” in [Batch data] field.  Message flow: Please refer to message T25
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page110 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T27    Get Online authorization Data Format:  <STX>T27<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  Issue this message to get data (EMV) for online authorization. Message element:   Field  Length  Value and description <STX>  1  <02> T27  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum    While the EMV transaction must be authorized online, issuing message T27 to get the necessary data for online authorization from PIN pad. If the transaction must be authorized online, PIN pad    User can load a tag list for online authorization data into PIN pad, PIN pad will search the corresponding values according to the tag list and return it as transaction record. Please refer to Appendix D for more details.  Message flow: HOST  Direction      PIN pad Message T27      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T28 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page111 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T28    Response of Get Online authorization Data message Format:  <STX>T28[record of online authorization data]<ETX>[LRC] Message length:  var. Usage:  Return online authorization data to terminal. Message element:   Field  Length  Value and description <STX>  1  <02> T28  3  Message ID Online authorization data  Var.  Hex string. Optional,  if  this  transaction  needs  to  be authorized online. <ETX>  1  <03> [LRC]  1  Checksum  Online authorization data: According to  the tag list  of  online  authorization  data (refer  to  Appendix  D),  PIN  pad  will  search  the corresponding values according to the tag list and return it as transaction record. [EMV Tag Number (1 ~ 4 byte)] || [Length (1byte)] || [Value] || [EMV Tag Number (1 ~ 4 byte)] || [Length (1byte)] || [Value] || …[EMV Tag Number (1 ~ 4 byte)] || [Length (1byte)] || [Value]. PIN pad can return at most 256 bytes of data as one record, the right part of data will be ignored if the length record is greater than 256 byte.  PIN pad will unpack the binary data into hex string and return to terminal. For example, the data of one record is 0x9F02 || 06 || 000000001100 || 5A || 10 || 11223344556677889900AABBC CDDEEFF,  terminal  will  see  “9F02060000000011005A1011223344556677889900AABBCCDDEEFF” in [Batch data] field.  Message flow: Please refer to message T27
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page112 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T29    Get Reversal Data Format:  <STX>T29<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  Issue this message to get data (EMV) for reversal. Message element:   Field  Length  Value and description <STX>  1  <02> T29  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum       While the EMV transaction needs a reversal, issuing message T29 to get the necessary data for reversal from  PIN  pad.  User  can  load  a  tag  list  for  reversal  data  into  PIN  pad,  PIN  pad  will  search  the corresponding  values  according  to  the  tag  list  and  return  it  as  transaction  record.  Please  refer  to Appendix D for more details.  Message flow: HOST  Direction      PIN pad Message T29      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T2A <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)      Note. Terminal could always get reversal data even if the message T16 indicates that the reversal is not   needed.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page113 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T2A Response of Get Reversal Data message Format:  <STX>T2A[record of Reversal data]<ETX>[LRC] Message length:  var. Usage:  Return reversal data to terminal..   Message element:   Field  Length  Value and description <STX>  1  <02> T2A  3  Message ID Reversal data  Var.  Hex string. Optional, if this transaction needs a reversal. <ETX>  1  <03> [LRC]  1  Checksum  Reversal data: According to the tag list of reversal data (refer to Appendix D), PIN pad will search the corresponding values according to the tag list and return it as transaction record. [EMV Tag Number (1 ~ 4 byte)] || [Length (1byte)] || [Value] || [EMV Tag Number (1 ~ 4 byte)] || [Length (1byte)] || [Value] || …[EMV Tag Number (1 ~ 4 byte)] || [Length (1byte)] || [Value]. PIN pad can return at most 256 bytes of data as one record, the right part of data will be ignored if the length record is greater than 256 byte.  PIN pad will unpack the binary data into hex string and return to terminal. For example, the data of one record is 0x9F02 || 06 || 000000001100 || 5A || 10 || 11223344556677889900AABBC CDDEEFF,  terminal  will  see  “9F02060000000011005A1011223344556677889900AABBCCDDEEFF” in [Batch data] field.  Message flow: Please refer to message T29
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page114 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Overall Contact EMV Level 2 transaction flow reference  Ref. 1  Packet command flow for transaction with offline  HOST  Direction      PIN pad T11 (Application Select )      T12 (Application Select Response) T15 (Start Transaction)      T16 (Start Transaction Response) [Result] = ‘Y1’ or ‘Z1’ T21 (Get Transaction Result’s Data)      T22 (Get Transaction Result’s Data Response)  Ref. 2  Packet command flow for transaction with online  HOST  Direction      PIN pad T11 (Application Select )      T12 (Application Select Response) T15 (Start Transaction)      T16 (Start Transaction Response) [Result] = ‘A1’ T27 (Get online data from PIN pad)        T28 (Online authorization data response) Go Online     T1D (Send necessary online response  data to PIN pad.)     T1E T17 (Send Online Authorized Code)      T16 (Start Transaction Response) [Result] = ‘Y3’ or ‘Y4’ or ‘Z3’ or ‘Z4’ T21 (Get Transaction Result’s Data)      T22 (Get Transaction Result’s Data Response)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page115 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Ref. 3    Packet command flow for transaction with MSR.  HOST  Direction      PIN pad T11 (Application Select )      T12  (Application  Select  Response indicates  that  PIN  pad  fails  to  read  IC card) Issue magnetic stripe card commands    T1D (Send necessary magnetic stripe  card data to PIN pad.)     T1E T15 (Start Transaction)      T16 (Start Transaction Response) [Result] = ‘A1’ Go Online     T1D (Send necessary online response  data to PIN pad.)     T1E T17 (Send Online Authorized Code)      T16 (Start Transaction Response) [Result] = ‘Y4’ or ‘Z4’ T21 (Get Transaction Result’s Data)      T22 (Get Transaction Result’s Data Response)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page116 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Ref. 4  Packet command flow for transaction with online and Issuer Script command Processing  HOST  Direction      PIN pad T11 (Application Select )      T12 (Application Select Response) T15 (Start Transaction)      T16 (Start Transaction Response) [Result] = ‘A1’ T27 (Get online data from PIN pad)      T28 (Online authorization data response) Go Online     T19 (Send Issuer Script command) (if many commands)     T20 (Send Issuer Script command Response, continued) T1D (Send necessary online response  data to PIN pad.)     T1E T17 (Send Online Authorized Code)      T16 (Start Transaction Response) [Result] = ‘Y3’ or ‘Y4’ or ‘Z3’ or ‘Z4’ T21 (Get Transaction Result’s Data)      T22 (Get Transaction Result’s Data Response)   Ref. 5  Packet command flow for first EMV application is blocked  HOST  Direction      PIN Pad T11 (Application Select )      T12 (Application Select Response) T15 (Start Transaction)      T16 (Start Transaction Response) [Result] = ‘A4’ T13 (Application Select Next)      T12 (Application Select Response)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 6 – Contact EMV Level 2 transaction messages  2015-04-20   Page117 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages T15 (Start Transaction)      T16 (Start Transaction Response) [Result] = ‘Y1’ or ‘Z1” T21 (Get Transaction Result’s Data)      T22 (Get Transaction Result’s Data Response)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page118 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 7    Contactless EMV Level 2 transaction messages Contactless  EMV  Level2 transaction messages are divided into 2 groups. One is EMV-configuration data operation messages (T51, T53, T55 ,T75, T77 ) and the other one is EMV-transaction messages (T61, T63, T65, T6C, T71 and T73).  The  PCD  EMV  transaction  messages  issuing  sequence  is  control  by  PIN  pad,  an  invalid  sequence  will terminate PCD EMV transaction. Message T61 is used for terminal-side to transmit transaction information such  as amount  and then  PIN pad do a complete transaction with card if the transaction  needs  not to  be authorized online. Message T71 is applied if the transaction needs to be authorized online, terminal-side will transmit necessary information via this message to PIN pad to continue the rest steps of transaction. If the response from host contains issuer script (see EMV Book), terminal-side applies message T73 to input these scripts into PIN pad and PIN pad will issue these scripts at appropriate time to card. Message T6C is used to terminate  an  EMV  transaction.  Finally,  message  T65  is  used  for  terminal-side  to  get  the  transaction information  through  PCD  EMV  transaction.  The  transaction  flow  chart  could  be  referred  in  “Overall Contactless EMV level 2 transaction flow reference” section.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page119 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  The meaning of error code in the [Err Message] are listed below:  Error Code  Error Description 00000003  Service not accepted. 00000F9B  Store configuration data error. 8FFF0001  Out of memory. 8FFF0002  Parameter error. 8FFFFF02  Tag’s data format error. 8FFFFF03  Some mandatory tags are not configured well. 8FFFFFF0  Command format error. 8FFFFFF1  The sequence of EMV transaction command is error. 8FFFFFF2  Terminal fundamental data is missing. 8FFFFFF3  Authentication failed. 8FFFFF1A  Authentication key expired. 8FFFFF1B  Terminal configuration data is missing. 8FFFFF1C  No configuration data of EMV application or the data is missing. 8FFFFFF4  The storage space of batch data capture is full. 8FFFFFF5  No terminal configuration data, EMV application configuration data or CA public key. A2000001  Application initial conditions are not satisfied. A2000002  The generated cryptogram is not allowed. A2000007  The instruction ID of the specified is not recognized. A200000A  The type to request application cryptogram is incorrect. A200000C  The status response (SW1 SW2) is other than ‘9000’. A200000D  The Generate AC command is called more than 2 times in the current transaction. A200000E  The AIP mandatory data is missing in response data from card. A200000F  The AFL mandatory data is missing in response data from card. A2000010  The response template from card isn't correct. A2000011  The format of AFL is incorrect. A2000013  A redundant data output from card is not allowed. A2000014  Missing mandatory data in response data from card. EFFFFFFF  EMV transaction cancelled. DFFFFFFF  EMV forced abort. FFFF0001  There is an error when parse the TLV list data. FFFFFFFF  The contactless card doesn’t response data.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page120 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T51  PCD Terminal Configuration Setup Format:    <STX>T51[Pkt No.][Total Pkts]<SUB>[DO]<ETX>[LRC]  Message length:  Variable.   Usage:  Host  can  use  this  command  to  send  terminal  configuration  data  to  PIN  pad,  this command  can  be  sent  many  times.  PIN  pad  will  save  those  data  inside  and  apply those  data  when  do  the transaction.  PIN  pad  will  send  the  message  T52  (Terminal Configuration Setup Response) to host. Message element: Field  Length Value and description <STX>  1  <02> T51  3  Message ID Pkt No.  1  Decimal. Packet sequence number (1 ~ 9)(ex. 2) Total Pkts  1  Decimal. Total packets (1~9)(ex. 8). <SUB>  1  <1A, Optional, only if [DO] is existed DO  Var.  Data Object, format as below <ETX>  1  <03> [LRC]  1  Checksum  Data Object Format: each data object is delimited by <SUB>, and each field inside each data   object is delimited by <FS>.    Data Format: (Please also refer to EMV Contactless Specifications v2.4,) Format Description 1  a - Alphabetic data (a ~z, A~Z) 2  b - unsigned binary numbers or bit combinations 3  an - Alphanumeric data  (a ~z, A~Z, 0~9) 4  ans - Alphanumeric Special data (Characters defined in ISO8859) 5  cn - Compressed numeric data (0~9, left justify, pad hexadecimal ‘F’s. Ex. 12 34 56 12 3F FF) 6  n - Numeric data (0~9, right justify, pad leading hexadecimal zeroes. Ex. 00 00 00 01 23 45) 7  var - Variable data (Any bit combination)  Note.  User  has  to  obey  the  restriction  specified  in  EMV  Contactless  Specifications  v2.4,  and Appendix F of this document to load configuration data. PIN pad will check if the length of each  configuration  data  item  is  consistent.  Any  inconsistent  data  item  will  make  data loading fail.   Note. If the data format is ‘2’ (binary), ‘5’(compressed numeric), ‘6’(numeric) or ‘7’(variable data),   it can not be allocated in message T51 directly. It should be transferred into hexadecimal string and then allocated in message T51.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page121 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Example: (Clear the terminal configuration data and then setup new data.) Merchant Category Code:  0000 (Numerical) Terminal ID:      SmartPOS (Ascii) UI Capability:      0x01 (binary)  <STX>T5111<SUB>9f15<FS>6<FS>0000<SUB>9f1c<FS>3<FS>SmartPOS<SUB> 50000002<FS>2<FS>01<ETX>[LRC]  Special Tag for PIN pad: 0x50000001, 0x50000002 Name  Description  Format  Tag  Length Terminal UI Capability 0:  Make  PIN  pad  selects  the  highest priority  application  without  cardholder’s confirmation. B  50000002  1 These data object are defined in EMV Contactless Specifications v2.4,, without tag values. The tag values are   defined by UIC.  PIN pad will check if terminal downloads minimum set of terminal-related information into PIN pad. The download process will be failed if there is not enough data in this message. Please refer to Appendix G for minimum set of terminal-related data  Message flow: HOST  Direction      PIN pad 1st Message T51      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   1st Message T52 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   2nd Message T51      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   2nd Message T52 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page122 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages …  …  … Last one Message T51      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Last one Message T52 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page123 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T52 PCD Terminal Configuration Setup Response Format:    <STX>T52[Res][Reason][Err Msg][Err Tag Number]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T51.  Message element:   Field  Length  Value and description <STX>  1  <02> T52  3  Message ID Res  1  ‘0’: Ok, ‘1’: Fail Reason  1  <Optional, if Res = ‘1’> ‘1’: Fatal Error ‘2’: Format Error ‘3’: Invalid Data Object format. ‘4’: Invalid Tag value Err Message  8  Optional, if Reason = ‘1’, Hex decimal string Err Tag Number  Var.  Optional,  if  Reason  =  ‘3’  or  ‘4’,  Hex  decimal string <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T51.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page124 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T53 PCD Certification Authority Public Key Setup Format:    <STX>T53[Op code][RID][PKI][Hash Algo][Hash][PK Algo][PK Leng] [PK Exponent]<ETX>[LRC] <STX>T53[Op code][PK Modulus]<ETX> Message length:  Variable.   Usage:  Host can use this command to send the Certification Authority Public key data to PIN pad, each command can only setup one key but this command can be sent many times.  PIN  pad  will  save  those  key  data  inside  and  use  those  data  when  do  the transaction.  PIN  pad  will  send  the  message  T54  (Certification  Authority  Public  Key Setup Response) to host. The data installed into PIN pad via this message, PIN pad will save it in internal storage structure with a name same as concatenation of value in [RID] and [PKI] fields. Ex. value in [RID] field is “A000000003”, value in [PKI] filed is “90”, PIN pad will save these data and give an ID as “A00000000390”.  Message element:   1st Packet (Load RSA public key): Field  Length Value and description <STX>  1  <02> T53  3  Message ID Op code  1  1: Load first part of RSA public key RID  10  Hexadecimal  string,  the  left  5  bytes  of  Registered Application Provider ID PKI  2  Public  Key  Index,  hexadecimal  string.  (Refer  to EMV Contactless Specifications v2.4, tag ‘9F22’)   Hash Algorithm 2  Hash Algorithm Index, hexadecimal string ‘01’: SHA-1. Now, PIN pad accepts only ‘01’. Hash  40  Hash checksum, hexadecimal. Sha1(PKModules) or   Sha1(RID+PKI+PKModules+PKExp) PK Algorithm 2  Public Key Algorithm, hexadecimal string ‘01’:  RSA digital  signature.  Now,  PIN  pad  accepts only ‘01’. PK Leng  2  Public Key size, hexadecimalstring, for example: ‘80’ = 128 bytes = 1024 bits PK Exponent 1  Public Key Exponent’s size, hexadecimal 1: 3 2: 216+1
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page125 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages <ETX>  1  <03> [LRC]  1  Checksum  2nd Packet (Load RSA public key): Field  Length  Value and description <STX>  1  <02> T53  3  Message ID Op code  1  2: Load second part of RSA public key PK Modulus Var  Public  Key  Modulus,  presented  in hexadecimal, data length = 2*[PK length] <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad 1st Message T53      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   1st  CA  Public  Key  Setup Response Message T54 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   2nd Message T53      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   2nd  CA  Public  Key  Setup Response Message T54 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page126 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T54 PCD Certification Authority Public Key Setup Response Format:    <STX>T54[Sequence][Res][Reason][Err Msg]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T53.    Message element:   1st, 2nd Packet: Field  Length  Value and description <STX>  1  <02> T54  3  Message ID Sequence  1  1 / 2 (first/second part of RSA public key) Res  1  ‘0’: Ok, ‘1’: Fail Reason  1  ‘1’: Fatal Error ‘2’: Format Error ‘3’: Authentication Fail Err Message  8  Optional, if Reason = ‘1’Hex String <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T53.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page127 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T55 PCD Application Configuration Setup Format:    <STX>T55[Pkt No.][Total Pkts]<SUB>[TXN]<SUB>[KID]<SUB>[AID]<SUB> [DO]<ETX>[LRC]   <STX>T55[Pkt No.][Total Pkts]<SUB>[DO]<ETX>[LRC] Message length:  Variable.   Usage:  Host can use this command to send the EMV application configuration data to PIN pad,  this  command  can  be  sent  many  times  but  each  command  is  only  for  one application.  PIN  pad  will  save  those  data  inside  and  use  those  data  when  do  the transaction. PIN pad will send the message T56 (EMV Application Configuration Setup Response) to host. The data installed into PIN pad via this message, PIN pad will save it in internal storage structure with a name same as in [AID] field.  Message element:   1st Message: Field  Length Value and description <STX>  1  <02> T55  3  Message ID Pkt No.  1  Decimal. Packet sequence number (1 ~ 9) Total Pkts  1  Decimal. Total packets (1~9)(ex. 8). <SUB>  1  Optional, if Pkt No is 1 <1A> TXN  2  Optional,  if  Pkt  No  is  1.  Transaction type,  refer  to  EMV Contactless Specifications v2.4. <SUB>  1  Optional, if Pkt No is 1 <1A> KID  6  Optional, if Pkt No is 1. Kernel ID, refer to Appendix F . <SUB>  1  Optional, if Pkt No is 1 <1A> AID  10~32 Optional,  if  Pkt  No  is  1.  EMV  Application  ID,  refer  to  EMV Contactless Specifications v2.4. <SUB>  1  Optional, only if [DO] is existed DO  Var.  Data Object, format as below <ETX>  1  <03> [LRC]  1  Checksum Rest of Message (If there are 2 more messages): Field  Length Value and description <STX>  1  <02> T55  3  Message ID Pkt No.  1  Decimal. Packet sequence number (1 ~ 9) Total Pkts  1  Decimal. Total packets (1~9)(ex. 8). <SUB>  1  Optional, only if [DO] is existed
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page128 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages DO  Var.  Data Object, format as below <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page129 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages    Data Format: (Please also refer to EMV Contactless Specifications v2.4) Format Description 1  a - Alphabetic data (a ~z, A~Z) 2  b - unsigned binary numbers or bit combinations 3  an - Alphanumeric data  (a ~z, A~Z, 0~9) 4  ans - Alphanumeric Special data (Characters defined in ISO8859) 5  cn - Compressed numeric data (0~9, left justify, pad hexadecimal ‘F’s. Ex. 12 34 56 12 3F FF) 6  n - Numeric data (0~9, right justify, pad leading hexadecimal zeroes. Ex. 00 00 00 01 23 45) 7  var - Variable data (Any bit combination)  Note.  User  has  to  obey  the  restriction  specified  in  EMV  Contactless  Specifications  v2.4  and Appendix F of this document to load configuration data. PIN pad will check if the length of each  configuration  data  item  is  consistent.  Any  inconsistent  data  item  will  make  data loading fail. Note. If the data format is ‘2’ (binary), ‘5’(compressed numeric), ‘6’(numeric) or ‘7’(variable data),   it  can  not  be  allocated  in  message  T55  directly.  It  should  be  transfer  into  hexadecimal string and then allocated in message T55.  Example: Default TDOL:  97 07 9f 02 06 95 05 9b 02 (binary) Threshold Value for Biased Random Selection:  00 00 00 00 40 00(numerical) Max. Target percentage to be used for Biased Random selection: 100 (decimal) / 0x46 (binary)  <STX>T5511<SUB>A00000031010<SUB>97<FS>2<FS>97079f020695059b02 <SUB>40000004<FS>6<FS>000000004000 <SUB>40000006<FS>2<FS>46<ETX>[LRC] PIN pad saves these data and give an ID as “A00000031010” to this group of data.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page130 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction      PIN pad 1st Message T55      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   1st Message T56 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   2nd Message T55      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Application Select Response. 2nd Message T56 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   …  …  … Last one Message T55      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Application Select Response. Last one Message T56 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)    PIN pad will check if terminal downloads minimum set of EMV Application-related information into PIN pad. The download process will be failed if there is not enough data in this message. Please refer to Appendix G for minimum set of EMV Application -related data
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page131 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T56 PCD Application Configuration Setup Response Format:    <STX>T56[Resp][Reason][Err Msg][Err Tag Number]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T55.    Message element:   Field  Length  Value and description <STX>  1  <02> T56  3  Message ID [Resp]  1  ‘0’: Ok, ‘1’: Fail [Reason]  1  Option if [Resp] is ‘1’,   ‘1’: Fatal Error ‘2’: Format Error ‘3’: Invalid Data Object format. ‘4’: Invalid Tag value [Err Message]  8  Optional, if Reason = ‘1’Hex String Err Tag Number  Var.  Optional,  if  Reason  =  ‘3’  or  ‘4’,  Hex decimal string <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T55.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page132 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T59 PCD Config Data Query Message Format:    <STX>T59[Config Type][control] <ETX>[LRC] Message length:  Fixed 7 bytes. Usage:  Get the group ID of PCD application data or CA public key stored in PIN pad.  Message element:   Field  Length  Value and description <STX>  1  <02> T59  3  Message ID [Config Type]  1  1: All the IDs of PCD public key. 2: All the IDs of PCD application data. [control]  1  (option)'0': Ready for next packet. <ETX>  1  <03> [LRC]  1  Checksum   Message flow: HOST  Direction  PIN pad Message T59      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T5A(Result = 3) <ACK>/ <NAK>/ <EOT>   Message T59       <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) …  …  …   Message T5A(Result = 0) <ACK>/ <NAK>/ <EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page133 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T5A Response of PCD Config Data Query Message Format:    <STX>T5A<SUB>[Result]<SUB>[ID List]<ETX>[LRC] Message length:  Variable. Usage:  Get the group ID of EMV application data or CA public key stored in PIN pad.  Message element:   Field  Length  Value and description <STX>  1  <02> T5A  3  Message ID <SUB>  1  <1A> Result  1  0: There is data in identified data type. 1: No data in identified data type. 2: Format Error. 3: Arrange exceed. <SUB>  1  <1A>, Optional if Result is 0, 3. ID List  Var  Optional, if Result is 0, 3. [LRC]  1  Checksum  [ID List]: The concatenation of IDs. There is a <FS> between each ID.   Ex. [ID List] = A00000000390<FS> A000000004F8<FS> A000000004F5 ( Config Type = 1 )       [ID List] = A0000000041010<FS>B0123456781234<FS> A000000010 ( Config Type = 2 )  Message flow: Please refer to message T59.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page134 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T5B Delete PCD Configuration Data Message. Format:    <STX>T5B[Config Type]<SUB>[ID List]<ETX>[LRC]  Message length:  Variable.   Usage:  Host  can  use  this  command  to  delete  PCD  application  configuration data  or  CA public key in PIN pad, this command can be sent many times.  Message element:   Field  Length Value and description <STX>  1  <02> T5B  3  Message ID Config Type 1  1: CA public key. 2: EMV application data. <SUB>  1  <1A> ID List  Var  List of ID that will be erased. <ETX>  1  <03> [LRC]  1  Checksum  [ID List]: The concatenation of IDs. There is a <FS> between each ID.   Ex. [ID List] = A00000000390<FS> A000000004F8<FS> A000000004F5 ( Config Type = 1 )       [ID List] = A0000000041010<FS>B0123456781234<FS> A000000010 ( Config Type = 2 )  Message flow: HOST  Direction      PIN pad Message T5B      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T5C <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page135 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T5C Response of Delete PCD Configuration Data Message. Format:    <STX>T5C<SUB>[Status]<SUB>[Del Result]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T5B.    Message element:   Field  Length  Value and description <STX>  1  <02> T5C  3  Message ID <SUB>  1  <1A> Status  1  0: Delete OK 1: Fatal Error 2: Format error. <SUB>  1  <1A>, Optional, if Status is 0. Del Result  var    The results of delete operation on indicated ID <ETX>  1  <03> [LRC]  1  Checksum  [Del Result]: It’s the concatenation of results for delete operation on indicated ID. There is a <FS>   between each result. If the delete operation is successfully (When PIN pad finds   out the matched one and delete it successfully), the result is 0. If there is no such ID as   terminal specified, the result is 1.  Ex. Terminal issues message T5B to erase EMV application data with ID “A0000000102020”,   “A0000020” and “A0000000103030”. PIN pad now keeps EMV application data with ID   “A0000000103030” only. The data in [Del Result] field will be “1<FS>1<FS>0”.    Message flow:  Please refer to message T5B.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page136 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T5D PCD House Keeping Message. Format:    <STX>T5D<SUB>[Config Type]<ETX>[LRC]  Message length:  Variable.   Usage:  Host can use this command to call PCD housekeeping in PIN pad, this command can be sent many times.  Message element:   Field  Length Value and description <STX>  1  <02> T5B  3  Message ID <SUB>  1  <1A> Config Type 1  1: Paypass. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction  PIN pad Message T5D      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T5E10 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T5D      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T5E10 or T5E1F <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page137 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T5E Response of PCD House Keeping Message. Format:    <STX>T5E<SUB>[Status][Result]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T5D.    Message element:   Field  Length  Value and description <STX>  1  <02> T5E  3  Message ID <SUB>  1  <1A> Status  1  0: Unkown type 1: Paypass Result  var  0: Empty or not expired. 1: Clear data 2: Fatal error. F: Format error. <ETX>  1  <03> [LRC]  1  Checksum   Message flow:  Please refer to message T5D.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page138 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T61 Start Transaction Format:    <STX>T61<SUB>[AmtAuth]<SUB>[AmtOther]<SUB> [CurExponent][CurCode]<SUB>[TranType]<SUB>[TranInfo]<SUB> [Account  Type]<SUB>[Force  Online]<SUB>[Encrypted  Session  key]  <ETX>[LRC] Message length:  Variable.   Usage:  After receive this message  command T61, PIN pad will perform  an  completed EMV transaction flow (the flow will cover ‘Initiate Application’ through ‘Completion’, see EMV Contactless Specifications 2.4, book A, chap 5.3, figure 5-2 - Logical Architecture). PIN pad will send the message T62 (Start Transaction Response) to host.    Message element:   Field  Length Value and description <STX>  1  <02> T61  3  Message ID <SUB>  1  <1A> [AmtAuth]  12  Hexadecimal,  Amount  Authrozied, will be stored at tag ‘0x9f02’ <SUB>  1  <1A> [AmtOther]  12  Hexadecimal,  Amount  Other,  will  be stored at tag ‘0x9f03’ <SUB>  1  <1A> [CurExponent]  1  Hexadecimal, stored at tag ‘0x5F36’ [CurCode]  3  Hexadecimal, stored at tag ‘0x5F2A’.  For example, USD$ = 0x840 <SUB>  1  <1A> [TranType]  2  Hexadecimal,  Transaction  Type,  will be stored at tag ‘0x9C’ <SUB>  1  <1A> [TranInfo]  2  Transaction  Info,  will be stored at tag ‘0x60000001’ <SUB>  1  <1A> [Account Type]  2  Account Type, stored at tag ‘0x5F57’ <SUB>  1  <1A> [Force Online]  1  1:  Force  Online,  only  valid  if  this terminal  has  the  capability  of  support online authorization. <SUB>  1  <1A>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page139 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages [Encrypted Session key] 16  or 32 Optional,  DES  or  TDES  session  key   that  used  to  encrypt  PIN  entry  when CVM ask online PIN verify. If the CVM ask online PIN verify  but this  session  key  does  not  input,  PIN pad  will ignore the  PIN  entry  request and indicate that no PIN is  entered in the TVR register.   <SUB>  1  <1A>,Optional, only if [DO] is existed  DO  Var.  Data Object, format as below <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message T61      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Start Transaction Response. Message T62 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page140 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T62 Start Transaction Response Format:    <STX>T62[Status][Reason][Err Message][Result]<ETX>[LRC] Message length:  Variable. Usage:  The message contains the transaction result on the smart card to be sent to terminal. Message element:   Field  Length Value and description <STX>  1  <02> T62  3  Message ID [Status]  1  0:OK; 1:Fail [Reason]  1  Optional. (If Status = 1) 1:Fatal Error 2:Command Format Error [Err Message]  8  Optional, if Reason = ‘1’Hex String [Result]  2  Optional. (If Status = 0) ‘Y1’: Offline Approved, ‘Z1’: Offline Declined ‘Y3’: Unable to go online,           Offline Approved ‘Z3’: Unable to go online, Offline Decline. ‘Y4’: Online Approved ‘Z4’: Online Decline ‘Y7’: Offline Approved With Signature ‘Y8’: Unable to go online,           Offline Approved With Signature ‘Y9’: Online Approved With Signature ‘A1’: Online Authorize Request ‘B0’: Try another interface. <ETX>  1  <03> [LRC]  1  Checksum  Note: If the [Result] is ‘A1’, then terminal  should send online authorization request to issuer host; and after done, terminal shall send message T71 to PIN pad to continue transaction.  Message flow:  Please refer to message T61.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page141 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T63 Get Transaction Result’s Data Format:    <STX>T63[control][DOL]<ETX>[LRC] Message length:  Var.   Usage:  PIN pad will retrieve the data that list on the DOL after EMV transaction done. PIN pad will send the message T64 (Get Transaction Result’s Data Response) to host. Message element:    Field  Length  Value and description <STX>  1  <02> T63  3  Message ID [control]  1  (optional) '0':  Ready  for  next  packet,  [DOL]  is ignored. [DOL]  Var  Data  Object  List,  each  object  is  expressed by  tag  number,  and  <SUB>  is  used  to delimit each object. For example, 9F12<SUB>9A<SUB>9F02<SUB>…. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message T63      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> after 3 NAKs   Get Transaction Result’s Data Response. Message T64 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page142 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T64 Get Transaction Result’s Data Response Format:  <STX>T64[Pkt NO.][Total Pkt][DO]<ETX>[LRC] Message length:  Var. Usage:  The message contains the transaction result’s data to be sent to host. Message element:   Field  Length  Value and description <STX>  1  <02> T64  3  Message ID [Pkt NO.]  1  Decimal. Packet sequence number (1 ~ 9). [Total Pkt]  1    Decimal. Total packets (1~9). [DO]  Var.  Data Object, each data object is expressed by  TLV  format  with  an  <FS>  delimit  in each  field,  and  <SUB>  is  used  to  delimit each object. For example: 9F12<FS>0F<FS>CREDITO  DE VISA<SUB>9A<FS>06<FS>050806<SUB>……. <ETX>  1  <03> [LRC]  1  Checksum  Data Object: PIN pad will return series of data object that list on the [DOL] field in the message T64 with TLV (tag || length|| value) format as below:  [EMV Tag Number (2 ~ 8 byte)] <FS> [Length (2byte)] <FS> [Value] <SUB> [EMV Tag Number (2 ~ 8 byte)] <FS> [Length (2byte)] <FS> [Value] <SUB> . . . . . . . .   [EMV Tag Number (2 ~ 8 byte)] <FS> [Length (2byte)] <FS> [Value].    Note:  When PIN Pad response these data object, it will convert these value from binary value to hex decimal string if the data object format is “b” or “cn” or “n”.  Message flow:  Please refer to message T63.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page143 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T65 Get Online authorization Data Format:  <STX>T65[Data type][control]<ETX>[LRC] Message length:  Variable 7 to 8 bytes. Usage:  Issue this message to get data (EMV) for online authorization. Message element:   Field  Length  Value and description <STX>  1  <02> T65  3  Message ID [Data type]  1  0 : Data record 1 : Discretionary data [control]  1  (optional) '0':  Ready  for  next  packet,  [Data type] is ignored. <ETX>  1  <03> [LRC]  1  Checksum    While  the  EMV  transaction  must  be  authorized  online,  terminal  shall  issue  message  T65  to  get  the necessary  data  for  online  authorization  from  PIN  pad.  And  PIN  pad  will  wait  terminal  to  send  one message T71 to tell the PIN pad the go online authorization result  PIN pad will search the corresponding values according to this tag list and return it at message T66 after receive message T65 from terminal. Please refer to Appendix G for more details.  Message flow: HOST  Direction      PIN Pad Message T65      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T66 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page144 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T66 Response of Get Online authorization Data message Format:  <STX>T66[Pkt NO.][Total Pkt][online authorization data]<ETX>[LRC] Message length:  var. Usage:  Return online authorization data to terminal.  Message element:   Field  Length  Value and description <STX>  1  <02> T66  3  Message ID [Pkt NO.]  1  Decimal. Packet sequence number (1 ~ 9) [Total Pkt]  1    Decimal. Total packets (1~9). [Online authorization data]  Var.  Hex string. Optional,  if  this  transaction  needs  to  be authorized online. <ETX>  1  <03> [LRC]  1  Checksum  Online authorization data: PIN pad return series of data object with TLV (tag || length|| value) format as below:  [EMV Tag Number (2 ~ 8 byte)] || [Length (2byte)] || [Value]   [EMV Tag Number (2 ~ 8 byte)] || [Length (2byte)] || [Value]   . . . . . . . .   [EMV Tag Number (2 ~ 8 byte)] || [Length (2byte)] || [Value].    PIN pad can return at maximum 256 bytes of data as one record, the right part of data will be ignored if the length record is greater than 256 byte.  When PIN pad response these data object, it will convert these value from binary value to hex decimal string if the data object format is “b” or “cn” or “n”. For example, the data of one record is 0x9F02 || 06 || 000000001100  ||  5A  ||  10  ||  11223344556677889900AABBCCDDEEFF,  terminal  will  see “9F02060000000011005A1011223344556677889900AABBCCDDEEFF”.  Message flow: Please refer to message T65
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page145 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T6C Cancel PCD Transaction Format:  <STX>T6C<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  This message used to cancel the transaction for contactless card. Message element:   Field  Length  Value and description <STX>  1  <02> T6C  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message T6C      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page146 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T71 Send PCD Online Authorized Code Format:    <STX>T71[Online Res]<SUB>[ARC]<SUB>[IAD]<ETX>[LRC] Message length:  Fixed 7 or 16 bytes.   Usage:  After receive this message T71, PIN pad will continue to perform the EMV transaction flow if  the previous T62 response result is ‘A1’ (online authorized request, see EMV Contactless  Specifications  v2.4).  PIN  pad  will  response  the  message  T62  (Start Transaction Response) to this T71 to host.  Message element:    Field  Length  Value and description <STX>  1  <02> T71  3  Message ID [Online Res]  1  ‘0’: Unable to go online <ETX>  1  <03> [LRC]  1  Checksum   OR Field  Length  Value and description <STX>  1  <02> T71  3  Message ID [Online Res]  1  ‘1’: Get Online Authorize Response, <SUB>  1  <1A> [ARC]  2  Optional,  Authorisation  Response  code, ASCII (0~9, A~Z). <SUB>  1  <1A> [IAD]  16~32  Optional,  Issuer  Authentication  Data, Hex string. if  there  is  IAD  response  from  remote host  ,  terminal  shall  send  this  to  PIN pad. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page147 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction      PIN pad Message T71      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Start Transaction Response. Message T62 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page148 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message T73    Send Issuer Script Command Format:    <STX>T73[IS]<ETX>[LRC] Message length:  Var.   Usage:  PIN  pad  performs  the  Issuer  script  processing  as  in  EMV  transaction  flow  after received this command from the host  those  are the response message  when  doing online  authorization.  This  command  can  be  send  many  times  if  too  many  script commands  need  to  be  processed,  but  the  last  one  should  be  send  before  T71 command.   Message element:        Issuer Script Format: (see EMV Contactless Specifications v2.4)    T  L  T  L  Script ID  Commands ‘71’ or ‘72’ Including Script ID, tags, lengths ‘9F18’  ‘04’  Identifier (4 bytes) Issuer Script Command Format (see below)    Issuer Script Command Format: (see EMV Contactless Specifications v2.4)    T1  L1  V1  T2  L2  V2  T3  L3  V3  Tx  Lx  Vx ‘86’  L(V1) Cmd ‘86’  L(V2) Cmd ‘86’  L(V3) Cmd ‘86’  L(Vx) cmd   Field  Length  Value and description <STX>  1  <02> T73  3  Message ID IS  Var.  Issuer Script, format as follow. Hex string. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page149 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T75 Revocation List Setup Format:    <STX>T75<SUB>[RID][SN][PKI]<ETX>[LRC]  Message length:  Fixed 25 bytes Usage:  Host  can  use  this  command  to  send  revocation  key  information  to  PIN  pad,  this command  can  be  sent many times.  PIN  pad  will  save  those  information inside  and check those information when do the transaction. PIN pad will send the message T76 (Revocation List Setup Response) to host. Message element: Field  Length  Value and description <STX>  1  <02> T75  3  Message ID <SUB>  1  Separator [RID]  10  The RID for revocated public key. Present in hexstring. [SN]  6  The  serial  number  of  the  revocated  public  key. Present  in hexstring. [PKI]  2 The  public  key  index  of  the  revocated  key.  Present  in hexstring. <ETX>  1  <03> [LRC]  1  Checksum  Example: Revocation list information RID:  A0 00 00 00 03 SN:  00 00 01 PKI:  51  <STX>T75<SUB> A00000000300000151<ETX>[LRC]  Message flow: HOST  Direction      PIN pad Message T75      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message T76 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page150 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T76 Revocation List Setup Response Format:    <STX>T76[Res][Reason][Err Msg]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T75.    Message element: Field  Length  Value and description <STX>  1  <02> T76  3  Message ID [Res]  1  ‘0’: Ok, ‘1’: Fail [Reason]  1  <Optional, if Res = ‘1’> ‘1’: Fatal error   ‘2’: Invalid Data format ‘3’: Revocation list is full ‘4’: The added info exists [Err Message]  8  Optional, if Reason = ‘1’, Hex decimal string <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T75.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page151 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T77 Exception List Setup Format:      <STX>T77<SUB>[PAN][<SUB>[PAN Seq. No.]<ETX>[LRC] Message length:  Variable. Usage:  Host can use this command to send the exception pan to PIN pad. PIN pad will save the information inside and check them when do the transaction. Once the transaction pan is on the exception list, the transaction will be terminated. PIN pad will send the message T78 (Exception List Setup Response) to host when it add an exception file.  Message element: Field  Length  Value and description <STX>  1  <02> T77  3  Message ID <SUB>  1  Separator [PAN]  up to 19  Primary Account Number with numeric format <SUB>  1  Separator.  This  is  optional,  exist  if  PAN  Seq.  No. exists. [PAN Seq. No.] 2  PAN Sequence Number, this is an optional data. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message T77      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Exception  List Setup Response Message T78 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)    Command Example: PAN: 47 61 73 90 01 01 00 10 <STX>T77<SUB>4761739001010010<ETX><LRC> PAN: 37 37 37 34 56 78 90 4 PAN Seq. No.: 00 <STX>T77<1A>373737345678904<1A>00<ETX><LRC>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page152 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message T78 Exception List Setup Response Format:    <STX>T78[Resp][Reason][Err Msg]<ETX>[LRC] Message length:  Variable. Usage:  The response message of command T77.    Message element:   Field  Length  Value and description <STX>  1  <02> T78  3  Message ID [Resp]  1  ‘0’: Ok, ‘1’: Fail [Reason]  1  Option if [Resp] is ‘1’, ‘1’: Fatal Error ‘2’: Format Error ‘3’: Exception List is full ‘4’: PAN exists [Err Message]  8  Optional, if Reason = ‘1’, Hex String <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message T77
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page153 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Overall Contactless EMV Level 2 transaction flow reference  PIN pad provide one complete EMV Level 2 transaction with online or offline approval by various command flow. To force PIN pad to leave this command flow, you can either press the [CANCEL] key or send one T6C command to PIN pad.  Ref. 1  Packet command flow for transaction with offline approval  HOST  Direction  PIN pad T61 (Start Transaction)      T62 (Start Transaction Response) [Result] = ‘Y1’ or ‘Z1’ T65 (Get online data from PIN pad)      T66 (Online authorization data response) T63 (Get Transaction Result’s Data)      T64 (Get Transaction Result’s Data Response)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 7 – Contactless EMV Level 2 transaction messages  2015-04-20   Page154 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Ref. 2  Packet command flow for transaction with online approval  HOST  Direction  PIN Pad T61 (Start Transaction)      T62 (Start Transaction Response) [Result] = ‘A1’ T65 (Get online data from PIN pad)      T66 (Online authorization data response) T63 (Get Transaction Result’s Data)      T64 (Get Transaction Result’s Data Response) Go Online     T71 (Send Online Authorized Code)      T62 (Start Transaction Response) T63 (Get Transaction Result’s Data)      T64 (Get Transaction Result’s Data Response)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page155 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 8    MIFARE card messages This chapter describe the command of MIFARE card. The PIN pad supports MIFARE classic, Ultralight and  DESFire  card.  All  MIFARE  card  are  compliant  to  the  ISO/IEC  14443-1,  2  and  3.  The  MIFARE DESFire card support ISO/IEC 14443-4 protocol (also called “T=CL” protocol).
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page156 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P01    Enable/Disable MIFARE Format:    <STX>P01[Flag]<EXT>[LRC] (request frame)   <STX>P01[Result][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 7 bytes for request frame Variable for response frame. Usage:  Enable or Disable MIFARE. Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P01  3  Message ID [Flag]  1  ‘0’: Disable MIFARE. ‘1’: Enable MIFARE. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P01  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page157 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction PIN pad Message P01 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P01 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page158 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P02    Query MIFARE Presence Format:    <STX>P02<ETX>[LRC] (request frame)   <STX>P02[Result][ATQA][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 6 bytes for request frame Variable for response frame. Usage:  Send WUPA command to contact less card. Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P02  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P02  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [ATQA]  4  Optional: if [Result] = ‘0’ ATQA: 4 bytes. Format: hexadecimal string. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Card not exists. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page159 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction PIN pad Message P02 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P02 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page160 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P03    MIFARE Anti-collision Format:    <STX>P03<ETX>[LRC] (request frame)   <STX>P03[Result][UID][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 6 bytes for request frame Variable for response frame. Usage:  This command is used to get the card’s UID. When many cards in RFID field, PIN pad will get one card’s UID. Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P03  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P03  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [UID]  Var.  Optional: if [Result] = ‘0’ The UID length is 8, 14 or 20 bytes. Format: hexadecimal string. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Anti collision fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page161 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction PIN pad Message P03 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P03 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page162 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P04    MIFARE Selection Format:    <STX>P04<ETX>[LRC] (request frame)   <STX>P04[Result][SAK][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 6 bytes for request frame Variable for response frame. Usage:  Select one card to activate. Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P04  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P04  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [SAK]  2  Optional: if [Result] = ‘0’ The response of select command. Format: hexadecimal string. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Select fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page163 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction PIN pad Message P04 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P04 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page164 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P05    MIFARE Classic/Ultralight Card Activation Format:    <STX>P05<ETX>[LRC] (request frame)   <STX>P05[Result][ATQA]<FS>[SAK]<FS>[UID] <ETX>[LRC] (response frame1)    <STX>P05[Result][Reason]<ETX>[LRC] (response frame2) Message length:  Fixed 6 bytes for request frame Variable for response frame. Usage:  Activate MIFARE card. This command will  send  WUPA,  Anti-collision and Selection command to card.    Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P05  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Response frame1 (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P05  3  Message ID [Result]  1  ‘0’: Success. [ATQA]  4  ATQA: 4 bytes. Format: hexadecimal string. <FS>  1  Field separator. [SAK]  2  The response of select command. Format: hexadecimal string. <FS>  1  Field separator. [UID]  Var.  The  card  Unique  Identifier.  The  UID length is 8, 14 or 20 bytes. Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page165 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Response frame2 (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P05  3  Message ID [Result]  1  ‘1’: Fail. [Reason]  1  ‘1’: Format error. ‘2’: Sequence error. ‘3’: Card activate fail. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction PIN pad Message P05 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P05 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page166 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P06    MIFARE Classic/Ultralight Card HALT Format:    <STX>P06<ETX>[LRC] (request frame)   <STX>P06[Result][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 6 bytes for request frame Fixed 7 or 8 bytes for response frame. Usage:  Send HALT command will deactivate card.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P06  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P06  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Card deactivate fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page167 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction PIN pad Message P06 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P06 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page168 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P07    MIFARE Classic Card Authentication Format:    <STX>P07[Sector number][Key type][key value]<ETX>[LRC] (request frame 1)   <STX>P07[Sector number][Key number][key type]<ETX>[LRC] (request frame 2)   <STX>P07[Result][Reason]<ETX>[LRC] (response frame) Message length:  variable. Usage:  Before  any  memory  operation  can  be  done,  the  card  has  to  be  selected  and authenticated.  NOTE:  If the [Key type] and [Key value] is empty in request frame 1, the PIN pad will used key value with “FFFFFFFFFFFF” and key type with ‘A’.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P07  3  Message ID [Sector number]  2  The sector number. Decimal string: 00~39. [Key type]  1  (optional) Determine  which  card  type  to authenticate. Format: ‘A’ or ‘B’. [Key value]  12  (optional) The card will be  authenticated with this key value. Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P07  3  Message ID [Sector number]  2  The sector number. Decimal string: 00~39.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page169 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages [Key number]  3  The key stored in PIN pad. Decimal string: 000~255. [Key type]  1  Determine  which  card  type  to authenticate. Format: ‘A’ or ‘B’. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P07  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Key authentication fail. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction PIN pad Message P07 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P07 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page170 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P08    MIFARE Ultralight Card Read Page Format:    <STX>P08[page number]<ETX>[LRC] (request frame)   <STX>P08[Result][Page data][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 8 ytes for request frame Fixed 8 or 15 bytes for response frame. Usage:  Read the block data.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P08  3  Message ID [page number]  2  The page number. Decimal string: 00~47. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P08  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [page data]  8.  Optional: if [Result] = ‘0’ The page data. Format: hexadecimal string. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Read data fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page171 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction PIN pad Message P08 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P08 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page172 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P09    MIFARE Ultralight Card Write Page Format:    <STX>P09[page number][page data]<ETX>[LRC] (request frame)   <STX>P09[Result][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 16 ytes for request frame Fixed 7 or 8 bytes for response frame. Usage:  Write the data to the specific block.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P09  3  Message ID [page number]  2  The page number. Decimal string: 00~47. [page data]  8  The  page  data  will  write  to  MIFARE card. Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P09  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Write data fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page173 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction PIN pad Message P09 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P09 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page174 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P10    MIFARE Classic/Ultralight Card Read Block Format:    <STX>P10[Block number]<ETX>[LRC] (request frame)   <STX>P10[Result][Block data][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 9 bytes for request frame Fixed 8 or 39 bytes for response frame. Usage:  Read the block data.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P10  3  Message ID [Block number]  3  The block number. Decimal string: 000~255. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P10  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Block data]  32.  Optional: if [Result] = ‘0’ The block data. Format: hexadecimal string. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Read data fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page175 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction PIN pad Message P10 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P10 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page176 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P11    MIFARE Classic/Ultralight Card Write Block Format:    <STX>P11[Block number][Block data]<ETX>[LRC] (request frame)   <STX>P11[Result][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 41 bytes for request frame Fixed 7 or 8 bytes for response frame. Usage:  Write the data to the specific block.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P11  3  Message ID [Block number]  3  The block number. Decimal string: 000~255. [Block data]  32  The  block  data  will  write  to  MIFARE card. Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P11  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Write data fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page177 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction PIN pad Message P11 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P11 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page178 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P12    MIFARE Classic/Ultralight Card Read Sector Format:    <STX>P12[Sector number]<ETX>[LRC] (request frame)   <STX>P12[Result][Sector data][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 8 bytes for request frame Variable for response frame. Usage:  Read a sector data from MIFARE card. NOTE:  For  MIFARE  Classic  4K,  sector  0~31  contains  4  blocks  each  and  sectors  32~39 contains 16 blocks each.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P12  3  Message ID [Sector number]  2  The sector number. Decimal string: 00~39. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P12  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Sector data]  128  or 512 Optional: if [Result] = ‘0’ The Sector data. Format: hexadecimal string. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Read data fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page179 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction PIN pad Message P12 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P12 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page180 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P13    MIFARE Classic/Ultralight Card Write Sector Format:    <STX>P13[Sector number][Sector data]<ETX>[LRC] (request frame)   <STX>P13[Result][Reason]<ETX>[LRC] (response frame) Message length:  Variable for request frame Fixed 7 or 8 bytes for response frame. Usage:  Write a sector data to MIFARE card. NOTE:  ultra light card - sector 0: 48 bytes ( 96 bytes hexadecimal string ). ultra light C card - sector 1: 64 bytes. ( 128 bytes hexadecimal string ). sector 2: 32 bytes. ( 64 bytes hexadecimal string ).  classic 1K card and classic 4K card - sector 0: 32 bytes. ( 64 bytes hexadecimal string ). sector 1-31: 48 bytes. ( 96 bytes hexadecimal string ). classic 4K card - sector 32-39: 240 bytes. ( 480 bytes hexadecimal string ).  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P13  3  Message ID [Sector number]  2  The sector number. Decimal string: 00~39. [Sector data]  64  or 96  or 128  or 480 The data will write to MIFARE card.   Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page181 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P13  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Write sector fail. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction PIN pad Message P13 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P13 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page182 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P14    MIFARE Classic Card Value Operation Format:    <STX>P14[Block number][Op mode][Value][Transfer block] <ETX>[LRC] (request frame)   <STX>P14[Result][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 13, 18 or 21 bytes for request frame Fixed 7 or 8 bytes for response frame. Usage:  Value operation with block data.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P14  3  Message ID [Block number]  3  The block number. Decimal string: 000~255. [op mode]  1  Operation mode: '0' = Create MIFARE Value block. '1' = Decrement. '2' = Increment. '3' = Copy block. [Value]  8  (Optional), if [op mode] != '3' Value  blocks  allow  performing  electronic  purse functions. Format: hexadecimal string ( signed integer ). Ex : 1234567d = 00 12 D6 87 [Transfer block]  3  (Optional), if [op mode] != '0' The block number. Decimal string: 000~255. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page183 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P14  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Create value block fail. ‘4’: Value restore fail. ‘5’: Value operation fail. ‘6’: Value transfer fail. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction PIN pad Message P14 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P14 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page184 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P15    Load MIFARE key Format:    <STX>P15[Key number][Key A value][Key B value]<ETX>[LRC] (request frame)   <STX>P15[Result][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 33 bytes for request frame Fixed 7 or 8 bytes for response frame. Usage:  PIN pad can save up to 256 key sets for MIFARE Classic card application.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P15  3  Message ID [Key number]  3  The key unique number. Range:’000’~’255’ [Key A value]  12  The key A data will store in PIN pad. [Key B value]  12  The key B data will store in PIN pad. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P15  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Load MIFARE key fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page185 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction PIN pad Message P15 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P15 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page186 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P16    Identify MIFARE Card Type Format:    <STX>P16<ETX>[LRC] (request frame)   <STX>P16[Result][Card type][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 6 bytes for request frame Fixed 8 bytes for response frame. Usage:  This command reports MIFARE card type.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P16  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P16  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Card type]  1  Optional: if [Result] = ‘0’ ‘0’: Not MIFARE card or not supported card. ‘1’: MIFARE Ultralight. ‘2’: MIFARE Classic 1K. ‘3’: MIFARE Classic 4K. ‘4’: MIFARE DESFire. ‘5’: MIFARE Plus ‘6’: MIFARE Mini. ‘7’: MPCOS Gemplus. ‘8’: Jewel for Innovision. ‘9’: JCOP31. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page187 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages ‘3’: Card detect fail. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction PIN pad Message P16 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P16 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page188 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P17    MIFARE DESfire Card Activation Format:    <STX>P17<ETX>[LRC] (request frame)   <STX>P17[Result][ATS/PUPI][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 6 bytes for request frame Variable for response frame. Usage:  This command will activate PICC card.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P17  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P17  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [ATS/PUPI]  Var.  Optional: if [Result] = ‘0’ [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Card activate fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page189 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction PIN pad Message P17 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P17 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page190 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P18    MIFARE DESfire Card Deselect Format:    <STX>P18<ETX>[LRC] (request frame)   <STX>P18[Result][Reason]<ETX>[LRC] (response frame) Message length:  Fixed 6 bytes for request frame Fixed 7 or 8 bytes for response frame. Usage:  Sends  ISO/IEC  14443-4  DESELECT  command  to  the  card.  After  the  card  receive DESELECT command, the card will be brought to the HALT state.  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P18  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P18  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: DESELECT execute fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page191 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction PIN pad Message P18 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P18 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page192 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P19    I/O to MIFARE card with APDU format Format:    <STX>P19[C-APDU]<ETX>[LRC] (request frame)   <STX>P19[Result][R-APDU][Reason]<ETX>[LRC] (response frame) Message length:  variable. Usage:  The command is used to pass an APDU to the card where both data and an ISO status are expected in the response. Note:  1.  The  APDU(Application  Protocol  Data  Unit)  format  defined  in  ISO/IEC  7816-4 chapter 5. Below brief the command and response APDU. C-APDU format CLA  INS  P1  P2  Lc  Data  Le R-APDU format Data(Optional)  SW1-SW2  Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P19  3  Message ID [C-APDU]  Var.  Command APDU.  The  C-APDU  format  please see Note 1. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P19  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [R-APDU]  Var.  Optional: if [Result] = ‘0’ The R-APDU format please see Note 1. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: APDU fail. <ETX>  1  <03>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page193 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages [LRC]  1  Checksum  Message flow: HOST  Direction PIN pad Message P19 (request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P19 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page194 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message P20    I/O to MIFARE card for block data exchange Format:    <STX>P20[CRC mode][Wait time][Block data]<ETX>[LRC] (request frame)   <STX>P20[Result][Block data][Reason]<ETX>[LRC] (response frame) Message length:  variable. Usage:  The command is used to pass a block data to a card. Note:  1. The format of block data defined in ISO/IEC 14443-4 chapter 7. Message element: Request frame (HOST to PIN pad) Field  Length Value and description <STX>  1  <02> P20  3  Message ID [CRC mode]  1  ‘0’ : No CRC in [block data]. ‘1’ : [Block data] contain CRC. [Wait time]  4  The time out value for card response. [Block data]  Var.  Format: hexadecimal string. The  command  use  block  format  as  defined  in  ISO 14443-4. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length Value and description <STX>  1  <02> P20  3  Message ID [Result]  1  ‘0’: Success. ‘1’: Fail. [Block data]  Var.  Optional: if [Result] = ‘0’ The  card  response  data  with  block format as defined in ISO 14443-4. [Reason]  1  Optional: if [Result] = ‘1’ ‘1’: Format error. ‘2’: Sequence error. ‘3’: Data exchange fail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page195 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction PIN pad Message P20(request frame)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message P20 (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page196 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Overall MIFARE operation flow reference  Before any memory operation for MIFARE card, user need to activate the card as follows.  Ref. 1  Activate and authenticate for MIFARE classic card.  HOST  Direction  PIN pad P01 (Enable Mifare)      P01 (Response Frame) P02 (Query MIFARE Presence)      P02 (Response Frame) P03 (Anti-collision)      P03 (Response Frame) P04 (Selection)      P04 (Response Frame) P16 (Identify MIFARE Card Type)      P16 (Response Frame) ‘2’: MIFARE Classic 1K. ‘3’: MIFARE Classic 4K. P07 (Classic Card Authentication)      P07 (Response Frame) Now,  user  can  access  memory operation  for  MIFRE  card(like  P10, P11, P12, P13, P14)     The response of memory operation command. P06 (Card HALT)      P06 (Response Frame) P01 (Disable Mifare)      P01 (Response Frame)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page197 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Ref. 2  The quick method for activating classic card.  HOST  Direction  PIN pad P01 (Enable Mifare)      P01 (Response Frame) P05 (Classic Card Activation)      P05 (Response Frame) P16 (Identify MIFARE Card Type)      P16 (Response Frame) ‘2’: MIFARE Classic 1K. ‘3’: MIFARE Classic 4K. P07 (Classic Card Authentication)      P07 (Response Frame) Now,  user  can  access  memory operation  for  MIFRE  card(like  P10, P11, P12, P13, P14)     The response of memory operation command. P06 (Card HALT)      P06 (Response Frame) P01 (Disable Mifare)      P01 (Response Frame)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page198 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Ref. 3  Activate and authenticate for MIFARE Ultralight card.  HOST  Direction  PIN pad P01 (Enable Mifare)      P01 (Response Frame) P02 (Query MIFARE Presence)      P02 (Response Frame) P03 (Anti-collision)      P03 (Response Frame) P04 (Selection)      P04 (Response Frame) P16 (Identify MIFARE Card Type)      P16 (Response Frame) ‘1’: MIFARE Ultralight. Now,  user  can  access  memory operation  for  MIFRE  card(like  P08, P09, P10, P11, P12, P13)     The response of memory operation command. P06 (Card HALT)      P06 (Response Frame) P01 (Disable Mifare)      P01 (Response Frame)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page199 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Ref. 4  The quick method for activating Ultralight card.  HOST  Direction  PIN pad P01 (Enable Mifare)      P01 (Response Frame) P05 (Ultralight Card Activation)      P05 (Response Frame) P16 (Identify MIFARE Card Type)      P16 (Response Frame) ‘1’: MIFARE Ultralight. Now,  user  can  access  memory operation  for  MIFRE  card(like  P08, P09, P10, P11, P12, P13)     The response of memory operation command. P06 (Card HALT)      P06 (Response Frame) P01 (Disable Mifare)      P01 (Response Frame)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 8 – MIFARE card messages  2015-04-20    Page200 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Ref. 5  Activating for DESFire card  HOST  Direction  PIN pad P01 (Enable Mifare)      P01 (Response Frame) P17 (DESfire Card Activation)      P17 (Response Frame) P16 (Identify MIFARE Card Type)      P16 (Response Frame) ‘4’: MIFARE DESFire. P19、P20 (Request frame)      P19、P20 (Response Frame) P18 (DESfire Card Deselect)      P18 (Response Frame) P01 (Disable Mifare)      P01 (Response Frame)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page201 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 9    Online transaction messages with Master/Session Keys (MK/SK)  Message 70 PIN entry request (MK/SK) Format:    <STX>70.[Account]<FS>[session key][Amount] <FS>[timeout]<ETX>[LRC] Message length:  Variable 36 to 51 bytes (max. 67 bytes for TDES session key). Usage:  Display prompt and accept customer PIN input. The following prompt will be displayed:  "Total Amount"  "$xxx.xx"  "Enter PIN"  "Push "ENTER""   The  PIN  pad  will  then  wait  till  the  PIN  entered  and  [ENTER]  key  is  pressed.  After ENTER  key  is  pressed, the string “PIN  PAD” and  “PROCESSING” will  be  displayed until the CLEAR key is pressed. During this period, the PIN pad will not process any message other than the CANCEL message (message 72).  NOTE:  Aborting transaction: Press CLEAR button to reset the PIN input and CAN (cancel) button to abort the transaction. PIN length: According to ANSI X9.8 standard, the length of PIN should between 4 to 12 digits. If user inputs less than 4 digits and press ENTER, PP791 will beep for error and continue to wait for user’s input. When user inputs 13th  character,  PIN  pad will beep for error, conserves PIN character 1st to 12th, and wait for ENTER. This message has DES Time Throttle: See Appendix A for details. Master  key  must  be  selected  before  transaction:  PP791  will  warn  and  refuse message 70 if message 08 was not issued before. Triple  DES  capability: Following  table  shows  the  logic  of  PP791  when  processing single-length and double-length MK/SK. (TDES in EDE order, see Appendix A).  Session  Key: If  the selected  key is  with usage “P0”,  the  session  key  should be all zeros.   Session key Master key Double length  Single length Double length PP791 TDES decrypts L-key and R-key of [session key] value, using active master key. PIN blocks are TDES encrypted by decrypted session key. PP791 TDES decrypts [session key] value, using active master key. PIN blocks are DES encrypted by decrypted session key.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page202 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Single length PP791 DES decrypts L-key and R-key of [session key] value, using active master key. PIN blocks are TDES encrypted by session key. PP791 DES decrypts [session key] value, using active master key. PIN blocks are DES encrypted by session key.   Message element:   Field  Length Value and description <STX>  1  <02> 70  2  Message ID .  1  <2E>, delimiter [Account]  8..19  Card account number <FS>  1  <1C>, field separator [session key]  16  or 32 Working  key  encrypted  using  selected  master key.  32-characters  session  key  produces  TDES encrypted PIN block with EDE order. Format: hexadecimal string. This filed should be all zeros if the selected key is with usage “P0” [Amount]  4..8  Amount of goods to be displayed on PIN pad. <FS>  1  (optional) <1C>, field separator [timeout]  1  (optional) ASCII character from ‘1’ to ‘9’ which is  the  timeout  value  in  the  unit  of  30  seconds. Default = 9x30 = 270 seconds. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page203 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction  PIN pad Message 70      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) Prompt user to enter PIN.   Message  71  or  <EOT>  when  input timed out or user pressed [CAN] <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Display  “PIN  PAD  PROCESSING” until  CLEAR  pressed  or  another message received.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page204 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 71 Encrypted PIN Block Response Format:    <STX>71.<fkey flag><PIN length>01[PIN][LRC] (PIN block frame) <STX>71[error code]<ETX>[LRC] (Error code frame) Message length:  Fixed 27 bytes for PIN block frame, 6 bytes for error code frame. Usage:  Send the entered PIN to HOST in encrypted format. Message element:   Field  Length Value and description <STX>  1  <02> 71  2  Message ID .  1  <2E> delimiter [Fkey flag]  1  Always  ‘0’  (This  field  is  kept  to  retain  old model compatibility.) [PIN length]  2  00, 04..12 length of PIN entered 01  2  01 format of PIN block, always 01 [PIN]  16  Encrypted PIN blocks Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Message 71 (Error message) Field  Length Value and description <STX>  1  <02> 71  2  Message ID [Error code]  1  Code to indicate error (see next page) <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page205 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction      PIN pad Message 70/Z60/Z62      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message  71  or  <EOT>  when input  tined  out  or  user  pressed [CAN] <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs)       Display processing prompt Error codes: Code  Meaning '0'  Null Account input field. '1'  Key value error. (session key value conflicted with the usage of active master key, or session key length longer than active master key) '2'  Account number shorter than 8 digits. '3'  Account number longer than 19 digits. '4'  Account number have character other than '0'-'9'. '5'  Working key format error. '6'  Timeout value error '7'  No more DES operation within 60 min. (see Appendix A) '8'  From 70, Amount string format error. From  Z62,  PIN  count,  Accept  Null  PIN  flag,  and  Prompt  string format error. '9'  Active master key not exist. 'A'  Currently  selected  master  key  over range  (Master  key slot  A  to  F will  cause  this  error  message  because  they  are  supposed  to  do authentication and MAC, not for PIN entry) 'B'  Flash memory read/write error 'C'  Memory buffer allocation error 'E'  Data length error in a field. 'G'  Specified file not found or authentication error.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page206 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 72 PIN Entry Cancel Format:    <STX>72<ETX>[LRC] Message length:  Fixed 5 bytes. Usage:  Cancel  current  transaction  and  return  the  PIN  pad  to  IDLE  state,  used  to  interrupt command in  process.  If  PIN  pad  receives  message  72  while  processing  user  input such  as  swipe  card,  enter  PIN  or  key-in  data,  It  will  respond  with  <EOT>  to acknowledge that operation is canceled.  Message element:   Field  Length  Value and description <STX>  1  <02> 72  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: In Idle mode (normal condition) HOST  Direction      PIN Pad Message 72      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)    In PIN/data entry mode (cancel/abort the session) HOST  Direction      PIN Pad Message 72      <EOT> If PIN pad is in PIN/Data entry mode or waiting for tapping/swiping card.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page207 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z0 Move Display Cursor Format:    <STX>Z0[YY]<ETX>[LRC] Message length:  Fixed 7 bytes. Usage:  Move  the  display  cursor.  Z0  message  is  enabled  when  PIN  pad  receives  first  Z2 message. Under Z2-authenticated mode, Z0 message is also disabled. Message element:   Field  Length  Value and description <STX>  1  <02> Z0  2  Message ID [YY]  2  Y-coordinate, 01 ~ Max. line <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message Z2      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Display string. Message Z0      <ACK>  /  <NAK>  / <EOT>       PIN pad moves cursor Message Z2 (without clear screen)     <ACK>  /  <NAK>  / <EOT>     Display  2nd  string  from the  coordinate  specified by Z0.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page208 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z1 Reset State Format:    <STX>Z1<ETX>[LRC] Message length:  Fixed 5 bytes. Usage:  Force the PIN pad to enter IDLE state. This command also reset magnet card swiping command Q1, Q8, Q9 and QF. Message element:   Field  Length  Value and description <STX>  1  <02> Z1  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message Z1      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page209 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z2 Display String Format:    <STX>Z2<SUB>[string]<ETX>[LRC] (Request frame, normal) <STX>Z2<GS>[PromptID]<SUB><ETX>[LRC]  (Request frame, authenticated) <STX>Z2<RS>[PromptID]<SUB><ETX>[LRC]  (Request frame, authenticated for PIN entry) <STX>Z2[status]<ETX>[LRC]  (Response frame, authenticated) Message length:  Variable, at least 6 bytes. Usage:  PIN pad to show the indicated prompt string on its display, until [CAN] key is pressed. If the first character of message is <GS> (0x1D) or <RS> (0x1E), PIN pad will treat following message string as ID number, and search its predefined message table for corresponding message string, then display the string on the screen. Note:  1.  Two  Z2 message  with  authenticated  prompt  ID  can  be issued in serial  to form  a longer sentence, or used in combination with normal string which contains only digits. 2. Z2 message with PIN entry prompt will force user issue every message with <SUB>, which implies the PIN entry message can’t be concatenated.   3. PIN pad will temporarily turn off timer display for the first Z2 message it received. After  Z42,  Z50,  Z60  are  performed,  [CAN]  key  is  pressed,  or  any  other  message received and processed, PIN pad will turn on the timer display. Message element:   Z2 request frame (normal mode) Field  Length  Value and description <STX>  1  <02> Z2  2  Message ID <SUB>  1  <1A> (optional) When  <SUB>  exists,  PIN  pad  will  clear screen contents. [string]  1 .. 64  ASCII string to be displayed <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page210 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Z2 request frame (authenticated mode with fixed prompt) Field  Length  Value and description <STX>  1  <02> Z2  2  Message ID <GS>  1  <1D>,  mark  of  authenticated  frame  with fixed prompt. Prompt ID  3  Prompt  ID  that  corresponds  to  fixed prompt provided by PIN pad.   Decimal string: 001 ~ 999. <SUB>  1  <1A> (optional) When  <SUB>  exists,  PIN  pad  will  clear screen contents. <ETX>  1  <03> [LRC]  1  Checksum  Z2 request frame (PIN entry mode with fixed prompt) Field  Length  Value and description <STX>  1  <02> Z2  2  Message ID <RS>  1  <1E>, mark of PIN entry frame with fixed prompt. Prompt ID  3  Prompt  ID  that  corresponds  to  fixed  PIN entry prompt provided by PIN pad.   Decimal string: 001 ~ 999. <SUB>  1  <1A>   PIN pad will clear clear screen contents. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page211 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Z2 response frame (authenticated mode) Field  Length  Value and description <STX>  1  <02> Z2  2  Message ID [status]  1  ‘0’: OK ‘1’: Prompt ID not supported. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: Normal frame HOST  Direction      PIN pad Message Z2      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Display string  Authenticated frame HOST  Direction      PIN pad Message Z2      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message Z2   (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Display string <EOT> (if received <ACK>)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page212 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z3 Display Line Prompts Format:    <STX>Z3[count]<SUB>[prompt1]<FS>[prompt2..7]<ETX>[LRC] (Request frame, normal)  <STX>Z3<GS>[PromptID1]<FS>[PromptID2..7]<SUB><ETX>[LRC] (Request frame, authenticated) <STX>Z3<RS>[PromptID1]<FS>[PromptID2..7]<ETX>[LRC] (Request frame, authenticated for PIN entry) <STX>Z3[status] <ETX>[LRC]  (Response frame, authenticated) Message length:  Variable 8 to 124 bytes. Usage:  The PIN pad will display the received prompt strings (up to 7 lines of prompt). If the length  of  prompt  exceeds  the  maximum  characters  per  line,  this  prompt  will  be truncated.  Message element: Z3 request frame (normal mode) Field  Length Value and description <STX>  1  <02> Z3  2  Message ID [Count]  1  Number of prompts to be displayed <SUB>  1  <1A> (optional) When  <SUB>  exists,  PIN  pad  will clear clear screen contents. [Prompt1]  var  First string to be displayed. <FS>  1  <1C>, field separator [Prompt2..7]  var  Remaining strings to be displayed.   Note. <FS> is required between   messages <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page213 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Z3 request frame (authenticated mode or PIN entry mode) Field  Length Value and description <STX>  1  <02> Z3  2  Message ID <GS> or <RS>  1  <1D> for authenticated mode <1E> for PIN entry mode (In  these  mode,  PIN  Pad  will  clear screen content.) [Prompt ID1]  3  Prompt  ID  that  corresponds  to  fixed prompt provided by PIN pad.   Decimal string: 001 ~ 999. <FS>  1  <1C>, field separator [Prompt ID2..7] 3  Prompt  ID  that  corresponds  to  fixed prompt provided by PIN pad.   Decimal string: 001 ~ 999. Note. <FS> is required between   prompt ID. <ETX>  1  <03> [LRC]  1  Checksum   Z3 response frame (authenticated mode) Field  Length Value and description <STX>  1  <02> Z3  2  Message ID [status]  1  ‘0’: OK ‘1’: Prompt ID not supported. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page214 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: Normal frame HOST  Direction      PIN Pad Message Z3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Display prompts as required  Authenticated frame HOST  Direction      PIN Pad Message Z3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message Z3   (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Display string <EOT> (if received <ACK>)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page215 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Z2 / Z3 Authenticated mode with fixed prompt To enable message Z42 and Z50, user has to issue Z2 / Z3 message with a prompt ID supported by PIN pad  (See  Appendix  H).  These  prompts  are  verified  during  Payment  Card  Industry  (PCI)  Security Conformance tests to make sure users will not expose sensitive information (such as PIN) accidentally.    For security reason, to issue authenticated frame of Z2 / Z3 at the first time, the <SUB> flag is mandatory. After Z2 authenticated mode entered, PIN pad will accept two kind of Z2 packet:   1. Z2 packet in normal mode, without <SUB> flag, and contains only digits (0~9) 2. Z2 packet in authenticated mode, without <SUB> flag. For example, issue Z2<GS>005<SUB> and Z2<GS>016 will show “PLEASE ENTER DRIVER LICENSE” on the screen.  Z2 / Z3 PIN entry mode with fixed prompt To enable Z60, user has to issue Z2 / Z3 message with a prompt ID supported by PIN pad, dedicated for PIN entry (See Appendix I). These prompts are verified during Payment Card Industry (PCI) Security Conformance tests to make sure users will not misunderstand PIN entry request as other non-sensitive data. Also message Z62’s prompt1 and prompt2 will be checked to see if they are listed in this prompt table. If not, PIN pad will reject Z62.  Any other messages other than Z2, Z3, Z42, Z50, and Z60 or any unsuccessful Z2 / Z3 messages (wrong prompt ID, format error, Z2 message includes non decimal characters) will make PIN pad to leave Z2 / Z3 authenticated mode to avoid attack.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page216 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z2 Display String with Authentication Code Format:    <STX>Z2<FS>[KeyID][MAC][Mode][string]<SUB><ETX>[LRC] (Request frame) <STX>Z2[status]<ETX>[LRC]  (Response frame) Message length:  Variable. Usage:  This command allows  acquirer to show free message on screen as prompt for clear text entry (Z42, Z50) and PIN entry (Z60). PP791 will verify MAC value by the following rule: *  Collect  [Mode]  character,  [string]  (exclude  white  space,  punctuation  marks  and digits), and <SUB> character (if exist), as byte array, padding with ASCII ‘0’ (0x30) to the multiple of 8. * Use the key specified by [KeyID] and ISO-9797-1 Algorithm 3 to generate message authentication code for above data. * Compare the leftmost 4 bytes of MAC value and the one written in the Z2 command. If MAC value matches, PP791 will display the [string] written in Z2 command.  Note:  1. If  Z2 (string with  MAC) is  used  in  combination with Z2 (fixed prompt), their mode character (GS / RS) must be the same; Otherwise PIN pad will reject secondary Z2. 2. PIN pad will temporarily turn off timer display for the first Z2 message it received. After  Z42,  Z50,  Z60  are  performed,  [CAN]  key  is  pressed,  or  any  other  message received and processed, PIN pad will turn on the timer display. Message element :   Z2 with MAC, request frame Field  Length  Value and description <STX>  1  <02> Z2  2  Message ID <FS>  1  <1C>, field separator. [KeyID]  1  ‘B’  ~  ‘E’,  key  to  verify  MAC  value.  The specified  key  must  have  usage  ‘M3’  and mode ‘V’.   [MAC]  8  Message  authentication  code  of  following message (including <SUB> if exist). [Mode]  1  <GS> (0x1D) for Non-PIN entry. <RS> (0x1E) for PIN entry. [string]  1 .. 62  ASCII string to be displayed <SUB>  1  <1A> (optional) When  <SUB>  exists,  PIN  pad  will  clear
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page217 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages screen contents and also reset entry mode. <ETX>  1  <03> [LRC]  1  Checksum  Z2 with MAC, response frame Field  Length  Value and description <STX>  1  <02> Z2  2  Message ID [status]  1  ‘0’: OK ‘1’: MAC key ID error (out of ‘B’~’E’). ‘2’: MAC key attribute error. ‘3’: MAC value error. ‘4’: Packet format error. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message Z2      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message Z2   (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Display string <EOT> (if received <ACK>)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page218 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z3 Display Line Prompts with Authentication Code Format:    <STX>Z3<FS>[KeyID][MAC][count][Mode][prompt1]<FS> [prompt2..7]<SUB><ETX>[LRC] (Request frame) <STX>Z3[status]<ETX>[LRC] (Response frame) Message length:  Variable. Usage:  This command allows  acquirer to show free message on screen as prompt for  clear text entry (Z42, Z50) and PIN entry (Z60). PP791 will verify MAC value by the following rule: * Collect [Mode] character, [prompt_n] (exclude white space, punctuation marks and digits), and <SUB> character (if exist), as byte array, padding with ASCII ‘0’ (0x30) to the multiple of 8. * Use the key specified by [KeyID] and ISO-9797-1 Algorithm 3 to generate message authentication code for above data. * Compare the leftmost 4 bytes of MAC value and the one written in the Z2 command. If MAC value matches, PP791 will display the [string] written in Z2 command.  Note:  1. If  Z3 (string with  MAC) is used in combination with  Z3 (fixed prompt), their mode character (GS / RS) must be the same; Otherwise PIN pad will reject secondary Z3. 2. PIN pad will temporarily turn off timer display for the first Z2 message it received. After  Z42,  Z50,  Z60  are  performed,  [CAN]  key  is  pressed,  or  any  other  message received and processed, PIN pad will turn on the timer display.  Message element:   Z3 with MAC, request frame Field  Length  Value and description <STX>  1  <02> Z3  2  Message ID <FS>  1  <1C>, field separator. [KeyID]  1  ‘B’  ~  ‘E’,  key  to  verify  MAC  value.  The specified  key  must  have  usage  ‘M3’  and mode ‘V’.   [MAC]  8  Message  authentication  code  of  following message (including <SUB> if exist). [count]  1  ‘1’ ~ ‘7’, number of following prompts. [Mode]  1  <GS> (0x1D) for Non-PIN entry. <RS> (0x1E) for PIN entry. [prompt1]  Var.  First string to be displayed. <FS>  1  <1C>, field separator
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page219 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages [prompt N] Var.  Second to end string to be displayed. Each prompt is separated by <FS>. <SUB>  1  <1A> (optional) When  <SUB>  exists,  PIN  pad  will  clear clear screen contents. <ETX>  1  <03> [LRC]  1  Checksum  Z3 with MAC, response frame Field  Length  Value and description <STX>  1  <02> Z3  2  Message ID [status]  1  ‘0’: OK ‘1’: MAC key ID error (out of ‘B’~’E’). ‘2’: MAC key attribute error. ‘3’: MAC value error. ‘4’: Packet format error. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message Z3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message Z3   (response frame) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Display string <EOT> (if received <ACK>)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page220 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Example to use Z2 / Z3 with Authencation Code. [Example 1] 3.  Use message 02 (ANSI TR31 frame) to load following key to position ‘B’: BCDE90123456789ABCDE90123456789A, Usage = M3, Mode = V. 4.  Assume we want to clear screen and display following string for PIN entry: “AMOUNT 123456.78 ENTER YOUR PIN”. 5.  The data for MAC generation (‘A’ to ‘Z’, ‘a’ to ‘z’ and ISO8859-15 high page character from 0xBC to 0xFF, padded with ASCII 0): <RS>AMOUNTENTERYOURPIN<SUB>0000    1E414D4F554E54454E544552594F555250494E1A30303030 The white spaces and digits are not counted into MAC, this feature enables acquirer to issue PIN entry prompts with different amount, but keep the same MAC value. 6.  Use the key specified in the step 1 to calculate ISO9797-1 algorithm 3 MAC. The result is: C51401D727D761E2.   Take leftmost 4 bytes as MAC value: C51401D7. 7.  Send  <02>Z2<1C>BC51401D7<1E>AMOUNT  123456.78  ENTER  YOUR  PIN<1A><03>  to  PIN Pad, Then message Z60 can be issued to request PIN entry. 8.  Send <02>Z2<1C>BC51401D7 <1A>AMOUNT 123.45 ENTER YOUR PIN<03> to PIN Pad to see the same MAC applies to different amounts.  [Example 2] 1.  Use message 02 (ANSI TR31 frame) to load following key to position ‘B’: 6AC292FAA1315B4D8234B3A3D7D5933A, Usage = M3, Mode = V. 2.  Assume  we  want  to  clear  screen  and  display  for  non-PIN  entry:  “MESSAGE  ONE  1.0”  and “MESSAGE TWO 2.0”. 3.  The data for MAC generation (padded with ASCII 0): <GS>MESSAGEONE<FS>MESSAGETWO<SUB>0  1D4D4553534147454F4E451C4D45535341474554574F1A30 4.  Use the key specified in the step 1 to calculate ISO9797-1 algorithm 3 MAC. Take leftmost 4 bytes as MAC value: 22C0BAD9. 5.  Send  <02>Z3<1C>B22C0BAD92<1D>MESSAGE  ONE 1.0<1C>MESSAGE  TWO 2.0<1A><03> to PIN pad.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page221 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z42    Read Key Code Format:    <STX>Z42[timeout]<ETX>[LRC] Message length:  Variable 6 to 9 bytes. Usage:  Once PP791 receives this command, it begins polling functional key array until timeout.   If  PP791  received  Z2  /  Z3  authenticated  frame  before  Z42,  it  will  return  any  key pressed by user by ASCII key codes via message Z43. Else it will return only function key codes (F1, F2, F3, CAN, CLR, ENTER), and reject numerical key (0 to 9). Multiple key press or combined key press will be discarded. Abort input: Issue message 72 to abort the operation. Note:  Z2/Z3 required: Because Z42 will not show any message to prompt user operation, Z2 or Z3 should be issued before this command, or PIN pad will send <EOT> and stop.    Message element:   Field  Length Value and description <STX>  1  <02> Z42  3  Message ID [timeout]  1 to 3  ASCII  character  from  1  to  255,  for example “10” means 10 seconds timeout. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PP791 Message Z2 or Z3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Show prompt message Message Z42      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message Z43 <ACK>/<NAK>/<EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page222 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z43    Read Key Code Response Format:    <STX>Z43[Keycode]<ETX>[LRC] Message length:  Fixed 7 bytes. Usage:  This is the response frame of Z42. Message element:   Field  Length Value and description <STX>  1  <02> Z43  3  Message ID [keycode] 1  ‘0’ to ‘9’   ASCII ‘A’ to ‘C’ denotes 3 function keys.   ‘A’ = [F1] ‘B’ = [F2] ‘C’ = [F3] ‘*’ = [CAN] ‘#’ = [ENTER] ‘/’ = [CLR] ‘?’ means time out. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: (Please refer to message Z42)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page223 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z50    String Entry Request Format:    <STX>Z50[echo flag][timeout][max entry]<ETX>[LRC] Message length:  Variable 10 to 12 bytes. Usage:  Request user to input string on keypad. Then  PP791  will  wait for  keypad input  and  store  ASCII  data into  internal  buffer. To input English character on the keypad, press [F2] key to rotate the last character. For example,  press  [1],  [F2],  [F2]  will  input  a  ‘Z’  character  into  PP791.  The  maximum length of internal buffer is 49 characters. User can use [CLR] to clear input buffer and input again, or [CAN] to cancel input. Press ‘0’ and press [F2] will transform ‘0’ into period or white space.  Abort input: Issue message 72 to abort the operation. Note:  A Z2 or Z3 message with authenticated frame must be issued before Z50. Otherwise PIN pad will refuse to execute. Message element:   Field  Length Value and description <STX>  1  <02> Z50  3  Message ID [echo flag]  1  ‘0’: echo input as ‘*’ ‘1’: echo input as is ‘2’: do not echo [timeout]  3  ASCII character from 1 to 255 to set the timeout  for  each  keypress,  for  example “010”  means  10  seconds  timeout  after the last keypress. [max entry]  1 or 2  (optional) Maximum entry count.   Range from 00 to 49 (or 0 to 49) <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page224 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction      PP791 Message Z2 or Z3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Show prompt message Message Z50      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message Z51 (or  <EOT>  when  input cancelled) <ACK>/<NAK>/<EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page225 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z51    String Entry Response Format:    <STX>Z51[string]<ETX>[LRC] Message length:  Variable, maximum 55 bytes. Usage:  This is the response frame of Z50. Message element:   Field  Length Value and description <STX>  1  <02> Z51  3  Message ID [string]  1..49  User inputted string. ‘?’ means time out. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: (Please refer to message Z50)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page226 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z60    PIN entry request with external prompt (MK/SK) Format:    <STX>Z60.[account]<FS>[session key]<FS>[timeout]<ETX>[LRC] Message length:  Variable 32 to 43 bytes (max. 59 bytes for TDES session key). Usage:  Request the PIN pad to accept customer PIN entry and encrypt it using the account number and working key sent along in this message. The encrypted PIN block should be retrieved via message 71.  Note:  Z2/Z3  (PIN entry  mode)  required: Message  Z2  or  Z3  (PIN entry mode) should  be issued before this command, or PIN pad will send <EOT> and stop. Aborting Transaction: Please refer to message 70. PIN length: Please refer to message 70. Master key must be selected before transaction: Please refer to message 70. Triple DES capability: Please refer to message 70.  Session  Key: If  the selected  key is  with usage “P0”,  the  session  key  should be all zeros.  Message element:   Field  Length Value and description <STX>  1  <02> Z60  3  Message ID .  1  <2E>, delimiter [Account]  8 .. 19  Account number <FS>  1  <1C>, Field separator [Session key]  16  or 32 Session key encrypted with selected master key.  32-characters  session  key  produces TDES  encrypted  PIN  block  with  EDE order. Format: hexadecimal string. This filed should be all zeros if the selected key is with usage “P0” <FS>  1  (Optional) <1C>, Field separator [timeout]  1  (Optional) ASCII  character  from  ‘1’ to  ‘9’ which is the timeout value in the unit of 30 seconds. Default = 9x30 = 270 seconds. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page227 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction     PIN pad Message Z2 or Z3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Show prompt message Message Z60      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 71 (after customer PIN entered), or <EOT>  when  input  timed  out  or user pressed [CAN] <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page228 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z62    PIN entry request with customized prompt (MK/SK) Format:    <STX>Z62.[account]<FS>[session key][minPIN][maxPIN] [null flag][prompt1]<FS>[prompt2]<FS>[proc prompt]<FS> [timeout]<ETX>[LRC] Message length:  Variable 39 to 100 bytes (max. 116 bytes for TDES session key). Usage:  Request  the  PIN  pad  to  display  the  prompt  message  in  this  data  frame,  accept customer  PIN  entry  and  encrypt  it  using the  account  number  and  working  key  sent along in this message. Display the [proc prompt] when the PIN has been entered. The encrypted PIN block should be retrieved via message 71.  NOTE:  Z2/Z3  (PIN  entry  mode)  required:  If  the  [prompt1],  [prompt2]  and  [proc  prompt] contains any string not listed in Appendix I (fixed prompt table for PIN entry), PIN pad will send <EOT> and stop. Aborting Transaction: Please refer to message 70. PIN length: Although Z62 allow  programmer to  specify the maximum  and minimum PIN length, but it is not allowed to set the value of [maxPIN] and [minPIN] to exceed ANSI x9.8 specification except allow null PIN. Master key must be selected before transaction: Please refer to message 70. Triple DES capability: Please refer to message 70.  Session  Key: If  the selected  key is  with usage “P0”,  the  session  key  should be all zeros.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page229 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message element: Field  Length Value and description <STX>  1  <02> Z62  3  Message ID .  1  <2E>, delimiter [account]  8 .. 19  Account number <FS>  1  <1C>, field separator [session key]  16  or 32 Session  key  encrypted  with  selected  master  key. 32-characters  session  key  produces  TDES  encrypted PIN block with EDE order. Format: hexadecimal string. This filed should be all zeros if the selected key is with usage “P0” [minPIN]  2  00, 04 .. 12 minimum PIN length. ('00' only available when [null flag] set to 'Y'). [maxPIN]  2  00, 04 .. 12 maximum PIN length. ('00' only available when [null flag] set to 'Y'). [null flag]  1  Y Null PIN allowed N Null PIN not allowed [prompt1]  1 .. 16  Prompt  displayed  before  any  key  is  pressed,  alternate with prompt2 <FS>  1  <1C>, field separator  [prompt2]  1…16  (optional)Prompt displayed before any key  is  pressed, alternate with prompt1 <FS>  1  <1C>, field separator [proc prompt]  1…16  (optional)Prompt displayed after PIN is entered <FS>  1  (optional) <1C>, field separator [timeout]  1  (optional) ASCII character from ‘1’ to ‘9’ which is the timeout value in the unit of 30 seconds. Default = 9x30 = 270 seconds. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page230 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction      PIN pad Message Z62      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   (Display  [prompt1]  and  [prompt2]  wait  for user enter PIN)   Message 71 (after customer PIN entered) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)  (Display [proc prompt])
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page231 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z66    Message Authentication Code (MAC) Request Format:    <STX>Z66[PktType][SeqNo][KeyId] <FS> [SessionKey] <FS> [SecKeyId] <FS> [Message] <ETX> [LRC] Message length:  Variable 14 to 270 bytes. Usage:  This message is used to generate MAC codes according to algorithm specified in ANSI X9.19 (ISO 9797-1). User can send ASCII strings or hexadecimal strings to PP791 by Z66  message  to  generate  its  MAC.  User  can  also  separate  a  long  message  into multiple Z66 messages with increasing sequence number to generate a MAC.  NOTE:  Message Length: Onetime message can be up to 224 characters (equal to 112bytes when send as hexadecimal string because 2 characters represents 1 bytes). Multiple messages can have sequence number from 00 to 99, thus the maximum capacity of Z66 message is 22400 characters (or 11200 bytes in binary mode). Multiple messages: When using multiple messages,  [KeyId] and [SessionKey] and [SecKeyId] must be the same. [Message] must be the multiple of 8 characters (or 16 characters in binary mode). Or PP791 will generate a wrong MAC. MAC  algorithm:  PP791  generate  TDES  MAC  according  to  ISO9797-1  algorithm  3. (Padding with 0. Initial vector = 0. Refer to Appendix A point 10 for detail algoritgm.)  Session Key: The value of session key relates to the usage of specified master keys. Usage  of  1st Key ID Usage  of  2nd Key ID Value of session key  MAC Key “K0”  N/A  Non-zero  Session key “M3” (mode G) N/A  Zero  Master key specified by [KeyId]. If specified key is mode ‘V’, this is for MAC verification and cannot used to generate MAC for Z66 command. “M1” (mode G) “M1”  Zero  Master key specified by [KeyId] as left key, and master key specified by [SecKeyId] as right key.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page232 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message element: Field  Length Value and description <STX>  1  <02> Z66  3  Message ID [PktType]  1  '4' = ASCII last or only packet. '5' = ASCII first or middle of multiple packets. '6' = Binary last or only packet. '7' = Binary first or middle of multiple packets. [SeqNo]  2  '00' to '99', for onetime only packet, set to 00. [KeyId]  1  (Optional) Master key to use, range = 'B' to 'E'. If this filed is blank, the MAC master key will be the selected key 0 ~ 9. <FS>  1  <1C>, field separator [SessionKey]  32  Session key  will be decrypted by:  Master key pointed by [KeyId]. Format: hexadecimal string. This filed should be all zeros if the selected key is with usage “M1” or “M3” <FS>  1  <1C>, field separator [SecKeyId]  1  (Optional) Refer to note of Z66 usage. If first [KeyId] points  to  key  with  “K0”  or  “M3”  usage,  this  field should be omitted. <FS>  1  <1C>, field separator [Message]  1-224  ASCII string or Hexadecimal string to be MACed. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: (Onetime only packets) HOST  Direction      PIN pad Message Z66 (type 4,6)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message Z67 (with MAC) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page233 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: (Multiple packets) HOST  Direction      PIN pad Message Z66 (Seq'00' and type 5,7)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message Z67 (with status code '1') <ACK>  /  <NAK>  / <EOT>   Message Z66 (Seq'01'--'98', type 5,7)     <ACK> / <NAK> / <EOT>   Message Z67 (with status code '1') …………………  ……..  ………………………………….. Message Z66 (Sequence#  larger  than last packet, type 4,6)     <ACK> / <NAK> / <EOT>   Message Z67 (with MAC) <ACK>  /  <NAK>  / <EOT> 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page234 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z67    Message Authentication Code (MAC) Response Format:    <STX>Z67[status][MAC]<ETX>[LRC] Message length:  Fixed 7 (status only) or 23 (with MAC) bytes. Usage:  PP791 generated MAC calculation response. It contains status codes or MAC. Message element:   Field  Length Value and description <STX>  1  <02> Z67  3  Message ID [status]  1  '0'=Success, MAC follows '1'=Ready  for  next  Z66  packet,  user  in multiple messages. '2'=Sequence numbers out of order '3'=Master key specified in [KeyId] not exist, or  range  unacceptable  (id  0  to  A),  or usage not “K0”, “M1”, “M3. '4'=Master  key  specified  in  [SecKeyId] unreasonable or not exist.   The  [SecKeyId]  only  exists  if  [KeyId] points  to  a  “M1”  master  key,  and  the [SecKeyId]  itself  should  have  “M1” usage. '5'=[Message]  length  have  error  (too  long, zero length, or not even number in binary mode) '6'=[PkyType] flag has invalid value '7'=[Message]  contents  error  (i.e.  characters larger than 'F' in binary mode) '8'=[SessionKey] invaild ‘9’=MAC master key length should not be 8 ‘A’=Session key is incompatible to the usage of specified master key. (If  MK’s  usage  is  “M1”  or  “M3”,  SK should contains all zero, if MK’s usage is “K0”, SK should not be zero.) [MAC]  16  Calculated MAC. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page235 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: (Please refer to message Z66)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page236 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z7 Turn ON/OFF CANCEL Message Display Format:    <STX>Z7[option]<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  When  a CANCEL message received  or  a  CANCEL  key pressed to cancel a current transaction, the PIN pad will display a “TRANSACTION CANCELLED” message. This could be turned ON or OFF using message Z7. Message element:   Field  Length Value and description <STX>  1  <02> Z7  2  Message ID [option]  1  ‘0’ = message displayed   ‘1’ = message not displayed <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message Z7     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     message turned ON/OFF
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 9 – Online transaction messages with Master / Session keys  2015-04-20   Page237 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z8 Set Idle Prompt Format:    <STX>Z8[prompt]<ETX>[LRC] Message length:  Variable 6 to 21 bytes. Usage:  The PIN pad will display an idle prompt when it is in IDLE state. HOST can change this idle prompt via message Z8. If the prompt field is filled with a null string, then the PIN pad will use the default prompt afterwards. Message element:   Field  Length Value and description <STX>  1  <02> Z8  2  Message ID [Prompt]  1 .. 16 Idle prompt to be used <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction     PIN pad Message Z8      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Displays idle prompt
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page238 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 10    Online transaction messages with Derived Unique Key per Transaction (DUKPT) The  following  messages  are  designed  for  Derived  Unique  Key  Per  Transaction  (DUKPT)  key management scheme described in ANSI X9.24-1992 and 2002 (Triple-DES DUKPT).   Note  that  some  of  the  messages  have  the  same  IDs  as  those  in  MK/SK  scheme,  but  with  different message format. [TDES Capability] If PP791 receives double length key in message 90/94 (Load Initial Key), the following DUKPT operation will be done in TDES mode. PIN block will be TDES encrypted by derived key in EDE order. [Secondary DUKPT Key Set] PP791 provides 2nd key set of DUKPT operation for scalability. For example, customer can inject a DES initial key into key set 0 and a TDES initial key into key set 1, using key set 0 to process traditional DES transactions  at  first.  When  host  systems  ready  to  shift  to  TDES  transaction,  simply  issue  key  set selection command (96) to make PP791 switch to key set 1 without recall all PP791 to inject new initial keys.    The following messages fall into this category:   60  Pre-Authorization PIN Entry Request   62  Pre-Authorization Amount Authorization Request   63  Pre-Authorization Amount Authorization Response   70  PIN entry request   71  Encrypted PIN block response   72  PIN entry cancel   Z60  PIN entry request with external prompt (DUKPT)   Z62  PIN entry request with customized prompt   76  PIN Entry Test Request   90  Load First Initial Key Request   91  Load Initial Key Response   94  Load Second Initial Key Request   96  Select Active Key Set
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page239 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 60 Pre-authorization PIN Entry Request Format:    <STX>60[account] <ETX>[LRC] Message length:  Variable 13 to 24 bytes. Usage:  PIN pad will wait till the PIN entered and ENTER key is pressed. After PIN is entered, message  71  with  PIN  block  will  be  sent  as  response.  The  HOST  must  transmit message 62 to ask for confirmation on transaction amount.  Note:  Z2/Z3  (PIN entry  mode)  required: Message  Z2  or  Z3  (PIN entry mode) should  be issued before this command, or PIN pad will send <EOT> and stop. Aborting Transaction: Please refer to message 70(DUKPT). PIN length: Please refer to message 70(DUKPT).     Message element:   Field  Length Value and description <STX>  1  <02> 60  2  Message ID [Account]  8..19  Primary account number <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page240 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction PIN pad Message Z2 or Z3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Show Prompt Messages Message 60      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   (User enter PIN and press ENTER) Message 71 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Display  “PIN  PAD  PROCESSING” until  CLEAR  pressed  or  another message received. Message 62      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   (User confirm the amount) Message 63 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page241 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 62 Pre-authorization Amount Authorization Request Format:    <STX>62[DC Ind][amount]<ETX>[LRC] Message length:  Variable 10 to 14 bytes. Usage:  Display prompt and accept customer PIN input. The following prompt will be displayed:   “Total Amount $xxx.xx” “Enter – Confirm” ”Cancel – Decline”   xxx.x is the content of Amount field, with length between 4 to 8 positions. The PIN pad will then wait till either CAN or ENTER key is pressed. If ENTER key is pressed, the PIN pad will response  with positive confirmation. If CAN is pressed, the PIN pad will response a negative confirmation. During this period, the PIN pad will not process any message other than the message 72(cancel transaction). Message element:   Field  Length Value and description <STX>  1  <02> 62  2  Message ID [DC Ind] 1  D/C: Debit/Credit Indicator [amount] 4..8  Amount of goods to be displayed on PIN pad. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: Please reference message 60.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page242 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 63 Pre-authorization Amount Authorization Response Format:    <STX>63[Confirm] <ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  Send Authentication Code and the confirmation of transaction amount to HOST. Message element:   Field  Length Value and description <STX>  1  <02> 63  2  Message ID [Confirm]  1  ‘0’ OK, ‘1’ denied. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:   Please reference message60.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page243 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 70 PIN Entry Request (DUKPT) Format:    <STX>70[account]<FS>[DC Ind][amount]<FS>[timeout]<ETX>[LRC] Message length:  Variable 21 to 36 bytes. Usage:  Display prompt and accept customer PIN input. The following prompt will be displayed:  "Total Amount"  "$xxx.xx"  "Enter PIN"  "Push "ENTER""   xxx.x is the content of Amount field, with length between 4 to 8 positions. The PIN pad will then wait  till the PIN  entered and [ENTER] key is pressed.  After ENTER key is pressed, the string “PIN PAD” and “PROCESSING” will be displayed until the CLEAR key is pressed. During this period, the PIN Pad will not process any message other than the CANCEL message (message 72). NOTE:  Aborting transaction: Press CLEAR button to reset the PIN input and CAN (cancel) button to abort the transaction. PIN length: According to ANSI X9.8 standard, the length of PIN should between 4 to 12 digits. If user inputs less than 4 digits and press ENTER, PIN pad will beep for error and continue to wait for user’s input. When user inputs 13th  character,  PIN  pad will beep for error, conserves PIN character 1st to 12th, and wait for ENTER. Triple DES capability: If preloaded initial key is double length key, PP791 will produce TDES encrypted PIN block (EDE order).    Message element:   Field  Length  Value and description <STX>  1  <02> 70  2  Message ID [Account]  8..19  Primary account number <FS>  1  <1C>, field separator [DC Ind]  1  D/C: Debit/Credit Indicator [Amount]  4..8  Amount of goods to be displayed on PIN pad. <FS>  1  (optional) <1C>, field separator [timeout]  1  (optional) ASCII character from ‘1’ to ‘9’ which is  the  timeout  value  in  the  unit  of  30  seconds. Default = 9x30 = 270 seconds. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page244 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction      PIN pad Message 70      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 71 or   <EOT> when [CAN] pressed or input timed out. <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Display  “PIN  PAD  PROCESSING” until  CLEAR  pressed  or  another message received.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page245 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 71 Encrypted PIN Block Response Format:    <STX>71<fkey flag>[Key Serial#][PIN][LRC] (PIN block frame) <STX>71[error code]<ETX>[LRC] (Error code frame) Message length:  Variable 32 to 42 bytes. Usage:  Send the entered PIN to HOST in encrypted format. Message element: Field  Length Value and description <STX>  1  <02> 71  2  Message ID [fkey flag]  1  Always  ‘0’  (This  field  is  kept  to  retain  old model compatibility.) [Key Serial#] 10..20  Key  Serial  number  used  in  encrypting  PIN. Included only when PIN is entered. Format: hexadecimal string. [PIN]  16  Encrypted PIN block Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:   Please refer to message70 (DUKPT). 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 ‘B’  Flash read/write error ‘C’  Memory buffer allocation error ‘F’  DUKPT operation limit (1 million) reached, program stop. ‘G’  Specified file not found or authentication error.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page246 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 72 PIN Entry Cancel Format:    <STX>72<ETX>[LRC] Message length:  Fixed 5 bytes. Usage:  Cancel  current  transaction  and  return  the  PIN  pad  to  IDLE  state,  used  to  interrupt command in  process.  If  PIN  pad  receives  message  72  while  processing  user  input such  as  swipe  card,  enter  PIN  or  key-in  data,  It  will  respond  with  <EOT>  to acknowledge that operation is canceled.  Message element: Field  Length Value and description <STX>  1  <02> 72  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: In Idle mode (normal condition) HOST  Direction      PIN Pad Message 72      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)    In PIN/data entry mode (cancel/abort the session) HOST  Direction      PIN Pad Message 72      <EOT> If PIN Pad is in PIN/Data entry mode or waiting for tapping/swiping card.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page247 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z60    PIN entry request with external prompt (DUKPT) Format:    <STX>Z60.[account]<FS>[timeout]<ETX>[LRC] Message length:  Variable 15 to 28 bytes. Usage:  Request the PIN pad to accept customer PIN entry and encrypt it using the account number and working key sent along in this message. The encrypted PIN block should be retrieved via message 71.  Note:  Z2/Z3  (PIN entry  mode)  required: Message  Z2  or  Z3  (PIN entry mode) should  be issued before this command, or PIN pad will send <EOT> and stop. Aborting Transaction: Please refer to message 70. PIN length: Please refer to message 70. Triple DES capability: Please refer to message 70.  Message element:   Field  Length Value and description <STX>  1  <02> Z60  3  Message ID .  1  <2E>, delimiter [Account]  8 .. 19  Account number <FS>  1  (Optional) <1C>, Field separator [timeout]  1  (Optional) ASCII  character  from  ‘1’ to  ‘9’ which is the timeout value in the unit of 30 seconds. Default = 9x30 = 270 seconds. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page248 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction     PIN pad Message Z2 or Z3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Show prompt message Message Z60      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 71 (after customer PIN entered), or <EOT>  when  input  timed  out  or user pressed [CAN] <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page249 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Z62    PIN entry request with customized prompt (DUKPT) Format:    <STX>Z62.[account]<FS>[minPIN][maxPIN][null flag] [prompt1]<FS>[prompt2]<FS>[proc prompt]<FS>[timeout]<ETX>[LRC] Message length:  Variable 39 to 100 bytes. Usage:  Request  the  PIN  pad  to  display  the  prompt  message  in  this  data  frame,  accept customer  PIN  entry  and  encrypt  it  using the  account  number  and  working  key  sent along in this message. Display the [proc prompt] when the PIN has been entered. The encrypted PIN block should be retrieved via message 71.  NOTE:  Z2/Z3 (PIN  entry  mode) required: If the [prompt1] contains any  string not listed in Appendix I (fixed prompt table for PIN entry), PIN pad will send <EOT> and stop. Aborting Transaction: Please refer to message 70. PIN length: Although Z62 allow  programmer to  specify the maximum  and minimum PIN length, but it is not allowed to set the value of [maxPIN] and [minPIN] to exceed ANSI x9.8 specification except allow null PIN. Triple DES capability: Please refer to message 70.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page250 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message element: Field  Length Value and description <STX>  1  <02> Z62  3  Message ID .  1  <2E>, delimiter [account]  8 .. 19  Account number <FS>  1  <1C>, field separator [minPIN]  2  00, 04 .. 12 minimum PIN length. ('00' only available when [null flag] set to 'Y'). [maxPIN]  2  00, 04 .. 12 maximum PIN length. ('00' only available when [null flag] set to 'Y'). [null flag]  1  Y Null PIN allowed N Null PIN not allowed [prompt1]  1 .. 16  Prompt  displayed  before  any  key  is  pressed,  alternate with prompt2 <FS>  1  <1C>, field separator  [prompt2]  1…16  (optional)Prompt displayed before any key  is  pressed, alternate with prompt1 <FS>  1  <1C>, field separator [proc prompt]  1…16  (optional)Prompt displayed after PIN is entered <FS>  1  (optional) <1C>, field separator [timeout]  1  (optional) ASCII character from ‘1’ to ‘9’ which is the timeout value in the unit of 30 seconds. Default = 9x30 = 270 seconds. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page251 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction      PIN pad Message Z2 or Z3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Show prompt message Message Z62      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   (Display  [prompt1]  and  [prompt2]  wait  for user enter PIN)   Message 71 (after customer PIN entered) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)  (Display [proc prompt])
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page252 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 76 PIN Entry Test Request Format:    <STX>76[account]<FS>[DC Ind][amount]<ETX>[LRC] Message length:  Variable 19 to 34 bytes. Usage:  This message is  designed to do DUKPT continuous PIN entry test. PP791 will send message71 assuming a PIN of ‘1234’.  Message element:   Field  Length Value and description <STX>  1  <02> 76  2  Message ID [Account]  8..19  Primary account number <FS>  1  <1C>, field separator  [DC Ind]  1  D/C: Debit/Credit Indicator [Amount]  4..8  Amount of goods to be displayed on PIN pad. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  This message is identical to message70 except that a PIN of ‘1234’ is used instead of getting keypad input.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page253 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 7A KSN output format Format:    <STX>7A[KSN_format] <ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  This message  will  set  the  key  serial  number  (KSN) format  of  message  71  (DUKPT frame). Format 0 is the original mode (strip leading ‘F’ of KSN) which is compatible of PP690, PP790SE and PP791, Format 1 is full mode (output full 20 characters of KSN).  Message element:   Field  Length Value and description <STX>  1  <02> 7A  2  Message ID [KSN_format]  1  ‘0’: message 71 output KSN without leading ‘F’ ‘1’: message 71 output KSN with leading ‘F’. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:   HOST  Direction      PIN pad Message 7A      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page254 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 90 Load First Initial Key Request Format:    <STX>90[IPEK][KSN]<ETX>[LRC] (Clear Text) <STX>90[TR-31 Key Block]<ETX>[LRC] (Encrypted) Message length:  Fixed 41 or 57 bytes for clear text format, 93 or 109 bytes for TR-31 format. Usage:  Load first set of DUKPT initial key and serial number key to PP791. Consequent keys will be generated using provided data.   If 32-characters (double length) initial key being loaded, PP791 will do key generation, PIN entry, and other DUKPT operations in TDES manner.  PP791 implements multiple security measures to conform Payment Card Industry (PCI) security requirement. In order to load clear text IPEK key, two authorized people with their  password  are  required.  Otherwise  the  user  must  issue  message  90  with encrypted  key  value  (ANSI  TR31  format).  See  “Symmetric  Keys  Loading Authentication” for detailed information.  Note:  VISA required key serial number format are as follows: 4’F’ characters, a 6-digit keyset identifier, 5-digit device ID, followed by a ‘0’,   i.e. “FF FF kk kk kk dd dd d0 00 00”  Message element: (Clear text format) Field  Length Value and description <STX>  1  <02> 90  2  Message ID [IPEK]  16  or 32 Initial PIN encryption key. 32-characters  Initial  key  will  make PP791 act in TDES DUKPT mode. Format: hexadecimal string. [KSN]  20  Key serial number used  in  generating consequent keys. Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page255 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages (Encrypted format) Field  Length Value and description <STX>  1  <02> 90  2  Message ID [TR-31  Key Block] 88  or 104 TR-31 key block with optional header block that contains KSN. See Appendix A for detail. <ETX>  1  <03> [LRC]  1  Checksum   Message flow: HOST  Direction      PIN pad Message 90      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 91 <ACK>/<NAK>/<EOT>     Example:   Clear Text IPEK key to be loaded:    ABCDEF0123456789FEDCBA9876543210 KSN:        FFFF9876543210E00000 The resulting 90 message :  <STX>90ABCDEF0123456789FEDCBA9876543210FFFF9876543210E00000<ETX>[LRC] TR-31 Key Block Key Block Protecting Key:    AA55AA55AA55AA55 3434343434343434 IPEK key to be loaded:    ABCDEF0123456789 FEDCBA9876543210 KSN:        FFFF9876543210E00000 Key Block Header:      B0104B1TX00N0100 KS18FFFF9876543210E00000 Padded IPEK:        0080 ABCDEF0123456789 FEDCBA9876543210 30111D18CC4C Derived KBEK:        3C50E1B7962F2171DC8643F1D923ABF7 Derived KBMK:        46FBEEB64EAE26A650952DA4F6DD8325 CMAC of (KBH + Padded key data), using KBMK:  93C3D5EBC6C407E4 Use CMAC as IV to do TDES CBC encryption on padded key data, using KBEK: Encrypted key data:      EC86E6E3B24544F97C629FB0E0586A0285D35BA78E9B13FB Result:  <02>90B0104B1TX00N0100KS18FFFF9876543210E00000EC86E6E3B24544F9 7C629FB0E0586A0285D35BA78E9B13FB93C3D5EBC6C407E4<03>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page256 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 91 Load Initial Key Response Format:    <STX>91[Status]<ETX>[LRC] Message length:  Variable (max 7 bytes.) Usage:  Confirmation  of  the  initial  key  loading.  PP791  will  also  show  a  message  “IPEK  n loaded”  (n  =  1  or  2) to  confirm  the success  loading  of  initial  key  of  set 1  and  set  2 visually. Message element:   Field  Length Value and description <STX>  1  <02> 91  2  Message ID [Status]  1..2  ‘0’ if successful ‘1’ + [Error Code] if process failed. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please reference message90.  Error codes:   Code  Meaning '1'  Processing  message  90  without  authentication,  process authentication at first '2'  IPEK and KSN format error: not hexadecimal character. '3'  Internal memory allocation error. '4'  Internal fail to read key structure ‘A’  TR31 format error. ‘B’  Insecure key inject. (New key is longer than the key used to protect it.) ‘C’  Fail to verify MAC value. ‘D’  KLK does not exist. ‘F’  Key loading count over limit.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page257 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 94 Load Second Initial Key Request Format:    <STX>94[IPEK][KSN]<ETX>[LRC] <STX>90[TR-31 Key Block]<ETX>[LRC] (Encrypted) Message length:  Fixed 41 or 57 bytes for clear text format, 93 or 109 bytes for TR-31 format. Usage:  Load second set of DUKPT initial key and serial number key  to PP791. Consequent keys will be generated using provided data.   Note:  Refer to message 90.  Message element: (Clear Text Format) Field  Length Value and description <STX>  1  <02> 94  2  Message ID [IPEK]  16  or 32 Initial PIN encryption key. 32-characters  Initial  key  will  make PP791 act in TDES DUKPT mode. Format: hexadecimal string. [KSN]  20  Key serial number used  in  generating consequent keys. Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  (Encrypted format) Field  Length Value and description <STX>  1  <02> 94  2  Message ID [TR-31  Key Block] 88  or 104 TR-31 key block with optional header block that contains KSN. See Appendix A for detail. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page258 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction      PIN Pad Message 94      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message 91 <ACK>/<NAK>/<EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 10 – Online transaction messages with DUKPT  2015-04-20   Page259 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 96 Select Active Key Set Format:    <STX>96[keyset]<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  Select active key set for following transactions. This parameter willl be saved and lasts until next 96 message or DUKPT life cycle ends.  Message element:   Request frame (HOST to PIN Pad) Field  Length Value and description <STX>  1  <02> 96  2  Message ID [keyset]  1  ASCII character ‘0’ = First key set ‘1’ = Second key set <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message 96 request frame     <ACK>/<NAK>/<EOT>
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page260 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 11    ICC / SAM / Magnetic stripe card manipulating messages The  following  messages  are  used  in  manipulating  the  integrated  ICC  slot,  SAM  slot,  magnetic  card reader UIC contact-less module on the PIN pad unit.  NOTE: By default, MSR function is turned off until user issue Q4 command to enable.    I00    Query Primary Smart Card Presence   I01    Primary Smart Card Cold Reset   I02    Primary Smart Card ATR Response   I04    Primary Smart Card Deactivate   I06    Primary Smart Card C-APDU   I07    Primary Smart Card R-APDU   I0F    Error code message response   I11    SAM slot Cold Reset   I12    SAM slot ATR Response   I14    SAM slot Card Deactivate   I15    Select SAM Interface   I16    SAM slot C-APDU   I17    SAM slot R-APDU
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page261 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I00  Query Primary Smart Card Presence Format:    <STX>I00<ETX>[LRC]        (request) <STX>I00[response]<ETX>[LRC]  (response) Message length:  Fixed 6 bytes (request frame) / 7 bytes (response frame). Usage:  Upon receiving a query card packet, PP791 checks whether the card is present in the primary card reader or not. If the card exists in the reader, PP791 replies the code ‘F’. Otherwise, the code ‘0’ is used instead. Request frame (HOST to PP791) Field  Length Value and description <STX>  1  <02> I00  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PP791 to HOST) Field  Length Value and description <STX>  1  <02> I00  3  Message ID [Response]  1  0: Smart card not exists. F: Smart card exists <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction     PP791 Message I00 (Request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Check card existence Message I00 (response) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page262 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I01  Primary Smart Card Cold Reset Format:    <STX>I01<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  PP791 performs a cold reset on the active smart card. If the operation is successful, PP791 sends the message I02 with the “Answer to Reset” (ATR) of the smart card to host. Otherwise, the message I0F bears the error code is to be sent back. Message element:   Field  Length Value and description <STX>  1  <02> I01  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PP791 Message I01      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Smart card cold reset. Message I02 (ATR) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page263 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I02  Primary Smart Card ATR Response Format:    <STX>I02[ATR]<ETX>[LRC] Message length:  Variable, depending on the specification of smart card.. Usage:  The message contains the “Answer to Reset” (ATR) of the smart card to be sent to host. In general, the ATR conforms to the ISO 7816-3 or EMV 4.3 Book 1. See these standards for more detail information. Message element:   Field  Length Value and description <STX>  1  <02> I02  3  Message ID [ATR]  N  Answer to reset data. Format: Hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message I01.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page264 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I04  Primary Smart Card Deactivate Format:    <STX>I04<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  Upon  receiving the card  deactivate  packet,  PP791 sets the  active  smart  card to the deactivate state. If the operation is successful, PP791 replies same packet to confirm. Otherwise, message I0F with the error code is used instead.. Message element:   Field  Length Value and description <STX>  1  <02> I04  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PP791 Message I04      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Deactivate smart card. Message I04 (success) Message I0F (fail) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page265 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I06  Primary Smart Card C-APDU Format:    <STX>I06[C-APDU]<ETX>[LRC] Message length:  Variable 14 to 530 bytes. Usage:  The  Command  APDU  (application  protocol  data  unit)  is  the  data  to  be  sent  to  the active smart card. PP791 's smart card reader will handle base protocols such as T=0 and  T=1,  so  programmer  need  only  send  APDU.  In  general,  PP791  will  reply  the message I07 (response APDU from card) to host in 1 second. For any error, PP791 will send message I0F with error code back. Message element:   Field  Length Value and description <STX>  1  <02> I06  3  Message ID [C-APDU]  8..524  Smart card command APDU. Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PP791 Message I01    (Smart  card  power  on  and ATR response) Message I06      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Communication with card. Message I07 or I0F <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page266 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I07  Primary Smart Card R-APDU Format:    <STX>I07[R-APDU]<ETX>[LRC] Message length:  Variable 10 to 530 bytes. Usage:  After  smart  card  processes  the  Command-APDU,  it  puts  the  result  as  the Response-APDU.  PP791  packs  the  Response-APDU  into this  message  packet  and sends to host. Message element:   Field  Length Value and description <STX>  1  <02> I07  3  Message ID [R-APDU]  4.. 524 Smart card response APDU   Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message I06.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page267 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I08  Smart Card Offline PIN Verification (EMV) Format:    <STX>I08[Mode]<FS>[Prompt & Amount]<ETX>[LRC] (Clear-text mode)   <STX>I08[Mode]<FS>[Prompt  &  Amount]<FS>RSA  public  Exp]<FS>[RSA public Modulus]<ETX>[LRC] (Cipher-text mode) Message length:  Variable. Usage:  User could apply message I01 ~ I06 to implement his EMV transaction flow. In EMV transaction  flow,  user  could  apply  this  message  to  implement  the  offline  PIN verification operation defined by EMV Co. User applies this message to make PIN pad ask cardholder enter his PIN on PIN pad and then PIN pad will send the PIN block (in clear  -text  or cipher-text) to IC  card.  For secure  consideration, user  will  not get  any information about cardholder’s PIN, user can only get the PIN verification result from PIN pad.      In  PIN  verification  operation,  PIN  pad  will  issue  “Get  Challenge”  command  to  get random number from smart card for PIN encryption. Message element:   Field  Length Value and description <STX>  1  <02> I08  3  Message ID [Mode]  1  0: Clear PIN mode 1: Cipher PIN mode <FS>  1  <1C> [Prompt & Amount]  var  ASCII  string.  The  data  in  this  filed  is  used  to present to cardholder. The length of this filed could be 1 ~ 32. Ex. Amount: 12.345 PIN pad  will  append messages on  line 3 and  4 to inform user to make a confirmation. <FS>  1  <1C> (Optional, if Mode is 1) [RSA public Exp]  1  (Optional, if Mode is 1) 1: 3 2: 2^16 + 1 <FS>  1  (Optional, if Mode is 1) <1C> [RSA public Modulus]  Var.  Hex string. RSA modulus. (Optional, if Mode is 1) <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page268 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction      PP791 Message I08      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Communication with card. Message I09 or I0F <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page269 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I09  Response of Smart Card Offline PIN Verification (EMV) Format:    <STX>I09[Response]<ETX>[LRC] Message length:  Fixed 7 bytes. Usage:  PIN  pad  will  return  the  result  of  PIN  verification  operation.  For  EMV  rule,  it’s recommended that terminal applies next CVM if get response equal to ‘C’, ‘E’, and ‘S’, terminates EMV transaction if get response equal to ‘D’ and ‘F’.  Message element:   Field  Length Value and description <STX>  1  <02> I09  3  Message ID [Response]  1  ASCII character. A: PIN is verified successfully. C: Cardholder bypass PIN. D: Communication failed (with smart card). E: Exceed PIN try limit S: No random number from   smart card. F: Other errors <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message I08.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page270 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I0F    Error Codes Format:    <STX>I0F[error code]<ETX>[LRC] Message length:  Fixed 8 bytes. Usage:  This message contains the error codes to indicate what’s going on for error situation. The error code list is as follows: "01" - ATR error or NO smart card. "02" - APDU data length is not enough. "03" – ICC/SAM card not powered yet, use I01 first. "04" - The alphanumeric in APDU data are out of range. "05" - Current smart card reader doesn't have card in. "06" - Smart card interface switch failed. "07" - PP791 Smart card module timed out. "08" - Smart card APDU command failed. ”09” - This parameter does not supported by PP791. ”0A” - This unit does not have corresponding peripheral (ICC reader or SAM). ”0B” – Already power up. Message element:   Field  Length Value and description <STX>  1  <02> I0F  3  Message ID [Error code] 2  Error codes. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to I00 to I07.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page271 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I11  SAM slot Cold Reset Format:    <STX>I11<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  PP791  performs  a  cold  reset  on  the  active  SAM  interface.  If  the  operation  is succeeded, PP791 sends the message I12  with the “Answer to Reset” (ATR) of the smart  card  to  host. Otherwise,  the  message  I0F  bears  the  error  code  is  to  be  sent back. Message element:   Field  Length Value and description <STX>  1  <02> I11  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PP791 Message I15    (Select  interface  and response) Message I11      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Smart card cold reset. Message I12 (ATR) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page272 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I12  SAM slot ATR Response Format:    <STX>I12[ATR]<ETX>[LRC] Message length:  Variable, depending on the specification of smart card.. Usage:  The message contains the “Answer to Reset” (ATR) of the SAM card to be sent to host. In  general,  the  ATR  conforms  to  the  ISO  7816-3  or  EMV  2000  level  1.  See  these standards for more detail information.. Message element:   Field  Length Value and description <STX>  1  <02> I12  3  Message ID [ATR]  N  Answer to reset data. Format: Hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message I11.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page273 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I14  SAM slot Card Deactivate Format:    <STX>I14<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  Upon  receiving the card  deactivate  packet,  PP791 sets the  active  smart  card to the deactivate state. If the operation is successful, PP791 replies same packet to confirm. Otherwise, message I0F with the error code is used instead. Message element:   Field  Length Value and description <STX>  1  <02> I14  3  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PP791 Message I14      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Deactivate smart card. Message I14 (success) Message I0F (fail) <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page274 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I15  SAM Select Interface Format:    <STX>I15[IF_code]<ETX>[LRC] Message length:  Fixed 7 bytes. Usage:  PP791 sets the active interface of the smart card reader. If operation succeeds, PP791 replies with the  same packet to confirm. Otherwise, message I0F  with error code is used instead. All SAM slot commands will be sent to the card via the active interface. Message element:   Field  Length Value and description <STX>  1  <02> I15  3  Message ID [IF_code] 1  Interface code. ‘1’ = SAM 1 '2' = SAM 2 '3' = SAM 3 <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PP791 Message I15      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message I15 <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page275 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I16  SAM slot C-APDU Format:    <STX>I16[C-APDU]<ETX>[LRC] Message length:  Variable 14 to 530 bytes. Usage:  The  Command  APDU  (application  protocol  data  unit)  is  the  data  to  be  sent  to  the active smart card. PP791 's SAM reader will handle base protocols such as T=0 and T=1, so programmer need only send APDU. In general, PP791 will reply the message I17 (response APDU from  card) to host in  1 second. For any error, PP791 will send message I0F with error code back. Message element:   Field  Length Value and description <STX>  1  <02> I16  3  Message ID [C-APDU]  8..524  Smart card command APDU. Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PP791 Message I15    (Select  interface  and response) Message I11    (Smart  card  power  on  and ATR response) Message I16      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Communication with card. Message I17 or I0F <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page276 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message I17  SAM slot R-APDU Format:    <STX>I17[R-APDU]<ETX>[LRC] Message length:  Variable 10 to 530 bytes. Usage:  After  SAM  card  processes  the  Command-APDU,  it  puts  the  result  as  the Response-APDU.  PP791  packs  the  Response-APDU  into this  message  packet  and sends to host. Message element:   Field  Length Value and description <STX>  1  <02> I17  3  Message ID [R-APDU]  4.. 524 Smart card response APDU   Format: hexadecimal string. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message I16.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page277 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Q1  Display SWIPE CARD message Format:    <STX>Q1<ETX>[LRC] Message length:  Fixed 5 bytes. Usage:  The PIN pad will display the prompt “SWIPE CARD” on its LCD until a card is swiped through the reader slot or Z1 message (reset state) received or CAN key pressed. After magnetic stripe card swiped, PIN pad will collect and decode the card data, strip start sentinel, end sentinel, and LRC character. Then send the data to the HOST and display “PIN PAD PROCESSING” message.   NOTE: For first time use of PP791, issue Q4 message to enable MSR tracks before issuing Q1. Message element:   Field  Length  Value and description <STX>  1  <02> Q1  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message Q1      “SWIPE CARD” displayed on LCD   <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   (User swipe magnetic card) Message 81 <ACK> (Good LRC) <NAK> (Bad LRC) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page278 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Q2Transaction Completed Format:    <STX>Q2<ETX>[LRC] Message length:  Fixed 5 bytes. Usage:  Indicate that a transaction is now completed. The PIN pad will display a “Thank You” message for three seconds and then goes to IDLE state. Note:  This message can also be used on PIN transaction (70, Z60, Z62) Message element:   Field  Length  Value and description <STX> 1  <02> Q2  2  Message ID <ETX> 1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message Q2      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Display  “Thank  You” for 3 seconds, followed by idle prompt.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page279 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Q3Ignore Card Swipe Format:    <STX>Q3<ETX>[LRC] Message length:  Fixed 5 bytes. Usage:  The  HOST  should  send  a  message  Q3  after  receiving  card  data  and  decide  not  to accept another card temporarily. Upon receiving this message, the PIN pad will display “PIN PAD PROCESSING” prompts and ignore any card swiping. Message element:   Field  Length Value and description <STX>  1  <02> Q3  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message Q3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   “PIN PAD PROCESSING” displayed on LCD
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page280 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Q4  Enable/Disable Magnetic Card Reader Format:    <STX>Q4[flag]<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  All the tracks are disabled by default (After each re-power on PIN pad). The HOST can use this message to have PIN pad enable or disable the magnetic card reader. Only track  2  is  enabled  if  [flag]  field  contains  ‘0’.  All  tracks  will  be  enabled  if  [flag]  field contains a ‘2’.    NOTE: Please refer to message 81 for returned magnetic card data format.  Message element:   Field  Length Value and description <STX>  1  <02> Q4  2  Message ID [flag]  1  ‘0’: enable Track2 only ‘1’: disable   ‘2’: enable all tracks of MSR <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction     PIN pad Message Q4     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page281 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Q5Set MSR Retry Count Format:    <STX>Q5[RetryCount]<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  This command will set a retry count for the MSR swiping initiated by message Q1 and Z90.   If PIN pad cannot decode any data from latest swipe, retry count larger than “0”, and timeout is not reached, PIN pad will show “BAD READ” on LCD and waiting for next swipe.  Until  timeout  or  retry  counter  reached  maximum.  This  setting  will  be kept  in battery powered memory and effective all the time.  Message element:   Field  Length  Value and description <STX>  1  <02> Q5  2  Message ID RetryCnt  1  ‘0’ to ‘9’, MSR retry count. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message Q5      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Save  the  setting  or  display error  message  when RetryCnt out of range.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page282 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Q6  MSR Operation Control Format:    <STX>Q6.[flag]<ETX>[LRC] (request frame) Message length:  7 bytes. Usage:  This command can be used to set MSR output format.  Message element: Request fame (HOST to PP791) Field  Length Value and description <STX>  1  <02> Q6  2  Message ID .  1  <2E>, delimiter [flag]  1  ‘0’: Clear-Text Card Data ‘2’: Clear-Text Card Data with Sentinels. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction     PIN pad Message Q6      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message Q6 (echo of request frame when  success)  or  <EOT>  (when format error.) <ACK> / <NAK> / <EOT> 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page283 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Q7MSR Mode Query Format:    <STX>Q7<ETX>[LRC]       (request frame) <STX>Q7[status]<ETX>[LRC]   (response frame) Message length:  Fixed 5 bytes for request, 6 bytes for response. Usage:  This command will query MSR processing option. Message element:   Request fame (HOST to PP791) Field  Length Value and description <STX>  1  <02> Q7  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Response fame (PP791 to HOST) Field  Length Value and description <STX>  1  <02> Q7  2  Message ID [status]  1  ‘0’: Clear-Text Card Data ‘2’: Clear-Text Card Data with Sentinels. <ETX>  1  <03> [LRC]  1  Checksum   Message flow: HOST  Direction     PIN pad Message Q7 (request)     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message Q7 (response) <ACK>  / <NAK>  / <EOT> 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page284 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Q8Display TAP CARD message Format:    <STX>Q8<ETX>[LRC] Message length:  Fixed 5 bytes. Usage:  The PIN pad will display the prompt “TAP CARD” on its LCD until a contactless card is taped or Z1 message (reset state) received or CAN key pressed.   After contactless card taped, PIN pad will collect card data then send the data to the HOST.   NOTE:  Before  issue  message  Q8  to  retrieve  contactless  card  data  after  PIN  pad re-power on, issue QA message to enable contactless module’s tracks. Message element:   Field  Length  Value and description <STX>  1  <02> Q8  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message Q8      “TAP  CARD”  displayed  on LCD   <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   (User taps contactless card) Message 83 <ACK> (Good LRC) <NAK> (Bad LRC) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page285 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message Q9Display SWIPE / TAP CARD message Format:    <STX>Q9<ETX>[LRC] Message length:  Fixed 5 bytes. Usage:  The PIN pad will display the prompt “SWIPE / TAP CARD” on its LCD until a card is swiped or taped through the reader slot or Z1 message (reset state) received or CAN key pressed.   After magnetic stripe card swiped, PIN pad will collect and decode the card data, strip start sentinel, end sentinel, and LRC character. Then send the data to the HOST and display “PIN PAD PROCESSING” message.   After contactless card taped, PIN pad will collect card data and send the data to the HOST and display “PIN PAD PROCESSING” message. NOTE: Before issue message  Q9 to retrieve contactless / magnetic stripe card data after PIN pad re-power on, issue Q4 and QA messages to enable contactless module’s tracks and magnetic stripe reader tracks. NOTE: The returned message will be with “81” or “83” according the source  of card data. Message element:   Field  Length  Value and description <STX>  1  <02> Q9  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message Q9      “SWIPE/TAP  CARD”  displayed on LCD   <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   (User swipe magnetic card) Message 81 (User taps contactless card) Message 83 <ACK> (Good LRC) <NAK> (Bad LRC) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page286 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message QA    Enable/Disable Contactless Card Reader Format:    <STX>QA[flag]<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  All the tracks are disabled by default (After each re-power on PIN pad). The HOST can use this message to have PIN pad enable or disable the contact-less card reader. Only track  2  is  enabled if [flag] field  contains  ‘0’. Both tracks  will  be  enabled if  [flag] field contains a ‘2’.   NOTE: Please refer to message 83 for returned magnetic card data format. Note. QA message will set prefix <81>, <82> and <83> as prefix of track data 1, 2 and 3.  Message element:   Field  Length Value and description <STX>  1  <02> QA  2  Message ID [flag]  1  ‘0’: enable Track2 only ‘1’: disable   ‘2’: enable all tracks of MSR <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message QA      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs) (<EOT>Contactless card reader is initialized failed)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page287 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message QB    MSR Device (Not) Always Detection Format:    <STX>QB[flag]<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  If the always detection is turned on, PIN pad will return the magnetic card data each swipe under idle mode (Terminal does  not have to issue message Q1 for each card data). If this functionality is turned off, terminal should issue message Q1 to get the magnetic card data.  Note. If the card track is all disabled (refer to message Q4), terminal will always get null magnetic card   data.  Message element:  Request fame (HOST to PP791) Field  Length Value and description <STX>  1  <02> QB  2  Message ID [flag]  1  ‘0’: Not always detect ‘1’: Always detect.   <ETX>  1  <03> [LRC]  1  Checksum Response fame (PP791 to HOST) Field  Length Value and description <STX>  1  <02> QB  2  Message ID [status]  1  ‘0’ = Setup successfully ‘1’ = Invalid flag <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message QB      <ACK> (Good LRC) / <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message QB(response) <ACK>  /  <NAK>  / <EOT> 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page288 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message QC    Contactless module (Not) Always Detection Format:    <STX>QC[flag]<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  If the always detection is turned on, PIN pad will return the contactless card data each swipe under idle mode (Terminal does not have to issue message Q8/Q9 for each card data). If this functionality is turned off, terminal should issue message Q8/Q9 to get the contactless card data.  Note. If the card track is all disabled (refer to message QA), terminal will always get null magnetic card   data.  Message element:  Request fame (HOST to PP791) Field  Length Value and description <STX>  1  <02> QC  2  Message ID [flag]  1  ‘0’: Not always detect ‘1’: Always detect.   <ETX>  1  <03> [LRC]  1  Checksum Response fame (PP791 to HOST) Field  Length Value and description <STX>  1  <02> QC  2  Message ID [status]  1  ‘0’ = Setup successfully ‘1’ = Invalid flag <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message QC      <ACK> (Good LRC) / <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message QB(response) <ACK>  /  <NAK>  / <EOT> 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page289 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message QD    Contactless Card Data with/without Start/End sentinels Format:    <STX>QD[flag]<ETX>[LRC] Message length:  Fixed 6 bytes. Usage:  The default value for PIN pad is to ignore the start/end sentinels and then return the contactless  card  data.  User  can  apply  this  message  to  make  PIN  pad  return  the contactless card data with start/end sentinels.  Message element: Request fame (HOST to PP791) Field  Length Value and description <STX>  1  <02> QD  2  Message ID .  1  <2E> [flag]  1  ‘0’: Without Start/End sentinels ‘1’: With Start/End sentinels <ETX>  1  <03> [LRC]  1  Checksum  Response fame (PP791 to HOST) Field  Length Value and description <STX> 1  <02> QD  2  Message ID [status] 1  ‘0’: Without Start/End sentinels ‘1’: With Start/End sentinels <ETX> 1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN pad Message QD      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message QD (response) <ACK> / <NAK> / <EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page290 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 81 MSR Card Data   Format:    <STX>81.[trk1 data]<FS>[trk2 data]<FS>[trk3 data]<FS> [BIN record]<ETX>[LRC]   <STX>81@[trk1 data]<FS>[trk2 data]<FS>[trk3 data]<ETX>[LRC]   <STX>81&[Check PAN result 1]<FS>[Check PAN result 2]<ETX>[LRC] Message length:  Variable, depending on card image in buffer. Usage:  PIN pad uses this message to send back the information read from last  card swipe. Data are transmitted using ASCII string as defined by ISO 7811 format specification. Under different type, PIN pad returns the card data in different format. If message Q4 is issued and PIN pad is set as track 2 only, the returned message 81 will contain only track 2 data without filed separator. If BIN table processing is enabled and a BIN record search is successful (Please refer to  message  Exx  for  detailed  information),  the  BIN  will  be  attached  in  the  end  of magnetic strip card data.    Message element: Field  Length  Value and description <STX>  1  <02> 81  2  Message ID .  1  <2E> [trk1]  N  Variable length, data of track 1. <FS>  1  <1C>, field separator. [trk2]  N  Variable length, data of track 2. <FS>  1  <1C>, field separator. [trk3]  N  Variable length, data of track 3. <FS>  1  <1C>, filed separator, if BIN processing is enabled and a match record is found. [BIN record] 16  Hex  string.  If  BIN  processing  is  enabled and a match record is found. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page291 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow:         Under Operation Type 0, 1, 2 and 3 HOST  Direction      PIN pad Message Q1 or Q9        “SWIPE CARD” displayed on LCD   <ACK> (Good LRC) / <NAK> (Bad LRC) <EOT> (after 3 NAKs)   (User swipe magnetic card) Message 81 (81.) <ACK> (Good LRC) <NAK> (Bad LRC) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 11 – ICC / SAM / Magnetic stripe card manipulating messages  2015-04-20   Page292 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message 83 Contact-less Card Data Format:    <STX>83.[trk1 data]<FS>[trk2 data]<FS>[trk3 data]<ETX>[LRC] Message length:  Variable, depending on card image in buffer. Usage:  PIN pad uses this message to send back the information read from last contact-less card tap. If message QA is issued  and PIN  pad  is set  as track  2 only, the  returned message 83 will contain only track 2 data without filed split. Message element:   Field  Length  Value and description <STX>  1  <02> 83  2  Message ID .  1  <2E> [trk1]  N  Variable length, data of track 1. <FS>  1  <1C>, field separator. [trk2]  N  Variable length, data of track 2. <FS>  1  <1C>, field separator. [trk3]  N  Variable length, data of track 3. <ETX>  1  <03> [LRC]  1  Checksum  Message flow:  Please refer to message Q8 or Q9.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 12 –Display functionality messages  2015-04-20   Page293 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 12    Display functionality messages PP791 provides a display with resolution 320x240 for graphic and 8*8, 8*16, 16*16 and 16*24 character sets for text mode and supports many display functionalities for user.  Font size selection:   PP791 support 8*8 (0x20~0x7F), 8*16, 16*16 and 16*24 (0x20~0xFF) character sets for selection. Foreground/Background color selection: User can alternate the foreground and background color. Screen save setting: Set the parameters for screen save functionality. Enable / disable screen save: Enable or disable the screen save functionality. Screen save preview: The screen save will be launched once.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 12 –Display functionality messages  2015-04-20   Page294 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message B1 Font Size Selection Format:    <STX>B1[Font Size]<ETX>[LRC]  (request)   <STX>B2[Response]<ETX>[LRC]   (response) Message length:  Fixed 6. Usage:  PIN  pad  supports 4 font sizes,  8x8, 8x16,  16x16  and 16x24. Use  this message  can change  the  displayed  font  size.  If  the  font  size  is  set  to  8x8,  only  the  low  page characters  can  be  displayed  (<0x80),  the  high  page  characters  will  be  replaced  by space character. Request frame (HOST to PP791) Field  Length Value and description <STX>  1  <02> B1  2  Message ID [Font Size] 1  '0': 8x8 font size '1': 8x16 font size '2': 16x16 font size '3': 16x24 font size <ETX>  1  <03> [LRC]  1  Checksum Response frame (PP791 to HOST) Field  Length Value and description <STX>  1  <02> B2  2  Message ID [Response]  1  '0': Setup successfully. '1': Format error '2': Not support <ETX>  1  <03> [LRC]  1  Checksum Message flow: HOST  Direction     PP791 Message B1 (Request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Message B2 (response) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 12 –Display functionality messages  2015-04-20   Page295 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message B3 Font Color (Foreground / Backgroud) Selection Format:    <STX>B3[Foreground][Background]<ETX>[LRC]  (request)   <STX>B4[Response]<ETX>[LRC]         (response) Message length:  Fixed 17 bytes. Usage:  Use this message to set new color of font and background. The format is RR/GG/BB. Request frame (HOST to PP791) Field  Length Value and description <STX>  1  <02> B3  2  Message ID [Foreground] 6  Hex String. Format: RRGGBB [Background] 6  Hex String. Format: RRGGBB <ETX>  1  <03> [LRC]  1  Checksum Response frame (PP791 to HOST) Field  Length Value and description <STX>  1  <02> B4  2  Message ID [Response]  1  '0': Setup successfully. '1': Format error <ETX>  1  <03> [LRC]  1  Checksum Message flow: HOST  Direction     PP791 Message B3 (Request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Message B4 (response) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 12 –Display functionality messages  2015-04-20   Page296 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message BB  Screen Saver Setting Format:    <STX>BB[Waiting Time][Screen Saver Type]<ETX>[LRC]  (request)   <STX>BC[Response]<ETX>[LRC]             (response) Message length:  Fixed 9 bytes. Usage:  PP791  has  screen  saver  functionality.  Use  this  message  to  select  one  of  screen savers  and  set  the  waiting time,  and  use message  BD  to  enable the  screen  saver. While PP791 idles (without receiving messages, keystrokes, or screen touch) over the time  specified  in  [Waiting  Time],  the  screen  saver  will  be  activated.  The  minimum waiting time should be greater then or equal to 5 seconds.    Screen saver - Jpeg Show: display all jpeg pictures in rotation (at least one JPEG         image should be loaded into PP791). Screen saves will be launched each time in rotation.  Request frame (HOST to PP791) Field  Length Value and description <STX>  1  <02> BB  2  Message ID [Waiting Time] 3  005~999 [Screen  Saver Type] 1  '1': Jpeg show <ETX>  1  <03> [LRC]  1  Checksum Response frame (PP791 to HOST) Field  Length Value and description <STX>  1  <02> BC  2  Message ID [Response]  1  '0': Valid parameter. '1': Invalid parameter. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 12 –Display functionality messages  2015-04-20   Page297 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction     PP791 Message BB (Request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Message BC (response) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 12 –Display functionality messages  2015-04-20   Page298 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message BD  Enable / Disable Screen Saver Format:    <STX>BD[Op]<ETX>[LRC]            (request)   <STX>BE[Response]<ETX>[LRC]         (response) Message length:  Fixed 6 bytes. Usage:  Use this message to enable / disable screen saver.  Request frame (HOST to PP791) Field  Length Value and description <STX>  1  <02> BD  2  Message ID [Op]  1  '0':  Disable  screen  saver functionality. '1': Enable screen saver functionality. <ETX>  1  <03> [LRC]  1  Checksum Response frame (PP791 to HOST) Field  Length Value and description <STX>  1  <02> BE  2  Message ID [Response]  1  '0': Valid parameter. '1': Invalid parameter. <ETX>  1  <03> [LRC]  1  Checksum Message flow: HOST  Direction     PP791 Message BD (Request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Message BE (response) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 12 –Display functionality messages  2015-04-20   Page299 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message BFScreen Saver Preview / Stop Preview Format:    <STX>BF[Op]<ETX>[LRC]            (request) Message length:  Fixed 6 bytes. Usage:  Use this message to launch screen saver directly or turn it off. User can also issue any other message to turn off screen saver.  Request frame (HOST to PP791) Field  Length Value and description <STX>  1  <02> BF  2  Message ID [Op]  1  '0': Stop screen saver preview '1': Screen Saver Preview <ETX>  1  <03> [LRC]  1  Checksum Message flow: HOST  Direction     PP791 Message BF (Request)      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page300 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Section 13    JPEG File Operation messages  PP791 supports several JPEG file operation messages, customer could use JPEG Tool provided by UIC to query PIN pad to get a JPEG file table, and customer could delete the existed JPEG files from PIN pad and could select JPEG files for play. In addition, customer could download a JPEG file into PIN pad or upload a JPEG file from PIN pad. Below are JPEG file operation messages those PP791 supports:  J0     JPEG File Table Initialization J1     Query JPEG File Table J2     Select JPEG File J3     Delete JPEG File J4     Download JPEG File J5     Upload JPEG File J6     Play JPEG File J7     Set JPEG File As Idle Prompt J8     Enable/Disable Idle Logo Functionality J9     Show JPEG File
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page301 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message J0 JPEG File Table Initialization Format:  <STX>J0<ETX>[LRC] Request frame (HOST to PIN Pad)  <STX>J0[Status]<ETX>[LRC] Response frame (PIN Pad to HOST)  Message length:  Fixed 5 bytes for request frame and 6 bytes for response frame. Usage:   This message is used to initialize the JPEG file table from terminal.  Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <STX>  1  <02> J0  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum Response frame (PIN Pad to HOST) Field  Length  Value and description <STX>  1  <02> J0  2  Message ID [Status]  1  '0': Success. '1': Failure. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message J0      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message J0 <ACK> / <NAK> / <EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page302 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message J1 Query JPEG File Table Format:  <STX>J1<ETX>[LRC] Request frame (HOST to PIN Pad)  <STX>J1[PktType][Status_1][FileName_1]<FS> [Status_2][FileName_2]<FS>... [Status_N-1][FileName_N-1]<FS> [Status_N][FileName_N]<ETX>[LRC] (where the value of 'N' is total amount of the JPEG files) Response frame (PIN Pad to HOST)  Message length:  Fixed 5 bytes for request frame and variable 5 to 540 bytes for response frame. Usage:   This message is used to query JPEG file table from terminal.  Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <STX>  1  <02> J1  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum Response frame (PIN Pad to HOST) Field  Length  Value and description <STX>  1  <02> J1  2  Message ID [PktType]  1  '0' = first or middle of multiple packets. '1' = last or only packet. [Status_1]  1  '0': Unselect. (optional) '1': Select. [FileName_1]  1-15  File name 1 (optional) <FS>  1  <1C>, field separator (optional) [Status_2]  1  '0': Unselect. (optional) '1': Select. [FileName_2]  1-15  File name 2 (optional) <FS>  1  <1C>, field separator (optional) …………………  ……..  ………………………………….. [Status_N-1]  1  '0': Unselect. (optional) '1': Select.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page303 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages [FileName_N-1]  1-15  File name N-1 (optional) <FS>  1  <1C>, field separator (optional) [Status_N]  1  '0': Unselect. (optional) '1': Select. [FileName_N]  1-15  File name N (optional) <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message J1      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message J1 ([PktType] = '0') <ACK> / <NAK> / <EOT>    Message J1      <ACK> / <NAK> / <EOT>   Message J1 ([PktType] = '1') <ACK> / <NAK> / <EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page304 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message J2 Select JPEG File Format:  <STX>J2[control][FileName_1]<FS>[FileName_2]<FS>... [FileName_N-1]<FS>[FileName_N]<ETX>[LRC] (where the value of 'N' is total amount of the JPEG files) Request frame (HOST to PIN Pad)  <STX>J2[Status_1]<FS>[Status_2]<FS>... [Status_N-1]<FS>[Status_N]<ETX>[LRC] (where the value of 'N' is total amount of the JPEG files) Response frame (PIN Pad to HOST)  Message length:  Variable  7  to  540  bytes  for  request  frame,  and  variable  5  to  44  bytes  for  response frame. Usage:  This message is used to select or unselect JPEG files from terminal’s display list.  Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <STX>  1  <02> J2  2  Message ID [control]  1  '0': Unselect. '1': Select. [FileName_1]  1-15  File name 1 <FS>  1  <1C>, field separator (optional) [FileName_2]  1-15  File name 2 (optional) <FS>  1  <1C>, field separator (optional) …………………  ……..  ………………………………….. [FileName_N-1]  1-15  File name N-1 (optional) <FS>  1  <1C>, field separator (optional) [FileName_N]  1-15  File name N (optional) <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page305 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Response frame (PIN Pad to HOST) Field  Length  Value and description <STX>  1  <02> J2  2  Message ID [Status_1]  1  '0': Success, '1': Failure, '2': Format error. <FS>  1  <1C>, field separator (optional) [Status_2]  1  '0': Success, '1': Failure. (optional) <FS>  1  <1C>, field separator (optional) …………………  ……..  ………………………………….. [Status_N-1]  1  '0': Success, '1': Failure. (optional) <FS>  1  <1C>, field separator (optional) [Status_N]  1  '0': Success, '1': Failure. (optional) <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message J2      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message J2 <ACK> / <NAK> / <EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page306 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message J3 Delete JPEG File Format:  <STX>J3[FileName_1]<FS>[FileName_2]<FS>... [FileName_N-1]<FS>[FileName_N]<ETX>[LRC] (where the value of 'N' is total amount of the JPEG files) Request frame (HOST to PIN Pad)  <STX>J3[Status_1]<FS>[Status_2]<FS>... [Status_N-1]<FS>[Status_N]<ETX>[LRC] (where the value of 'N' is total amount of the JPEG files) Response frame (PIN Pad to HOST)  Message length:  Variable  6  to  540  bytes  for  request  frame,  and  variable  5  to  44  bytes  for  response frame. Usage:  This message is used to delete JPEG files from terminal’s display list.  Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <STX>  1  <02> J3  2  Message ID [FileName_1]  1-15  File name 1 <FS>  1  <1C>, field separator (optional) [FileName_2]  1-15  File name 2 (optional) <FS>  1  <1C>, field separator (optional) …………………  ……..  ………………………………….. [FileName_N-1]  1-15  File name N-1 (optional) <FS>  1  <1C>, field separator (optional) [FileName_N]  1-15  File name N (optional) <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page307 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Response frame (PIN Pad to HOST) Field  Length  Value and description <STX>  1  <02> J3  2  Message ID [Status_1]  1  '0': Success, '1': Failure, '2': Format error. <FS>  1  <1C>, field separator (optional) [Status_2]  1  '0': Success, '1': Failure. (optional) <FS>  1  <1C>, field separator (optional) …………………  ……..  ………………………………….. [Status_N-1]  1  '0': Success, '1': Failure. (optional) <FS>  1  <1C>, field separator (optional) [Status_N]  1  '0': Success, '1': Failure. (optional) <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message J3      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message J3 <ACK> / <NAK> / <EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page308 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message J4 Download JPEG File Format:  <STX>J4[PktType][SeqNo][Force]<FS> [FileName]<FS>[Size][Data]<ETX>[LRC] Request frame (HOST to PIN Pad)  <STX>J4[Status]<ETX>[LRC] Response frame (PIN Pad to HOST)  Message length:  Variable 22 to 538 bytes for request frame, and fixed 6 bytes for response frame. Usage:   This message is used to download a JPEG file from terminal.  Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <STX>  1  <02> J4  2  Message ID [PktType]  1  '0' = first or middle of multiple packets. '1' = last or only packet. [SeqNo]  3  '000' to '999', for onetime only packet, set to '000'. [Foce]  1  '0' = ask before overwrite, '1' = force overwrite <FS>  1  <1C>, field separator [FileName]  0-15  JPEG file name (optional) <FS>  1  <1C>, field separator [Size]  3  '000' to '523', size of [ImgData] in bytes [ImgData]  0-523  Base 64 format data (optional) <ETX>  1  <03> [LRC]  1  Checksum Response frame (PIN Pad to HOST) Field  Length  Value and description <STX>  1  <02> J4  2  Message ID [Status]  1  '0': Ready for next J4 packet. '1': [PktType] has invalid value. '2': [SeqNo] has invalid value. '3': [Force] has invalid value. '4': [FileName] has invalid value. '5': [Size] has invalid value. '6': [ImgData] has invalid value.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page309 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages '7': Number of <FS> is wrong. 'A': File size is zero or too large. 'B': Null file name. 'C': File name is too long or user abort. 'D': No more space. 'E': File is too large to stored to exist file's location. 'F': Download Success. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message J4 ([PktType] = '0' and [SeqNo] = '000')     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message J4 ([Status] = '0') <ACK> / <NAK> / <EOT>    Message J4 ([PktType] = '0' and [SeqNo] = '001'-'998')     <ACK> / <NAK> / <EOT>   Message J4 ([Status] = '0') …………………………………..  ……..  ………………… <ACK> / <NAK> / <EOT>    Message J4 ([PktType] = '1')      <ACK> / <NAK> / <EOT>   Message J4 ([Status] = 'F') <ACK> / <NAK> / <EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page310 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message J5 Upload JPEG File Format:  <STX>J5[control]<FS>[FileName]<ETX>[LRC] Request frame (HOST to PIN Pad)  <STX>J5[PktType][SeqNo][Size][Data]<ETX>[LRC] Response frame (PIN Pad to HOST)  Message length:  Variable  6  to  21  bytes for  request  frame,  and variable  12  to  536  bytes for  response frame. Usage:  This message is used to upload a JPEG file from terminal.  Message element: Request frame (HOST to PIN Pad) Field  Length  Value and description <STX>  1  <02> J5  2  Message ID [control]  1  '0': First command for upload, [FileName] is required. '1': Ready for next J5 packet, [FileName] is ignored. [FileName]  1-15  File name (Option) <ETX>  1  <03> [LRC]  1  Checksum Response frame (PIN Pad to HOST) Field  Length  Value and description <STX>  1  <02> J5  2  Message ID [PktType]  1  '0' = First or middle of multiple packets. '1' = Last or only packet. '2': Null file name. '3': File name is not found. '4': Buffer is not enough. '5': Format error. [SeqNo]  3  '000' to '999', for onetime only packet, set to '000'. [Size]  3  '000' to '524', size of [Data] in bytes [Data]  0-524  Base 64 format data <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page311 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction      PIN Pad Message J5 ([control] = '0')     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message J5 ([PktType] = '0' and [SeqNo] = '000') <ACK> / <NAK> / <EOT>    Message J5 ([control] = '1')     <ACK> / <NAK> / <EOT>   Message J5 ([PktType] = '0' and [SeqNo] = '001'-'998') <ACK> / <NAK> / <EOT>     …………………  ……..  ………………………………….. Message J5 ([control] = '1')     <ACK> / <NAK> / <EOT>   Message J5 ([PktType] = '1') <ACK> / <NAK> / <EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page312 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message J6 Play JPEG File Format:  <STX>J6<ETX>[LRC] Request frame (HOST to PIN Pad)  Message length:  Fixed 5 bytes. Usage:  This message is used to play the JPEG files those have been selected from terminal. Those selected Jpeg files will be showed up sequentially until any operation (swiping card, pressing any key, tapping screen or receiving command) that changes the display.  Message element: Request frame Field  Length  Value and description <STX>  1  <02> J6  2  Message ID <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message J6      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page313 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message J7 Set JPEG File As Idle Prompt Format:    <STX>J7[Jpeg Name]<ETX>[LRC] (request frame)         <STX>J7[Result]<ETX>[LRC] (response frame)  Message length:  Variable 6 ~ 20 byte. Usage:  This message is used to set a JPEG file as idle logo.  Message element: Request frame (HOST to PIN pad) Field  Length  Value and description <STX>  1  <02> J7  2  Message ID [Jpeg Name]  1~15  ASCII string, Jpeg file name. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length  Value and description <STX>  1  <02> J7  2  Message ID [Result]  1  '0' = Setup successfully. '1' = Invalid length of file name. '2' = Fail to setup. <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message J7      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Message J7 (response) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page314 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message J8 Enable/Disable Idle Logo Functionality Format:    <STX>J8[Op]<ETX>[LRC] (request frame)         <STX>J8[Result]<ETX>[LRC] (response frame) Message length:  Fixed 6 byte. Usage:  This message is used to enable/disable idle logo functionality. When it is enabled, idle logo and date/time will not be displayed. In order to successfully enable idle logo functionality, there should be a JPEG file that is assigned as idle logo.  Message element: Request frame (HOST to PIN pad) Field  Length  Value and description <STX>  1  <02> J8  2  Message ID [Op]  1  0 : Disable 1 : Enable <ETX>  1  <03> [LRC]  1  Checksum Response frame (PIN pad to HOST) Field  Length  Value and description <STX>  1  <02> J8  2  Message ID [Result]  1  '0' = Setup successfully. '1' = Invalid Op parameter. ‘2’ = Fail to setup (No Jpeg file is assigned) <ETX>  1  <03> [LRC]  1  Checksum  Message flow: HOST  Direction      PIN Pad Message J8      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Message J8 (response) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs) 
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page315 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message J9 Show JPEG File Format:    <STX>J9[Jpeg Name]<ETX>[LRC] (request frame)         <STX>J9[Result]<ETX>[LRC] (response frame)  Message length:  Variable 6 ~ 20 byte. Usage:  This message is used to make PIN pad show the assigned Jpeg file. The assigned Jpeg file will be showed up once until any operation (pressing Cancel key or receiving command) that changes the display.  Message element: Request frame (HOST to PIN pad) Field  Length  Value and description <STX>  1  <02> J9  2  Message ID [Jpeg Name]  1~15  ASCII string, Jpeg file name. <ETX>  1  <03> [LRC]  1  Checksum  Response frame (PIN pad to HOST) Field  Length  Value and description <STX>  1  <02> J9  2  Message ID [Result]  1  '0' = Success. '1' = Invalid length of file name. '2' = No assigned Jpeg file. <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page316 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message flow: HOST  Direction      PIN Pad Message J9      <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     Message J9 (response) <ACK> (Good echo) <NAK> (Bad LRC) <EOT> (after 3 NAKs)     The  screen  will  not  be  changed  until pressing  Cancel  or  receiving  any command.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page317 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Message JA Set Boot Logo Format:    <STX>JA[PktType][SeqNo]<FS>[Size][Data]<ETX>[LRC] Request frame (HOST to PIN Pad) <STX>JA[Status]<ETX>[LRC] Response frame (PIN Pad to HOST)  Message length:  Variable 22 to 538 bytes for request frame, and fixed 6 bytes for response frame. Usage:   This message is used to download a bitmap file for boot logo from terminal .  Message element: Request frame (HOST to PIN Pad)  Response frame (PIN Pad to HOST) Field  Length  Value and description <STX>  1  <02> JA  2  Message ID [Status]  1  '0': Ready for next JA packet. '1': [PktType] has invalid value. '2': [SeqNo] has invalid value. '3': Number of <FS> is wrong. '4': [Size] has invalid value. '5': [ImgData] has invalid value. '6': No more space. '7': Bitmap file format error. 'F': Download Success. <ETX>  1  <03> [LRC]  1  Checksum  Field  Length  Value and description <STX>  1  <02> JA  2  Message ID [PktType]  1  '0' = first or middle of multiple packets. '1' = last or only packet. [SeqNo]  3  '000' to '999', for onetime only packet, set to '000'. <FS>  1  <1C>, field separator [Size]  3  '000' to '525', size of [ImgData] in bytes [ImgData]  0-525  Base 64 format data (optional) <ETX>  1  <03> [LRC]  1  Checksum
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Section 13 – JPEG File Operation messages  2015-04-20   Page318 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Message flow: HOST  Direction      PIN Pad Message JA ([PktType] = '0' and [SeqNo] = '000')     <ACK> (Good LRC) <NAK> (Bad LRC) <EOT> (after 3 NAKs)   Message JA ([Status] = '0') <ACK> / <NAK> / <EOT>    Message JA ([PktType] = '0' and [SeqNo] = '001'-'998')     <ACK> / <NAK> / <EOT>   Message JA ([Status] = '0') …………………………………..  ……..  ………………… <ACK> / <NAK> / <EOT>    Message JA ([PktType] = '1')      <ACK> / <NAK> / <EOT>   Message JA ([Status] = 'F') <ACK> / <NAK> / <EOT>  
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix A – Key management  2015-04-20   Page319 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Appendix A    Key management This PIN pad is designed to encrypt Personal Identification Numbers (PIN) as they are entered from the keypad, store the encrypted data in its memory and then transmit it to the HOST as requested.   Because the data-encryption standard (DES) and RSA algorithm are in the public domain, the security of the functions of the PP791 depend on the security of the key that is used in processing the algorithm. Therefore, after you load cryptographic keys into the PP791, the keys cannot be read. They are placed AES encrypted by a randomly generated AES key, resident in a battery-powered register. Once security is breached, the AES key will be erased, and all encrypted DES master keys become unusable. You can design a secure  method for handling your keys when you are isolated from  the PIN keypad, using the provisions for loading the keys. Randomly generate your keys, and store and distribute your keys in a secure, controlled manner that you can audit.   An independent Tamper Resistant Security Module (TRSM) is required for secure key injection process. UIC provides a software key injection utility (UICKIT for Windows) as demo for safely and manageable key injection procedure. Please refer to UICKIT programming manual for detail.  PP791 supports following management schemes:  1.  Master/session key (MK/SK):   PP791 can store 32 (16 keys for future use) master keys, key ID 0 to 9 are for MK/SK PIN entry (They can be PIN master key or PIN key), key ID B to E is for generate or verify MAC, depend on its  usage  and  mode  settings.  (They  can  be  MAC  master  key  or  MAC  key),  F  for  master  key transportation (It can be only key loading key) and G (It can be MSR master key or MSR data key) for  MSR  data  transportation.  These  master  keys  cannot  be  used  in  other  ways  (e.g.  designer cannot use PIN entry keys for MAC generation.) Session keys (working keys) are transmitted from the HOST, encrypted by the master key for every transaction. Customer’s PIN is encrypted using the decrypted working key or by selected master key (If the selected one is with key usage “P0”). Thus the master keys must exist before any transaction can take place. PP791 can use 8 bytes DES key format or 16 / 24 bytes Triple DES key format, the working key can also be 16 bytes TDES key. When  doing  transactions  using  MK/SK  scheme,  firmware  of  PP791  applies  a  DES  calculation count limiter (only 100 transactions are allowed in 5 minutes period.) to comply with PCI PED security  requirement  (average  one  transaction  per  30  seconds.)  This  constraint  is  set  to  deter attacker using huge saturation DES transaction to detect master key in PP791. 2.  ANSI TR31 Specified Key Bundle Key Attribute: When  loading master  keys into  PP791 in  encrypted format,  the  key  data is  wrapped  by  a  key bundle specified in ANSI TR-31 2010 specification. 1.  Key usage: indicate what usage of a key. “K0”, indicates that this key is used for key transportation;
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix A – Key management  2015-04-20   Page320 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages “P0”, indicates that this key is used for PIN entry directly; “D0”, indicates that this key is used for data transportation; “M1” indicates that this key is used for MAC calculation directly by ISO 9797-1 method 1. “M3” indicates that this key is used for MAC calculation directly by ISO 9797-1 method 3. “B1”, indicates that this key is used for DUKPT initial key (ANSI TR-31 2010). 2.  Algorithm: indicate what algorithm will be used with the key. “D” : DES algorithm “T”: TDES algorithm (double or triple length key) “A”: AES algorithm (RFU) 3.  Mode: indicate what cryptograph operation will be applied with the key “D”: Decryption “E”: Encryption “G”: MAC generation “V”: MAC verification “X”: Key derivation (DUKPT) 4.  Version (RFU): It should be 00. 5.  Export (RFU): It should be “N”.      If the key usage is “K0”, the length of key must be 16 bytes or 24 bytes (algorithm must be “T”).            Key Architecture and limitation Group  Key ID Length Usage  Algorithm Mode Encrypt under PIN  0~9  8~24  P0  D or T  E  KLK     16~24 K0  T  D  KLK Data  A  RFU  RFU  RFU  RFU  RFU MAC  B~E 8  M1  D  G  KLK     16  M3  T  G / V KLK     16~24 K0  T  D  KLK KLK  F  16~24 K0  T  D  KLK MSR Data G  8~24  D0  D or T  E  KLK     16~24 K0  T  D  KLK RFU  H~V RFU  RFU  RFU  RFU  RFU  Key attribute and limitation for IPEK IPEK  Length Usage  Algorithm Mode Encrypt under IPEK0 or IPEK1 8 or 16 B1  D or T  X  KLK 1.  All the keys injected in cipher-text must be encrypted by key derived from KLK and calculate a
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix A – Key management  2015-04-20   Page321 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages MAC value by key derived from KLK 2.  For key with usage “K0”, the length must be 16 bytes or 24 bytes. 3.  For MAC key with usage “M1”, the length of key must be 8 bytes (DES-MAC). 4.  For MAC key with usage “M3”, the length of key must be 16 bytes (TDES-MAC). 5.  Duplicate key injection is not allowed. (except IPEK0 and IPEK1) 6.  The length of injected key in cipher-text should be equal to or less then the length of KLK.      Key Injection     To inject clear-text key (Key ID: 0~9, A~G) into PP791, the default attributes will be as following, Key usage = “K0”, Algorithm = “T”, Mode = “D”, Version = “00” and export = “N”      To inject cipher-text key into PP791, user has to assign these attributes.       For Key 0 ~ 9,   Key usage should be “K0” or “P0”, algorithm should be “T” or “D”, mode should be “D” (If for “K0” usage) or “E” (If for “D0” usage).   For Key B ~ E,   Key usage should be “K0”, “M1” or “M3”, algorithm should be “T” (If for “K0” or “M3” usage) or “D” (If for “M1” usage), mode should be “D” (If for “K0” usage) or “G” (If for “M1” or “M3” usage). For Key G,     Key usage should be “K0” or “D0”, algorithm should be “T” (If for “K0”) or “D”. For Key F,     Key usage should be “K0”, algorithm should be “T”.     For IPEK 0~1     Key usage could be any 2 bytes data, algorithm should be “D” or “T”, mode should be “E”.  Inject key in cipher-text (TR31 format) For Key 0~9, A~G <SI>02[Key ID][KBH][Encrypted KEY][MAC]<SO>, where [KBH] + [Encrypted KEY] + [MAC] is   TR31 block.  For IPEK0 <STX>90[KBH][Optional KBH][DUKPT0][MAC]<ETX>, where [KBH and Optional KBH] +   [IPEK0] + [MAC] is TR31 block. For IPEK1 <STX>94[KBH][Optional KBH][DUKPT1][MAC]<ETX>, where [KBH and Optional KBH] +   [IPEK1] + [MAC] is TR31 block.  KBH (Key Block Header – ASCII format): A[4byte  –  length  of  TR31  block][2byte  -  Usage][1byte  -  Algorithm]  [1byte  -  Mode][2byte  - Version][1byte - Export][2byte - option][2byte - rfu]
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix A – Key management  2015-04-20   Page322 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Optional KBH (For DUKPT use only): [2byte:  Optional  Block  ID,  fixed  as  “KS”][2byte:  Optional  Block  Length,  fixed  as  “18”][20byte: Optional Block Data, put key serial number (refer to ANSI X9.24 SMID) in this field]  Encrypted KEY Block: 1.  Derive Key1 by XOR KLK with 0x45 2.  Generate new key block, [2byte number indicate the key in bits][key][random padding] 3.  Encrypt  the  new  key  block  by  Key1  with  first  8byte  of  KBH  as  IV  in  CBC  mode  and  get encrypted key block.  MAC: 1.  Derive Key2 by XOR KLK with 0x4D 2.  Concatenate KBH with Optional KBH (if any) and encrypted key block and get new key block 2. 3.  Encrypt the new key block 2 by Key2 without IV in CBC mode and get the last 8 bytes. 4.  Get the first 4 bytes of result as MAC value  Example 1: KLK: 0123456789ABCDEFFEDCBA9876543210 New MK (Key ID = 1, key usage = “K0”): 89E88CF7931444F334BD7547FC3F380C Generate KBH: KBH = A | 0072 | K0 | T | D | 00 | N | 0000     Generate Encrypted KEY Block: 1.  Derive K1 for encryption: 44660022CCEE88AABB99FFDD33117755 K2 for MAC value: 4C6E082AC4E680A2B391F7D53B197F5D 2.  Key length = 16 bytes (128 bits = 0x80), 6 byte random padding = 720DF563BB07, New key block = 008089E88CF7931444F334BD7547FC3F380C720DF563BB07. 3.  IV = first 8 byte of KBH (“A0072K0T”) = 41303037324B3054, apply TDES-CBC on new key  block  by  K1  with  IV  and  get  encrypted  key  block  =  D078A2657E5B57972CD3 D308E05E1FE519B316309AA6354A MAC: 1.  Concatenate  KBH  and  encrypted  key  block  =  41303037324B30544430304E303 03030D078A2657E5B57972CD3 D308E05E1FE519B316309AA6354A 2.  Apply  TDES-CBC  on  new  key  block  2  by  K2  without  IV  and  get  last  8  byte  result    = 668071B5B73CC024 3.  MAC value = 668071B5 4.  The  final  TR31  block  =  A0072K0TD00N0000  -  D078A2657E5B57972CD3D308E05E 1FE519B316309AA6354A - 668071B5  Send message 02 to load this new key in cipher-text:
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix A – Key management  2015-04-20   Page323 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages <SI>021A0072K0TD00N0000D078A2657E5B57972CD3D308E05E1FE519B316309AA6354A66 8071B5<SO>[LRC]   3.  Derived Unique Key Per Transaction (DUKPT): PP791  Implements  ANSI  X9.24-2002  and  ANSI  TR31  key  management  scheme  for  DUKPT. Authorized personnel can load 8bytes/16bytes Initial keys (also known as IPEK) and Key serial number (also known as ‘Security Management Information Data-SMID’ in ANSI X9.24). Every time when  PP791  finished  a  PIN  entry  transaction,  a  new  key  will  be  calculated.  Every  single transaction  will  use  different  key  in  order  to  prevent  attacker  to  detect  specific  keys  in  any transactions.    The symmetric keys (MKSK/DUKPT) structure is shown as following: Master Key 0 (PIN entry master keys / PIN keys) Master Key 1 (PIN entry master keys / PIN keys) …   Master Key 9 (PIN entry master keys / PIN keys) ... Master Key B~E (MAC master keys) (MAC master keys / MAC keys) Master Key F (Key Loading Key) Master Key G (MSR master key / MSR data key)     Master Key H (RFU) Master Key I (RFU) … Master Key V  4.  RSA public key:   PP791  supports  RSA  encryption  when  processing  EMV  level  2  offline  transactions  with  smart cards.    DUKPT Set 0 DUKPT Set 1
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix A – Key management  2015-04-20   Page324 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages 5.  Second DUKPT Key Set of PP791:   PP791 provides 2nd key set of DUKPT operation for customer’s scalability. Message 90 is used to initialize first key set, with message 94 to initialize second key set. User must issue message 96 to select  preferred  key  set  before doing DUKPT transactions.  These  two key  set  are independent with each other, and both accepts double length key for TDES capability. Ether key set reaches 1million transaction limit will lock down PP791. In real operation, authorized user can load a 8byte DES initial key to key set 1 and a 16byte TDES initial key to key set 2 before PIN pad is deployed. At first use can transact with key set 1. When backbone  system  ready,  user  can  use  message  96  to  select  key  set  2  to  switch  to  TDES transaction immediately.  6.  Triple DES (TDES) capability: TDES means that DES algorithm is  applied three times on the data to be encrypted before it is sent  over  the  line.  PP791  can  detect  key  length  when  loading  keys  (message  02  for Master/Session key and message 90/94 for DUKPT) and doing transactions (Master/Session key message 70, Z60, Z62). If a 32 or 48 characters (16 or 24 byte) key is used, PP791 will treat all transactions using this key as TDES enabled, else PP791 use DES operation.   TDES  algorithm  needs  a  16-byte  key,  which  separated  as  L-key  (leftmost  8  bytes)  and  R-key (rightmost 8 bytes). PP791 defaults EDE order for TDES encrypting operation as follows:  Clear Text  DES encryption via L-key  DES decryption via R-key  DES encryption via L-key  Ciphered Text EDE order of TDES operation – 16 byte key. (Data decrypting process is the reverse of encrypting process.)  Clear Text  DES encryption via L-key  DES decryption via Middle-key  DES encryption via R-key  Ciphered Text EDE order of TDES operation – 24 byte key. (Data decrypting process is the reverse of encrypting process.)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix A – Key management  2015-04-20   Page325 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  7.  TDES – ECB Encryption:          8.  TDES – CBC Encryption:           9.  DES-MAC (ISO 9797-1 method 1)          D1  D2 TDES-E  TDES-E  K K … DN TDES-E  K C1  C2  CN D1  D2 TDES-E  TDES-E  K K … DN TDES-E  K C1  C2  CN IV …  CN-1 D1  D2 DES-E  DES-E  K K … DN DES-E  K C1  C2  CN IV …  CN-1 MAC
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix A – Key management  2015-04-20   Page326 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  10.  TDES – MAC (ISO 9797-1 method 3)                     D1  D2 DES-E  DES-E  KL KL … DN DES-E  KL C1  C2  CN IV …  CN-1 DES-D  KR DES-E  KL MAC
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix B – PIN Block Format  2015-04-20   Page327 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Appendix B    PIN Block Format  ANSI x9.8 format (MK/SK, DUKPT, and Offline clear text PIN entry) PP791 outputs ANSI X9.8 PIN blocks. Its format as follows:  PIN Block Format Bit 0-3 4-7 8-11 12-15 16-19 20-23 24-27 28-31 32-35 36-39 40-43 44-47 48-51 52-55 56-59 60-63 Value C  N  P  P  P  P  P/F P/F P/F P/F P/F P/F P/F P/F F  F Bit field explanation: C - Control field (Format number). Value = 0000 (Does not support Format 1 or Format 3)   N - PIN length entered field. Value = 0100 to 1100 (4-12) (0x4 – 0xC) P - PIN digit. Value = 0000 to 1001 (0-9) F - Fill digit. Value = 1111 (F)   P/F - Pin digit or fill digit, as determined by PIN Length N. PIN Length is 4 to 12  Primary Account Number Block (PANB) Format Bit 0-3 4-7 8-11 12-15 16-19 20-23 24-27 28-31 32-35 36-39 40-43 44-47 48-51 52-55 56-59 60-63 Value 0  0  0  0  A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 Bit field explanation: A  - The twelve rightmost digits of the primary account number (PAN), excluding the check digit.  A1 is  the most significant digit and A12 is the digit immediately preceding the PAN’s check digit. If the primary account number excluding the check digit is less than twelve digits, the digits are right justified and padded on the left with zeroes. Permissible values are 0000 to 1001.   0 - Pad digit = 0000. The first four digits of the account number block are always padded with this value.  Formatted Clear-Text PIN Block The  PIN  and  account  number  blocks  are  Exclusive  ORed  before  being  assembled  in  the  DES  (Data Encryption  Standard)  input  register.  When  the  account  number  is  not  available,  only  the  PIN  block  is assembled in the DES input register. PP791 will output DES/TDES encrypted PIN block with message 71 and delete clear-text PIN block immediately after transaction completed. Example:   Account Number: 1234567890-6 (6 is check number and will be ignored) PIN: 8780 The PIN block =     04 87 80 FF FF FF FF FF The PANB =        00 00 12 34 56 78 90 00 Formatted PIN block =  04 87 92 CB A9 87 6F FF (Data to be encrypted)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix B – PIN Block Format  2015-04-20   Page328 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  EMV Level 2 format (Offline enciphered PIN entry) When using offline enciphered PIN entry (message T36), PP791 generates EMV level 2 specified PIN block as follows: Header Type 2 PIN block  ICC Unpredictable Number  Random Padding 0x7F ANSI  X9.8  clear text PIN block with C=2 8 bytes random number sent out by smart card Random number generated by PP791 to pad the whole block to  the  length  of  RSA  key modulus  For example, in one transaction, smart card sends “FA64B77CFC7065DD” as challenge and a 1024bits (128bytes) public key, if a user inputs “1234” as PIN, the EMV Lv2 PIN block will be: H  PINB  ICC RANDOM  PADDING 7F  241234FFFFFFFFFF FA64B77CFC7065DD ................(128-17 = 111bytes) After this block generated, it will be RSA encrypted by public key and send out.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix C – Features and specification  2015-04-20   Page329 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Appendix C    Features and specification Micro controller:    i.MX258 micro processor (running at 400MHz). Memory:    64MB DDR2 RAM, 4GB Flash Display:    320*240 pixels LCD display. Key Pad:    16 keys keypad, the digit keys are randomly scanned. PIN encryption:    1. Follows ANSI X9.8 for PIN block and National Bureau of Standard DES / Triple         DES algorithm in Electronic Code Book mode.   2. EMV level 2 specified PIN block with RSA encryption (maximum 1984bits mod) Key management :  1. Master/ Session key (MK/SK).   2. Unique Key Per Transaction conforms to ANSI X9.24-1992 and 2002.     (MK/SK and DUKPT is mutual exclusive, different message format needed.)   3. RSA public key injection with DES/TDES authentication. Message Frame:    Compatible to VISA specifications. Interface:    [USB] mini-DIN 9-pin Connector (to Standard A-Type plug.)   [RS232] mini-DIN 9-pin Connector (to DB9 RS232 connector.)   Preset to: 9600 BPS, 8 bits per character, none parity, one stop bit. Pin assignment  DB9  mini-DIN TXD, from PIN pad  3  4 RXD, to PIN pad  2  6 GND  5  1 RTS  7  2 CTS  8  5 +5VDC(needs Ext. DC adapter)  N/A  9 and 8  Power:  Regulated +5VDC input, 400mA (typical); 500mA (max.). Battery Life:    4 years for Security Data backup. Diagnostic:    Self-diagnostic includes MCU, Program checksum and Key checksum test. Dimension:    169mm (L) x 85mm (W) x 43mm (H) MSR Option:    ISO7811, 3 tracks. Smart card reader:  ISO7816-1, 2, 3 and EMV 4.3 Level 1 & Level 2 certified.   Reads T=0, T=1 cards. Have one primary and three SAM card interface.
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix D – Tag Definition on EMV data  2015-04-20   Page330 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Appendix D    Tag Definition on EMV data  There are some data needed in EMV transaction but not given tag definition by EMV. Here PP791 defines tags on the following data that will used in EMV transaction.  Terminal Configuration Data: Name  Description  Format  Tag  Length Terminal UI Capability 0:Make  PIN  pad  selects  the  highest priority  application  and  ask  user’s confirmation.   1:Make  PIN  pad  ask  the  confirmation from  user  for  EMV  application  with highest priority in candidate list.   2:Make  PIN  pad  provides  a  list  of candidate applications. b  50000002  1 MSR Processing Batch Tag List PIN  pad  will  store  transaction  data according  to  the  tag  list  while  the transaction  is  performed  as  MSR processing. Ex, for tag list (829F365F3 09F399F029F03),  PIN  pad  will  store transaction  data  of  tag  number  0x82, 0x9F36,  0x5F30,  0x9F39,  0x9F02  and 0x9F03. b  50000003  var Online PIN Block Tag Define User  can  define  new  tag  number  for online PIN block. b  50000004  1~4 Online PIN Key Tag Define User  can  define  new  tag  number  for online PIN key. b  50000005  1~4  EMV Application Configuration Data: Name  Description  Format  Tag  Length Application Selection Indicator  0: Full AID matching. 1: Partial AID matching n  40000001  1 Threshold Value for Biased Random Selection Format  is  same  as “Amount  Authorized (Numeric)”  defined  by EMV.  It  must  be  zero n  40000004  6
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix D – Tag Definition on EMV data  2015-04-20   Page331 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages or  a  positive  number less than the floor limit (Refer to EMV.). Target Percentage to be used for Biased Random Selection 0x00 ~ 0x63  b  40000005  1 Maximum Target Percentage to be used for Biased Random Selection 0x00 ~ 0x63  b  40000006  1 Terminal Action Code - Default  Refer  to  EMV  4.3 BOOK 3, section 10.7 b  40000007  5 Terminal Action Code - Denial  Refer  to  EMV  4.3 BOOK 3, section 10.7 b  40000008  5 Terminal Action Code - Online  Refer  to  EMV  4.3 BOOK 3, section 10.7 b  40000009  5 Data tags required in Online message (ARQC) See below  b  4000000A  var. Data tags required in reversal message See below  b  4000000D  var. Data tags for batch data capture  See below  b  40000010  var. ARC Approve  See below  b  4000001A  var. ARC Decline  See below  b  4000001B  var. ARC Referral  See below  b  4000001C  var.   Note. The contents in data object with tag value 0x4000000A ~ 0x40000010 are a list of tags with   asterisks  as  separators.  Ex.  The  contents  95*9F02*82*  in  data  object  with  tag  value (0x4000000A) means that there are three data objects, Terminal Verification Results (0x95), Amount Authorized (0x9F02) and Application Interchange Profile (0x82) will be necessary for online transaction.   Note. The data objects with tag value 0x4000000A ~ 0x40000010 are used for customer-defined   application  on  PIN  pad.  If  customer  installed  these  information  into  PIN  pad  previously, customer-defined  application  could  apply  APIs  provided  by  PIN  pad  to  implement  an  EMV transaction and without modification on application if the data required for online message is changed.   Note. ARC Approve / Decline / Referral is used for customer to define their definition of ARC code. Customer can concatenate a list of ARC value for definition of Approve, Decline or Referral.             Ex. If ARC Approve is 0x303031313536, PIN pad will treat ARC with value 0x3030, 0x3131 and 0x3536 as that Host approves this transaction online.  Transaction Result Data: Name  Description  Format  Tag  Length
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix D – Tag Definition on EMV data  2015-04-20   Page332 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Issuer Script Result The result of terminal script processing.  b  9F5B  var Enciphered PIN block Transaction  PIN  enciphered  at  the  PIN pad for online verification. b  9F72  8  These  data  object  are  defined  in  EMV  4.3  BOOK3, Annex  A  without  tag  values.  The tag  values  are defined by PIN pad.
PIN Pad 791 Programmer’s Manual (PCI POS-A)    UDN PM0103-U Rev. 06 Appendix E – Minimun Set of EMV Configuration Data  2015-04-20   Page333 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Appendix E    Minimum Set of EMV Configuration Data  For a complete transaction, user has to load minimum set of terminal configuration data and EMV   application data into PIN pad.  Minimum set of Terminal configuration Data. Mandatory: Merchant Category (9F15), Merchant ID (9F16), Terminal Country Code (9F1A), Terminal ID (9F1C),   IFD Serial NO. (9F1E), Terminal Capabilities (9F33), Terminal Type (9F35), Additional Terminal   Capabilities (9F40), User Application Confirmation (50000002), MSR Batch data tag list (50000003),   Online PIN block tag define (50000004), Online PIN key tag define (50000005)  Optional: Merchant Name and Location (9F4E), Terminal Risk Management Data (9F1D)  Note. User Application Confirmation is used to enable / disable PIN pad to build a AID list for   cardholder to select EMV application.  Minimum set of EMV application configuration Data. Application Selection Indicator (40000001), Threshold Value for Biased Random Selection (40000004), Target Percentage for  Random  Selection  (40000005),  Maximum  Target Percentage for Biased Random Selection (40000006), ARQC Tag list (4000000A), Reversal Tag list  (4000000D),  Batch  Tag  list  (40000010),  Default  TDOL  (97),  Acquirer  Identifier (9F01),  Application  Identifier  (9F06),  Application  Version  Number  (9F09),  Default Dynamic Data Authentication Data Object List (9F49), Terminal Floor Limit (9F1B),   Optional: Terminal Action Code (Default) (40000007), Terminal Action Code (Denial) (40000008), Terminal Action Code (Online) (40000009)
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix F – PCD Tag Definition on EMV data  2015-04-20   Page334 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Appendix F    PCD Tag Definition on EMV data  There are some data needed when do the EMV transaction but do not given tag definition by EMV Contactless specifications v2.4. PIN pad defines its unique tags on the following data.  Table C-1 describes the self-define tag for PCD EMV Level2 Table C-2 describes the self-define tag for qVSDC and payWave. Table C-3 describes the self-define tag for PayPass. Table C-4 describes the self-define tag for expresspay.  EMV Application Configuration Data:  Table C-1: The self-define tag for PCD EMV Level2 Name  Description  Format  Tag  Length Application Selection Identifier 0: Full AID matching. 1: Partial AID matching n  40000001  1 Kernel ID  020000: PayPass 030000: qVSDC and payWave 040000: expresspay b  40000020  3 Status Check  0 : Disable Status Check. 1 : Enable Status Check. Please  refer  to  EMV  Contactless  Specifications v2.4 BOOK B, section 3.1 b  40000022  1 Zero Amount Allowed  0: not allowed(option 2) 1: allowed(option 1) 2: disable Please  refer  to  EMV  Contactless  Specifications v2.4 BOOK B, section 3.1 b  40000023  1 Contactless Floor Limit  Please  refer  to  EMV  Contactless  Specifications   v2.4 BOOK B, section 3.1 n  40000024  6 Contactless Transaction Limit Please  refer  to  EMV  Contactless  Specifications v2.4 BOOK B, section 3.1 n  40000025  6 CVM Required Limit  Please  refer  to  EMV  Contactless  Specifications   v2.4 BOOK B, section 3.1 n  40000026  6  Table C-2: The self-define tag for qVSDC and payWave Name  Description  Format  Tag  Length CVN 17 switch  0 : Disable CVN 17  b  40000030  1
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix F – PCD Tag Definition on EMV data  2015-04-20   Page335 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages 1 : Enable CVN 17   PIN pad Configuration Parameters This  tag  used  to  set  up  qVSDC  and  payWave configuration. Byte 1 bit 8-3: RFU bit 2: Exception file check enabled(1b)/disabled(0b) bit 1: RFU Byte 2: RFU b  40000033  2 Track 1&2 configure  Bit 3: 0: Disable Track 2, 1: Enable Track 2 Bit 2: 0: Disable Track 1, 1: Enable Track 1 Bit 1: 0: Output Tag 57, 1: format track 2 b  40000035  1  Table C-3: The self-define tag for PayPass Name  Description  Format  Tag  Length None  None  None  None  None  Table C-4: The self-define tag for expresspay Name  Description  Format  Tag  Length Terminal Action Code - Default Please  refer  to  EP3.0  section  12,  [EMV4.2  iii] section 10.7 and [EMV4.2 iv] section 6.3.6. b  DF808003  5 Terminal Action Code - Denial Please  refer  to  EP3.0  section  12,  [EMV4.2  iii] section 10.7 and [EMV4.2 iv] section 6.3.6. b  DF808004  5 Terminal Action Code - Online Please  refer  to  EP3.0  section  12,  [EMV4.2  iii] section 10.7 and [EMV4.2 iv] section 6.3.6. b  DF808005  5 PIN pad Configuration Parameters This tag used to set up AE configuration. Byte 1 bit 8: Status Check enabled(1b)/disabled(0b). bit7: Amount Authorized of Zero Check enabled(1b)/disabled(0b) bit 6: Amount Authorized of Zero Option option 1(1b)/Option 2(0b), this bit is applicable when the PIN pad is online capable. bit 5: PIN pad Contactless Transaction Limit Check enabled(1b)/disabled(0b) bit 4: PIN pad CVM Required Limit Check enabled(1b)/disabled(0b) bit 3: PIN pad Contactless Floor Limit Check enabled(1b)/disabled(0b) b  DF808006  2
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix F – PCD Tag Definition on EMV data  2015-04-20   Page336 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages bit 2: Exception file check enabled(1b)/disabled(0b) bit 1: Revocation list check enabled(1b)/disabled(0b) Byte 2: RFU Magstripe Unpredictable Number Range PIN pad use the random number of month (RNM) for  the  unpredictable  number  with  ‘0000YYMM’ format. The formula is           RNM: = UNEMV mod (UNR + 1) n  DF808008  2 Track 1&2 configure  Bit 3: 0: Disable Track 2, 1: Enable Track 2 Bit 2: 0: Disable Track 1, 1: Enable Track 1 Bit 1: 0: Output Tag 57, 1: format track 2 b  DF808071  1
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix G – Minimum Set of EMV Configuration Data  2015-04-20   Page337 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Appendix G    PCD Minimum Set of EMV Configuration Data  To  do  an  EMV  transaction,  user  has  to  setup  minimum  set  of  terminal  configuration  data  and  EMV application data into PIN pad.  Minimum set of Terminal configuration Data. Mandatory: Terminal Country Code (9F1A).  Optional: Merchant Category (9F15), Merchant ID (9F16), Merchant Name and Location (9F4E), Terminal ID (9F1C), IFD Serial NO. (9F1E), Terminal type (9F35).  Minimum set of EMV application configuration Data. PCD EMV Level2: Application Identifier(9F06), Transaction Type(9C) Application Selection Identifier(40000001), Kernel ID(40000020),         Contactless Floor Limit(40000024), Contactless Transaction Limit (40000025), CVM Required Limit (40000026)  For qVSDC and payWave: Terminal Transaction Qualifiers(9F66), POS Entry Mode(9F39), Terminal Floor Limit (9F1B), Terminal Verification Result(95), qVSDC and payWave CVN 17 switch(40000030), PIN pad Configuration Parameters(40000033), Track 1&2 configure(40000035). Terminal Entry Capability(DF8170),  For PayPass: None.  For expresspay: expresspay Terminal Capabilities(9F6D), Terminal Transaction Capabilities(9F6E),
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix G – Minimum Set of EMV Configuration Data  2015-04-20   Page338 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Application Version Number(9F09), Terminal Floor Limit(9F1B), Terminal Capabilities (9F33), Terminal Type(9F35) Terminal Action Code – Default(DF808003), Terminal Action Code – Denial(DF808004), Terminal Action Code – Online(DF808005), PIN pad Configuration Parameters(DF808006), expresspay Magstripe Unpredictable Number Range(DF808008), Set Track 1&2 configure(DF808071).
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix H – Fixed Prompts for Z2/Z3 Authenticated Mode  2015-04-20   Page339 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Appendix H    Fixed Prompts for Z2/Z3 authenticated mode  Prompt ID  Display 001  ENTER VALUE 002  ENTER PHONE 003  ENTER CUST ID 004  ENTER AMOUNT 005  PLEASE ENTER 006  ENTER CARD ID 007  ENTER POINTS 008  ENTER ACCOUNT 009  ENTER LOYALTY 010  ENTER ZIP CODE 011  ENTER VEHICLE 012  ENTER EMPLOYEE 013  ENTER ID NUMBER 014  ENTER DRIVER ID 015  ENTER CASH BACK 016  DRIVER LICENSE 017  PLEASE RE-ENTER 018  REENTER DRIVER ID 019  ENTER DRIVER LICENSE 020  ENTER BIRTH DATE 021  REENTER ZIP CODE 022  ENTER MEMBERSHIP 100  ACCOUNT NUMBER 101  AIRCRAFT TAIL NO 102  BADGE NUMBER 103  CARD NUMBER 104  CARD SEC CODE 105  CASH BACK AMOUNT 106  CID CODE 107  CVC CODE 108  CVN CODE 109  CVV CODE 110  CUSTOMER CODE 111  CUSTOMER DATA Prompt ID  Display 112  CUSTOMER ID 113  CUSTOMER NUMBER 114  CUSTOMER REF 115  CUSTOMER REF NO. 116  DATE OF BIRTH 117  DEPARTMENT NO. 118  DRIVER ID 119  DRIVER LICENSE 120  DRIVER NUMBER 121  EMPLOYEE ID 122  EMPLOYEE NUMBER 123  ENTER 124  ENTER ACCOUNT # 125  ENTER AIR TAIL # 126  ENTER BADGE # 127  ENTER BIRTH DATE 128  ENTER CARD # 129  ENTER CASH BACK 130  ENTER CUST # 131  ENTER CUST CODE 132  ENTER CUST DATA 133  ENTER CUST ID 134  ENTER CUST REF 135  ENTER CUST REF # 136  ENTER CID CODE 137  ENTER CVC CODE 138  ENTER CVN CODE 139  ENTER CVV CODE 140  ENTER DEPT # 141  ENTER DOB 142  ENTER DRIVER # 143  ENTER DRIVER ID 144  ENTER DRIVER LIC 145  ENTER EMP ID
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix H – Fixed Prompts for Z2/Z3 Authenticated Mode  2015-04-20   Page340 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages Prompt ID  Display 146  ENTER EMPLOYEE # 147  ENTER EXP DATE 148  ENTER FLEET # 149  ENTER FLEET DATA 150  ENTER HOME PHONE 151  ENTER ID # 152  ENTER JOB # 153  ENTER ODOMETER 154  ENTER PHONE # 155  ENTER PO # 156  ENTER REF # 157  ENTER ROUTE # 158  ENTER SEC CODE 159  ENTER SERIAL # 160  ENTER SOC SEC # 161  ENTER SSN 162  ENTER STREET # 163  ENTER TRAILER # 164  ENTER USER ID 165  ENTER V-CODE 166  ENTER VEH CARD # 167  ENTER VEHICLE # 168  ENTER VEHICLE ID 169  ENTER WORK PHONE 170  ENTER ZIP CODE 171  EXPIRATION DATE 172  FLEET DATA 173  FLEET NUMBER 174  HOME PHONE NO. 175  ID NUMBER 176  JOB NUMBER 177  MMDDYY 178  MMDDYYYY 179  MMYY 180  ODOMETER READING 181  OR PHONE # 182  OR PHONE NUMBER Prompt ID  Display 183  PHONE NUMBER 184  PLEASE 185  PLEASE ENTER 186  PLEASE RE-ENTER 187  PO NUMBER 188  RE-ENTER 189  REFERENCE NUMBER 190  RESTRICTION CODE 191  ROUTE NUMBER 192  SECURITY CODE 193  SERIAL NUMBER 194  SOCIAL SEC NO. 195  STREET NUMBER 196  SWIPE CARD 197  SWIPE CARD OR 198  TRAILER NUMBER 199  USER ID 200  V-CODE 201  VEHICLE CARD NO. 202  VEHICLE ID 203  VEHICLE NUMBER 204  WORK PHONE NO. 205  ZIP CODE
PIN Pad 791 Programmer’s Manual (PCI POS-A)  UDN PM0103-U Rev. 06 Appendix I – Fixed Prompts for Z2/Z3 PIN entry mode  2015-04-20   Page341 Uniform Industrial Corp.  Proprietary and Confidential  Total 342 pages  Appendix I    Fixed Prompts for Z2/Z3 PIN entry mode  Prompt ID  Display 001  ENTER PIN 002  ENTER YOUR PIN 003  PLEASE ENTER PIN 004  THEN PUSH ENTER 005  THANK YOU

Navigation menu