background image

ID TECH 

10721 Walker Street, Cypress, CA 90630 

Voice: (714) 761-6368 Fax: (714) 761-8880 

 

 

 

 

 
 
 
 

 

 

 

NEO 2 Interface Developer's Guide 

 

 
 

 
 
 
 
 
 
80139403-002 Rev. 88.1

 

10 October, 2019 

Summary of Contents for Vivopay Neo 2

Page 1: ...ID TECH 10721 Walker Street Cypress CA 90630 Voice 714 761 6368 Fax 714 761 8880 NEO 2 Interface Developer s Guide 80139403 002 Rev 88 1 10 October 2019 ...

Page 2: ...nintentional errors or inaccuracies that may appear in this document Except as permitted by such license no part of this publication may be reproduced or transmitted by electronic mechanical recording or otherwise or translated into any language form without the express written consent of ID TECH ID TECH and ViVOpay are trademarks or registered trademarks of ID TECH Warranty Disclaimer The service...

Page 3: ...6 1 Set Bluetooth Parameters 77 81 37 2 6 2 Get Bluetooth Name 77 82 38 2 6 3 Get Bluetooth Local information 77 83 39 2 7 RS 232 SERIAL INTERFACE 39 2 7 1 Port Settings 39 2 7 2 Basic Communication 40 2 7 3 Timeouts 40 2 8 USB HID INTERFACE 40 2 8 1 HID Report Format 40 2 8 2 Sample Single Report Command and Response 42 2 8 3 Data Frames 42 2 8 4 Sample Single Report Command with Multiple Report ...

Page 4: ...iguration Tags 90 4 4 2 BYTE TAGS VS 3 BYTE TAGS 96 5 CARD APPLICATION SELECTION 99 5 1 COMBINED SELECTION 99 5 1 1 Selection Features FFE3 or DFEE4D 99 5 2 PARTIAL SELECTION FFE1 OR DFEE4B 100 5 3 AID PARTICIPATION IN SELECTION PROCESSES FFE8 OR DFEE53 100 5 4 TERMINAL AID LIST DFEF2C 101 6 CARD APPLICATION SPECIFIC BEHAVIOR 102 6 1 MASTERCARD PAYPASS M CHIP 102 6 1 1 PayPass Default Group 102 6 ...

Page 5: ... 2 15 Get Contact EMV L2 Kernel Checksum 29 08 134 8 2 16 Get Contact EMV L2 Terminal Configuration Checksum 29 09 135 8 2 17 Get UID of MCU 29 17 136 8 2 18 Get TMS 29 20 136 8 2 19 Get Health Data from SCRP 29 30 138 8 2 20 Set Baud Rate 30 01 139 8 2 21 Set Temporary Baud Rate 30 02 139 8 2 22 Set Baud Rate and Audio Level 30 03 140 8 2 23 Set Cable Type 32 02 142 8 2 24 Get Cable Type 32 01 14...

Page 6: ...ction 60 10 178 8 4 19 Contact Authenticate Transaction 60 11 185 8 4 20 Contact Apply Host Response 60 12 Complete Transaction 189 8 4 21 Contact Retrieve Transaction Result 60 13 193 8 4 22 Contact Get Reader Status 60 14 195 8 4 23 Contact Get ICS Identification 60 15 196 8 4 24 Contact Set ICS Identification 60 16 196 8 4 25 Contact LCD Display Control 61 01 Reader sends to Host 197 8 4 26 Con...

Page 7: ...OMMANDS 262 8 10 1 Get EMV Revocation Log Status 84 03 262 8 10 2 Add Entry to EMV Revocation List 84 04 263 8 10 3 Delete All Entries for Single Index in EMV Revocation List 84 05 264 8 10 4 Delete All Entries from EMV Revocation List 84 06 264 8 10 5 Get EMV Revocation List 84 07 265 8 10 6 Delete an Entry from EMV Revocation List 84 0D 266 8 11 EMV EXCEPTION LOG LIST COMMANDS 267 8 11 1 Get EMV...

Page 8: ...H LEVEL PASS THROUGH COMMANDS FOR FELICA CARDS 317 8 18 1 Felica Commands 2C 41 317 8 18 2 Felica Lite Lite S Authenticate 2C 42 318 8 18 3 Felica Lite Lite S Read Write Blocks with MAC 2C 43 319 8 18 4 Poll Felica Card 2C 44 321 8 19 PASS THROUGH COMMANDS FOR MOTOR CONTROL 321 8 19 1 Bypass Data to Motor 2C 70 321 8 19 2 Entry Motor Boot Mode 2C 71 323 8 20 SECURE PASS THROUGH FUNCTION 324 8 20 1...

Page 9: ...tus Codes 347 8 24 4 Cancel PIN or Key Entry 62 00 347 8 24 5 Display Message and Get Encrypted PIN 62 01 348 8 24 6 Get Function Key 62 02 350 8 24 7 Display Message and Get Numeric Key 62 03 351 8 24 8 Display Message and Get Amount 62 04 353 8 24 9 Display Multi Line Message and Get Numeric Key 62 05 355 8 24 10 Get PAN 83 41 358 8 25 IMPROVED COLLISION DETECTION 360 8 25 1 Issues with Standard...

Page 10: ...31 13 Get DRL Reader Risk Parameters 03 0E 386 9 LOYALTY FUNCTIONS 388 9 1 APPLE VAS SMARTTAP 2 1 WITH ACT COMMAND 388 9 2 APPLEPAY VAS FUNCTIONALITY 391 9 2 1 Overview 391 9 2 2 Set Merchant Record 04 11 398 9 2 3 Get Merchant Record 03 11 399 9 3 SMARTTAP 2 1 400 10 PEER TO PEER FUNCTIONALITY 401 10 1 PEER TO PEER SEND A MESSAGE C7 9A 401 10 2 PEER TO PEER RECEIVE A MESSAGE C7 9B 401 11 MSR EQUI...

Page 11: ...en Info 61 0E 458 19 3 12 Load Screen Info 61 0F 458 19 3 13 Clear Screen Info 61 10 459 19 3 14 Get All Screens 61 11 459 19 3 15 Get List of All Objects on Screen 61 12 460 19 3 16 Query Screen by Name 61 13 461 19 3 17 Query Object By Name 61 14 462 19 3 18 Query Screen by ID 61 15 463 19 3 19 Query Object by ID 61 16 464 19 3 20 Display system screen 61 17 465 19 3 21 Get RT1050 Firmware Versi...

Page 12: ...Style 2 490 19 5 3 Additional Information About VP6800 Screens 492 19 6 VP6800 UI LIMITATIONS 493 19 6 1 VP6800 Supported Fonts 495 19 6 2 VP6800 Supported Special Characters 495 20 APPENDIX A 8 WHITE LIST COMMANDS FOR VP3300 FAMILY 497 20 1 1 Set MSR White List 91 10 497 20 1 2 Clear MSR White List 91 11 500 20 1 3 Retrieve Get MSR Whitelist C7 A2 500 21 APPENDIX A 9 NEO 2 CONTACTLESS GROUPS AND ...

Page 13: ...nagement Commands Error Codes Protocol 1 110 Table 29 Set CA Public Key Data Field 112 Table 30 Control User Interface Data 124 Table 31 Activate Transaction Command Frame Data Format 210 Table 32 Activate Command TLVs 210 Table 33 Activate Transaction Response Frame Data Format 02 01 Command for 02 40 see further below 212 Table 34 Activate Transaction Response TLVs 213 Table 35 Activate Transact...

Page 14: ...Through Data Field 291 Table 68 Mifare Authentication Block Data Field 304 Table 69 Mifare Read Block Data Field 305 Table 70 Mifare Write Block Data Field 308 Table 71 ePurse Value Block Format 309 Table 72 Mifare ePurse Command Data Field 310 Table 73 Mifare ePurse Data Field for Debit Credit Function Block 311 Table 74 Mifare ePurse Data Field for Backup Function Block 312 Table 75 NFC Command ...

Page 15: ... assumed to run a payment app that sends commands to the reader and retrieves data This manual describes the commands and responses sent directly to or received directly from the reader as raw bytes traveling over a USB RS 232 Bluetooth or audio jack connection The raw bytes are described in terms of hexadecimal values throughout this guide for example 09h or 0x09 unless otherwise noted 1 2 Device...

Page 16: ... Configuration describes the method for configuring AIDs and groups parameter data sets The Card Application Selection section describes the method for selecting a particular card application and how selection of a particular AID may be controlled The section on Card Application Specific Behavior describes information specific to particular card applications and the ViVOpay implementation The Prot...

Page 17: ...TLVs when a two byte data value appears assume the value is big endian MSB followed by LSB unless otherwise noted 1 6 Reader Interface Capabilities ViVOpay readers are categorized by their capability to interact with the host terminal ViVOpay readers fall into one of the following categories depending on the available transaction interfaces Contactless Only Contactless and MSR Contactless and LCD ...

Page 18: ...cel Transaction Command 05 01 Check DUKPT Key 81 04 Check DUKPT Keys 81 02 Clean Torn Transaction Log 84 0F Configure Buttons Command F0 F4 a Contact Apply Host Response 60 12 Contact Authenticate Transaction 60 11 Contact Get MSR Data Control Reader send to Host 61 03 Contact Get PIN Control Reader send to Host 61 02 Contact Get Reader Status 60 14 Contact LCD Display Control Reader send to Host ...

Page 19: ...te Entry from EMV Exception List 84 0A Disable Blue LED Sequence F0 F6 Enable Disable Logger 4C 04 Enable Blue LED Sequence Command F0 F7 a Enhanced Pass Through Command 2C 0B Enhanced Poll for Token 2C 0C Exchange APDU Data 2C 13 Exchange Contactless Data 2C 03 Felica Commands 2C 41 Felica Lite Lite S Authentication 2C 42 Felica Lite Lite S Read Write Blocks with MAC 2C 43 Flush Track Data 17 02 ...

Page 20: ...20 Get Main Firmware Version 09 03 a Get MSR Secure Parameters C7 39 a Get PCD and PICC Parameters 2C 05 Get Processor Type 09 02 Get Product full information 29 01 Get Product Type 09 01 a Get Serial Number 12 01 Get Switches Notifications Configuration 01 08 Get TMS 29 20 Get Transaction Result 03 00 Get Transaction Result 03 40 Get UID of MCU 29 17 Get USB Boot Loader Version 29 04 e Get USB Po...

Page 21: ...n 04 00 Set Configuration Defaults and Keep Encryption Key 04 0A Set Data Encryption Enable Flag C7 36 Set Data Encryption Key Variant Type C7 2F Set Logger Level 4C 02 Set Merchant Record 04 11 Set Model Number 90 15 Set MSR Secure Parameters C7 38 a Set Parameter Defaults 04 09 Set Poll Mode 01 01 Set RF Error Reporting 17 03 Set Serial Number 12 02 Set Switches Notifications Configuration 01 07...

Page 22: ...t All AIDs c 03 06 Get Configurable Group c 03 07 Get All Groups c 03 0C Get Cash Transaction Reader Risk Parameters 03 0D Get Cashback Transaction Reader Risk Parameters 03 0E Get DRL Reader Risk Parameters 03 11 Get Merchant Record 03 40 Get Transaction Result 04 00 Set Configuration 04 02 Set Configurable AID c 04 03 Set Configurable Group c 04 04 Delete Configurable AID c 04 05 Delete Configur...

Page 23: ... Kernel Version Detail 29 08 Get Contact EMV L2 Kernel Checksum 29 09 Get Contact EMV L2 Terminal Configuration Checksum 29 17 Get UID of MCU 29 20 Get TMS 32 01 Get Cable Type 32 02 Set Cable Type 2C 01 Pass Through Mode Start Stop 2C 02 Poll for Token 2C 03 Exchange Contactless Data 2C 04 PCD Single Command Exchange 2C 05 Get PCD and PICC Parameters 2C 06 Mifare Authenticate Block 2C 07 Mifare R...

Page 24: ...0E Contact Set Certification Revocation List 60 0F Contact Remove Transaction Amount Log 60 10 Contact Start Transaction 60 11 Contact Authenticate Transaction 60 12 Contact Apply Host Response 60 13 Contact Retrieve Transaction Result 60 14 Get Contact Reader Status 60 15 Contact Get ICS Identification 60 16 Contact Set ICS Identification 61 01 Contact LCD Display Control Reader send to Host 61 0...

Page 25: ...ta Encryption Key Variant Type C7 32 Set Data encryption Key Encryption Type C7 33 Get Data encryption Key Encryption Type C7 36 Set Data Encryption Enable Flag C7 37 Get Data Encryption Enable Flag C7 38 Set MSR Secure Parameters C7 39 Get MSR Secure Parameters C7 3D Read Log C7 9A Peer To Peer Send A Message C7 9B Peer To Peer Receive A Message D0 01 Get CA Public Key D0 02 Get CA Public Key Has...

Page 26: ... position FA FA FA Disable Yellow LED to indicate vend session is NOT active FB FB FB Enable Flashing of Yellow END Button LED to indicate vend session is active FE FE FE BEEP Buzzer one time 80 LCD Line 1 C0 LCD Line 2 37 32 04 Model Request 37 30 04 Serial Number Request 2 1 3 Pass Through Command Table Pass Through Command Table Command C less or C less MSR LCD Line US EMV Protocol CMD SUB CMD ...

Page 27: ... Discretionary Data White List 2 2C 53 2 1 4 EMV Key Manager Command Tables The preferred method of accessing the Certificate Authority public keys is to use the following commands EMV Key Management Protocol 2 Command C less or C less MSR LCD Line US EMV Protocol CMD SUB CMD Notes Get CA Public Key 2 D0 01 Get CA Public Key Hash 2 D0 02 Set CA Public Key 2 D0 03 Delete CA Public Key 2 D0 04 Delet...

Page 28: ... expected 15h Specified key type is invalid 16h Could not retrieve key from the SAM InitSecureComm 17h Hash code problem 18h Could not store the key into the SAM InstallKey 19h Frame is too large 1Ah Unit powered up in authentication state but POS must resend the InitSecureComm command 1Bh The EEPROM may not be initialized because SecCommInterface does not make sense 1CH Problem encoding APDU 1DH ...

Page 29: ...Get Random Failed Or RNG Error 37h CVMApp RSA Key Sign Data Error Or Verify Signature Error 38h CVMApp RSA Key Encrypt Data Error 39h Data Shared Key Failed 3Ah PIN Shared Key Failed 3Bh Safety Access Not Allow Verify Signature Error Times Overflow 3Ch No Refresh Token Don t implement transaction 41h 4Fh Module specific errors for Key Manager 50h Auto Switch OK 51h Auto Switch failed 57h No paymen...

Page 30: ...e Status 00h OK 01h Incorrect Frame Tag 02h Incorrect Frame Type 03h Unknown Frame Type 04h Unknown Command 05h Unknown Sub Command 06h CRC Error 07h Failed 08h Timeout 0Ah Incorrect Parameter 0Bh Command Not Supported 0Ch Sub Command Not Supported 0Dh Parameter Not Supported Status Abort Command 0Eh Command not Allowed 0Fh Sub Command Not Allowed 57h No payment occurred VAS transaction ...

Page 31: ... user to complete the transaction on the other interface 05h Go To Nearby Interface The transaction has failed If there is another nearby contact interface advise the user to complete the transaction on the nearby contact interface This situation might be a case where there are multiple pay stations but only one of them has a contact interface 06h Go To MagStripe Interface The transaction has fail...

Page 32: ...pability FFF3 26h Card Expired This error code is sent to the terminal if the current date of the reader is greater than the expiration date of the card This status code is only valid for qVSDC cards 27h Unsupported Card Card presented to the reader is of a type not supported by the reader This could be due to presenting a card with an AID that is not recognized by the reader 30h Card did not resp...

Page 33: ... Data authentication failed during dynamic signature verification Retrying the transaction does not correct the error At this point the amount has been deducted from the card balance 55h Processing Restrictions Failed The processing restrictions step as defined in EMV specifications failed This could be due to incorrectly set configuration Retrying the transaction does not correct the error until ...

Page 34: ...tes the LTPK long term private key hasn t been loaded If an error occurs during a transaction and the terminal determines that the reader must perform exception processing then the terminal must retry the transaction until the transaction has been completed successfully or the terminal decides to abort The retries must be continued even if successive transactions fail with conditions that do not r...

Page 35: ...DATA command to retrieve the ticket 11h GET DATA Ticketing Prof Error occurred during GET DATA command to retrieve the ticketing profile 12h GET DATA Balance Error occurred during GET DATA command to retrieve the balance 13h GET DATA All Error occurred during GET DATA command to retrieve all data 20h PUT DATA Ticket Error occurred during PUT DATA command to retrieve the ticket 21h CARD READ COMPLE...

Page 36: ...LT_CODE_NOT_ACCEPTED 0x0006 EMV_RESULT_CODE_FALLBACK_TO_MSR EMV_RESULT_CODE_USE_MSR 0x0007 EMV_RESULT_CODE_TIMEOUT 0x0008 EMV_RESULT_CODE_AUTHENTICATE_TRANSACTION 0x0010 EMV_RESULT_CODE_UNABLE_TO_REACH_HOST 0x00FF EMV_RESULT_CODE_FILE_ARG_INVALID 0x1001 EMV_RESULT_CODE_MEMORY_NOT_ENOUGH 0x2001 EMV_RESULT_CODE_FALLBACK_SITUATION 0x3004 EMV_RESULT_CODE_MSR_CARD_ERROR_FALLBACK 0x3012 EMV_RESULT_CODE_...

Page 37: ...ID 0x5037 EMV_RESULT_CODE_TRANS_TYPE_NO_SUPPORT 0x5038 EMV_RESULT_CODE_CVM_TAG_8E_MISSING 0x6003 EMV_RESULT_CODE_CVM_TAG_8E_FORMAT_ERROR 0x6004 2 5 Serial Communication Interfaces This section discusses the physical interfaces through which the terminal communicates with the ViVOpay reader All of the readers have either an RS232 or USB Serial Interface Note Do not plug in out serial communication ...

Page 38: ...See Status Code Table 00h 00h 2 6 2 Get Bluetooth Name 77 82 This command retrieves a Bluetooth name Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 77h 82h 00h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14...

Page 39: ...e 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 77h See Status Code Table 00h 0Dh See below data table Data Table Get Bluetooth Local information Data Item Length bytes Description Event 2 Reserved Version 4 Firmware version BCD Address 6 Ascii code MAC Address LSB Identify 1 0x01 BM71 2 7 RS 232 ...

Page 40: ...ed to respond to the terminal varies from command to command depending on what processing is required During a transaction the Activate Transaction command may specify a timeout value The reader will continue to poll until it starts to process a transaction or the specified timeout period has elapsed The transaction may not complete within the timeout period 2 8 USB HID Interface All ViVOpay comma...

Page 41: ... are continuation frames For any command or response that is more than 126 bytes long the middle frames of the response are sent with a report ID of 3 Any frame received with a report ID 3 is ignored unless it is preceded by a report with an ID of 2 or 3 The report ID 3 frames should always contain 63 bytes of valid data with no padding bytes 2 8 1 4 Report ID 4 ID 4 frames mark the end of multi r...

Page 42: ...00 The serial port version of this command and response would be data bytes in hex format Command 56 69 56 4F 74 65 63 68 32 00 18 01 00 00 B3 CD Response 56 69 56 4F 74 65 63 68 32 00 18 00 00 00 FA 8 2 8 3 Data Frames Byte 0 8 Byte 9 Byte 10 Byte 11 Byte n 10 Byte n 11 Byte n 12 Frame Tag Frame Type Data 0 Data 1 Data n CRC MSB if from ViVOpay LSB if from Terminal CRC LSB if from ViVOpay MSB if ...

Page 43: ... FF 05 00 00 00 00 00 72 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Note The response to this command changes each time the command is sent since it includes the current time and date The serial port version of this command and response would be data bytes in hex format Command 56 69 56 4F 74 65 63 68 32 00 03 02...

Page 44: ... data frames An alternate way to handle the rules for report IDs 3 and 4 is to set a flag when a report with an ID of 2 is received and reset the flag when a report with an ID of 1 is received or an ID of 4 is finished processing Reports with IDs of 3 or 4 are only kept when the flag is set 2 8 6 Error Handling at Command Level The error handling at the command level remains as it is currently imp...

Page 45: ...quest and response interactions with the device via serial connection involve two types of frames command frames and response frames The general format of these frames is given below 3 1 1 Command Frame Format Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech...

Page 46: ...ed regardless of using high level communication with the PICC or low level communication These commands include o Pass Through Mode Start Stop o Poll for Token High level PICC communication commands If a PICC supports ISO 14443 4 Protocol high level commands can be used to send application level APDUs to the PICC and receive PICC responses The send receive commands must always be used in pairs unl...

Page 47: ...ass Through Response Frame Format Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 See Individual Commands See Individual Commands See Individual Commands See Individual Commands See Individual Commands 3 2 4 Suggested Sequence for Pass Through Commands 1...

Page 48: ...en on again The terminal can instruct the ViVOpay reader to terminate Pass Through Mode and start normal polling for cards by sending a Stop Pass Through Mode command Note If the terminal communicates with the card in Pass Through Mode and finds that it does not support the card then the terminal is responsible for handling the termination sequence with the card The terminal may keep sending Poll ...

Page 49: ...neral one is used for MiFare DesFire or unrecognized cards The second is ONLY used for a specific User AID The auto switch setting in a user AID overrides the global auto switch setting After auto switch is activated the POS application must handle error recovery and exit Pass Through Mode with the Pass Through Mode Start Stop command 2C 01 when done The reader returns to previous polling mode or ...

Page 50: ...mber 0 or Variable Serial Number or the UID of the PICC Length depends on the card detected If no card was detected then a serial number is not returned The response frame is returned asynchronously if the reader is in auto poll After auto switch is invoked the reader remains in Pass Through Mode with the RF antenna on The POS application must handle error recovery and exit Pass Through Mode when ...

Page 51: ...plication type card data and CRC to the terminal through its serial port Detailed information on the frame format is given in the sections ahead The terminal does not have to send any command or data to the ViVOpay reader Note The reader must be in auto poll mode for Burst Mode to be used successfully setting Burst Mode on for other configurations can lead to unexpected results Burst Mode is inten...

Page 52: ... 0Eh Asynchronous Event Frame 3 3 1 1 Payload Frame On Successful Read On successful read ViVOpay sends a card payload frame to the terminal that always contains frame type status and application type The status always shows Success 00 The application type can have any of the values defined in Data Definitions This is followed by the track data Only those tracks the reader was able to read from th...

Page 53: ...the response frame are given in the following table All TLV lengths in the TLV include the tag and length bytes Payload Frame with Cryptogram Data Format and Content When Status OK Data Item Length bytes Description Track 1 Length 1 If Track 1 is available then this field gives the length of the Track 1 data that follows If Track 1 is not available then a Length of 00h is returned Format Binary Tr...

Page 54: ...t only if the DE 055 object is present Tag 9F34 Format b3 TLV Data Authentication Code 5 Data authentication code as a TLV object This field is present only if the DE 055 object is present Tag 9F45 Format b2 TLV ICC Dynamic Number 11 ICC dynamic number as a TLV object This field is present only if the DE 055 object is present Tag 9F4C Format b8 TLV Track 1 Equivalent Data M Chip card 81 Track 1 eq...

Page 55: ...m Factor Indicator PayPass Third Party Data F b 32 T 9F6E L 4 bytes F b T 9F6E L 5 32 bytes Indicates the form factor of the consumer payment device and the type of contactless interface over which the transaction was conducted The Form Factor Indicator is both an implementation and Issuer option Inclusion of the form factor indicator in online messages and clearing records for offline capable rea...

Page 56: ...he reader ignores the NACK frame and does not resend the payload data Each payload data is only resent one time The NACK frame is a 1 Byte code with value of 0x55 Byte 0 Frame Type 0x55h Example 1 ViVOpay receives NACK frame from terminal within 500ms after sending the original payload data ViVOpay resends the card payload data Terminal ViVOpay Reader Original Payload Time 0 NACK sent at 400ms wit...

Page 57: ...age event is used by the reader to indicate specific events to the terminal These frames are only sent when LCD and LED are to be sent to an external source In synchronizing with the transaction the reader can send an asynchronous user interface UI message event to the terminal to specify the required user experience on the terminal Asynchronous UI Message Event format Byte 0 Byte 1 Byte 2 Byte 3 ...

Page 58: ... given in Appendix A 1 3 3 1 5 Data Definitions Status Status is a 1 Byte code that indicates success or contains an error code This can have any value from 0 to 255 Asynchronous UI Message Event Status Status Value Description STATUS_OK 00h Card read completed successfully STATUS_EC_CARD_REMOVED 01h A timeout occurred card no longer present STATUS_EC_COMM_ERROR 02h Some communication error occurr...

Page 59: ...DesFire ViVOCard3 Track Data 0Eh DesFire ViVOCard3 Raw Data 0Fh RBS 11h ViVOcomm 14h Application type never has a value that matches the Track 1 and Track 2 start end sentinels Track 1 Field This is a variable length field consisting of Track 1 data as ASCII characters This field starts with the Track 1 start sentinel and ends with the Track 1 end sentinel If any Track 1 data is available it is pr...

Page 60: ...0 37 32 31 30 34 33 35 30 30 30 30 3F B5 DC Burst Mode Payload Frame 45 00 55 00 04 03 04 00 00 6D 4D LCD Event 45 00 55 00 0C 01 30 00 00 01 20 00 00 01 10 00 00 53 78 Three LED Events 45 00 55 00 04 03 01 00 00 86 BD LCD Event 3 4 CRC Calculation The 16 bit CRC value is based on CRC 16 CCITT and calculated based on the following parameter set Width 16 bits Polynomial x16 x12 x5 1 Truncated Polyn...

Page 61: ...D6 0x9339 0x8318 0xB37B 0xA35A 0xD3BD 0xC39C 0xF3FF 0xE3DE 0x2462 0x3443 0x0420 0x1401 0x64E6 0x74C7 0x44A4 0x5485 0xA56A 0xB54B 0x8528 0x9509 0xE5EE 0xF5CF 0xC5AC 0xD58D 0x3653 0x2672 0x1611 0x0630 0x76D7 0x66F6 0x5695 0x46B4 0xB75B 0xA77A 0x9719 0x8738 0xF7DF 0xE7FE 0xD79D 0xC7BC 0x48C4 0x58E5 0x6886 0x78A7 0x0840 0x1861 0x2802 0x3823 0xC9CC 0xD9ED 0xE98E 0xF9AF 0x8948 0x9969 0xA90A 0xB92B 0x5AF...

Page 62: ...DE8 0x8DC9 0x7C26 0x6C07 0x5C64 0x4C45 0x3CA2 0x2C83 0x1CE0 0x0CC1 0xEF1F 0xFF3E 0xCF5D 0xDF7C 0xAF9B 0xBFBA 0x8FD9 0x9FF8 0x6E17 0x7E36 0x4E55 0x5E74 0x2E93 0x3EB2 0x0ED1 0x1EF0 unsigned short CalculateCRC unsigned char Buffer unsigned int Len unsigned short Crc 0xffff while Len Crc CrcTable Crc 8 Buffer Crc 8 return Crc ...

Page 63: ...ows the basic approach to instantiating the tag database for a transaction Global variables configured through the Set Configuration command are instantiated when the reader is reset or powered up When a card is in the field an AID is selected and its tags are added to the database The selection of the AID causes a data set group to be selected and its tags are added to the database As the transac...

Page 64: ...defines transaction processing for that payment application The System AIDs are initially associated with a default TLV Group called Group 0 which can be modified but not deleted User AIDs can be associated to the default TLV Group or any of seven other user defined TLV Groups With the implementation of M Chip 3 0 an additional default TLV Group Group 1 has been added M Chip 3 0 does not use the R...

Page 65: ...ciated with the same TLV Group or they can map to unique TLV Groups Users may also redefine the functionality for an existing AID by linking it to a new configuration Group or they may disable an AID if to prevent the reader processing transactions from that payment application Users may delete an AID by communicating to the reader the AID number with no parameters As users add or modify AIDs and ...

Page 66: ...Ds or change configuration values for an AID Use the Configurable Group commands to create new groups or configuration values for a group 4 1 1 System AIDs A System AID is an AID preloaded for a specific application using a known AID value Examples include MasterCard American Express and Visa The table below shows all the System AIDs System AIDs Application Name Application Identifier American Exp...

Page 67: ...0 00 03 30 10 90 Visa Plus A0 00 00 00 03 80 10 90 Amex A0 00 00 00 25 01 A0 Discover ZIP A0 00 00 03 24 10 10 B0 Discover Dpas A0 00 00 01 52 30 10 B0 Interac A0 00 00 02 77 10 10 C0 J Speedy A0 00 00 00 65 10 10 D0 4 1 4 Reader Default TLV Group The reader is provided with a default TLV Group Group 0 that defines all the properties with TLVs required for a basic transaction By default all of the...

Page 68: ...m other applications Group 0 tags are not loaded 28 default tags defined in the EMV Contactless Book C 2 Kernel 2 Spec v2 3 are initialized with their specified default values See PayPass Group Configuration TLVs with Hard Coded Values in Kernel PayPass Group tags are loaded Group 1 is the default group for PayPass applications Tags sent in the Activate Command are loaded into the database 4 1 6 U...

Page 69: ...values in TLV Groups 1 through 7 overwrites all content in the TLV Group including deleting TLVs not in the update Except for MasterCard PayPass transactions when one of these user defined TLV Groups is selected during a transaction the reader uses the TLVs included in the group AND any other TLVs required for the transaction are taken from the default Group 0 After the reader has finished transac...

Page 70: ...he TLV string FFEE0106DF29030101 is broken down as follows FFEE01 ViVOpay TLV Group Tag 06 Length of all encapsulated TLVs DF29 Tag Terminal Capabilities CVM Required ViVOpay Proprietary 03 Length of Transaction CVM 00 01 00 Value Actual Transaction CVM 4 2 Card Application Proprietary Tag List FF69 or FFEE69 Some applications may require list of defined proprietary tags that may be returned in Da...

Page 71: ...ssing Code default purchase goods or services n2 1 00 5F2A Transaction Currency Code Indicates the currency code of the transaction according to ISO 4217 Make sure you use the same Transaction Currency Code for all configurable AIDs default US Dollars n3 2 08 40 5F36 Transaction Currency Exponent Indicates the implied position of the decimal point from the right of the transaction amount represent...

Page 72: ...0 00 00 00 00 00 00 00 00 00 DFEE28 Terminal Capabilities No CVM Required M Chip v2 0 element indicating the terminal capabilities to be used when amount authorized cvm required limit Formatted as terminal capabilities tag 9F 33 Only byte 2 of this tag is actually used The other terminal capabilities are configured using tag 9F33 DF28 Byte PayPass Tag Equivalent 2 DF8119 b 3 00 08 E8 DFEE29 Termin...

Page 73: ...yte 2 b8 b7 b6 b5 b4 b3 b2 b1 Meaning 0 disable 1 enable X Transaction Limit Check X CVM Required Limit Test X Terminal Floor Limit Check X Cash Transaction Reader Risk RR X Cashback Reader Risk RR X DRL Dynamic Reader Limits RR X Processing Restriction for Manual Cash X Processing Restriction for Cashback Byte 3 b8 b7 b6 b5 b4 b3 b2 b1 Meaning 0 disable 1 enable X 1 online cryptogram required for...

Page 74: ...ed separately Warning EMEA UI is intended for use in the EMV or European environment where the reader vend is not allowed to poll continuously for example to operate in Auto Poll Mode The reader vend does NOT support Auto Poll while in EMEA UI mode The reader is not certified to work properly in this situation b 1 03 DFEE38 1 Language Option for LCD display Value 00 English only display default Va...

Page 75: ... support X CUP support X Google SmartTap X X X X RFU Byte 2 b8 b7 b6 b5 b4 b3 b2 b1 Meaning 0 disable 1 enable X MasterCard Credit support X American Express support X Visa support X Mobile J Speedy support X ViVOwallet support X RBS support X MasterCard Cash support X Discover support Example 0009 means reader support both MasterCard and Mobile J Speedy applications b 2 95 FF DFEE5C RF Deactivate...

Page 76: ...y time ms Default is 1000ms If the device has no LCD then the value will be 0 b 2 00 00 9F4E Merchant Name and Location Allows the reader to be configured with the merchant s name and location VCPS 2 1 1 and M Chip 3 0 ASCII 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1 These objects use proprietary tags The use of these tags should be restricted to...

Page 77: ...rs and it must be the 1st TLV in Data Field It is used as the key for the group parameter set n2 1 80 5F57 Account Type B 1 9F01 Acquirer Identifier n12 6 9F40 Additional Terminal Capabilities Indicates the data input and output capabilities of the terminal b 5 00 00 00 00 00 9F09 Application Version Number M Chip PayPass M Chip 3 0 Value 00 02 Amex Value 00 01 b 2 00 02 DF8117 Card Data Input Cap...

Page 78: ...mit b 1 00 DF811C Maximum Lifetime of Torn Transaction Record This is the maximum time a torn record can exist in the log before it expires It is expressed in seconds While the transaction log is global to the reader the MasterCard application is the only application that supports it b 2 00 00 DF811D Maximum Number of Torn Transaction Records Due to storage limitations the maximum number of record...

Page 79: ...cquirer selected action to be taken upon analysis of the TVR b 5 00 00 00 00 00 DF8121 1 Terminal Action Code Denial Reflect the acquirer selected action to be taken upon analysis of the TVR b 5 00 00 00 00 00 DF8122 1 Terminal Action Code Online Reflect the acquirer selected action to be taken upon analysis of the TVR b 5 00 00 00 00 00 9F33 Terminal Capabilities Indicates the card data input CVM...

Page 80: ...rly in this situation For PayPass M Chip this value should be set to 03 EMEA It defaults to ViVOpay for backward compatibility with MagStripe applications b 1 03 DFEE38 1 Language Option for LCD display Value 00 English only display default Value 01 Chinese only display 2 Value 02 English Chinese display 2 Value 03 French only display Value 04 Other Language if ILM present 2 Value 05 English Frenc...

Page 81: ...ader is configured from the factory the American Express System AIDs will be associated with Group A0 If there are tags in a American Express group that should be set they must all be set explicitly because the absent values are not filled in with Group 0 defaults American Express Group tags are instantiated a little differently than other groups Group 0 is never used as a default Refer to the sec...

Page 82: ...ted according to ISO 4217 decimal is two places from right of the transaction amount n1 1 02 9F02 Amount Authorized Numeric n12 6 00 00 00 00 00 01 9F03 Amount Other Numeric n12 6 00 00 00 00 00 00 9F09 Application Version Number PayPass M Chip Value 00 02 Amex Value 00 01 b 2 00 02 9F15 Merchant Category Code Classifies the type of business being done by the merchant see ISO 8583 1993 n4 2 00 00 ...

Page 83: ...00 30 00 9F6D Contactless Reader Capabilities n2 1 C0 9F6E Enhanced Contactless Reader Capabilities b 4 58 80 00 00 DFEE34 Terminal Contactless Transaction Limit Indicates the terminal limit for this AID for Contactless transactions n12 6 00 00 00 01 00 00 DFEE5C RF Deactivate Period b 4 01 50 00 00 DF8126 1 CVM Required Limit Indicates the CVM required limit in the terminal for the associated AID...

Page 84: ...user defined TLV Group is used user should set these above TLVs in the user defined Group If not set these above TLVs will be regard as not present Vendi rule for Discover Configuration Group The following Discover Group TLVs should not be configured for Group 0 The default Discover group is Group B0 That is when the reader is configured from the factory the Discover System AIDs will be associated...

Page 85: ... is the decimal limit amount given in binary represented in Hex in the command response 60 limit 6000 decimal 1770h b 4 00 00 17 70 9F33 Terminal Capabilities Indicates the card data input CVM and security capabilities of the terminal Default No CVM required SDA supported DDA supported Card Capture CDA supported b 3 00 08 E8 9F35 Terminal Type Indicates the environment of the terminal its communic...

Page 86: ...ect the acquirer selected action to be taken upon analysis of the TVR b 5 00 00 00 00 00 DF8121 1 Terminal Action Code Denial Reflect the acquirer selected action to be taken upon analysis of the TVR b 5 00 00 00 00 00 DF8123 Reader Contactless Floor Limit n12 6 00 00 00 01 50 00 DF8124 Reader Contactless Transaction Limit No On Device CVM When there is no on device CVM available for example with ...

Page 87: ...Interac Group tags are instantiated differently than other groups Group 0 is never used as a default Refer to the section on Interac Default Group for an explanation of how the tag database is instantiated for Interac Interac Default Group C0 Configuration TLVs Tag Description Format Length Default Value in Group 4 DFEE2D Group Number The group number assigned to this group of parameters AIDs may ...

Page 88: ... 02 03 04 and 05 Interac n1 1 03 9F59 Terminal Transaction Information TTI Provides terminal transaction information for the current transaction Interac b 3 DC 87 00 9F5A Terminal Transaction Type Interac 0x00 Purchase 0x01 Refund b 1 00 9F5D Terminal Contactless Receipt Required Limit Limit amount used to compare against transaction amount to automatically print a transaction record Interac n12 6...

Page 89: ...r selected action to be taken upon analysis of the TVR b 5 00 00 00 00 00 DFEE2B Maximum Target Percentage for Biased Random Selection Value used in terminal risk management for random transaction selection b 1 32 DFEE2C Target Percentage for Random Selection Value used in terminal risk management for random transaction selection Interac b 1 0A DFEE2A Threshold Value for Biased Random Selection Va...

Page 90: ...proprietary tags The use of these tags should be restricted to the serial interface After the reader has returned an OK response frame the terminal application should dispose of the tags to avoid conflicts with other proprietary TLVs NOTE Certain older 2 byte proprietary tags beginning with FF are not properly formed BER TLV tags These illegal tags have since been replaced with properly formed 3 b...

Page 91: ...sa MAND Tells the reader to allow partial selection during the initial select process 01 Allowed 00 Disabled Note Required for Visa application flow this value is set to 01 Allowed and cannot be changed b 1 FFE2 1 Application Flow Sys NEVER User MAND 1 01h MasterCard MagStripe Application 2 02h American Express Application 3 03h MasterCard PayPass Application 6 06h Visa Application 13 0Dh Discover...

Page 92: ...80h disabled and 00h enabled b 1 FFE8 Exclude from Processing OPT This byte is formatted as follows 87654321 Meaning 0 disable 1 enable x Exclude from PPSE processing 1 This AID will not be added to the candidate list during PPSE x Exclude from Trial and Error processing 1 This AID may not be added to the candidate list during Trial and Error sometime referred to as List of AIDs processing xxxxxx ...

Page 93: ...referred method to disable an AID is to issue a Delete Configurable AID command 04 04 For a system AID the command will set the disable bit in FFE6 The following table lists the System AIDs and the default values for their TLVs System AID Default Configuration TLVs Name Tag Length Hex Value Hex Application Name Group FFE4 DFEE2D 01 A0 American Express AID 9F06 06 A0 00 00 00 25 01 Partial Selectio...

Page 94: ...nel Identifier FFEA DFEE59 01 02 APPLICATION FFE2 DFEE4C 01 03 Group FFE4 DFEE2D 01 90 VISA Debit Credit Classic AID 9F06 07 A0 00 00 00 03 10 10 Partial Selection FFE1 DFEE4B 01 01 Selection Features FFE3 DFEE4D 01 14 Max AID Length FFE5 DFEE2E 01 10 APPLICATION FFE2 DFEE4C 01 06 Group FFE4 DFEE2D 01 90 VISA Electron AID 9F06 07 A0 00 00 00 03 20 10 Partial Selection FFE1 DFEE4B 01 01 Selection F...

Page 95: ...th FFE5 DFEE2E 01 10 Exclude from Processing FFE8 DFEE53 01 02 APPLICATION FFE2 DFEE4C 01 21 Group FFE4 DFEE2D 01 B0 Discover Pulse D Pas AID 9F06 07 A0 00 00 01 52 30 10 Partial Selection FFE1 DFEE4B 01 01 Max AID Length FFE5 DFEE2E 01 10 APPLICATION FFE2 DFEE4C 01 13 Group FFE4 DFEE2D 01 90 VISA Plus AID 9F06 07 A0 00 00 00 03 80 10 Partial Selection FFE1 DFEE4B 01 01 Selection Features FFE3 DFE...

Page 96: ... 00 00 05 DF ED 11 01 00 32 E6 This feature only controls the output of old versus new tags all tags are stored in the device internally as the fully compliant BER TLV tags The configuration switch is mainly a backwards compatibility feature for customers who need to support the original non compliant tags If a user s device outputs illegal non standard 2 byte tags and they want it to output the n...

Page 97: ...PPLICATION_NONE 1 MC_APPLICATION 2 AMX_APPLICATION 3 MC_MSTRIPE_APPLICATION 4 AMX_MIDCAP_APPLICATION 5 CJ_KEYMAN_APPLICATION 6 VISA_APPLICATION 7 MIFARE_DEMO_APPLICATION 8 VIVOWALLET_APPLICATION 9 AMX_ID_APPLICATION 10 MC_MAESTRO_APPLICATION 11 MC_TEST_APPLICATION 12 LOWES_VIVOWALLET_APPLICATION 13 DISCOVER_APPLICATION 14 JCB_QUICPAY_APPLICATION 15 STAR_APPLICATION 16 MC_MXI_APPLICATION 17 RBS_APP...

Page 98: ...n FFE9 DFEE54 Kernel ID transaction type Group List Defines a Kernel ID a transaction type and a group number triplet This TLV uses variable length data three bytes at a time up to 24 bytes DO NOT PAD FFEA DFEE59 Configurable Kernel Identifier Used to define the Kernel ID to use if the card does not provide a Kernel ID or provides one that is length 0 ...

Page 99: ...to the AID value for final selection 1 the Extended Selection value if provided by the card will be appended to the AID value if it fits AID ES 16 for use in final selection x Cardholder Confirmation Not Supported 0 Cardholder Confirmation is allowed for this AID If API bit 8 Cardholder Confirmation is true the application will not be added to the candidate list 1 Customer Cardholder Confirmation ...

Page 100: ...pation in Selection Processes FFE8 or DFEE53 In some cases applications or AIDs may not be able to participate in some of the selection processes For example some cards or applications do not support PPSE The following table describes the bits in tag FFE8 that may be used to exclude an AID from selection processes Table 2 Exclude from Processing FFE8 87654321 Process to be Excluded Description x E...

Page 101: ...ard cannot matched by any Terminal AID One by one the terminal will check each DFEF2C tag associated with the Terminal AID If the Tag DFEF2C value is 01 the terminal sends out that Terminal AID data to the card and it can continue the contactless transaction if the card conditions match the Terminal AID If the Tag DFEF2C value is 00 that Terminal AID data is not sent Table 3 Terminal AID List DFEF...

Page 102: ...previous method of using Group 0 to define default tags could not be used Group 0 is no longer used by the PayPass application The default group for PayPass applications is Group 1 In addition to the PayPass default group the PayPass Kernel also keeps hard coded values for a sub set of the group parameters that are essential for a transaction If one of these data items is not available via Activat...

Page 103: ...or other groups they will not be used 6 1 4 EMV Certificate Revocation List The MasterCard application can make use of the EMV Certificate Revocation List features if they are enabled The DF26 tag is used to enable or disable the Certificate Revocation List function The default value for this tag is enabled 1 6 1 5 Stop Transaction Command M Chip 3 02 includes a Stop Transaction command that funct...

Page 104: ...gies Systems Corporation All rights reserved 104 6 1 7 2 SDA Transactions The combined length of the following data objects personalized to the card cannot be greater than 2400 bytes Signed static application data Static data used in data authentication 2048 bytes maximum ...

Page 105: ...tech 0 C 17h 02h 00 00 ACK Frame from ViVOpay Reader or NACK Byte 0 8 Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Frame Tag Frame Type Command Status Data1 Data2 CRC MSB CRC LSB ViVOtech 0 A 17h Status OK Unused XX 7 1 2 Get Full Track Data 17 CD Use this command to return full track data from a ViVOpay reader If a card has been swiped at the magnetic stripe reader or presented to a rea...

Page 106: ...r Codes Status Tracks Error Code OK Examples Bit 0 Track 1 Track 00h No Track Data Bit 1 Track 2 Track 01h Track 1 Data Only Bit 3 Track 3 Track 02h Track 2 Data Only Track 03h Track 1 Track 2 Data and so on Bit 7 Card Type Card Type 0 Contactless Transaction Card Type 1 Swiped Magnetic Stripe Failed Error Code 01h Card Removed Error Code 02h Communication Error Error Code 03h Protocol Error Error...

Page 107: ...Frame from PC to the ViVOpay Reader Byte 0 8 Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Frame Tag Frame Type Command Status Data1 Data2 CRC MSB CRC LSB ViVOtech 0 N 17h 00h 00 00 ACK Frame from the ViVOpay Reader Byte 0 8 Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Frame Tag Frame Type Command Status Data1 Data2 CRC MSB CRC LSB ViVOtech 0 A 17h Status Tracks DataLen Status O...

Page 108: ...30 30 37 38 36 32 30 39 33 33 00 END OF TRACK 1 START OF TRACK 2 TRACK 2 DATA 35 33 32 35 33 35 30 30 30 30 36 32 33 35 36 37 3D 30 35 30 38 31 30 31 39 34 34 35 39 39 37 38 36 30 36 32 33 DF 03 CRC 7 1 3 Get ViVOpay Firmware Version 29 00 Use this command to retrieve the ViVOpay reader s firmware version number This is the Protocol 1 version of the command given in Get Version Protocol 2 29 00 Th...

Page 109: ...ovide a Real Time Clock set up interface and an EMV ViVOpay Terminal set up interface This document describes the ViVOpay Serial Interface specifically the EMV Key Management commands Real Time Clock setup commands and EMV ViVOpay Terminal setup commands It describes the communication parameters the ViVOpay Serial Interface Protocol and the command specific details Warning DO NOT mix the two Key M...

Page 110: ...mes 200ms 5 sec All other Commands 200ms 200ms After the ViVOpay reader has received a command the time in which it starts sending a response back to the terminal varies from command to command depending on what kind of processing is required before a response can be sent back to the terminal EMV Key Management Commands Error Codes Protocol 1 Error Code Description 00h No Error 01h Unknown Error 0...

Page 111: ...of frames between ViVOpay reader and an external device Command Frame from Terminal to ViVOpay Reader Byte 0 8 Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Frame Tag Frame Type Command Sub Command Data1 Data2 CRC LSB CRC MSB ViVOtech 0 C 24h 01h DataLen2 DataLen DataLen DataLen2 If the key data is being sent in a single data frame then DataLen contains the length of the one and only Data...

Page 112: ...al to ViVOpay Reader If reader sent an ACK Byte 0 8 Byte 9 Byte 10 13 Byte 14 Byte 10 n 1 Byte 10 n Byte 10 n 1 Frame Tag Frame Type Data 0 Data 1 Data n 1 CRC LSB CRC MSB ViVOtech 0 D Data Data Data Where n length of the data field the data field in the first data frame contains the complete or partial CA public key related data The complete contents and format of the key data are given in the fo...

Page 113: ...dulus1 Variable max 256 Binary CA public key modulus with length NCA 1 Fields specified by EMV that need to be stored in Terminal Memory See EMV2000 Book 2 Section 11 2 2 Table 23 ACK Frame from ViVOpay Reader Byte 0 8 Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Frame Tag Frame Type Command Status Data1 Data2 CRC MSB CRC LSB ViVOtech 0 A 24h Status OK 00 00 Status OK or see Status Code ...

Page 114: ... or see Status Code Protocol 1 Final Nack Frame from ViVOpay Reader Byte 0 8 Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Frame Tag Frame Type Command Status Data1 Data2 CRC MSB CRC LSB ViVOtech 0 N 24h FAILED Error Code Unused Error Code See EMV Key Management Error Codes Table 7 2 2 Delete CA Public Key 24 02 Protocol 1 Use this command to instruct the ViVOpay reader to delete a previo...

Page 115: ...o ViVOpay Reader If reader sent an ACK Byte 0 8 Byte 9 Byte 10 Byte 14 Byte 15 Byte 16 Byte 17 Frame Tag Frame Type Data 0 Data 4 Data 5 CRC LSB CRC MSB ViVOtech 0 D RID 0 RID 4 Key Index RID Registered Identifier 5 Bytes Key Index Key Index 1 Byte The RID together with the key index specifies a unique key stored in ViVOpay secure memory Final ACK Frame from ViVOpay Reader Byte 0 8 Byte 9 Byte 10 ...

Page 116: ...eturns an ACK or NACK Frame Command Frame from Terminal to ViVOpay Reader Byte 0 8 Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Frame Tag Frame Type Command Sub Command Data1 Data2 CRC LSB CRC MSB ViVOtech 0 C 24h 03h 00 00 ACK Frame from ViVOpay Reader Byte 0 8 Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Frame Tag Frame Type Command Status Data1 Data2 CRC MSB CRC LSB ViVOtech...

Page 117: ...ommand Frame from PC to the ViVOpay Reader Byte 0 8 Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Frame Tag Frame Type Command Sub Command Data1 Data2 CRC LSB CRC MSB ViVOtech 0 C 17h 03h Operation Code XX Operation Code 00h Disable RF Error Code Reporting 01h Enable RF Error Code Reporting 02h or others No change ACK Frame from the ViVOpay Reader Byte 0 8 Byte 9 Byte 10 Byte 11 Byte 12 B...

Page 118: ...yte 15 Byte 16 Byte 17 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Hours Minutes CRC LSB CRC MSB ViVOtech2 0 25h 07h 00h 02h BCD format range 00 23h BCD format range 00 59h Examples 1 Beijing Time UTC 8 desired 24 hr self check time is 2 30 in the morning 2 30 UTC 8 8hrs 18 30 UTC Hours 18h Minutes 30h 2 Pacific Daylight Time PDT UTC 7 desired 24 hr self check t...

Page 119: ...B CRC MSB ViVOtech2 0 25h See Status Code Table 00h 02h BCD format BCD format If the status code does not return OK the command failed 8 2 General Commands 8 2 1 Ping 18 01 The Ping command checks if the ViVOpay reader is connected to the terminal If the ViVOpay reader is connected it responds with a valid response frame otherwise there is no response Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12...

Page 120: ...tatus Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 C7h See Status Code Table 00 Var Data Object Data Object SourceBlk1 SourceBlkN SourceBlkX is n bytes Format is SourceID SourceLen SourceData SourceID is 1 byte SourceLen is 1 byte it is the length of SourceData The updated return data object follows 0x00 no error 0x01 error is found 0xFE the FW can t get the status 0xFF th...

Page 121: ...hecked Note Most NEO 2 0 products have 4 pairs of tamper switches Pair 1 Switch 0 and 2 Pair 2 Switch 1 and 3 Pair 3 Switch 4 and 6 Pair 4 Switch 5 and 7 But VP3600 only has 3 pairs Pair 1 Switch 4 and 5 Pair 2 Switch 2 and 3 Pair 3 Switch 6 and 7 Value of Switch 0 and 1 can be ignored Temperature 0x12 1 00 Normal 01 Temperature High or Low 0xFE Not checked Voltage 0x 13 1 00 Normal 01 Voltage Hig...

Page 122: ...lows the terminal to set the ViVOpay reader polling mode The ViVOpay reader functions in one of two polling modes Auto Poll or Poll on Demand The value is saved in nonvolatile memory so you only need to send this command when you want to change the mode ViVOpay products operate in Poll on Demand Mode by default Use the Poll on Demand Mode when you want the reader to poll for cards only when reques...

Page 123: ... or unstable behavior The reader is not certified to work properly in this situation Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 01h 01h 00h 01h Poll Mode Poll Mode 00h Auto Poll 01h Poll on Demand Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 By...

Page 124: ...ee Data Table The format and contents of the data field in the command frame are described in the following table Control User Interface Data Data Item Length bytes Description LCD Message Index 1 NOTE For the complete list of possible messages see Appendix A 10 Messages 00 07 are normally controlled by the reader 00 Idle Message Welcome 01 Present card Please Present Card 02 Time Out or Transacti...

Page 125: ...sion Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 01h See Status Code Table 00h 00h If the status code does not return OK the command failed 8 2 5 Set Get Source for RTC LCD Buzzer LED 01 05 The Set Get Source for RTC LCD Buzzer LED command sets up or retrieves the source for RTC LCD Buzzer LED on the ViVOpay reader The reader can be configured to use internal so...

Page 126: ...1h See Status Code Table 00h 00h Command Frame Get Source Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 01h 05h 00h 00h Response Frame Get Source Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Byte 17 Header Tag Protocol Version Command Status Code Data Length MS...

Page 127: ...nal source 11 Use power LED from both reader and external source The Date Time can be configured to use internal or external Date Time depending on the reader configuration When the reader is configured to use internal time the RTC Real Time Clock chip is needed on the ViVOpay reader and the date and time from the RTC chip is used When the reader is configured to use external time the terminal nee...

Page 128: ...eset to factory defaults Contact ICC L2 CAPKs are erased When the reader receives this serial command an NVM Initialization function is called and the display shows the message Initializing Please Wait After completing initialization the display returns to the ready state message Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command ...

Page 129: ... Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 04h 0Ah 00h 00h F7h 46h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 04 00h 00h 00h AEh 16h This command does not modify the following data objects RKI KEK Data encryp...

Page 130: ... 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 04h See Status Code Table 00h 00h 8 2 9 Get Configuration 03 02 The Get Configuration command retrieves the values of the TLV global data objects and default group data objects TLV Group 0 in the reader from the reader s nonvolatile memory After se...

Page 131: ...r Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 03h See Status Code Table TLV Data Objects Refer to Group Configuration Tags for definitions of tags that this command can return 8 2 10 Get Version Protocol 2 29 00 The Get Version Protocol 2 command retrieves the ViVOpay firmware version number from the reader The reader returns a response...

Page 132: ...yte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOpayV2 0 29 See status code table 00 XX data format Response Frame Data Format Block 1 Block 2 Block n Where Block format is 1 byte Tag 1 byte Length and several bytes Value If Contact card module information is retu...

Page 133: ...ot supported because that reader does not support contact EMV Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 29h 04h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code...

Page 134: ...12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 29h 07h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 29h See Sta...

Page 135: ... See Status Code Table See Response Frame Response Frame Example 8D 93 95 C5 88 F2 DE C9 AE 9D C8 BB 7B 98 41 A3 52 57 11 C6 Kernel Index Kernel 0 Contact EMV L2 1 Contactless VISA 2 Contactless Master 3 Contactless DPays 4 Contactless Amex 5 Contactless Interac 8 2 16 Get Contact EMV L2 Terminal Configuration Checksum 29 09 The Get Contact EMV L2 Terminal Configuration Checksum command retrieves ...

Page 136: ...Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 29h 17h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB ...

Page 137: ...ere Block format is 1 byte Tag 1 byte Length Multiple bytes Value Block Item Details Tag Length L means dynamic Value format 1 RTC UTC Date time 01 6 Y M D H M S 2 Device Model Number TS will set Model Number 02 var 32 Ascii Code 3 Firmware Version 03 var 4 Hardware Version 04 var 5 Serial Number TS should set SN 05 10 Ascii Code 6 Last swipe UTC RTC 06 6 Y M D H M S 7 Life time total swipe of Swi...

Page 138: ...ode Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 29h See Status Code Table 0062h See Data table Data Item Length bytes Description Length Enc_Health_Data 2 Length of Enc_Health_Data Enc_Health_Data 96 Enc 16 bytes Random Block_SN Block_FW_Version Block_HW_Version Block_SRED_Status Block_MSR_Availability n bytes Random Note 1 Create 96 bytes Raw data Enc 16 bytes Random Block_SN...

Page 139: ...ud Rate Code Baud Rate 01h 9600 baud 02h 19200 baud 03h 38400 baud 04h 57600 baud 05h 115200 baud Important All other values for Baud Rate Code are invalid and should not be accepted by reader Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 30h See Status Code Table 0...

Page 140: ...portant All other values for baud rate code are invalid and not accepted by ViVOpay readers Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 30h See Status Code Table 00h 00h The reader switches baud rate only if the response frame contains an OK status code No data is...

Page 141: ...lue is used only for the Android SDK 33h 2400 baud and level 1 This value is used only for the Android SDK 34h 4800 baud and level 1 This value is used only for the Android SDK 35h 9600 baud and level 1 This value is used only for the Android SDK The baud rate code 03h 04h 05h 33h 34h and 35h only adjust baud rate and audio level when reader sends response to the terminal and sets baud rate and le...

Page 142: ...01h Cable Type Cable Type Value Long cable default 0 Short cable 1 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 32h See Status Code Table 00h 00h 8 2 24 Get Cable Type 32 01 The Get Cable Type command returns the cable type set for the ViVOpay reader If the cable t...

Page 143: ... MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 12h 01h 00h 0Fh The serial number will be returned tail padded with 0x00 to a length of 15 Example TX 56 69 56 4F 74 65 63 68 32 00 12 01 00 00 18 A5 RX 56 69 56 4F 74 65 63 68 32 00 12 00 00 0F 36 33 30 5A 30 30 30 30 30 31 00 00 00 00 00 94 BC Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Ta...

Page 144: ...ss command retrieves the Ethernet MAC address Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Header Tag Protocol Command Sub Command Length MSB Length LSB Data CRC LSB CRC MSB ViVOtech2 0 D1h 11h 00h 01h 00 Varies Varies Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 19 Byte 14 n Byte 14 n 1 Header Tag Protocol Command Status Length MSB Length ...

Page 145: ...2 Byte 13 Byte 14 Byte 13 n Byte 19 Byte 20 Header Tag Protocol Command Sub Command Length MSB Length LSB Data CRC LSB CRC MSB ViVOtech2 0 D1h 13h 00h variable See blow Varies Varies Length Description 2 Determine to set static or DHCP Zero terminated ASCII value 30h Set DHCP 31h Set static IP network configuration Variable IP address zero terminated ASCII Maxminum length is 16 bytes including nul...

Page 146: ...ration is saved in flash Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte14 15 Byte 16 Byte 17 Header Tag Protocol Command Sub Command Length MSB Length LSB Data CRC LSB CRC MSB ViVOtech2 0 D1h 13h 00h variable See blow Varies Varies Length Description 2 Wireless work mode zero terminated ASCII value 30h Set Wi Fi TCP Server Mode 31h Set Wi Fi SSL Server Mode 32h Set BLE Server Mode Res...

Page 147: ...der s Wi Fi configuration The specified configuration is saved in flash Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 13 n Byte 19 Byte 20 Header Tag Protocol Command Sub Command Length MSB Length LSB Data CRC LSB CRC MSB ViVOtech2 0 D1h 13h 00h variable See blow Varies Varies Length Description 2 Wi Fi work mode zero terminated ASCII value 30h Set NULL Mode Wi Fi RF will be ...

Page 148: ...33 00 69 64 74 65 63 68 37 00 69 64 36 34 39 35 34 31 39 36 00 31 39 32 2E 31 36 38 2E 31 2E 31 30 31 00 35 30 30 30 00 4F 22 RX 56 69 56 4F 74 65 63 68 32 00 D1 00 00 00 BA 50 8 2 33 Get Wi Fi Configuration D1 18 The Get Wi Fi Configuration command retrieves all network configurations for the ViVOpay reader Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Header Tag ...

Page 149: ...se display message Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOpayV2 0 D1 See status code table 00 00 8 2 35 Bootup Notification Command 14 01 ViVOpay firmware has the ability to spontaneously transmit its version information over the serial port during bootup In this way...

Page 150: ...ode Table 00h 00h Bootup Notification Raw Platform Info NEO 2 0 v1 00 Bootup Notification Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 27 Byte 28 Byte 29 Header Tag Protocol Command Sub Command Length MSB Length LSB Platform Info CRC MSB CRC LSB ViVOtech2 0 14h 01h 00h 0Eh Varies Varies 8 2 36 Set Model Number 90 15 The Set Model Number command sets the model number for NEO 2 produc...

Page 151: ... Registered Application Provider Identifier RID The parameter is optional If it is provided this number is used to reference the CA Public Key payment system If it is not provided the first five bytes of the AID are used For System AIDs Must always include the TLV Group Number TLV as the FIRST TLV in the message Must always include the AID TLV as the SECOND TLV in the message Must never include th...

Page 152: ...the FFE6 TLV Instead just issue a Delete AID command to for particular AID This deletes a User AID OR disables a System AID If a Set Configurable AID command is sent without an FFE6 TLV the reader enables the AID if it is not already enabled Finally a Set AID command used for a User AID can include a FFE6 Disable AID Tag but it is ignored This tag is only used to set System AID Response Frame Byte...

Page 153: ...lication of the statement above is that if you are configuring a group for PayPass you must configure all of the necessary tags as they will not default to Group 0 tags To set the TDOL TLV simply pass on the desired values in the TLV To disable the default TDOL send a TDOL TLV with Length set to zero and no Value field included This instructs the reader to delete any existing TDOL list for this gr...

Page 154: ...n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 03h See Status Code Table TLV Data Objects The optional Data Objects encoded as TLV that is returned in the data section of the Response Frame are the same as those listed in the AID Configuration Tags The reader returns ALL TLV associated with this AID in its re...

Page 155: ...e ONLY TLV in Data Field n2 1 1 These objects use proprietary tags The use of these tags should be restricted to the serial interface After the reader has received these values and saved them in memory it should dispose of the tags and not keep them associated with these two values Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol V...

Page 156: ...Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 04h 04h TLV Data Objects The Data Object encoded as TLV that can be set using this command is below 9F06 Application Identifier AID terminal MANDATORY Identifies the application as described in ISO IEC 7816 5 Note T...

Page 157: ...ese tags should be restricted to the serial interface After the reader has received these values and saved them in memory the Terminal should dispose of the tags Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 04h See Status Code Table 00h 00h Do NOT delete the Defaul...

Page 158: ...ader sends out ALL TLV associated with each AID The reader sends one or more frames with all the AID TLVs in it Each AID grouping begins with the Group Number TLV that this AID uses The user can use this fact to parse between the AID groups passed back to the POS 8 3 8 Get All Groups 03 07 This command returns all Groups in the reader This command may be used to verify all configured Groups in the...

Page 159: ...POS 8 4 Transaction Related Commands Contact This section describes contact EMV commands applicable to NEO products that support contact EMV For contactless transactions see the chapter following this one Note that VP3300 series products should generally use the 02 40 Activate Transaction command in production The older 02 01 command is supported only for non encrypted readers 8 4 1 Setting transa...

Page 160: ... It will output the TLV format data refer to the Option Data list Retrieve EMV Level Two Version Number command can be sent at any time Cancel Transaction command 05 01 can be sent at any time if you want to terminate a transaction offline Offline Host Reader Start contact transaction command 60 10 Start contact transaction response If MSR operation response MSR data and transaction is finished Co...

Page 161: ...yte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 60h See Status Code Table See Response Frame Data Format Response Frame Data Format TagCounterL TagCounterH TLV1 TLV2 TLVn Where TagCounterL TagCounterH is the number of TLV tags Note If AID List Application Data doe...

Page 162: ...tus code is 0x05 8 4 5 Contact Set Application Data 60 03 This command creates a new AID configuration Maximum is 16 sets Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 60h 03h Data Objects Data Objects AID_LenL AID_LenH 5 16 bytes AID Tag...

Page 163: ...7 DF25 Default DDOL Var 9F 37 04 8 DF28 Default TDOL Var 9F 08 02 9 DFEE15 ASI 1 01 10 DF13 TAC Default 5 00 00 00 00 00 11 DF14 TAC Denial 5 00 00 00 00 00 12 DF15 TAC Online 5 00 00 00 00 00 13 DF18 Target Percentage For Random Transaction Selection 1 00 14 DF17 Threshold Value for Biased Random Selection 4 00 00 27 10 15 DF19 Maximum Target Percentage For Random Transaction Selection 1 00 8 4 6...

Page 164: ...mber of TLV tags If Terminal Data does not exist status code is 0x60 8 4 7 Contact Remove Terminal Data 60 05 Use this command to delete terminal data Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 60h 05h 00h 00h Response Frame Byte 0 9 B...

Page 165: ...nterH TLV1 TLV2 TLVn Where TagCounterL TagCounterH the Number of TLV tags Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 60h See Status Code Table See Response Frame Data Format Note If a TLV format was bad status code is 0x05 If flash er...

Page 166: ...18 DFEE18 Terminal Encrypt Mode for MSR 1 80 19 DFEE1E Contact Terminal Configuration 8 D0 DC 20 D0 C4 1E 16 00 20 DFEE1F Issuer Script Limit 1 80 21 DFEE1B ARC Define 8 30 30 30 31 35 31 30 30 22 DFEE20 ICC Power on detect waiting time 1 3C 23 DFEE21 ICC L1 waiting time 1 0A 24 DFEE22 Driver waiting time byte 1 Menu byte 2 Get PIn byte 3 MSR 3 32 3C 3C Contact Common EMV L2 comes with four approv...

Page 167: ...ge 1 x x x x x x x Manual key entry x 1 x x x x x x Magnetic stripe x x 1 x x x x x IC with contacts Major x x x 0 x x x x RFU x x x x 0 x x x RFU x x x x x 0 x x RFU x x x x x x 0 x RFU x x x x x x x 0 RFU Byte 2 b8 b7 b6 b5 b4 b3 b2 b1 Meaning Change 1 x x x x x x x Plaintext PIN for IC verification Major x 1 x x x x X x Enciphered PIN for online verification Major x x 1 x x x X x Signature pape...

Page 168: ...ange 1 x x x x x x x Cash Major x 1 x x x x x x Goods Major x x 1 x x x x x Services Major x x x 1 x x x x Cashback Major x x x x 1 x x x Inquiry x x x x x 1 x x Transfer x x x x x x 1 x Payment x x x x x x x 1 Administrative Byte 2 b8 b7 b6 b5 b4 b3 b2 b1 Meaning Change 1 x x x x x x x Cash Deposit x 0 x x x x x x RFU x x 0 x x x x x RFU x x x 0 x x x x RFU x x x x 0 x x x RFU x x x x x 0 x x RFU...

Page 169: ... x x Code table 5 Major x x x x 1 x x x Code table 4 Major x x x x x 1 x x Code table 3 Major x x x x x x 1 x Code table 2 Major x x x x x x x 1 Code table 1 Major DF11 Transaction Log Support Default Enable Major 0 Disable 1 Enable 1 DF26 Revocation List Support Default Enable Major 0 Disable 1 Enable 1 DF27 Exception File Support Default Disable Major 0 Disable 1 Enable 1 DFEE1E Contact Terminal...

Page 170: ...x x x 1 x x Get data for pin try counter Major x x x x x x 0 x RFU x x x x x x x 0 RFU Byte 4 b8 b7 b6 b5 b4 b3 b2 b1 Meaning Change 1 x x x x x x x Amount before CVM processing Major x 1 x x x x x x Floor limit checking Major x x 1 x x x x x Random transaction selection Major x x x 1 x x x x Velocity checking Major x x x x 0 x x x RFU Transaction Log DF11 Major x x x x x 0 x x RFU Exception File ...

Page 171: ...data capture Major x x x x x 1 x x Online data capture Major X x x x x x 1 x Default TDOL Major X x x x x x x 0 RFU Byte 7 b8 b7 b6 b5 b4 b3 b2 b1 Meaning Change 1 x x x x x x x amount and pin entered on the same keypad x 1 x x x x x x ICC Magstripe reader combined x x 1 x x x x x Magstripe read first x x x 1 x x x x Support account type selection x x x x 1 x x x On fly script processing x x x x x...

Page 172: ...Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 60h See Status Code Table See Response Frame Data Format Response Frame Data Format NumberL NumberH AID Block 1 AID Block 2 AID Block N Where NumberL NumberH is Number of AID Blocks AID Block format is LenL LenH Several bytes AID Note If AID List does not exist statu...

Page 173: ...Currently support only one type RSA The value is set to 0x01 HashValue Which is calculated using SHA 1 over the following fields RID Index Modulus Exponent Public Key Exponent The length of the exponent is either one byte or 3 bytes It can have two values 3 or 65537 Modulus Length LenL LenH Indicated the length of the next field Modulus This is the modulus field of the public key Its length is spe...

Page 174: ...and Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 60h 0Ah Data Objects Data Objects 5 bytes RID 1 byte Index 1 byte Hash Algorithm 1 byte Encryption Algorithm 20 bytes HashValue 4 bytes Public Key Exponent 2 bytes Modulus Length Variable bytes Modulus Where Hash Algorithm The only algorithm supported is SHA 1 The value is set to 0x01 Encryption Algorithm The encrypti...

Page 175: ... 0B This command can get all RID and key index for CA public key Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 60h 0Bh 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Prot...

Page 176: ...60h See Status Code Table Data Objects Data Objects CRL Length L CRL Length H CRL1 CRL2 CRLn CRL format is 5Bytes RID 1Byte CA public key Index 3Bytes Certificate Serial Number Note If have no CRL exist status code is 0x60 8 4 15 Contact Remove Certification Revocation List 60 0D This command deletes a specific entry from the EMV revocation list Unlike the commands described previously this comman...

Page 177: ...d Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 60h 0Eh Data Objects Data Objects CRL Total Length L CRL Total Length H CRL1 CRL2 CRLn 2 Bytes MAC Length CRL format is 5Bytes RID 1Byte CA public key Index 3Bytes Certificate Serial Number 2Byte Length of CRL Option Low byte of length High byte of length Fix is 0x00 0x00 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte...

Page 178: ... 10 Start a new contact EMV L2 transaction ICC MSR or start MSR only transaction This function will go through below processes at the EMV card inserted at the reader 1 Card power on 2 Card activation 3 Application Selection 4 Initiate Application Processing 5 Get Process Options 6 Read Records Note Not supported in VP3300C because the device does not support contact EMV Command Frame Byte 0 9 Byte...

Page 179: ...tion will be dropped in future versions of firmware 3 6 9F03 Amount Other Numeric 6 7 DFEE1A Output Tag List Options N 8 DFEF1F Auto Authenticate Options If auto authenticate set to 1 the reader will do command 60 11 automatic Byte 1 Auto Authenticate enable 1 enable 0 disable Byte 2 Force Online 1 enable 0 disable 2 DFEE1A usage rules If DFEE1A in terminal data all 3 transaction commands response...

Page 180: ...ansaction success send second response and result to host Second Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 60h 00h Data Objects Contact EMV L2 Data Objects Data Item Length bytes Description Attribution 1 Bit 4 3 0 Captured Data Type...

Page 181: ...FEE0104DF30010C TLV Encrypt Information DFEE26 Variable Encryption and Data Capture Information Length 1 or 2 variable NEOII the length must be 2 bytes Values Byte 1 Same as Attribution byte definition Namely Bits 4 3 0 Captured Data Type 0 0 0 Contact Transaction 0 0 1 Contactless Transaction EMV 1 0 1 Contactless Transaction MSD 0 1 x MSR Card Bits 2 1 Encryption Mode 0 0 TDES 0 1 AES 1 x Refer ...

Page 182: ...Status 0 0 MSR MSD off EMV off 0 1 MSR MSD off EMV on 1 0 MSR MSD on EMV off 1 1 MSR MSD on EMV on Contact Response Code DFEE25 Variable See Contact Response Code 00h 11h TLV Data Variable TLV data list MSR Tag DFEE23 Variable Data follow Enhanced Encrypted MSR FIELD DATA Refer to 80000502 001 ID TECH Encrypted Data Output Formats pdf TLV POS Entry Mode 9F39 Variable 90h Magnetic Stripe Reader Swi...

Page 183: ...AES 1 x Refer to Extended Encryption Mode further below Bit 5 Attribution Byte Extension 0 Length of tag is 1 byte 1 Length of tag is 2 bytes Bits 6 7 Encryption Status 0 0 EMV off MSR MSD off 0 1 EMV off MSR MSD on 1 0 EMV on MSR MSD off 1 1 EMV on MSR MSD on Byte 2 When applicable that is when Length of TLV is 2 Bits 3 2 1 0 Extended Encryption Mode 0 0 0 0 TDES 0 0 0 1 AES 0 0 1 0 TransArmor Al...

Page 184: ...0 Length of tag is 1 byte 1 Length of tag is 2 bytes Bits 6 7 Encryption Status 0 0 EMV off MSR MSD off 0 1 EMV off MSR MSD on 1 0 EMV on MSR MSD off 1 1 EMV on MSR MSD on Byte 2 When applicable that is when Length of TLV is 2 Bits 3 2 1 0 Extended Encryption Mode 0 0 0 0 TDES 0 0 0 1 AES 0 0 1 0 TransArmor Algorithm 0 0 1 1 Voltage Algorithm 0 1 0 0 Visa FPE 0 1 0 1 Verifone FPE 0 1 1 0 TransArmo...

Page 185: ... Mode 1 13 9F53 Transaction Category Code 1 8 4 19 Contact Authenticate Transaction 60 11 This function should be called after the Start Transaction function The function will continue to perform the EMV transaction flow 1 Offline data auth 2 Processing restrictions 3 Cardholder Verification 4 Terminal risk management 5 TAA CAA 1st Gen AC If response code is 00 04 then need go online process and s...

Page 186: ...erminal data it should replace DFEE1A in the terminal data with the transaction command setting and respond to different tags If DFEE1A is not exist in terminal data and not exist in transaction commands the response output tags should be default output tags If command parse is successful and ICC transactions continue response is first command and status code is 0x63 If command parse fails respons...

Page 187: ...e Values Byte 1 Same as Attribution byte definition Namely Bits 4 3 0 Captured Data Type 0 0 0 Contact Transaction 0 0 1 Contactless Transaction EMV 1 0 1 Contactless Transaction MSD 0 1 x MSR Card Bits 2 1 Encryption Mode 0 0 TDES 0 1 AES 1 x Refer to Extended Encryption Mode further below Bit 5 Attribution Byte Extension 0 Length of tag is 1 byte 1 Length of tag is 2 bytes Bits 6 7 Encryption St...

Page 188: ...m a swipe or contactless transaction 0Ch for swiped MagStripe 00h for a contactless transaction 01h for a contact transaction This tag is included in ViVOpay proprietary FFEE01 Ex FFEE0104DF30010C Default Authenticate Transaction Output TLV Data List Tag Value name Length Byte 4F ADF Name 5 to 16 50 Application Label 1 to 16 57 Track 2 Equivalent Data Var up to 19 5A Application PAN Var up to 10 8...

Page 189: ...ication Cryptogram 8 9F27 Cryptogram Information Data 1 9F33 Terminal Capabilities 3 9F34 Cardholder Verification Method CVM Results 3 9F35 Terminal Type 1 9F36 Application Transaction Counter ATC 2 9F37 Unpredictable Number 4 9F39 POS Entry Mode 1 9F53 Transaction Category Code 1 9F5B Issuer script results Var DF21 Issuer script results 1 DFEE23 MSR Data Var DFEE51 PIN KSN 10 or 12 8 4 20 Contact...

Page 190: ...If ComFlag is 0x01 the Data exists If ComFlag is 0x00 the Data does not exist Output Tag List DFEE1A format is TLV V is output tag list Ex DFEE1A 06 95 5A 84 9F39 50 If command parse is successful and ICC transaction continues response is first command and status code is 0x63 If command parse has failed response will contain other status code and end transaction First Response Frame Byte 0 9 Byte ...

Page 191: ...r 2 variable Values Byte 1 Same as Attribution byte definition Namely Bits 4 3 0 Captured Data Type 0 0 0 Contact Transaction 0 0 1 Contactless Transaction EMV 1 0 1 Contactless Transaction MSD 0 1 x MSR Card Bits 2 1 Encryption Mode 0 0 TDES 0 1 AES 1 x Refer to Extended Encryption Mode further below Bit 5 Attribution Byte Extension 0 Length of tag is 1 byte 1 Length of tag is 2 bytes Bits 6 7 En...

Page 192: ...e or contactless transaction 0Ch for swiped MagStripe 00h for a contactless transaction 01h for a contact transaction This tag is included in ViVOpay proprietary FFEE01 Ex FFEE0104DF30010C Default Apply Host Response Output TLV Data List Data ID Tag Value name Length Byte 1 8A ARC 2 2 9F10 Issuer Application Data Var up to 32 3 9F26 Application Cryptogram 8 4 9F27 Cryptogram Information Data 1 5 9...

Page 193: ... List Table in Section Reference Data List Tags Example 9F029F36959F37 means total 4 tags 9F02 9F36 95 9F37 requested to in response Length is 7 bytes Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 60h See Status Code Table Data Objects D...

Page 194: ...1 0 TransArmor Algorithm 0 0 1 1 Voltage Algorithm 0 1 0 0 Visa FPE 0 1 0 1 Verifone FPE 0 1 1 0 TransArmor TDES DUKPT Bits 4 to 6 Reserved Bit 7 0 No MAC Verification Data 1 Has MAC Verification Data TLV KSN DFEE12 Variable If encrypt disable this tag is not present TLV Data Variable Output TLV data list Reference Data List Tag Tag Tag Tag Tag Tag Tag 5F2A 98 9F02 9F16 9F21 9F39 4F 5F36 9F03 9F1A...

Page 195: ... Example Interface 1 20h ICC Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 60h See Status Code Table Data Objects Data Objects 1 byte Bit Position Meaning if 0 Meaning if 1 0 ICC Power not ready ICC Powered 1 Card not seated Card seated ...

Page 196: ...iVOtech2 0 60h 15h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 60h See Status Code Table Response Data Response Data 0x01 Identification 1C 0x02 Identification 2C 0x03 Identification 3C 0x04 Identification 4C 0x18 Identificatio...

Page 197: ...ccess Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 60h 16h 00h 01h ICS Identification ICS Identification 0x01 Identification 1C 0x02 Identification 2C Default 0x03 Identification 3C 0x04 Identification 4C Response Frame Byte 0 9 Byte 10 ...

Page 198: ...put data 0x20 Notify Touch Panel Information Do not receive input data For the rest of Data Item see below Data Item Length bytes Description Event 1 0x00 no event 0x01 touch down 0x02 touch move 0x03 touch up x coordinate 2 Little endian y coordinate 2 Little endian 0x21 Update LED State Do not receive input data For the rest of Data Item see below Data Item Length bytes Description LED ID 1 ID o...

Page 199: ...r The most significant bit is to indicate following message is a Message String or Message ID MSB 0 Message String It is valid for Menu Display and Language Menu Display MSB 1 Message ID It is only valid for Menu Display Message Message String or Message ID Message String Menu Display character in the range of 0x20 0x7f Maximum 16 characters Language Menu Display 2 bytes Language ID EN English def...

Page 200: ...ected line hex format If Normal Display ASCII format E is Enter C is Cancel 8 4 26 Contact Get PIN Control 61 02 Reader or SCRP send to Host Some readers or SCRP do not incorporate a PIN Pad so it s sometimes necessary to send this command to the host or PIN Pad Device or Phone The command requests Get PIN on host or PIN Pad Device or Phone If the reader or SCRP is requesting to Get PIN the host o...

Page 201: ...d Truncated PAN Length when Mode is 0x01 or 0x02 and is available for PAN Token Length when Mode is 0x10 Format Length L Length H Little endian If Length of DATA_PAIRING_DUKPT KSN is 00 00 PAN in Plaintext Encrypted Truncated PAN PAN Token Variable This field is available for Encrypted Truncated PAN when Mode is 0x01 or 0x02 and is available for PAN Token when Mode is 0x10 If Length of DATA_PAIRIN...

Page 202: ...B Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 61h 02h Data Objects Data Objects Data Item Length bytes Description Mode 1 0x00 Cancel Can be cancel through command or user presses cancel key on the key pad 0x01 Online PIN DUKPT PIN_KEY is PIN_DUKPT_KEY 0x02 Online PIN MKSK PIN_KEY is PIN_SESSION_KEY 0x03 Offline PIN PIN_KEY is PIN_PAIRING_DUKPT_KEY 0x10 SCRP Generic 0x11 SCRP MagicCube If dev...

Page 203: ... SCRP PIN Conveyance Key is erased 8 4 27 Get Random Number 19 01 Use this command to get random numbers from ViVOpay reader The suggested length of random number is 256 bytes In SCRP Secure Card Reader for PIN this command could be used as a first step of refresh secure enablement token Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Proto...

Page 204: ... calculate the Hash to be 256 bytes Raw Data 3 Use Private Key of Secure Message Certificate to sign the Raw Data to be 256 bytes signature When SCRP reader receives this command it may verify the signature with the previously saved 16 bytes random number and the saved 16 bytes random number will be cleared whatever the result After verification is successful the enablement token is refreshed and ...

Page 205: ...e Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 19h See Status Code Table 0012h See Data table Data Item Length bytes Description Length DeviceRN_4 2 Length of DeviceRN_4 DeviceRN_4 16 16 bytes DeviceRN_4 8 4 31 Refresh Enablement Token for SCRP ...

Page 206: ...iVOtech2 0 19h See Status Code Table 00h 00h 8 4 32 Contact Get MSR Data Control Reader sends to Host 61 03 If reader is not MSR device it can use this command to connect with external MSR device Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech...

Page 207: ...lid for Menu Display and Language Menu Display MSB 1 Message ID It is only valid for Menu Display Message Message String or Message ID Message String Menu Display character in the range of 0x20 0x7f Maximum 16 characters Language Menu Display 2 bytes Language ID EN English default ES Spanish ZH Chinese FR French Message ID 1 byte check LCD Foreign Language Mapping Table 0x1C separator Response Fra...

Page 208: ...nd the card depends on the type of card detected If the transaction is successful the reader returns the data in the response data If the transaction is not successful yet it proceeded into the transaction state machine the reader returns a Failed Transaction Record in the response data The presence and format of the Clearing Record Track Data and Failed Transaction record depends on the type of c...

Page 209: ... Timeout value for waiting for the next command mainly to support EMV workflow Byte 1 Fallback support 0x00 not support fallback 0x01 support fallback Byte 2 3 Timeout for next command Unit Sec Hex format 00 0A 10s 01 00 256s DF EF 3C 03 01 00 60 Fallback is supported and the timeout is set to 96 seconds before the transaction times out Example Usage 5669564f746563683200024000221e9c01009f020600000...

Page 210: ...n will be dropped in future versions of firmware Transaction Date EMV data element Local date that the transaction was authorized If TLV 9A and 9F21 are not provided then the reader s current date and time will be used Both date 9A and time 9F21 tags must be present if either one is specified The terminal POS is responsible for ensuring that the date is valid Year 99 Month 12 Day 31 If the date va...

Page 211: ...how tag DFEF7B to indicate whether the transaction is Apple Pay or Google Pay FFEE01 ViVOtech TLV Group Tag b variable For EMV transactions if the terminal has already set up one or more of these data items using the Set Configuration or Set Configurable Group command then the terminal need not include those data items in the Command Frame If the terminal includes one or more values in the Command...

Page 212: ...d in the Response Frame are given in the following table Some data objects may not be present depending on the card involved in the transaction and the presence or absence of a Clearing Record object DE 055 All TLV lengths include the Tag and Length bytes Activate Transaction Response Frame Data Format 02 01 Command For 02 40 see below Data Item Length bytes Description Track 1 Length 1 If Track 1...

Page 213: ... in bytes DFEF17 FFEE13 Track 1 Data Contactless Transaction Transaction Result response Added for DiscoverZip Visa MSD Amex PBOC ans Card DFEF18 FFEE14 Track 2 Data Contactless Transaction Transaction Result response Added for DiscoverZip Visa MSD Amex PBOC ans Card 50 Application Label Name associated with the AID in accordance with ISO IEC 7816 5 an 16 56 Track 1 Equivalent Data Contains the da...

Page 214: ...ored in order of preference each represented by 2 alphabetical characters according to ISO 639 an 2 8 5F34 PAN Sequence Number Identifies and differentiates cards with the same Application PAN n2 BCD 1 9F02 Amount Authorized n12 6 9F03 Amount Other n12 6 9F06 Application Identifier AID b 5 16 9F07 Application Usage Control b 2 9F09 Application Version Number Reader Version number assigned by the p...

Page 215: ...d b 3 9F35 Terminal Type Typically this has been configured in the reader refer to Group Configuration Tags n2 1 9F36 Application Transaction Counter Counter maintained by the application in the card b 2 9F37 Unpredictable Number A challenge number used by the card to ensure uniqueness of the generated cryptogram b 4 9F39 Point of Service POS Entry Mode Indicates the method by which the PAN was en...

Page 216: ...VOpay Group tag It specifies whether the track data came from a swipe or RFID transaction 0Ch for swiped MagStripe 00h for a contactless transaction b 1 DF33 ViVOpay proprietary Receipt Requirement Interac This tag is embedded in the ViVOpay Group tag for Interac transaction responses 00 No receipt required 01 Receipt required b 1 DF5B ViVOpay proprietary Terminal Entry Capability Visa For Visa Tr...

Page 217: ... 2 fDDA failed 1 Failed 0 Succeed Bit 1 SDA performed 1 performed 0 Not performed Bit 0 SDA failed 1 Failed 0 Succeed b 1 DFEE26 Encryption and Data Capture Information Length 1 or 2 variable Values Byte 1 Same as Attribution byte definition Namely Bits 4 3 0 Captured Data Type 0 0 0 Contact Transaction 0 0 1 Contactless Transaction EMV 1 0 1 Contactless Transaction MSD 0 1 x MSR Card Bits 2 1 Enc...

Page 218: ...e Apple Pay or Google Pay If tag DFEF7A is not set the output data will not output the tag 0 Not Apple Pay Apple VAS or Google Pay Android VAS 1 Apple Pay or Apple VAS 2 Google Pay or Android VAS FF8105 Data Record MasterCard container Contains the data from the transaction Refer to the M Chip PayPass specification b varies FF8106 Discretionary Data MasterCard container Contains the discretionary ...

Page 219: ...Authorized Numeric n12 Terminal 9F03 Amount Other Numeric Visa only n12 Terminal 9F08 Application Version Number b2 Card 9F09 Application Version Number b2 Card 9F10 Issuer Application Data b1 32 var Card 9F11 Issuer Code Table Index n2 Card 9F12 Application Preferred Name ans1 16 var Card 9F1A Terminal Country Code n2 Terminal 9F21 Transaction Time n6 Terminal 9F26 Application Cryptogram b8 Card ...

Page 220: ...s not contain the Track or Clearing Record information In this case the Data field in the Response Frame has the following format Activate Transaction Cause of Failure When Not Requesting Online Authorization Data Field Length bytes Description Error Code 1 Error Code giving the reason for the failure See sub section on Error Codes SW1 1 Value of SW1 returned by the Card SW1SW2 is 0000 if SW1 SW2 ...

Page 221: ...ts of the data field in the Response Frame are given in the following table Data Item Length bytes Description Transaction status 1 01 The reader detects the card and initiates the transaction For any other Status Code the data field is empty If the transaction failed the Response Frame may have the following format Invalid or inappropriate cards may result in no Response Frame Activate Transactio...

Page 222: ...ivate Transaction command data as shown below Command Data Data Item Length Bytes Description ViVOtech TLV Group Tag FFEE01 Variable TLV Special Flow 2 Byte Tag 1 Byte Length Variable data max 40 bytes This TLV defines one or more special transaction flows for specific non payment process Tag DF50 Format The TLV value contains one or more 4 byte Special Flow Record entries The format of a Special ...

Page 223: ...rm ISO Payment Transaction PPSE AID 3 Special Transaction Type Flags for Pre PPSE Processing This byte indicates the type of special non payment transaction that will be performed in the Pre PPSE transaction processing if any The flags within this byte are given below Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Flag Description 0 0 0 0 0 0 Unused Set to 0 1 Write Transaction 1 Read Transaction 4 Speci...

Page 224: ... signals in ViVOpay readers with displays Reference files 1 EMV Contactless Book C 2 Kernel 2 Specification v2 3 2 PayPass Test Cases for PayPass v3 0 Level 2 Reader Testing Aug 2011 3 EMV Contactless Specifications for Payment Systems Book A Architecture and General Requirements v2 3 4 PayPass M Chip Reader Card Application Interface Specification v3 0 2 5 Engineering Specification MChip 3 0 on G...

Page 225: ...50 16 Application PAN 5A 16 Application PAN Sequence Number 5F34 1 Application Preferred Name 9F12 16 Application Transaction Counter 9F36 2 Application Version Number Reader 9F08 2 Cryptogram Information Data 9F27 1 CVM Results 9F34 3 DF Name 84 16 Interface Device Serial Number 9F1E 8 Issuer Application Data 9F10 32 Issuer Code Table Index 9F11 1 Terminal Capabilities 9F33 3 Terminal Country Cod...

Page 226: ...ation DF810E 1 Post Gen AC Put Data Status DF8105 1 Pre Gen AC Put Data Status 9F6E 32 Third Party Data FF8101 894 Torn Record A Torn Record FF8101 contains the following objects and may have a maximum length of 894 bytes 66 TL 828 V Data Field Tag Length Amount Authorized Numeric 9F02 6 Amount Other Numeric 9F03 6 Application PAN 5A 16 Application PAN Sequence Number 5F34 1 Balance Read Before Ge...

Page 227: ...be populated with one or more signal objects as the UI_MSG_Signal function in UserInterface c receives MSG Signals and the UI_OUT_Signal function in UserInterface c receives OUT Signals This tag must be included in the ACT command to enable the signal data capture feature during the transaction If it is received in the ACT command this feature is enabled and the Signal Data Handler will add signal...

Page 228: ...a encryption Key exists Encrypt Mode is ON Otherwise encryption is disabled or Data encryption Key is absent Encrypt Mode is OFF Poll Mode Encrypt Mode Burst Mode Command Output Format Poll On Demond OFF NA 02 01 02 01 plaintext NA 02 40 02 40 plaintext ON NA 02 01 Not Allow 02 40 02 40 encrypted Auto Poll OFF ON No Cmd Burst Format 02 01 Burst Format 02 40 Burst Format AutoExit No Cmd Burst Forma...

Page 229: ...k 2 is not available then a Length of 00h is returned Format Binary Track 2 Data MagStripe Card Variable Track 2 Data if available Format ASCII no null terminator Track 3 Length 1 If Track 3 is available then this field gives the length of the Track 3 data that follows If Track 3 is not available then a Length of 00h is returned Format Binary Track 3 Data MagStripe Card Variable Track 3 Data if av...

Page 230: ...available with Padding 0x00 If Track 1 is not available this field is not present Tag FFEE13 Format ASCII no null terminator TLV Track 2 Data MagStripe Card Variable TDES AES Encrypted Track 2 Data if available with Padding 0x00 If Track 2 is not available this field is not present Tag FFEE14 Format ASCII no null terminator TLV DE 055 Clearing Record Variable DE 055 data if available as a TLV data...

Page 231: ... Data length byte Data 128 bytes 01 7F X 1 128 bytes Data 255 bytes 80 FF 81 1 Data 255 bytes FF 82 2 Data is follow Enhanced Encrypted MSR FIELD DATA See 80000502 001 ID Tech Encrypted Data Output Formats for details available for download on the ID TECH Knowledge Base Tag DFEE23 Format Binary TLV Data Variable See Activate Response TLVs Failed Transaction Plaintext data field format 02 01 Data I...

Page 232: ...SD on EMV on TLV KSN DFEE12 Variable KSN of DUKPT Account Key Tag DFEE12 Format Binary 10 bytes If encrypt disable or MSR data this tag is not present TLV Contactless Error Code Table FFEE1F Variable Byte 1 Error Code Error Code giving the reason for the failure Byte 2 SW1 Value of SW1 returned by the Card SW1SW2 is 0000 if SW1 SW2 not available Byte 3 SW2 Value of SW2 returned by the Card SW1SW2 ...

Page 233: ...of SW1 returned by the Card SW1SW2 is 0000 if SW1 SW2 not available Byte 3 SW2 Value of SW2 returned by the Card SW1SW2 is 0000 if SW1 SW2 not available Byte 4 RF State Code RF State Code indicating exactly where the error occurred in the Reader Card transaction flow TLV Data Variable Refer to the Activate Response TLVs Sensitive TLV will be TDES AES encrypted with Padding 0x00 See 80000502 001 ID...

Page 234: ...ction with the Terminal during the transaction itself Note For Non SRED version device response format for Activate Transaction Command is according to Set Data Encryption Enable Flag C7 36 setting and Data encryption Key When Data Encryption is disabled device responds with plaintext data format When Data Encryption is enabled 1 When Data encryption Key exists and is valid device responds with en...

Page 235: ... follows If Track 1 is not available then a Length of 00h is returned Format Binary Track 1 Data MagStripe card Variable Track 1 Data if available Format ASCII no null terminator Track 2 Length 1 If Track 2 is available then this field gives the length of the Track 2 data that follows If Track 2 is not available then a Length of 00h is returned Format Binary Track 2 Data MagStripe card Variable Tr...

Page 236: ...ee 80000502 001 ID Tech Encrypted Data Output Formats for details available for download on the ID TECH Knowledge Base Get Transaction Result format for contactless transaction Plaintext and Encrypted data field format 03 40 Data Item Length bytes Description Attribution 1 Bit 4 3 0 Captured Data Type 0 0 0 Contact Transaction 0 0 1 Contactless Transaction EMV 1 0 1 Contactless Transaction MSD 0 1...

Page 237: ... download on the ID TECH Knowledge Base Tag E1 Format Variable group tag TLV Data Variable See Activate Response TLVs Sensitive TLVs will be TDES AES encrypted with Padding 0x00 See 80000502 001 ID Tech Encrypted Data Output Formats for details available for download on the ID TECH Knowledge Base Get Transaction Result format for MSR card Encrypted Data Item Length bytes Description Attribution 1 ...

Page 238: ...ariable 90h Magnetic Stripe Reader Swipe 91h Contactless MSD 05h Contact EMV 07h Contactless EMV 80h Contact Fallback to Magnetic Stripe TLV DF30 ViVOpay proprietary Variable Track Data Source This tag is embedded in the ViVOpay Group tag It specifies whether the track data came from a swipe or RFID transaction 0Ch for swiped MagStripe 00h for a contactless transaction 01h for a contact transactio...

Page 239: ...6 Reserved Bit 7 0 No MAC Verification Data 1 Has MAC Verification Data 8 5 5 Update Balance Command 03 03 Use this command when the ViVOpay reader has been put in Poll on Demand mode and after the reader sends an online request to the issuer This command is the authorization response sent by the issuer to the terminal including the Authorization Status OK or NOT OK This command is also being used...

Page 240: ... 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 03h 03h See Data Table The format and contents of the data field in the Command Frame are given in the following table All TLV lengths include the Tag and Length bytes ...

Page 241: ...t n6 HHMMSS Note The reader does not perform range checking on this value The POS application should perform range checking on this value to ensure it is within acceptable limits Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 03h See Stat...

Page 242: ...cel Transaction Command Reset Transaction Status 05 01 Use this command to stop reader card communication after the Activate Transaction command or Update Balance command has been sent to the reader After the terminal has issued the Cancel Transaction command the terminal should not send any commands until it receives a response from the reader Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 1...

Page 243: ...e Stop command was received too late to stop the transaction Receipt of any response other than the Stop response is proof that the Stop command did not execute The Stop command is currently only used by the MasterCard M Chip 3 0 application Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB...

Page 244: ...84h 0Eh 00h 00h Varies Varies Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 84h Refer to standard status values 00h 00h Varies Varies This command when sent will restore the Torn Transaction Log back to its original pristine state as if a power up had just occurred 8 6 3...

Page 245: ...hould execute the CLEAN command repeatedly until no more torn records are sent back to it In other words in the final response the value length of tag FF8106 shall be 0 Refer to the M Chip PayPass specification for the contents of the Torn Transaction Log Record 8 6 3 1 Torn Transaction Log Timer The reader keeps track of how much time has elapsed for each torn transaction record However it does n...

Page 246: ...DF8106 Varies Varies Example 56 69 56 4F 74 65 63 68 32 00 02 58 xx xx 0A FF 81 04 xx DF 81 06 xx CRC Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 N Byte N 1 Byte N 2 Header Tag Protocol Version Command Status Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 02h 09h XX XX TLV FFEE1A Varies Varies Example 56 69 56 4F 74 65 63 68 32 00 02 09 xx xx FF EE 1A xx CRC 8...

Page 247: ...h Key not found 4Ch Crypto not responding 4Dh Crypto communication error 4Fh All key slots are full maximum number of keys has been installed 8 7 1 Get CA Public Key D0 01 This command retrieves all of the information related to a specific key It includes the key hash the algorithms and so forth See the data definition below Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 18 Byte 19...

Page 248: ...RID Key Index CRC LSB CRC MSB ViVOtech2 0 D0h 02h 00h 06h varies varies Varies Varies Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 19 n Byte n 1 Byte n 2 Header Tag Protocol Version Cmd status Length MSB Length LSB Data CRC LSB CRC MSB ViVOtech2 0 D0h See Key Manager status codes 00h varies varies Varies Varies Status 00 if successful When the status is successful the data contains...

Page 249: ...t field MSB followed by LSB 29 n Modulus Variable This is the modulus field of the public key Its length is specified in the field above Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Cmd status Length MSB Length LSB CRC LSB CRC MSB ViVOtech2 0 D0h See Key Manager status codes 00h 00h Calculated Calculated 8 7 4 Delete CA Public Key D0 04 This c...

Page 250: ...nager status codes 00h 00h Calculated Calculated 8 7 6 Get All CA Public RIDs D0 06 The Get All CA Public RIDs command tells the reader to retrieve a list of all the RIDs Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Cmd Sub Cmd Length MSB Length LSB CRC LSB CRC MSB ViVOtech2 0 D0h 06h 00h 00h Calculated Calculated Response Frame Byte 0 9 Byte 1...

Page 251: ...Length LSB RID 5 bytes List of Indices CRC LSB CRC MSB ViVOtech2 0 D0h See Key Manager status codes 00h varies varies varies Varies Varies Status 00h successful index retrieval 8 8 Module Versioning The module versioning feature provides information about the firmware versions and the specification versions for specific modules interfaces and hardware in the reader The information is returned to t...

Page 252: ...ction module and version ASCII text CL AID 20h Contactless L2 Application specification version because L2 applications are identified by the application ID this type refers to an AID ASCII text CL AppSpe 20h Contactless L2 Special Application specification version that not identified by the application ID Example SmartTap and ApplePay VAS ASCII text CL L1 20h L1 Interface specification version AS...

Page 253: ...1 00 00 A0 A0 Response 56 69 56 4F 74 65 63 68 32 00 09 00 00 06 DF 60 03 43 36 00 DC 60 Product Type hex values Description 42 37 00 ViVOpay 5000 43 33 00 ViVOpay 4500 43 35 00 ViVOpay Vend 43 36 00 Vendi NEO 1 43 37 00 ViVOpay Kiosk1 ATM1 43 38 00 Kiosk2 43 39 00 Kiosk3 NEO 55 31 00 UniPay 1 5 NEO Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Command Sub Command Da...

Page 254: ... 00 VP5200 56 33 00 VP5300 56 33 01 VP5300M 56 34 00 VP6300 56 34 01 VP6300 USAT 56 34 02 VP6300 USAT S 56 35 00 VP6800 56 36 00 VP8300 56 37 00 VP8310 56 38 00 VP8800 56 39 00 VP8810 56 40 00 VP9000 44 30 00 QX120 44 31 00 Mx8Series 44 32 00 NETs 44 33 00 Magtek 44 35 00 ICP 8 8 2 Get Processor Type 09 02 This command returns a processor type TLV Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byt...

Page 255: ... example shows the command and response Command Get Processor Type 56 69 56 4F 74 65 63 68 32 00 09 02 00 00 F0 F9 Response 56 69 56 4F 74 65 63 68 32 00 09 00 00 05 DF 61 02 4D 00 AC 4D 8 8 3 Get Main Firmware Version 09 03 This command returns main firmware version TLV Command Frame Byte 0 9 Byte 10 Byte 11 Byte12 Byte 13 Byte 14 Byte 13 n Byte 14 n Byte 15 n Header Tag Protocol Command Status C...

Page 256: ... for hardware module version information returned is human readable consisting of fields that are separated by commas and lines separated by carriage return and line feed characters module type module name CRLF chip version Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 0 9 Header Tag Protocol Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 09h S...

Page 257: ...niPay1 5TTK CR LF K21F Rev9 UniPay 1 5 TTK HW VP3300 USB CR LF K21F Rev9 VP3300 USB VP3300 USB OEM iBase Cake same code HW VP3300 USB E CR LF K21F Rev9 VP3300 USB E HW VP3300 USB C CR LF K21F Rev9 VP3300 USB C HW VPVP3300 Bluetooth CR LF K21F Rev9 VP3300 Bluetooth HW VP6300 CR LF K81F Rev4 VP6300 8 8 5 Get Module Version Information 09 20 Command Frame Response Frame Byte 0 9 Byte 10 Byte 11 Byte ...

Page 258: ... 73 20 4D 2F 43 68 69 70 20 76 33 2E 30 2E 32 2C 20 56 65 6E 64 69 20 76 31 2E 30 2E 30 2C 2C 0D 0A 20 43 4C 20 41 49 44 2C 56 69 73 61 20 56 43 50 53 20 32 2E 31 2E 33 2C 20 76 30 2E 39 39 2C 2C 0D 0A 20 43 4C 20 41 49 44 2C 41 6D 65 78 20 45 78 70 72 65 73 73 50 61 79 20 33 2E 30 2C 20 76 31 2E 30 30 2C 2C 0D 0A 20 43 4C 20 41 49 44 2C 44 69 73 63 6F 76 65 72 20 44 50 41 53 20 31 2E 30 20 5A 69 ...

Page 259: ...tually any geographical area as is A core language may NOT be modified or deleted by customer third party actions They always exist and are always available for use At present there are four 4 Core Languages available English U S fonts French fonts Chinese ideograms English Chinese fonts ideograms See Set Configuration 04 00 for information on how to set a language preference 8 9 1 Other Languages...

Page 260: ...a proprietary header instead of the standard DIB header This header format is shown in the following table prefixed to the actual bitmap data Bytes 0 1 Bytes 2 3 Bytes 4 5 Bytes 6 7 Bytes 8 9 Bytes 10 11 Bytes 12 n Bitmap Length Row Number Column Number Height Width Type truncate or other info Bitmap data All variables in the header are 2 bytes long Byte Description Bitmap Length This data field c...

Page 261: ...ing ASCII characters Abbreviation is the Country Code listed in ISO 3166 The format is either ASCII 2 character ASCII 3 character or a 3 digit decimal number Regardless of method it is stored in ASCII alphanumeric characters The Format data field specifies the format of the Abbreviation field noted above All follow the specification from ISO DOC 3166 Format Data Field Value Description Example 01 ...

Page 262: ...that include the RID Key Index and Certificate Serial Numbers for cards that should be rejected The kernel checks the CRL for entries matching the index and serial number of the Issuer Public Key Certificate provided by the card If it is found the card is rejected The CRL is maintained in non volatile memory but a copy is kept in RAM to provide faster access during transactions A tag DF26h is defi...

Page 263: ... Description 00h 4 Version number 04h 4 Number of records 08h 4 Size of records 8 10 2 Add Entry to EMV Revocation List 84 04 This command adds a new entry to the revocation list The new entry is added at the end of the revocation list Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte13 n Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Len...

Page 264: ...Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 84h 05h 00 06 The data field contains RID and key index for the records to be deleted Offset Length bytes Data Description Example 00h 5 RID packed hex format A0 00 00 00 04 05h 1 Key Index packed hex format F8 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Comm...

Page 265: ...te 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte13 n Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 84h 07h 00 00 The data field specifies the following information Offset Length bytes Data Description 00h 2 Size maximum number of bytes to be retrieved MSB first 02h 2 Starting record4 MSB first Response Frame ...

Page 266: ...10 6 Delete an Entry from EMV Revocation List 84 0D This command deletes a specific entry from the EMV revocation list Unlike the commands described previously this command deletes the specific entry that matches the RID the key index and the certificate serial number Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte13 n Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub...

Page 267: ...number record size and number of records contained in the file are returned Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 84h 08 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 13 n Byte 14 n Byte 15 n Header Tag Protocol Version Command Statu...

Page 268: ...st be 0Ah 08h 01h 10 PAN packed hex format padded with F if required 5413339000001596FFFFh 0Bh 1 Sequence number packed hex format 00h Example Exception List File Data in a non null terminated ASCII text file 084761739001010010FFFF01085762739101010010FFFF0008112233445566778F FFFF050A1122334455667788990F00 The above file has four entries 08 4761739001010010FFFF 01 where PAN 4761739001010010 08 5762...

Page 269: ...on List File Data in a non null terminated ASCII text file 084761739001010010FFFF01085762739101010010FFFF0008112233445566778F FFFF050A1122334455667788990F00 The above file has four entries 08 4761739001010010FFFF 01 where PAN 4761739001010010 08 5762739101010010FFFF 00 where PAN 5762739101010010 08 112233445566778FFFFF 05 where PAN 112233445566778 0A 1122334455667788990F 00 where PAN 1122334455667...

Page 270: ...B first The starting record is the first record to be retrieved expressed as a 16 bit binary number MSB first value from 0 65535 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Bytes 14 13 n Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 84h See Status Code Table The data returned is the maximum number of...

Page 271: ...tly with the chip on a chip card They provide control of the polling process and exchange of application protocol data units APDU These commands may thus be used to extend the capabilities of the ViVOpay reader to for example accept cards using application protocols that are not currently supported in the reader firmware Note Pass Through commands can only be executed in Pass Through Mode Other co...

Page 272: ...x2C0B 0x2C0C 0x2C11 0x2C12 0x2C13 0x2C18 0x2C19 0x2C1A 0x2C1B 0x2C1C 0x2C70 0x2C71 0x2C40 0x2C41 0x2C42 0x2C43 8 12 1 Pass Through Mode Start Stop 2C 01 The Pass Through Mode Start Stop command is used to enter and exit Pass Through Mode The ViVOpay reader can only accept Pass Through commands when it is in Pass Through Mode Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 By...

Page 273: ...ameters 2C 05 This command allows the terminal to retrieve PCD and PICC related parameters from the ViVOpay reader Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 2Ch 05h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte...

Page 274: ... big endian number 11 14 D FWT 4 Binary Delta FWT in ETUs It is stored as a big endian number If you need to use these parameters you should issue this command immediately after issuing a Poll for Token command This command simply reads the last parameters out of the control block used to set parameters in the RF chip 8 12 3 Poll for Token 2C 02 After Pass Through Mode is started ViVOpay will not ...

Page 275: ...ro seconds if Timeout2 is Zero Timeout2 1 Multiplier for Time in multiples of 10 milliseconds Timeout2 Time in ms 0 0 1 10 2 20 255 2550 Together Timeout1 and Timeout2 are used by the ViVOpay reader to calculate the Timeout the time to wait for a PICC Example Poll for Token Timeout Timeout1 Timeout2 Timeout 0 0 Not Allowed 0 20 0 Seconds 200 ms 0 50 0 Seconds 500 ms 0 100 1 Second 1 0 1 Second 1 2...

Page 276: ...e UID so the data field of the response is five 5 bytes long However some cards with 7 byte UIDs exist and it is expected that cards with 10 byte UIDs will become available All of these card types are handled by this command 8 12 4 Enhanced Poll for Token 2C 0C After Pass Through Mode is started ViVOpay waits until the Poll for Token command is received This command tells ViVOpay to start polling ...

Page 277: ...SO 14443 session Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 15 Byte 16 Byte 17 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch 0Ch 00h 04h See Table Below Enhanced Poll for Token Data Field for Command Frame Data Field Length bytes Description Timeout1 1 Time in Seconds Timeout1 cannot be zero seconds if Timeo...

Page 278: ...e supported That is it is possible to enable both Single PUPI Read and forced ISO 14443 polling simultaneously Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch 00 OK Fail 00h Variable See Table Below The data field contains data only if...

Page 279: ...tandard Poll for Token in any transaction taking place in Pass Through Mode Its differences in operation are noted as above its other arguments should be identical to those of the standard Poll for Token that it replaces Note If you use an Enhanced Poll for Token command but have set all values in the Transaction Type field to zero then the command performs a standard Poll for Token instead 8 12 5...

Page 280: ...ion command send the appropriate command to disconnect the session It will wait for the requisite timeout period reset the field and then return a status Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 2Ch 16h 00h 00h The Response Frame is a simple confirmation that the session has ...

Page 281: ...ength MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 28h See Status Code Table 00h 00h Warnings on use of Antenna Off command Turning off the antenna deactivates the RF field and returns the card to a Power Off state terminating any existing connection A new Poll for Token command would need to be issued to establish a new conversation with a card Turning the antenna off and then turning it back ...

Page 282: ...2 03h LED 3 FFh All 4 LEDs Where the LEDs are numbered 0 1 2 3 counting from the left Note If you are using Pass Through Mode to control the Power LED LED 0 it is your responsibility to make sure that it behaves correctly LED Status 1 00h LED Off 01h LED On 02h Green Color Tri Color LED 03h Red Color Tri Color LED 04h Amber Color Tri Color LED Note the setting of Tri color LED 02h 04h is valid for...

Page 283: ... Red LED Control Option 0x00 OFF 0x01 ON default 0x02 BLINK 500ms interval Green LED 1 Green LED Control Option 0x00 OFF default 0x01 ON 0x02 BLINK 500ms interval Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 0Ah See Status Code Table 00h 00h 8 14 1 Buzzer Control 0...

Page 284: ...mmand Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 0Bh See Status Code Table 00h 00h 8 15 Pass through Data Exchange 8 15 1 Exchange Contactless Data 2C 03 This command allows the terminal to send via ViVOpay application level APDUs to a PICC that supports ISO 14443 4 Protocol The PICC response is sent back by ViVOpay to the Terminal Command Frame Byte 0 9 Byte 10 Byte 1...

Page 285: ...ld contains data only if the Status Code is OK In this case the data consists of APDU Response the response data that was received from the PICC The contents of the response depend on the application residing on the PICC and are out of the scope of this document For SRED device the APDU data being received from the card device by the reader will be checked for sensitive data elements using rule in...

Page 286: ...gister 1 This value tells the PCD what data integrity checks to perform during communication with the PICC Card The checks to perform at each stage are defined by the protocol 14443 Type A or B The format of the PCD Command Flags byte is given in the Channel Redundancy Register Table below Raw Data Out Variable Raw data that is sent to the PICC or to the PCD The Command Frame contains some PCD par...

Page 287: ...ansmitted After transmission TxLastBits is cleared automatically 5 DISABLE RXMULTIPLE FILTER 1 Disable 0 Enable Default 6 7 RFU 00 Reserved for future use Note The definition of bit 5 is only to keep compatible with Kiosk II it doesn t work but this bit is occupied and is not allowed for other usage PCD Channel Redundancy Register Protocol 2 Bit Flag Value Meaning 0 Parity Enable 1 Parity bit inse...

Page 288: ...a Response Frame with an appropriate Status No Data is returned in this case Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch See Status Code Table Variable Variable See Table below OR None PCD Single Command Exchange Data Field for Res...

Page 289: ...a Type A PICC Assuming that ViVOpay has been put into Pass Through Mode a Type A PICC has been detected using the Poll for Token command and the terminal application has completed the transaction with the card an ISO 14443 HALT command can be sent to the PICC using the PCD Single Command Exchange command Given below is a log of the command and data that the terminal would send to ViVOpay and also ...

Page 290: ... to carry out several tasks while in Pass Through Mode This command is ONLY enabled in Pass Through Mode If the reader is not in Pass Through Mode the reader ignores this command Note SAM interface is only supported in SRED devices It is not supported in non SRED version This command is used in three basic situations 1 To initiate a Pass Through transaction 2 To terminate a successful transaction ...

Page 291: ...following commands If a bit is set 1 the command is issued by the reader in the proper order If the command mask is cleared 0 the command is NOT executed 0000 0001 Activate Interface mutually exclusive 0000 0010 Deactivate Interface mutually exclusive 0000 0100 Issue Poll For Token 0000 1000 Use Independent LED instead mutually exclusive 0001 0000 Use Independent Buzzer instead mutually exclusive ...

Page 292: ...rd 06h Amount message but also displays String1 in this case String1 3 95 Beep Indicator 1 00h No beep 01h Single beep 02h Double beep 03h Three short beeps 04h Four short beeps 05h One long beep of 200 ms 06h One long beep of 400 ms 07h One long beep of 600 ms 08h One long beep of 800 ms LED Number 1 00h LED 0 Power LED 01h LED 1 02h LED 2 03h LED 3 FFh All LEDs Where the LEDs are numbered 0 1 2 ...

Page 293: ...yte long Allowed Interface Values are 00h Contactless 20h RFU 21h SAM1 SRED version only 22h SAM2 SRED version only Note If this field is not present the firmware will default to standard PICC behavior OR generate an error depending upon which actions are indicated Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command St...

Page 294: ... operation on the interface specified in the Selected Interface byte 8 15 5 1 Activate Interface This bit turns on the RF antenna for the contactless interface by default If the Use Specified Interface bit in the Single Shot Command byte is set the specified interface will be activated Contactless turns on the RF antenna SAM1 SAM2 activates the appropriate SAM 8 15 5 2 Deactivate Interface This tu...

Page 295: ... enabled Antenna You cannot enable both the Switch On and Switch Off options Independent LED Enabled Reader uses the LED Bytes and calls the standard 0A 02 LED command Independent LED Disabled Reader uses the LED Bytes and follows the SetMsg 01 02 LED command Independent Buzzer Enabled Reader uses the Buzzer Byte and calls the standard 0B 01 Buzzer command Independent Buzzer Disabled Reader uses t...

Page 296: ...s Through Control Exchange APDU Select Exchange APDU PPSE Exchange APDU Get Processing Option Exchange APDU Read Record 1 1 Exchange APDU Read Record 2 1 Exchange APDU Read Record 3 1 Exchange APDU Read Record 3 2 Exchange APDU Cryptogram Enhanced Pass Through Control The first command would be formatted as follows Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n He...

Page 297: ... 01 FF 02 01 01 In this call of the Enhanced Pass Through command Byte 0 instructs the reader to single shot the Turn Antenna Off command Byte 1 instructs the reader to display message 4 Thank You on the display Byte 2 says that give one short beep with the buzzer Bytes 3 4 set all 4 LEDs to blink on then off Bytes 5 6 set the timeouts see Timeout1 and Timeout2 8 15 1 Poll for Token with ATS 2C 0E...

Page 298: ...imeout1 cannot be zero seconds if Timeout2 is Zero Timeout2 1 Multiplier for Time in multiples of 10 milliseconds Timeout2 Time in ms 0 0 1 10 2 20 255 2550 The device uses Timeout1 and Timeout2 together to calculate the Timeout that is the time to wait for a PICC Example Table 5 Poll for Token Timeout Timeout1 Timeout2 Timeout 0 0 Not Allowed 0 20 0 Seconds 200 ms 0 50 0 Seconds 500 ms 0 100 1 Se...

Page 299: ...he Card Detected If no card was detected then a Serial Number is not returned ATS Len 1 ATS data length ATS Data Variable ATS data Note Most cards use a 4 byte UID so the data field of the response is five 5 bytes long However some cards with 7 byte UID s have entered the market for example ViVOcard3 and it is expected that cards with 10 byte UID s will soon become available All of these card type...

Page 300: ...interface For SAMs any command response pair can be passed Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch See Status Code Table 00h variable Response APDU For SRED device if the interface is Contactless the APDU data being received fr...

Page 301: ...M5 26h SAM6 27h SAM7 28h SAM8 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch See Status Code Table 00h 00h 8 15 4 Set ICC Voltage Option 2C 19 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 1...

Page 302: ...and Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 2Ch 1Ah 00h 00h N A Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB ...

Page 303: ...e 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 2Ch 1Ch 00h 00h N A Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch See Status Code Table 00 01 ICC Reader Type 0 f...

Page 304: ...values 01h Key A 02h Key B Key 6 Value of the Key For details on these fields refer to the relevant Mifare Specifications This command does not actually perform the authentication It sets the key to be used for the subsequent authentication The actual authentication will be performed before the next read or write operation If a sector boundary is crossed the reader will attempt to authenticate usi...

Page 305: ...is a sector trailer block If the card specified is a Mifare Standard card and the read is a multi block read then the reader skips reading the sector trailer blocks that contain the Keys because the Keys cannot be read Skipped blocks are not included in the block count While reading blocks in a Mifare Standard Card if the read requires access to the next sector then the ViVOpay reader carries out ...

Page 306: ...th MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch See Status Code Table Variable Variable Data Read from Card OR None If the Status is OK then the Data Length depends on the number of blocks read and the card type DataLen Blocks Read Bytes per Block for Card If there was an error or no data was read then the Data Length is zero For SRED device the data being received from the card device...

Page 307: ...first block to write This does not authenticate the block it stores a key for use by the reader as it performs reads and writes If the card specified is a Mifare Standard card and the write command is a single block write the reader tries to write the data regardless of whether the block is a sector trailer block or not If the card specified is a Mifare Standard card and the write is a multi block...

Page 308: ...s on the number of blocks to be written and the card type After receiving the Command Frame the ViVOpay reader verifies the parameters If the parameters are valid it writes the data to the card If this operation is successful the ViVOpay reader sends a Response Frame with a Status of OK If the Command Frame is invalid or the write operation fails then the reader sends a Response Frame with an appr...

Page 309: ...c amount and a Backup function to backup the resulting balance to another value block somewhere on the card Each command could include a specific key for the block being addressed or omit the key information and let the reader use the last known key Note The default key and key type are overwritten each time a key is encountered while processing a Purse Command The initial default values are those...

Page 310: ...ode Card Type Operation Count 1 7 6 5 4 3 2 1 0 1 Inc 0 Dec Card Type Operation Count Increment Decrement Flag Bit 7 Set to 1 instructs reader to Add to Credit amount Set to 0 instructs reader to Subtract from Debit amount Card Type Bit 6 4 This can only indicate Mifare Type A Standard card 3 as defined in the Poll for Token command Operation Count Bit 3 0 This is the number of operation command b...

Page 311: ...ormat Mode of operation or is specified by most significant bit of first data byte in Purse Command Mode Card Type and Operation Count Key Type 1 Specifies which type of key to use for authentication It can have the following values 01h Key A 02h Key B Key 6 Value of the Key For details on these fields refer to the relevant Mifare Specifications Backup Function Block with Key specified Byte 0 Byte...

Page 312: ...fied in the order in which they appear within the Purse Command Data Frame Note Although it is possible to include multiple value operations Debit or Credit in one command because there is only a single one bit flag to specify the Debit or Credit mode all value commands within one Purse Command must be either Debit or Credit functions However backup operations may be included because they are dist...

Page 313: ...ing last key specified Blue shaded area shows the Debit function block within the Purse Command Frame Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Mode Card Type Operation Count Value Block Debit Cmd Length ViVOtech2 0 2Ch 0Ah 00h 07h 31h 20h 04h Byte 17 Byte 18 Byte 19 Byte 20 Byte 21...

Page 314: ...lue block number 21H using the same key Blue shaded area shows the Debit function block and yellow shaded area shows the Backup function block within the Purse Command Frame Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Mode Card Type Operation Count Value Block Debit Cmd Length ViVOtec...

Page 315: ...NFC Cards These commands do not work for non NFC cards 8 17 1 NFC Commands 2C 40 This command uses Data 0 in command data field to implement different functions This command should be used in Pass Through mode and command with Poll for a NFC Tag data should be used first Command with other data can only be used after the Poll for a NFC Tag command has indicated that a NFC tag is present NFC Comman...

Page 316: ...o be written Tag2 Read Data 16 bytes 2 Data 0 21h Data 1 Address of the data Tag2 Write Data 4 bytes 6 Data 0 22h Data 1 Address of the data Data 2 Data 5 Data to be written Tag2 Select Sect 2 Data 0 23h Data 1 Sect number Tag3 Read Data variable Data 0 41h Data 1 Number of services value n Data 2 Data 2n 1 Service code list Data 2n 2 Number of blocks value m Data 2n 3 Block list length is 2m 3m T...

Page 317: ...ations For SRED device if the command isn t Poll for a NFC Tag the data being received from the card device by the reader will be checked for sensitive data elements using rule in Secure Pass Through Function If found and it has not been established that this transaction belongs to an AID or BIN on the White List the Command will return a Parameter Not Supported error 0x06 8 18 High level Pass Thr...

Page 318: ... Data CRC MSB CRC LSB ViVOtech2 0 2Ch See Status Code Table 00 00 Returned data from card For details on these data field refer to the relevant Felica Specifications For SRED device the data being received from the card device by the reader will be checked for sensitive data elements using rule in Secure Pass Through Function If found and it has not been established that this transaction belongs t...

Page 319: ...us code 8 18 3 Felica Lite Lite S Read Write Blocks with MAC 2C 43 This command uses Data 0 in command data field to implement different functions Use this command to read data from one or more blocks on the Felica Lite Lite S Card with MAC or write data to one block on Felica Lite S with MAC The terminal can instruct the reader to read up to 3 blocks using this command The blocks to be read writt...

Page 320: ...yte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch See Status Code Table Variable Variable Data Read from Card OR None If the Status is OK then the Data Length depends on the number of blocks read and the card type DataLen Blocks Read Bytes per Block for Card If there was an error or no...

Page 321: ...RC Example Polling command data field 05 00 00 03 01 03 Felica Response Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 13 n Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Data length MSB Data length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch See Status Code Table 00 00 Returned data from card Data Field Item Length bytes Description Payload n Response code and Response Data ex...

Page 322: ... 0 2Ch 70h Variable Command Data Command Data Data Item Length bytes Description Example Mode 1 30H APP Mode 31H Flash Mode Command Variable Reference Motor Spec Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch See Status Code Table 00h...

Page 323: ...to 38400 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 2Ch See Status Code Table 00h variable Response Data These commands can only be used after the reader has entered Pass Through mode These commands control the motor through a specifi...

Page 324: ...transaction In Secure Pass Thru mode if the AID or BIN is not in the White List then all data returned from the card is parsed and analyzed to detect sensitive financial data before that data is provided in the transaction response If any sensitive financial data is found only an error is returned and no data from the card is provided for the entire transaction Note In Secure Pass Through Function...

Page 325: ...ociation AID s may be added to the white list For example the AID s for Mastercard Visa Amex or others may NOT be added to the White List 8 20 3 Handling Sensitive Financial Data Any TLV or structure on the SRED list of protected financial data will cause the Pass Thru command response to return a Parameter Not Supported status 0x06 with no data returned SRED List of Protected Financial Data TLV N...

Page 326: ...te List White List related commands can only be used when Pass Through mode is started 8 20 6 Get White List 2C 51 This command retrieves the White List Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 2Ch 51h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte...

Page 327: ...eld Length bytes Description White List Var The actual white list See format of White List in Set White List section above Tag FFEE0C Format Constructed Example Response FFEE0C70FFEE0A14DFEF2106373037363030DFEF2106373037363939FFEE0A14DF EF2106373737373030DFEF2106373737373939FFEE0A14DFEF2106363232303236 DFEF2106363232303237DFEF2106333038333737DFEF2106363030363439DFEF21 06363031303536DFEF21063632393...

Page 328: ...ogger ring buffer Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 16 Byte 17 Byte 18 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 4Ch 01h 00h 03h Data Objects Data Objects Data Item Length bytes Description Mode 1 0x00 de init 0x01 init Log count 2 If mode is de init should be 0x0000 If mode is init valid value 0x00...

Page 329: ...h Data Objects Data Objects Data Item Length bytes Description Logger Level 1 0x00 Debug 0x01 Info 0x02 Warning 0x03 Error Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 4Ch See Status Code Table 00h 00h 8 21 3 Get Set Logger Size 4C 03 Use this command to get set ma...

Page 330: ...1 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 4Ch 03h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 15 Byte 16 Byte 17 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 4Ch See Status Code Table 00h 02h Log count 8 ...

Page 331: ...ave Delete Log 4C 05 Use this command to save the log from ring buffer to a file or delete the current log file Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 4Ch 05h 00h 01h Data Objects Data Objects Data Item Length bytes Description Mode 1 0x00 Delete ...

Page 332: ... 0 4Ch 06h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n Byte 15 n Byte 16 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 4Ch See Status Code Table Log data Note Because the maximum output data length is 1024 bytes you may call this command several times to retrieve whole log from file and ring ...

Page 333: ...cribed in P N 80000502 001 ID TECH Encrypted Data Output Formats pdf available for download on the ID TECH Knowledge Base The same document also describes which TLVs for EMV transactions are encrypted and how For further information including actual data in the two output styles see the appendix called TDES Data Encryption Examples and or consult the appendix on Enhanced Encrypted MSR Data Output ...

Page 334: ...e C7 30 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte15 Header Tag Protocol Version Command Sub Command Data length MSB Data length LSB CRC MSB CRC LSB ViVOtech2 0 C7h 30h 00 00 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte14 Byte 15 Byte16 Header Tag Protocol Version Command Status Data length MSB Data length LSB Data1 CRC MSB CRC LSB ViVOtech2 0 C7h See Statu...

Page 335: ...SB Data length LSB CRC MSB CRC LSB ViVOtech2 0 C7h See Status Code Table 00 00 8 22 8 Get DUKPT Key Encryption Type C7 33 Note This command is only supported in NSRED device In SRED device only TDES algorithm is used to encrypt transaction output sensitive data Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte15 Header Tag Protocol Version Command Sub Command Data length MSB Data...

Page 336: ...eversible event Note This command is supported only in non SRED devices In SRED devices the reader is always encryption enabled and this command is unsupported Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte16 Header Tag Protocol Version Command Sub Command Data length MSB Data length LSB Data CRC MSB CRC LSB ViVOtech2 0 C7h 36h 00 01 Encryption Enable Flag Encryption T...

Page 337: ...Get Transaction Result Command 03 00 03 40 Device Current Status Command Setting Device Operation Output Matrix Data encryption Key exists and valid Current Encryption Status Command Encryption Setting Device Operation Output after Setting MSR MSD_OFF EMV_OFF 0x00 MSR MSD_OFF EMV_OFF 0x00 Keep MSR MSD plaintext EMV plaintext MSR MSD _OFF EMV _ON 0x01 Refuse MSR MSD plaintext EMV plaintext MSR MSD ...

Page 338: ... Code Table 00 01 Encryption Enable Flag Encryption Type Description Bit 0 0 CT CL EMV Data Encryption Disable default 1 CT CL EMV Data Encryption Enable Bit 1 0 MSR MSD Data Encryption Disable default 1 MSR MSD Data Encryption Enable Bit 2 7 Reserve 8 22 11 Set MSR Secure Parameters C7 38 This command allows setting parameters that determine encrypted output from MSR sessions Use it to force encr...

Page 339: ...t value is 0x10 b 1 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 C7h See Status Code Table ViVOtech2 0 C7h 38h 00h 05h MSR Secure Parameters TLV 8 22 12 Get MSR Secure Parameters C7 39 This command can get parameters from flash setting ...

Page 340: ...de Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 C7h See Status Code Table 00h 05h TLV 8 22 13 Set MSR Tracks C7 44 This command can get parameters from flash setting Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 C7h 44...

Page 341: ...th LSB Data CRC LSB CRC MSB ViVOtech2 0 C7h See Status Code Table 00h 01h Track Select ID Track Select ID Value Description Length 0 0 9 Any Track 0 any 1 7 bit 1 tk1 bit 2 tk2 bit 3 tk3 8 tk1 2 9 tk2 3 1 8 22 15 Load Certificate for TransArmor Encryption C7 50 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Com...

Page 342: ...B CRC MSB CRC LSB ViVOtech2 0 C7h See Status Code Table 00h 00h 8 22 17 Get TransArmor TID C7 52 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 C7h 52h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag P...

Page 343: ...te loaded Bit 2 TA Key Certificate Loaded 1 8 22 19 Get TransArmor Certificate C7 54 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 C7h 54h 00h 01h TransArmor Certificate TransArmor Certificate Data Object Name Description Length TransArmo...

Page 344: ...ta Length LSB Data CRC LSB CRC MSB ViVOtech2 0 81h 0Bh 03h See Tables Below Command Data Field Data Field Length bytes Description Key Name Index 1 0x14 LCL KEK 0x01 Pin encryption Key 0x02 Data encryption Key 0x05 MAC DUKPT Key 0x0A PCI Pairing Key Key Slot 2 Indicate different slots of a certain Key Name Example slot 5 0x00 0x05 slot 300 0x01 0x2C For BTPay380 slot is always 0 Response Frame Byt...

Page 345: ... Key Length is 12 bytes Hex to indicate AES PIN DUKPT Key 8 23 2 Set and Get MAC Verification Output Option 81 40 Use this command to set and get MAC verification option ON OFF for transaction output If MAC verification option is ON Reader will send out transaction result with MAC signature If MAC verification option is OFF Reader will send out transaction result without MAC signature Note MAC ver...

Page 346: ...esponse immediately after 62 xx command is received and a second response shall be sent after the operation of received command is completed or timed out During the operation that is the interval between the first and second response only the 62 00 command is acceptable which can be used to cancel the current 62 xx command other commands shall respond with the fail 0x0A status code immediately 8 2...

Page 347: ...01h Fail Key Pad Cancel 02h Fail External Command Cancel 03h Fail Invalid input parameters 04h Fail PAN error 05h Fail PIN DUKPT Key is absent 06h Fail PIN DUKPT Key is exhausted 07h Fail Display message error 8 24 4 Cancel PIN or Key Entry 62 00 Use this command to cancel the below listed commands Display Message and Get Encrypted PIN 62 01 Get Function Key 62 02 Display Message and Get Numeric K...

Page 348: ...h MKSK to encrypt PIN External Plaintext PAN 11h DUKPT to encrypt PIN External Plaintext PAN 20h MKSK to encrypt PIN External Ciphertext PAN for PIN pad only 21h DUKPT to encrypt PIN External Ciphertext PAN for PIN pad only Note MKSK is either standard or Desjardins based according to Key Loading DUKPT is TDES or AES according to Key Loading PAN length 1 Length of PAN If Internal PAN this field is...

Page 349: ... press numeric key Device will increase display on LCD if Total PIN length is smaller than 12 Line 1 display If Enter 2 numeric If Enter 12 numeric While you press Backspace key Device will decrease display on LCD if Total PIN length is not 0 While you press Cancel key Device will display cursor on LCD if Total PIN length is not 0 or Device will quit the work state Second Response Frame Byte 0 9 B...

Page 350: ...pture a single Keypress value from device Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 62h 02h 00h First Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB C...

Page 351: ... F1 While you press F2 key Device sends F2 While you press F3 key Device sends F3 While you press F4 key Device sends F4 8 24 7 Display Message and Get Numeric Key 62 03 Use this command to make device display requested message and then get Numeric Key sequence from device Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 13 n Byte 14 n Byte 15 n Header Tag Protocol Version Comma...

Page 352: ...C LSB ViVOtech2 0 62h See Status Codes 00h After device receives this command it will send ACK as first response Then device will begin to wait for Numeric Key press When Numeric Key is entered or timeout device will send Numeric Key value or timeout as second response Between first and second response no command should be sent other than Cancel Second Response Frame Byte 0 9 Byte 10 Byte 11 Byte ...

Page 353: ...890123456 or While you press Backspace key Device will decrease display numeric on LCD if Total numeric length is not 0 While you press Cancel key Device will display cursor on LCD if Total numeric length is not 0 or Device will quit the work state 8 24 8 Display Message and Get Amount 62 04 Use this command to make device display requested message and then get amount value from device Command Fra...

Page 354: ...SB CRC LSB ViVOtech2 0 62h See Status Codes 00h After device receives this command it will send ACK as first response Then device will begin to wait for Enter Amount When Amount is entered or timeout device will send Amount value or timeout as second response Between first and second response no command should be sent other than Cancel Second Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13...

Page 355: ...h Line 1 display If Enter 2 numeric 12 0 12 If Enter 15 numeric 12345678901245 1234567890123 45 While you press Backspace key Device will decrease display amount on LCD if Total amount length is not 0 While you press the Cancel key Device will display cursor on LCD if amount length is not 0 or Device will quit the work state 8 24 9 Display Multi Line Message and Get Numeric Key 62 05 Use this comm...

Page 356: ... to separate the 1st and 2nd line Display Message Signature 256 Display message signed by Private Key of Secure Message Certificate using RSAPSS algorithm Algorithm 1 Calculate 32 bytes Hash for Function Flag Key Max Length Key Min Length Display Message Length Display Message 2 Using RSAPSS algorithm calculate the Hash to be 256 bytes Raw Data 3 Using Private Key of Secure Message Certificate to ...

Page 357: ...source is 0x00 this field is Tracks Data of MSR card If Data source is 0x01 this field is Manual Entry Data After host sends this command device is waiting for entering Numeric Key Swiping MSR Card If Swipe MSR Card Keypad entry is disabled If press Enter key MSR is disabled If Swipe MSR Non Financial Card such as Employee Card the Value Field will be Plaintext Tracks Data from the Card Example If...

Page 358: ...CSC from the keypad and return it to the POS All cardholder data will be in plain text or encrypted form according to the device encryption status If a particular configuration is set in DFEE1D some of the first or last digits of the PAN maybe returned in plain text For the ExpiryDate the default format of MM YY will be used Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 17 Byte 18...

Page 359: ...crypted PAN only EXP will be 0000 or masked If Manual Entry of PAN EXP output encrypted PAN only EXP will be Entered data or masked 0 6 RFU 0 Reserved for future use If Bit 7 of Byte 1 is 1 PAN Only will be allowed If Bit 7 of Byte 1 is 0 PAN Only will be NOT allowed Response Frame on Success Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 21 Byte 22 Header Tag Protocol Version Command Statu...

Page 360: ...not limited to ID TECH equipment Card geometry can also be a major factor in collision detection The following bullets explain some of the difficulties associated with multiple card presentation When a single type A and single type B card are presented side by side the reader will detect collisions without much difficulty When two cards are stacked on top of one another the faster card or the card...

Page 361: ...the chances of completing a transaction In this mode if a collision event is detected the reader will back off and resume polling Media removal events are handled as per the EMEA requirements for collision When detecting a collision a media removal UI event is triggered all LEDs off 2 tone alert and appropriate message for LCD equipped units a small delay is then introduced before returning to pol...

Page 362: ...the firmware decides this is a successful polling attempt Given the same conditions the reader must fail to detect a card three times in a row before the firmware decides this is a card not present polling attempt To reiterate Improved Collision Detection requires a specified number of polling attempts to complete without an EMV collision event before the RF signal is locked to a specific card If ...

Page 363: ...ould accept the first attempt and the transaction would proceed with the first card detected 8 26 Firmware Downloader Commands 8 26 1 Contact Get EMV L2 Kernel Link Type 60 17 Contact Common EMV L2 kernel can be linked into product firmware or separately loaded as an executable firmware module in the device This command can get the kernel link type in reader Command Frame Byte 0 9 Byte 10 Byte 11 ...

Page 364: ...9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 60h See Status Code Table 00 00 8 26 3 Enter Boot Loader Process from Main Application C7 41 Host must use this command to let reader reboot into boot loader mode if reader is running in main application No respon...

Page 365: ... Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 C7h See Status Code Table 00h 1Eh See Data Data Data Item Length bytes Description Fix String Data1 14 Bootloader FW 14 bytes Ascii Code Data Hex Value is 42 6F 6F 74 6C 6F 61 64 65 72 20 46 57 20 BootLoader Indicator Flag 1 Indicator which BootLoader is running b Current running in BootLoader 1 a Current running in BootLoader 2 Fix Stri...

Page 366: ...ion Indicator 4 Indicator Little Endian Mode Block Data 256 or 1024 Type1 256 bytes Block 1 Data Indicator is 00 00 00 00 Type2 256 bytes Block 2 Data Indicator is 01 00 00 00 Type3 1024 bytes Block 3 Data Indicator is Flash Address It will be m Blocks data Type4 256 bytes Block 4 Data Indicator is FF FF FF FF Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n By...

Page 367: ...e Downloader Command Processing Flow Firmware downloader commands must be sent to device in sequence as below 1 Enter Bootloader process Power on Or reset Run firmware process Enter bootloader request Authentication Certification is valid Y Y N N Response error and refuse to enter bootloader Reset device to enter bootloader process ...

Page 368: ...ware Load config data Initialize Flash property and memory interface Certificates tree is exist Y N Y N FW App signature is valid Need to update FW App or bootloader Erase FW App codes Initialize communication interface Wait and handle interfacecommand FW App or bootloader update complete Y N Y Y N N Run FW App Bootloader signature is valid Certificates tree is valid Y Y Make device cannot work ne...

Page 369: ... EMV CLL2 MChip Kernel 3 Yes EMV CLL2 DPass Kernel 4 Yes EMV CLL2 Amex Kernel 5 Yes EMV CLL2 Interac Kernel 6 Yes EMV CLL2 CUP Kernel 7 Yes EMV CLL2 JCB Kernel 8 No APVAS 9 No SmartTap 10 No Reserved 11 NC The next 3 bytes is Kernel Firmware data total length LSB format The other 8 bytes are reserved If the Kernel is Amex and total size is 72018 0x011952 the data should be 05 52 19 01 xx xx xx xx ...

Page 370: ...e next 3 bytes are reserved The other 2048 bytes are Kernel Firmware data For n 4 bytes the latest command The first one byte is Kernel ID The next 3 bytes are reserved The other n bytes are Kernel Firmware data Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 C7h See ...

Page 371: ...ata CRC LSB CRC MSB ViVOtech2 0 F0h 03h 0x00 0x02 See Command Data Table Command Data Data Item Length bytes Description Example Low Power Mode 1 0x00 Sleep Mode resume from last instruction 0x01 Stop Mode POR required MSR NFC Option 1 0x00 OFF 0x01 ON Swipe Tap will wake from low power Use 00 01 to put the reader in Sleep Mode It will awaken upon card presentation With 00 00 the reader will wake ...

Page 372: ...ata Field Length bytes Description The low power level ID 1 The range of low power ID is 1 4 The detailed supported level is defined by the PDS of the product low power timer 2 Time default 30s 0000h NOT support the level of low power consumption function should be skipped 0001h 0E10h 1 3600 Seconds Support the level of low power consumption function The value is defined the timer of previous stat...

Page 373: ...uration F0 05 This command is used to Get Low Power Consumption function configuration Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 F0h 05h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byt...

Page 374: ... battery level Note Only VP3600 supports this command Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 F0h 02h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Header Tag Protocol Version Command Status Code Data Length MSB Data Le...

Page 375: ...11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 F0h See Status Code Table 00h 00h 8 29 1 Get USB Sleep Configuration F0 07 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 F0h...

Page 376: ...er Mode Suspend configuration Keep this feature turned off for RS232 devices Note USB Power Mode Suspend is a special term used by the USB Implementers Forum USBIF which requires USB devices go to suspend low current mode after power up even without enumeration or configuration The Set USB Sleep Configuration F0 06 command should also be set to ON default in order to make this setting work properl...

Page 377: ...ader Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 F0h See Status Code Table 00h 01h USB Power Mode Suspend Configuration Data 00h OFF default 01h ON 8 31 Miscellaneous NEO II Platform Commands 8 31 1 Removal Tamper Configuration 04 22 Use this command to enable removal tamper detection or to get tamper status NOTE Only TriMag IV ID TECH ...

Page 378: ... basic key information Each pair of three bytes represents one key s parameters index and slot For example 0x02 0x00 0x00 0x02 0x00 0x01 will represent KeyIndex 0x02 KeySlot 0x0000 and KeyIndex 0x02 KeySlot 0x0001 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 81h 0Ch...

Page 379: ...mand Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 81h 0Dh 03h See Tables Below Command Data Field Data Field Length bytes Description Key Name Index 1 0x14 LCL KEK 0x01 Pin encryption Key 0x02 Data encryption Key 0x05 MAC DUKPT Key 0x0A PCI Pairing Key Key Slot 2 Indicate different slots of a certain Key Name Example slot 5 0x00 0x05 slot 300 0x01 0x2C For BTPay380 ...

Page 380: ...VOtech2 0 81h See Status Code Table 00 Var CertInfo CertInfo Byte 1 N Length of SN Byte 2 Byte N 1 SN in ASCII Byte N 2 M Total downloaded Certificate number Byte N 3 byte 2 N M CertKeyID 1 CertKeyID M ID Tech certificate Key ID definition define ROOT_CA 0x00 define DEVICE_CA 0x0A define SECURE_CONTENT_CA 0x0B define TMS_CA 0x0C define DATA_KEY_KDH_CA 0x0D define PIN_KEY_KDH_CA 0x0E define DEVICE_...

Page 381: ... certificate Key ID definition Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 81h 0Fh 00h 01h Cert Key ID Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data ...

Page 382: ...ponse Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 C7h See Status Code Table 00h 00h 8 31 7 Read Security Data C7 57 Use this command to retrieve sensitive data previously set with C7 56 from a device security area Command Frame Byte 0 9 Byte 10...

Page 383: ...trary data previously stored with C7 56 8 31 8 Control IO 01 06 This command is used to control output PIO level to test PIO This command is only valid before delivery Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 01h 06h 00h 04h See Below Da...

Page 384: ...lid for VP6800 and VP3320 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Command Sub Command Length MSB Length LSB CRC LSB CRC MSB ViVOtech2 0 32h 03h 00h 00h Varies Varies Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 13 n Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC ...

Page 385: ...tected 3 7 RFU RFU 8 31 11 Set Switches Notifications Configuration 01 07 This command is used to set the switches notifications configuration Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 01h 07h 00h 01h Data Objects Response Frame Byte 0 9 Byte 10 Byte...

Page 386: ...yte 14 Byte 15 Byte 16 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 01h See Status Code Table 00h 01h Data Objects Data Objects 1 byte Bit Position Meaning if 1 0 Card seated notification enabled 1 Front switch notification enabled 2 7 RFU 8 31 13 Get DRL Reader Risk Parameters 03 0E This command returns the Index Application Prog...

Page 387: ...te 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 03h See Status Code Table TLV Data Objects The response TLV Data Objects are formatted as shown in the table DRL Transaction TLVs Index 9F5A FFF1 FFF4 FFF5 and 9F1B ...

Page 388: ...Apple VAS SmartTap 2 1 with ACT command For non payment applications check the status word and Application Label from response of Select OSE Via Select OSE one can get 9000 and Apple Pay from iPhone or Google Pay from Android phone and then continue to each transaction flow How to use ACT for Apple VAS and SmartTap 2 1 Set all configurations for Apple VAS Set the Merchant List 56 69 56 4F 74 65 63...

Page 389: ...ect OSE support Skip Second Select support Stop Payment if SmartTap 2 1 failed support and Pre Signed support 56 69 56 4F 74 65 63 68 32 00 04 00 00 3A DF EE 3B 04 00 BC 61 4E DF EE 3C 00 DF EE 3D 00 DF EE 25 00 DF ED 01 00 DF ED 02 05 00 00 00 00 01 DF ED 03 01 00 DF ED 04 01 01 DF ED 05 01 01 DF ED 06 01 00 DF ED 07 01 00 A9 AE Send ACT command including Apple VAS container FFEE06 and SmartTap 2...

Page 390: ...7F 8F 83 95 18 4F 1E EC 7D C8 8F DC 38 01 CE 99 03 98 0E AD 3E 9F 39 01 07 FF EE 01 04 DF 30 01 00 DF EE 26 01 01 5D 5C Tapping Google Pay Panera Bread Card 56 69 56 4F 74 65 63 68 32 00 02 0A 00 29 FF EE 06 82 00 12 9A 03 14 08 10 9F 21 03 12 23 19 DF 02 04 24 90 00 02 9F 39 01 07 FF EE 01 04 DF 30 01 00 DF EE 26 01 01 65 58 Send ACT command include SmartTap 2 1 container FFEE08 only 56 69 56 4F ...

Page 391: ...70 72 6f 64 74 65 73 74 When a byte array containing those values is hashed the resulting SHA 256 value is 3C C7 0E D8 9A 9D 43 54 BE 98 30 AB 58 D8 9C 6F E7 E6 2B AC A9 39 D2 A6 85 1D FC 60 2E A7 98 F7 Limitations Note that a NEO device can store at most 6 Merchant Records for Apple VAS This means the device can natively support up to 6 loyalty programs per transaction at a time Note to Developer...

Page 392: ...inal All other values are RFU Byte 1 RFU Byte 2 Terminal Type Byte 3 RFU Byte 4 Terminal Mode See table further below 9F22 ApplePay Terminal Application Version Number Required Hard defined as 01 00 for now 9F2B ApplePay VAS Filter Optional If not provided filtering will not be performed by the mobile DFEE01 ApplePay VAS Protocol 87654321 0 URL VAS Protocol 1 FULL VAS Protocol 0 No VAS Beeps 1 VAS...

Page 393: ...to 0 All other values are RFU Byte 4 Terminal Mode polling Loop ApplePay Terminal Capabilities Information Card Filter Settings 00 PICC_POLL_TYPE_APPLE_VAS_OR_PAY PICC_POLL_TYPE_A and PICC_POLL_TYPE_B 01 PICC_POLL_TYPE_APPLE_VAS_AND_PAY PICC_POLL_TYPE_A and PICC_POLL_TYPE_B 10 PICC_POLL_TYPE_APPLE_VAS_ONLY PICC_POLL_TYPE_A and PICC_POLL_TYPE_B 11 PICC_POLL_TYPE_APPLE_PAY_ONLY PICC_POLL_TYPE_A and ...

Page 394: ...00 00 00 AppplePay VAS Filter optional DF 01 01 01 DF ED 49 01 01 Required for VAS only transactions 33 FE CRC 16 Vendi Response 56 69 56 4F 74 65 63 68 32 00 02 57 00 FF D1 FF EE 12 0A 62 99 49 01 2C 00 04 60 01 AC FF EE 06 82 00 D9 9A 03 14 08 15 9F 21 03 17 32 53 9F 25 20 3C C7 0E D8 9A 9D 43 54 BE 98 30 AB 58 D8 9C 6F E7 E6 2B AC A9 39 D2 A6 85 1D FC 60 2E A7 98 F7 9F 2A 00 9F 27 3E 93 1C 1A 6...

Page 395: ...saction 02 01 56 69 56 4F 74 65 63 68 32 00 02 01 00 29 30 9F 02 06 00 00 00 00 00 01 9C 01 00 FF EE 06 18 9F 22 02 01 00 9F 26 04 00 00 00 00 9F 2B 05 01 00 00 00 00 DF 01 01 01 09 CA VAS And Pay Activate Transaction 02 01 56 69 56 4F 74 65 63 68 32 00 02 01 00 29 30 9F 02 06 00 00 00 00 00 01 9C 01 00 FF EE 06 18 9F 22 02 01 00 9F 26 04 00 00 00 01 9F 2B 05 01 00 00 00 00 DF 01 01 01 6A 8F VAS O...

Page 396: ... example it indicates a Request for Online Authorization nn nn length of entire response VAS and Pay xx Start of payment response Payment response format has not changed xx End of payment response FFEE06 nn ApplePay VAS Container o 9A nn Date o 9F21 nn Time o 9F25 nn Merchant ID a o 9F2A nn Mobile Token o 9F27 nn VAS Data o 9F25 nn Merchant ID b o 9F2A nn Mobile Token o 9F27 nn VAS Data o o 9F25 n...

Page 397: ...Date o 9F21 nn Time o DF02 nn ApplePay VAS Failure Report xx xx CRC for entire response ApplePay VAS Failure Report DF0204206A8002 DF02 ApplePay VAS Failure Report Tag 04 Length of ApplePay VAS Failure Report 20 Error Code See IDG for Error Code Encoding 6A80 SW1 SW2 Status from last APDU received 02 RF State failure occurred in 02 Select Transaction Response for VAS Failure in Get Data 56 69 56 4...

Page 398: ...ription Merchant Record Index 1 The valid value is 1 6 ID Present 1 1 The Merchant ID is valid 0 The Merchant ID is not valid Merchant ID 32 The tag is 9F25 Length of Merchant URL 1 Can be zero if no URL is used Merchant URL optional 64 The tag is 9F29 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Data length MSB Data length LSB ...

Page 399: ...8 30 AB 58 D8 9C 6F E7 E6 2B AC A9 39 D2 A6 85 1D FC 60 2E A7 98 F7 Merchant ID this is the SHA 256 hash of the IDTech Pass having the name pass com apple wallet vas prodtest 00 Length of VAS URL In this example none was provided 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00...

Page 400: ...ata Format below Data Field for Response Frame Data Field Length bytes Description Merchant Record Index 1 The valid value is 1 6 ID Present 1 1 The Merchant ID is valid 0 The Merchant ID is not valid Merchant ID 32 The tag is 9F25 Length of Merchant URL 1 Merchant URL 64 The tag is 9F29 9 3 SmartTap 2 1 ViVOpay readers running NEO II firmware have a built in SmartTap kernel that provides support ...

Page 401: ... Data length MSB Data length LSB Data CRC MSB CRC LSB ViVOtech2 0 C7h 9Ah Variable See Data Format below Peer To Peer Send A Message Data Field for Command Frame Data Field Length bytes Description Timeout 1 Time in Seconds Message Variable NDEF message to be sent to the phone Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Data le...

Page 402: ...Byte 15 n Header Tag Protocol Version Command Status Data length MSB Data length LSB Data CRC MSB CRC LSB ViVOtech2 0 C7h See Status Code Table Variable See Data description below If Status code is OK Data Field for Response Frame is a message received from the phone Otherwise Data Length is zero and no data for Response Frame Messages conform to NDEF https learn adafruit com adafruit pn532 rfid n...

Page 403: ...ansaction Use DFEF4B in Terminal Settings to configure how DFEF4C and DFEF4D will behave see next section Tag DFEF4B Tag DFEF4B is a configuration tag Use it to tell your reader which tracks you want to receive in tag DFEF4D whether or not to use sentinels and whether or not to include the PAN as a separate string Byte 1 8 7 6 5 4 3 2 1 NOTES X 0 Disable Track 3 Sentinels 1 Enable Track 3 Sentinel...

Page 404: ...F4D will not be generated The default value of this tag is 0x12 Track 2 enabled with Sentinels Data Search Order When Only First Element Found bit 8 1 is set in DFEF4B Tag DFEF4D will be populated with a single data element according to the following search order Track 2 Tag 57 converted to alpha numeric format Track 2 Tag 9F6B Track 2 Tag 5F22 Track 1 Tag 56 Track 1 Tag 5F21 PAN Tag 5A converted ...

Page 405: ... or not included according to the preferences set in bits 1 2 and 3 Compressed Numeric Elements For any data element captured as compressed numeric the following rules shall apply Padding 0xf shall not be included Center separators 0xd shall be converted to 0x3d Data shall be encoded as ASCII representation of binary data example 0x123f 0x313233 123 ignore padding example 0x1234 0x31323334 1234 ex...

Page 406: ...lues supplied previously in DFEF4B see above The track data will present track data if it is a MSD transaction present track Equivalent data if it is a EMV transaction When TDES or AES encryption have been used in conjunction with traditional DUKPT decrypt the data normally using the 10 byte KSN found in tag DFEE12 After one of Track1 Data Track2 Data and Tag 5A is presented 1 Tag DFEF4C will prov...

Page 407: ... OK DLen 0 decimal None Reader starts polling for cards The Terminal should keep checking for data from the reader If a card has been read data is available otherwise there is no data The Get Transaction Result command is for retrieving the data This command is not required for the reader to poll for cards or to carry out a transaction 2 Command Get Transaction Result Header Cmd Sub Cmd DLen MSB D...

Page 408: ... has been presented so far Reader continues to poll for cards Card presented and accepted by the reader 4 Command Get Transaction Result Header Cmd Sub Cmd DLen MSB DLen LSB Data CRC LSB CRC MSB 56 69 56 4F 74 65 63 68 32 00 03h 00h 00h 00h 3Bh FFh ViVOtech2 0 DLen 0 decimal None Response OK Track1 Track2 Data available Header Cmd Status Code DLen MSB DLen LSB Data 56 69 56 4F 74 65 63 68 32 00 03...

Page 409: ...1 Command Set Poll Mode Poll on Demand Header Cmd Sub Cmd DLen MSB DLen LSB Data CRC LSB CRC MSB 56 69 56 4F 74 65 63 68 32 00 01h 01h 00h 01h 01h D7h 34h ViVOtech2 0 DLen 1 decimal Poll on Demand Mode Response OK Header Cmd Status Code DLen MSB DLen LSB Data CRC MSB CRC LSB 56 69 56 4F 74 65 63 68 32 00 01h 00h 00h 00h 12h 53h ViVOtech2 0 OK DLen 0 decimal None Reader stops polling for cards Term...

Page 410: ...seconds Reader completes transaction even if more than ten seconds pass since Activate command was received After completing transaction the reader does not restart polling and just sends back the response containing the Track1 and Track2 data Response OK Track1 Track2 Data available Header Cmd Status Code DLen MSB DLen LSB Data 56 69 56 4F 74 65 63 68 32 00 02h 00 00h 64h 3Ch 42 35 34 31 33 31 32...

Page 411: ...RC LSB CRC MSB 56 69 56 4F 74 65 63 68 32 00 01h 01h 00h 01h 01h D7h 34h ViVOtech2 0 DLen 1 decimal Poll on Demand Mode Response OK Header Cmd Status Code DLen MSB DLen LSB Data CRC MSB CRC LSB 56 69 56 4F 74 65 63 68 32 00 01h 00 00h 00h 12h 53h ViVOtech2 0 OK DLen 0 decimal None Reader stops polling for cards Terminal has to issue an Activate command to allow the reader to poll for a card and ca...

Page 412: ...68 32 00 02h 01h 00h 06h 0Ah 9A 03 05 08 18 77h 1Dh ViVOtech2 0 DLen 1 decimal Timeout 10 Seconds decimal TLV Transaction Date Reader starts polling for cards A contactless EMV M Chip card is presented within 10 seconds Reader completes transaction even if more than ten seconds pass since Activate command was received After completing transaction the reader does not restart polling and just sends ...

Page 413: ...7 31 Clearing Record DE 055 TLV App PAN TLV PAN Seq Num TLV App Expiration Date Data 50 0A 4D 61 73 74 65 72 43 61 72 64 9F 34 03 00 1F 03 9F 45 02 DA C0 9F 4C 08 00 00 00 00 00 00 00 00 TLV Application Label CVM Results Data Auth Code ICC Dynamic Number Data 57 13 54 12 34 00 00 00 00 19 D1 00 72 01 14 43 14 31 00 00 0F 56 00 9B 02 C8 00 TLV Track 2 Equivalent Data TLV Track 1 Equivalent Data Tra...

Page 414: ...ome Polling 01 Present card Please Present Card Time out or Transaction Cancel 02 Time Out or Transaction cancel No Card Transaction In Progress 03 Transaction between reader and card is in the middle Processing Transaction Succeed 04 Transaction Pass Thank You Transaction Fail 05 Transaction Fail Fail Configurable messages 06 Amount Amount 0 00 Tap Card 07 Balance or Offline Available funds Balan...

Page 415: ...erface Developer s Guide Copyright 2019 International Technologies Systems Corporation All rights reserved 415 The flow diagram below illustrates how an external UI may be controlled using asynchronous UI events ...

Page 416: ... each of the interfaces under various conditions Table 83 Meaning of Audible Tones by Interface Card Interface Type Tone Reason for Tone Contactless Check Phone Consumer interaction required user needs to do something on the phone such as enter a PIN Alert Card Read Error Collision Detected Unsupported Card Application Error No Response after Restart only for VCPS2 1 1 and ExpressPay 3 0 Card Read...

Page 417: ...tem AID From POS 56 69 56 4F 74 65 63 68 32 00 04 02 00 0E FF E4 01 00 9F 06 07 A0 00 00 00 04 10 10 D2 A8 From Reader 56 69 56 4F 74 65 63 68 32 00 04 07 00 00 2B 86 Uses the SCA Command Set Configurable AID Cmd 4 Sub Cmd 2 FFE4 01 00 Selects Group 0 9F06 07 A0 00 00 00 04 10 10 Selects the AID Number Add a New Configurable AID From POS 56 69 56 4F 74 65 63 68 32 00 04 02 00 18 FF E4 01 00 9F 06 ...

Page 418: ...4 Sub Cmd 3 FFE4 01 01 Specify the NEW group number 1 FFF1 06 00 00 00 01 00 00 Terminal Transaction Limit Connect Existing AID to a Different Group From POS 56 69 56 4F 74 65 63 68 32 00 04 02 00 18 FF E4 01 01 9F 06 05 B0 12 34 56 78 FF E2 01 03 FF E1 01 01 FF E5 01 0A FF 7E From Reader 56 69 56 4F 74 65 63 68 32 00 04 00 00 00 AE 16 Uses the SCA Command Set Configurable AID Cmd 4 Sub Cmd 2 FFE4...

Page 419: ...F06 05 B0 12 34 56 78 Specifies the AID FFE2 01 03 Selects Application Flow FFE1 01 01 Enables Partial Selection FFE5 01 0A Specify Maximum Partial Selection Length Delete a Group From POS 56 69 56 4F 74 65 63 68 32 00 04 05 00 04 FF E4 01 01 0C 5D From Reader 56 69 56 4F 74 65 63 68 32 00 04 00 00 00 AE 16 Uses the DCG Command Delete Configurable Group Cmd 4 Sub Cmd 5 FF E4 01 01 Specify Group nu...

Page 420: ...p header is 12 bytes of data in the format shown in the following table prefixed to the actual bitmap data Bytes 0 1 Bytes 2 3 Bytes 4 5 Bytes 6 7 Bytes 8 9 Bytes 10 11 Bytes 12 n Bitmap Length Row Number Column Number Height Width Reserved Bitmap data All variables in the header are 2 bytes long Bitmap Length This data field contains the total number of bytes in the Bitmap Data Field Row Number T...

Page 421: ...ropping the images speeds the download and uses less memory Cropping MUST be done after all other processing of the bitmap image Other operations may be done in any order as long as cropping is done last Cropping the image requires that you include the row number column number height and width parameters in the ViVOpay header The Column Number Row Numbers define where the upper left corner of the ...

Page 422: ...The following is a simple example of a bitmap which measures 24x4 pixels 24 pixels per row 4 rows All bitmap values shown are arbitrary and in hexadecimal Note This example does NOT include image cropping ACTUAL BMP 14 byte BMP file header 40 byte DIB header Bitmap Data 11 00 00 00 22 00 01 00 33 00 01 00 44 00 00 00 First remove the headers Bitmap Data 11 00 00 00 22 00 01 00 33 00 01 00 44 00 00...

Page 423: ...B FF FF FF CC FF FE FF DD FF FE FF EE FF FF FF Analyze the image If the image needs to be cropped for white space reduction do it now Calculate positioning parameters and generate the ILM header 12 byte ILM header Bitmap Data BB FF FF FF CC FF FE FF DD FF FE FF EE FF FF FF This modified image data is now ready to be displayed or stored on the ViVOpay LCD ...

Page 424: ...de configuration This poll mode is best suited for contactless magstripe data transactions for example PayPass Mag Stripe payWave MSD Auto Poll mode is not compatible with the EMEA User Interface configuration or M Chip 3 0 applications If you are using the EMEA UI or M Chip 3 0 then you should configure the polling mode to be Poll on Demand Refer to the Set Poll Mode 01 01 command Burst Mode Depr...

Page 425: ...the Burst Mode parameter Refer to the Global Configuration Tags table tag FFF7h RTC LCD Buzzer LED Source The ViVOpay readers are designed with flexibility in regards to the source of the Real Time Clock RTC Liquid Crystal Display LCD Buzzer and Light Emitting Diodes LED Each of these components can be set to use a source internal or external to the ViVOpay unit These components can also be disabl...

Page 426: ...u Please Tap Or Swipe Card FRA L1 L2 Présentez carte SVP Merci Présentez carte SVP ENG FRA L1 L2 Tap Or Swipe Présentez Carte Thank You Merci Tap Or Swipe Présentez Carte 0x02 NO_CARD THANK_YOU NO_CARD ENG L1 L2 No Card Thank You No Card FRA L1 L2 Pas de carte Merci Pas de carte ENG FRA L1 L2 No Card Pas de carte Thank You Merci No Card Pas de carte 0x03 PROCESSING TRANSACTION_COMPLETED NOT_CONNEC...

Page 427: ...u autre carte ENG FRA L1 L2 Use Chip PIN Insérez la carte Please Try Again Ré essayez Swipe Card Passez la carte 0x09 TRY_AGAIN INTERNATIONAL_CARD TRY_AGAIN EMEA ENG L1 L2 Please Try Again International Card Only Try Again FRA L1 L2 Ré essayez Internationale Carte Seulement Ré essayez ENG FRA L1 L2 Please Try Again Ré essayez Card Carte International e Try Again Ré essayez 0x0A 1_CARD SIGN_RECEIPT...

Page 428: ...Signature Required FRA L1 L2 Refusé Signature Requise ENG FRA L1 L2 Declined Refusé SignatureRequire SignatureRequise 0x10 TERMINATED Reserved MSG17 Reserved MSG17 ENG L1 L2 Terminated FRA L1 L2 Terminé ENG FRA L1 L2 Cannot Process Ne Peut Procés 0x11 TRY_OTHER_INTERFACE TAP_OR_SWIPE_CARD_VI SA TRY_OTHER_INTERFAC E ENG L1 L2 Try Other Interface Present Card Try Other Interface FRA L1 L2 Autre Inte...

Page 429: ...Mobile Phone Voir téléphone See Mobile Phone Voir téléphone 0x17 NOT_ACCEPTED NOT_ACCEPTED NOT_ACCEPTED ENG L1 L2 Not Accepted Not Accepted Not Accepted FRA L1 L2 Pas accepté Pas accepté Pas accepté ENG FRA L1 L2 Not Accepted Pas accepté Not Accepted Pas accepté Not Accepted Pas accepté 0x18 INSERT_CARD INSERT_CARD INSERT_CARD ENG L1 L2 Insert Card Insert Card Insert Card FRA L1 L2 Insérez la cart...

Page 430: ...EXTRA APPROVED_EXTRA ENG L1 L2 Approved Bal Approved Bal Approved Bal FRA L1 L2 Approuvé Solde Approuvé Solde Approuvé Solde ENG FRA L1 L2 Approved Bal Approuvé Solde Approved Bal Approuvé Solde Approved Bal Approuvé Solde 0x1F DECLINED_EXTRA DECLINED_EXTRA DECLINED_EXTRA ENG L1 L2 Declined Bal Declined Bal Declined Bal FRA L1 L2 Refusé Solde Refusé Solde Refusé Solde ENG FRA L1 L2 Declined Bal Re...

Page 431: ...d Use Chip PIN FRA L1 L2 Ré essayez Approuvé Insérez la carte ENG FRA L1 L2 Try Again Ré essayez Approved Approuvé Use Chip PIN Insérez la carte 0x26 TRANSACTION_COMPLET ED BALANCE_EMEA TRY_AGAIN ENG L1 L2 Transaction Completed Available Please Try Again FRA L1 L2 Transaction Terminée Disponible Ré essayez ENG FRA L1 L2 Transaction Done Transaction Term Available Disponible Please Try Again Ré ess...

Page 432: ...z Sign Receipt Signez le recu 0x2C SIGNATURE_REQUIRED NOT_AUTHORIZED ENTER_PIN ENG L1 L2 Signature Required Not Authorized Please Enter PIN FRA L1 L2 Signature Requise Non autorisé Entrez votre code ENG FRA L1 L2 SignatureRequire SignatureRequise Not Authorized Non autorisé PIN EntryRequire Code exigé 0x2D INITIALIZING INITIALIZING AVAIL_OFFLINE_AMOU NT ENG L1 L2 Initializing Please wait Initializ...

Page 433: ...FRA L1 L2 Processing En Cours 0x33 TOO_MANY_TAP TOO_MANY_TAP TOO_MANY_TAP ENG L1 L2 Too Many Taps Too Many Taps Too Many Taps FRA L1 L2 Trop d essais Trop d essais Trop d essais ENG FRA L1 L2 Too Many Taps Trop d essais Too Many Taps Trop d essais Too Many Taps Trop d essais 0x34 TERMINATE_PIN_REQUI RE TERMINATE_PIN_REQUIR E TERMINATE_PIN_REQUI RE ENG L1 L2 PIN Required PIN Required PIN Required F...

Page 434: ...LSB CRC LSB CRC MSB ViVOtech2 0 63h 01h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 63h See Status Code Table 00h 00h 18 2 PINPAD Passthrough Mode 63 02 This command can be issued any time For this mode Reader passes all the commands to PINPAD Command Fram...

Page 435: ...th LSB Data CRC LSB CRC MSB ViVOtech2 0 63h 03h 00h See Data Table 2 Data Table 2 Set Session Key Command Data Data Item Length bytes Description Length of Session Key Type 2 Session Key Type Length Session Key Type 1 Session Key Type 0 Data 1 MAC 2 PIN Length of Session Key 2 Session Key Length Session Key 16 Session Key is encrypted with Master Key Length of Check Digits 2 Check Digits Length Ch...

Page 436: ...Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 63h See Status Code Table 00h Note Key ID is 8 byte alphanumeric and can only be loaded one time 18 5 Get Key ID 63 05 Get Key ID associated with a Master Key set Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 63h...

Page 437: ...e 13 Byte14 Byte14 n 1 Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 63h See Status Code Table 00h MAC Data Example Input Stream 31311C393138C0D04511 Track2 3B353135303731303230303130373936303D3039303931303134303030303335353F Input Stream to be MAC 31311C3931383B353135303731303230303130373936303D3039303931303134...

Page 438: ...ion Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 63h See Status Code Table L100 Firmware Example OUT 5669564f74656368320070030000c27f IN 5669564f74656368320070000049064944205445434820536d61727450494e204c3130 30204669726d776172652056312e30322e3030392e530d4d4158494d20436869702046 6f72204b3231204c3130302056312e303014ab ...

Page 439: ...reen o Pre defined by user Customizable Features o Text Area Position Width Height Font Label o Buttons Position Font Color Label Note Component IDs are counted from 1 in the sequence they are created 19 2 LCD Coordination The VP6800 s LCD is 272 480 refer to the figure below for the x y coordinates 19 2 1 LCD UI Control Function LCD UI Table 1 Screen ID Format ...

Page 440: ...ressed FF Nothing Note 1 Numeric entry will is only displayed when a K81 requires it If the numeric entry screen is shown when user UI is live a numeric entry is kept until the user updates the UI If the numeric entry screen is shown on the system UI while it is live a numeric entry is closed after the end of the numeric entry session Note 2 If the device does not display a screen after a reset qu...

Page 441: ...ee Below Data Field Item Length bytes Description Screen Name var Screen Name String No longer than 32 bytes ASCII string terminated by 0x00 Use the Create Screen command 61 0A to set the screen name 19 3 1 1 Showing Predefined Screens Predefined screens are hard coded in VP6800 firmware users should not create these screens and cannot add or remove components to or from them Screen names are defi...

Page 442: ...NEO 2 Interface Developer s Guide 442 Screen Name Appearance PreDefScreen_8101 PreDefScreen_8102 IP Address PreDefScreen_8103 Subnet Mask PreDefScreen_8104 Default Gateway PreDefScreen_8105 ...

Page 443: ...creen1 TX 56 69 56 4F 74 65 63 68 32 00 61 05 00 08 53 63 72 65 65 6E 31 00 91 5C RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 00 4B 81 Show Screen Screen2 TX 56 69 56 4F 74 65 63 68 32 00 61 05 00 08 53 63 72 65 65 6E 32 00 C2 09 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 00 4B 81 Show Screen Screen4 not created yet TX 56 69 56 4F 74 65 63 68 32 00 61 05 00 08 53 63 72 65 65 6E 34 00 C2 09 RX 56 69 5...

Page 444: ...LSB Data CRC MSB CRC LSB ViVOtech2 0 61h 00h 00h var See below Data Format Item Length byte Description Screen ID 2 See LCD UI Table 1 Object ID 2 See LCD UI Table 2 Screen Name var Screen Name String No longer than 32 bytes ASCII string terminated by 0x00 Object Name var Object Name String No longer than 32 bytes ASCII string terminated by 0x00 Example No Button clicked TX 56 69 56 4F 74 65 63 68...

Page 445: ...0 Component ID 1 Refer to LCD UI Table 2 byte0 Alignment 1 0 Display object at the horizon center of specified y while x ignored 1 Display object at specified x and y 2 Display object at center of screen x y are both ignored 3 Display object at left of the screen of specified y while x ignored 4 Display object at right of the screen of specified y while x ignored x coordinate 2 x coordinate for te...

Page 446: ...e video source should be rotated 90 degree Videos must be MJPEG encoded ffmpeg is a free third party tool that can generate the necessary target file Text Area Feature Features Length bytes Description Width 2 Reserved Height 2 Reserved Font ID 1 See below table Color 4 Byte 0 B Byte 1 G Byte 2 R Byte 3 Reserved For example 0xFF000000 blue 0x00FF0000 green 0x0000FF00 red 0x00000000 white 0xFFFFFF0...

Page 447: ...CondensedSemibold ttf 18 23 RoundCondensedSemibold_24 RoundCondensedSemibold ttf 24 24 RoundCondensedSemibold_36 RoundCondensedSemibold ttf 36 25 RoundCondensedSemibold_48 RoundCondensedSemibold ttf 48 26 RoundCondensedSemibold_60 RoundCondensedSemibold ttf 60 27 RoundCondensedSemibold_72 RoundCondensedSemibold ttf 72 28 RoundMedium_12 RoundMedium ttf 12 29 RoundMedium_18 RoundMedium ttf 18 30 Rou...

Page 448: ... 3D 53 63 72 65 65 6E 31 00 54 65 78 74 31 00 00 01 01 00 1E 00 00 00 00 00 09 00 00 00 00 57 45 4C 43 4F 4D 45 20 54 4F 20 53 4F 4E 49 43 30 30 30 30 30 30 30 20 30 30 30 0D 0A 31 31 00 EF C9 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 0C 00 00 00 00 01 00 1E 00 11 01 72 00 0C 55 Add Button1 to Screen1 CHECK BALANCE0000 TX 56 69 56 4F 74 65 63 68 32 00 61 07 00 28 53 63 72 65 65 6E 31 00 42 75 74 7...

Page 449: ...1 32 00 D9 66 Add pic JPG to Screen1 to complete this command first transfer the file pic JPG file name UTITLED1 JPG TX 56 69 56 4F 74 65 63 68 32 00 61 07 00 24 53 63 72 65 65 6E 31 00 70 69 63 2E 4A 50 47 00 08 01 00 00 00 00 55 4E 54 49 54 4C 45 44 31 2E 4A 50 47 00 CA 95 RX 56 61 00 00 0C 00 00 08 01 00 00 00 00 3C 00 49 00 E9 84 This command generates an error if the picture is larger than th...

Page 450: ...value for LEDs 4 bytes Byte 0 LED0 color index 0 Off 1 Green 2 Yellow 3 Red Byte 1 LED1 color index 0 Off 1 Green 2 Yellow 3 Red Byte 2 LED2 color index 0 Off 1 Green 2 Yellow 3 Red Byte 3 LED3 color index 0 Off 1 Green 2 Yellow 3 Red Position Alignment 1byte 0 Display object at the horizon center of specified y while x is ignored 1 Display object at specified x and y 2 Display object at center of...

Page 451: ...F 74 65 63 68 32 00 61 00 00 08 51 00 E2 00 BF 00 FE 00 83 26 Text1 color on Screen1 RED TX 56 69 56 4F 74 65 63 68 32 00 61 08 00 13 53 63 72 65 65 6E 31 00 54 65 78 74 31 00 01 00 00 FF FF FC 43 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 00 4B 81 19 3 5 Object Event Call Back 61 FF The VP6800 immediately sends this command when a button on click event happens Command Frame Byte 0 9 Byte 10 Byte 1...

Page 452: ...creen_810 0 Object Object ID Object Name Parameter 0x0001 Item1 N A 0x0002 Item2 N A 0x0003 Item3 N A 0x0004 Item4 N A 0x0005 Item5 N A 0x0000 Cancel N A Screen ID Screen Name 0x8101 PreDefScreen_810 1 Object Object ID Object Name Parameter 0x0001 Item1 N A 0x0002 Item2 N A 0x0003 Item3 N A 0x0000 Cancel N A Screen ID Screen Name 0x8102 PreDefScreen_810 2 0x8103 PreDefScreen_810 3 0x8104 PreDefScr...

Page 453: ...than 32 bytes ASCII string terminated by 0x00 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 61h 00h 00h 00h Example Remove Text1 from Screen1 TX 56 69 56 4F 74 65 63 68 32 00 61 09 00 0E 53 63 72 65 65 6E 31 00 54 65 78 74 31 00 3B 5C RX 56 69 56 4F 74 65 63 68 32 0...

Page 454: ...Otech2 0 61h 00h 00h 00h Screen ID For example Create Screen Screen1 return Screen ID 0x0000 TX 56 69 56 4F 74 65 63 68 32 00 61 0A 00 08 53 63 72 65 65 6E 31 00 A2 D7 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 02 00 00 3E FF Create Screen Screen2 return Screen ID 0x0001 TX 56 69 56 4F 74 65 63 68 32 00 61 0A 00 08 53 63 72 65 65 6E 32 00 F1 82 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 02 00 01 2E ...

Page 455: ... String ASCII String Terminated by 0x00 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 61h 00h 00h 00h Example Remove Screen1 TX 56 69 56 4F 74 65 63 68 32 00 61 0B 00 08 53 63 72 65 65 6E 31 00 EB 0F RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 00 4B 81 Remove Screen4 ...

Page 456: ...Data Item Length bytes Description Screen ID 2 Screen ID format see LCD UI Table 1 Screen Name var Screen name string No longer than 32 bytes ASCII string terminated by 0x00 Example Get Cur Screen Screen1 ID 0x0000 is live TX 56 69 56 4F 74 65 63 68 32 00 61 0C 00 00 E0 3E RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 0A 00 00 53 63 72 65 65 6E 31 00 10 B5 If the current screen is a default one an err...

Page 457: ...SB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 61h 0Dh 00 var Data Format Item Length byte Description Screen Name Var Screen Name String copy from No longer than 32 bytes ASCII string terminated by 0x00 Screen Name Var Screen Name String New No longer than 32 bytes ASCII string terminated by 0x00 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 15 Byte 16 Byte 17 Header Tag Pr...

Page 458: ... CRC LSB ViVOtech2 0 61h 00h 00h 00h Example Store Screen Info TX 56 69 56 4F 74 65 63 68 32 00 61 0E 00 00 80 50 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 00 4B 81 19 3 12 Load Screen Info 61 0F This command clears all current screen information in RAM and loads the screen information from flash into RAM Command Frames Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol V...

Page 459: ...SB CRC MSB ViVOtech2 0 61h 10h 00 00 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 61h 00h 00h 00h Example Clear Screen Info TX 56 69 56 4F 74 65 63 68 32 00 61 10 00 00 E2 08 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 00 4B 81 19 3 14 Get All Screens 61 11 This comm...

Page 460: ...63 68 32 00 61 11 00 00 D2 3F RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 29 04 00 00 53 63 72 65 65 6E 31 00 00 01 53 63 72 65 65 6E 32 00 00 02 53 63 72 65 65 6E 33 00 00 03 53 63 72 65 65 6E 34 00 CF AD The response includes four screens numbered from 00 00 00 03 19 3 15 Get List of All Objects on Screen 61 12 This command retrieves a string list of all created object names on a specified screen ...

Page 461: ... Screen1 TX 56 69 56 4F 74 65 63 68 32 00 61 12 00 08 53 63 72 65 65 6E 31 00 11 20 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 38 05 00 00 54 65 78 74 31 00 01 00 42 75 74 74 6F 6E 31 00 02 00 4D 65 64 69 75 6D 20 42 75 74 74 6F 6E 31 00 03 00 49 6E 76 69 73 69 62 6C 65 31 00 06 00 4C 45 44 73 00 CC 6A 19 3 16 Query Screen by Name 61 13 This command checks if the specified screen exists Command Fra...

Page 462: ... 6E 31 00 58 F8 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 01 01 5B BF Query screen Screen4 which does not exist TX 56 69 56 4F 74 65 63 68 32 00 61 13 00 08 53 63 72 65 65 6E 34 00 AD 07 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 01 00 4B 9E 19 3 17 Query Object By Name 61 14 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 13 n Byte 14 n Byte 15 n Header Tag Protocol Version Com...

Page 463: ... 4F 74 65 63 68 32 00 61 00 00 09 01 53 63 72 65 65 6E 31 00 E0 9A 19 3 18 Query Screen by ID 61 15 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Byte 17 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 61h 15h 00 02 Screen ID See LCD UI Table 1 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 B...

Page 464: ...Byte 17 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 61h 16h 00 02 Object ID See LCD UI Table 1 Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 N Byte N 1 Byte N 2 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC LSB CRC MSB ViVOtech2 0 61h 00h 00h var See Below Data Format I...

Page 465: ...een TX 56 69 56 4F 74 65 63 68 32 00 61 17 00 00 72 8D RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 00 4B 81 19 3 21 Get RT1050 Firmware Version 29 80 This command retrieves the reader s ViVOpay firmware version number The reader returns a Response Frame containing the ViVOpay firmware version information Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Versi...

Page 466: ...Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 83h 00h 00h 00h Example Set Backlight 100 TX 56 69 56 4F 74 65 63 68 32 00 83 2F 00 01 64 93 FB RX 56 69 56 4F 74 65 63 68 32 00 83 00 00 00 22 03 19 3 23 Delete File 83 1F This command deletes a data file from the reader Command Frame Byte 0 9 Byte 10 Byte 11...

Page 467: ...65 2E 78 00 75 CC RX 56 69 56 4F 74 65 63 68 32 00 83 00 00 00 22 03 19 3 24 Transfer File 83 24 This command transfers a data file to the reader The maximum size of one file is 128KB the maximum number of image files is 64 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 13 n Byte 14 n m Byte 15 n m Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB para...

Page 468: ...Table 00h Variable If the command returns an error status the data portion may contain a 4 byte extended status giving more detailed error information in which case see the Appendix on Extended Status Codes A successful response contains a Status Code of zero and a data length of zero Example Download a 20 byte file named testfile x Each command contains 10 bytes of the file contents Set the flag ...

Page 469: ...Otech2 0 83h See Status Codes Table If the command returns an error status the data portion may contain a 4 byte extended status giving more detailed error information in which case see the Appendix on Extended Status Codes A successful response contains a Status Code of zero and the requested directory list as a zero terminated ASCII string containing the file names and file sizes in bytes The fi...

Page 470: ... Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Bytes 14 13 n Byte 14 n Byte 15 n Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Extended Status Code CRC MSB CRC LSB ViVOtech2 0 83h See Status Codes Table 00h 00h or 04h If the response status code is not Success 00h this command may return a 4 byte extended status code in the data portion of the response see Extended Sta...

Page 471: ...s 83 51 This command retrieves the RT1050 status Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 83h 51h 00h 00h Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Bytes 14 Byte 15 Byte 16 Header Tag Protocol Version Command Status Code Data Length MSB Data Length...

Page 472: ...B Data Length LSB See Below CRC LSB CRC MSB ViVOtech2 0 F0h 02h Data Format Item Length bytes Description Get Li Battery Voltage Percentage 0 Get Battery Voltage Value 1 0x00 Coin Battery Voltage Value 0x01 Li Battery Voltage Value Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB Data CRC...

Page 473: ...ion Command Status Code Data Length MSB Data Length LSB Data CRC MSB CRC LSB ViVOtech2 0 D1h See Status Codes Table 00h 06 MAC Address Data Format Item Length byte Description Interface 1 0x30 Ethernet Example Get MAC Address TX 56 69 56 4F 74 65 63 68 32 00 F0 02 00 01 00 2D 2A RX 56 69 56 4F 74 65 63 68 32 00 F0 00 00 02 A0 0B 19 EE 19 3 31 VP6800 Specific TS Command 90 13 This command performs ...

Page 474: ...9 3 32 Append Detailed Information 4C 47 This command sets how the VP6800 handles log files Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Bytes 14 13 n Byte 14 n Byte 15 n Header Tag Protocol Comman d Sub Comman d Length MSB Length LSB Data CRC LSB CRC MSB ViVOtech2 0 4Ch 47h 00h 01h see below Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte14 Byte 15 Byte 16 Header Tag Protoc...

Page 475: ...quence 61 20 This command only works on production devices and starts the dual control removal detection activation sequence Note the default password1 is 12345678 and password2 is 87654321 Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB Data Length LSB CRC LSB CRC MSB ViVOtech2 0 61h 20h 00h 00h Response Frame ...

Page 476: ...tech2 0 61h 50h see below Response Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Command Status Length MSB Length LSB CRC LSB CRC MSB ViVOtech2 0 4Ch See Status Code Table 00h 00h Data Format Item Length byte Data Field Description Video File Name Variable Video name string no longer than 30 bytes ASCII string terminated by 0x00 Example TX 56 69 56 4F 74 65 63 ...

Page 477: ...a Item Length bytes Description File Name Variable ASCII String Null Terminated Maximum file name length is 30 File Search from 1 0 Flash the Maximum audio file in Flash is 5M and only 2 audio file is supported 1 SD Card 19 3 38 QR Code Scan Start 61 41 This command is only available for a VP6800 with a camera PCI Standard version After the camera is turned on and then off the original screen show...

Page 478: ...sends a second response after the QR Code is completed read or timed out or it receives a QR Code Scan Stop command During the operation that is the interval between the first and second response the device only accepts the QR Code Scan Stop command which will cancel the current QR Code Scan Start operation The second response is the scanned QR code s data after the device completes reading it Exa...

Page 479: ...start timeout timer scanned QR code stop timeout timer continue start command timeout continue continue failed success Camera Module start command timeout start camera USDK FW timeout error start command timeout start timeout timer stop timeout timer start camera stop command stop camera success with string ...

Page 480: ...h LSB Data CRC MSB CRC LSB ViVOpayV3 0 61h See Status Code Table 01h 00h See below 19 3 40 Camera Take Photo Start 61 43 This command is only available for a VP6800 with a camera PCI Standard version After the camera is turned on and then off the original screen shown on screen before the camera is turned on will be lost Call 61 xx commands to change the screen Command Frame Byte 0 9 Byte 10 Byte ...

Page 481: ...interval between the first and second response the device only accepts the Camera Take Photo Stop command which will cancel the current Camera Take Photo Start operation The device rejects the Camera Take Photo Start command if an SD card does not exist Example TX 56 69 56 4F 74 65 63 68 32 00 61 40 00 01 01 35 23 RX 56 69 56 4F 74 65 63 68 32 00 61 00 00 00 4B 81 First response RX 56 69 56 4F 74 ...

Page 482: ...Camera UI Module start command timeout start camera USDK FW timeout start command timeout start timeout timer stop timeout timer start camera stop command stop camera failed Press button in screen thenTake a photo display 5 seconds Press button in screen thenTake a photo display 5 seconds Press button in screen thenTake a photo display 5 seconds Press button in screen thenTake a photo display 5 se...

Page 483: ...C LSB ViVOpayV2 0 61h See Status Code Table 01h 00h 19 4 Additional VP6800 Information 19 4 1 Settings Menu To access the settings menu 1 Reset the VP6800 2 Before the screen loads quickly press the top right corner of the screen then do a long press in the top left corner The device loads the settings menu 19 4 2 Press and hold Events The area that detects press and hold events is 70px 70px and a...

Page 484: ...he UI If the system UI shows a numeric entry screen the numeric entry is closed after the end of the numeric entry session 19 4 5 Extended Status Codes Status Code Status 00h OK 01h Incorrect Header Tag 02h Unknown Command 03h Unknown Sub Command 04h CRC Error in Frame 05h Incorrect Parameter 06h Parameter Not Supported 07h Mal formatted Data 08h Timeout 0Ah Failed NACK 0Bh Command not Allowed 0Ch...

Page 485: ...ust resend the InitSecureComm command 1Bh The EEPROM may not be initialized because SecCommInterface does not make sense 1CH Problem encoding APDU A0H Duplicated Name when create screen or object 19 5 Tutorial Creating Screens for the VP6800 The following sections outline the steps used to create screens for the VP6800 19 5 1 Creating Screen Style 1 1 Create Screen1 with the Create Screen 61 0A co...

Page 486: ...ption Screen Name 53 63 72 65 65 6E 31 Screen1 Object Name 54 65 78 74 31 Text1 Component ID 00 Text Area Alignment 00 Display object at the horizon center of specified y while x is ignored x coordinate 00 00 0 y coordinate 5E 00 94 Font ID 27 RoundSemibold_48 Font Color FC 44 30 00 blue B 252 G 68 R 48 String 44 45 4D 4F DEMO Command 56 69 56 4F 74 65 63 68 32 00 61 07 00 22 53 63 72 65 65 6E 31 ...

Page 487: ...age screen is 16 Data Item Code Description Screen Name 53 63 72 65 65 6E 31 Screen1 Object Name 49 6E 76 69 73 69 62 6C 65 20 42 75 74 74 6F 6E Invisible Button Component ID 03 Invisible Button Alignment 04 Display object at left of the screen of specified y while x ignored x coordinate 00 00 0 y coordinate 72 01 370 Command 56 69 56 4F 74 65 63 68 32 00 61 07 00 1F 53 63 72 65 65 6E 31 00 49 6E ...

Page 488: ... 00 00 0 y coordinate 72 01 370 Font ID 0E RoundCondensedMedium_12 Font Color 3A F1 2C 00 green B 58 G 241 R 44 String 49 6E 76 69 73 69 62 6C 65 20 42 75 74 74 6F 6E 20 69 73 20 68 65 72 65 Invisible Button is here Command 56 69 56 4F 74 65 63 68 32 00 61 07 00 36 53 63 72 65 65 6E 31 00 54 65 78 74 32 00 00 04 00 00 72 01 00 00 00 00 0E 3A F1 2C 00 49 6E 76 69 73 69 62 6C 65 20 42 75 74 74 6F 6E...

Page 489: ... maximum of 5 seconds Command 56 69 56 4F 74 65 63 68 32 00 83 2F 00 01 64 93 FB Response 56 69 56 4F 74 65 63 68 32 00 83 00 00 00 22 03 11 Publish and display Screen1 with the Show Screen 61 05 command Command 56 69 56 4F 74 65 63 68 32 00 61 05 00 08 53 63 72 65 65 6E 31 00 91 5C Response 56 69 56 4F 74 65 63 68 32 00 61 00 00 00 4B 81 12 Store all current screen information from RAM into flash...

Page 490: ...d The maximum number of images per page screen is 20 Notes Only JPEG files without orientation Exif info and width 272 height 480 are supported otherwise the VP6800 rejects this command Exif exchangeable image file format a standard that specifies the formats for images sound and ancillary tags used by digital cameras including smartphones scanners and other systems that handle image and sound fil...

Page 491: ... Object Name 4C 61 72 67 65 20 42 75 74 74 6F 6E Medium Button Component ID 02 Medium Button Alignment 00 Display object at the horizon center of specified y while x ignored x coordinate 00 00 0 y coordinate 22 01 290 String 42 75 74 74 6F 6E 32 Button2 Command 56 69 56 4F 74 65 63 68 32 00 61 07 00 24 53 63 72 65 65 6E 32 00 4D 65 64 69 75 6D 20 42 75 74 74 6F 6E 00 02 00 00 00 22 01 42 75 74 74 ...

Page 492: ... the Store Screen Info 61 0E command to ensure the device does not lose any data after a reboot Note If the device requires a reboot execute the Load Screen Info 61 0F command to display Screen2 again Command 56 69 56 4F 74 65 63 68 32 00 61 0E 00 00 80 50 Response 56 69 56 4F 74 65 63 68 32 00 61 00 00 00 4B 81 19 5 3 Additional Information About VP6800 Screens Note the following additional infor...

Page 493: ... following image To support or change to other styles modify RT1050 firmware 120px 60px unpressed 120px 60px pressed Maximum number of medium button components in each screen is 16 Maximum characters in each medium button component is 10 bytes Large Button Current supported style and size is fixed to the following image To support or change to other styles modify RT1050 firmware 250px 60px unpress...

Page 494: ... file size should 3MB If a file name includes an underscore _ only numbers can follow the underscore For example Correct video_1 avi Incorrect video_no1 avi Exif exchangeable image file format a standard that specifies the formats for images sound and ancillary tags used by digital cameras including smartphones scanners and other systems that handle image and sound files recorded by digital camera...

Page 495: ...um_0 ttf 48 19 RoundCondensedMedium_60 RoundCondensedMedium_0 ttf 60 20 RoundCondensedMedium_72 RoundCondensedMedium_0 ttf 72 21 RoundCondensedSemibold_12 RoundCondensedSemibold ttf 12 22 RoundCondensedSemibold_18 RoundCondensedSemibold ttf 18 23 RoundCondensedSemibold_24 RoundCondensedSemibold ttf 24 24 RoundCondensedSemibold_36 RoundCondensedSemibold ttf 36 25 RoundCondensedSemibold_48 RoundCond...

Page 496: ...NEO 2 Interface Developer s Guide 496 0xF0 0xF1 ē 0xF2 Not supported yet è 0xE8 é 0xE9 0x7E SM 0xF3 0x26 0x21 0xA1 0x3F 0xBF 0x2A 0x2B 0xA7 0xA2 0x24 0xB7 0x2F 0x5C 0x23 0x2D 0x25 0xBD 0xBC ...

Page 497: ...ot SRED validated At transaction time the reader will check the BIN range of a card the first 8 digits of the PAN against the white list to determine if the card can safely be considered a non financial card If so the transaction proceeds in the clear If not normal encryption policy prevails Because most white list cards are gift cards and most gift cards are magnetic stripe cards rather than ICC ...

Page 498: ...e 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 90h See Status Code Table 00 00 Example 56 69 56 4F 74 65 63 68 32 00 91 10 00 8E 8A 00 30 81 87 02 01 01 31 81 81 30 29 13 0B 49 44 54 45 43 48 20 54 45 53 54 30 0C 02 04 05 F5 E0 FF 02 04 05 F5 B9 F0 30 0C 02 04 05 F5 E0 FF 02 04 05 F5 E0 FF 30 29 13 0B 49 44 54 45 43 48 20 54...

Page 499: ...EQUENCE 3 elem PrintableStringIDTECH TEST SEQUENCE 2 elem INTEGER 88888888 first 8 digits of low bound INTEGER 88880000 last 8 digits of low bound SEQUENCE 2 elem INTEGER 88888888 first 8 digits of high bound INTEGER 88888888 last 8 digits of high bound SEQUENCE 3 elem PrintableStringIDTECH TEST SEQUENCE 2 elem INTEGER 43772365 first 8 digits of low bound INTEGER 40483093 last 8 digits of low boun...

Page 500: ... 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Status Code Data Length MSB Data Length LSB CRC MSB CRC LSB ViVOtech2 0 91h See Status Code Table 00h 00h 20 1 3 Retrieve Get MSR Whitelist C7 A2 This command used to set MSR White List Command Frame Byte 0 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Header Tag Protocol Version Command Sub Command Data Length MSB...

Page 501: ...ss than 512 Command Data Var Whitelist ASN 1 BLK is N bytes it is ASN 1 Block data for White List for Gift Card Format Whitelist ASN 1 structure Sequence Whitelist ASN 1 structure version 1 INTEGER BIN Exclusion Set bininfo Sequence binSetName PRINTABLESTRING 0 if no name binLow INTEGER bin binLow binHigh INTEGER bin binHigh Sign1 Device Length 2 For Non PCI device Not Exist keep 0x00 0x00 Sign1 D...

Page 502: ... PUNATC Track2 b 4 30 00 40 00 9F6D Kernel 4 Reader Capabilities b 2 00 01 9F7C Merchant Custom Data b 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DFEE28 Terminal Capabilities No CVM Required b 3 00 08 E8 DFEE29 Terminal Capabilities CVM Required b 3 00 68 E8 DFEE34 Terminal Contactless Transaction Limit n12 6 00 00 00 01 00 00 DFEE35 Visa Reader Risk Flags b 3 00 06 01 DFEE36 C...

Page 503: ...lue 03 French only display Value 04 Other Language if ILM present 2 Value 05 English French display Value 06 Japanese Table 85 NEOII Group 80 Master default tags Tag Description Format Length Default Value DFEE2D Group Number Fallback Group n2 1 80 5F57 Account type B 1 9F01 Acquirer Identifier n12 6 9F40 Additional Terminal Capabilities b 5 00 00 00 00 00 9F09 Application Version Number b 2 00 02...

Page 504: ...nial b 5 00 00 00 00 00 DF8122 TAC Online b 5 00 00 00 00 00 9F33 Terminal Capabilities b 3 9F1A Terminal Country Code n3 2 08 40 9F1C Terminal ID an 8 9F1D Terminal Risk Management b 8 6C FF 00 00 00 00 00 00 9F35 Terminal Type b 1 22 DFEE37 UI Scheme b 1 03 DFEE38 LCD Language b 1 00 DFEE0F Revocation List b 1 01 Table 86 NEOII Group 90 Visa default tags Tag Description Format Length Default Val...

Page 505: ...l Country Code n3 2 08 40 9F33 Terminal Capabilities b 3 00 08 E8 9F35 Terminal Type n2 1 25 9F40 Additional Terminal Capabilities b 5 60 00 00 30 00 9F6D Contactless Reader Capabilities n2 1 C0 9F6E Enhanced Contactless Reader Capabilities b 4 58 80 00 00 DFEE34 Terminal Contactless Transaction Limit n12 6 00 00 00 01 00 00 DFEE5C RF Deactivate Period b 4 01 50 00 00 DF8126 CVM Required Limit b 6...

Page 506: ... 9F09 Application Version Number b 2 00 02 9F1A Terminal Country Code n3 2 01 24 9F35 Terminal Type n2 1 22 9F58 Merchant Indicator n1 1 03 9F59 Terminal Transaction Information b 3 DC 87 00 9F5A Terminal Transaction Type b 1 00 9F5D Terminal Contactless Receipt Requirement Limit n12 6 00 00 00 00 50 00 9F5E Terminal Option Status b 2 E0 00 9F5F Terminal Contactless Floor Limit n12 6 00 00 00 00 5...

Page 507: ... Selection b 1 00 DFEE2C Target Percentage to be Used for Biased Random Selection b 1 00 DFEF45 JCB Removal Timeout The time after which cardholder is asked to remove the card b 2 10 00 DF8120 Terminal Action Code Default b 5 90 40 00 80 00 DF8121 Terminal Action Code Denial b 5 04 10 00 00 00 DF8122 Terminal Action Code Online b 5 90 60 00 90 00 DFEF50 JCB Terminal Interchange Profile static b 3 ...

Page 508: ...Identifier Group System Configuration 0 MasterCard A0 00 00 00 04 10 10 80 Maestro A0 00 00 00 04 30 60 80 Visa A0 00 00 00 03 10 10 90 Visa Electron A0 00 00 00 03 20 10 90 Visa Interlink A0 00 00 00 03 30 10 90 Visa Plus A0 00 00 00 03 80 10 90 Amex A0 00 00 00 25 01 A0 Discover ZIP A0 00 00 03 24 10 10 B0 Discover Dpas A0 00 00 01 52 30 10 B0 Interac A0 00 00 02 77 10 10 C0 JCB EMV A0 00 00 00 ...

Page 509: ...ress Group AID Partial Selection Selection Features Max AID Length Exclude from Processing Transaction Type List Kernel ID Application Flow DF EE 2D 9F 06 DF EE 4B DF EE 4D DF EE 2E DF EE 53 DF EE 54 DF EE 59 DF EE 4C 01 07 01 01 01 01 0F 01 01 80 A0 00 00 00 04 10 10 01 74 10 02 02 00 80 02 01 80 02 09 80 02 17 80 02 20 80 02 03 MasterCard PayPass Application Group AID Partial Selection Selection...

Page 510: ...ectron Group AID Partial Selection Selection Features Max AID Length Application Flow DF EE 2D 9F 06 DF EE 4B DF EE 4D DF EE 2E DF EE 4C 01 07 01 01 01 01 90 A0 00 00 00 03 30 10 01 14 10 06 VISA Application Visa Interlink Group AID Partial Selection Selection Features Max AID Length Transaction Type List Kernel ID Application Flow DF EE 2D 9F 06 DF EE 4B DF EE 4D DF EE 2E DF EE 54 DF EE 59 DF EE ...

Page 511: ... A0 00 00 02 77 10 10 01 10 02 15 Interac Application Group AID Partial Selection Max AID Length Application Flow DF EE 2D 9F 06 DF EE 4B DF EE 2E DF EE 4C 01 07 01 01 01 B0 A0 00 00 01 52 30 10 01 10 0D Discover D PAS Application Group AID Partial Selection Selection Features Max AID Length Application Flow DF EE 2D 9F 06 DF EE 4B DF EE 4D DF EE 2E DF EE 4C 01 07 01 01 01 01 90 A0 00 00 00 03 80 ...

Page 512: ...A 12 Card in Notification Behavior Some readers perform contact and contactless transactions and reader can return status code A3h after Activate Transaction 02 01 02 40 and user presentation of ICC card Interface transaction flow of ACT is shown below ...

Page 513: ...ior status The following table describes the LED 0 status between the polling mode and the UI scheme Table 93 LED 0 Behavior status LED 0 Behavior Poll mode Auto poll Poll on demane UI scheme ViVotech ON ON Visa wave Flash every 1 sec Toggle EMEA ON Flash every 5 sec ...

Page 514: ...ce Encryption Bank Card 0xXX M M M E H E H E H C Clear Data M Mask Data E Encrypted Data H Hash Data Table 95 Enhanced Encrypted MSR Data Output Format for Non Bank Card TTK not support C7 38 Parameter Value Clear Mask Data Encrypted Hash Data Track 3 Track 2 Track 1 Track 3 Track 2 Track 1 Force Encryption non Bank Card 0x00 0000 0x10 10000 C C C 0x01 0001 0x11 10001 C C E H 0x02 0010 0x12 10010 ...

Page 515: ...plication Cryptogram Generation EMV CID Cryptogram Information Data CVC Card Verification Code CVM Cardholder Verification Method EMV Book 3 C3 CVV Card Verification Value That s the 3 digit number on the back of cards DCVV Dynamic CVV DDA Dynamic Data Authentication EMV DF Dedicated File 7816 4 DOL Data Object List EF Elementary File 7816 4 EMV Europay MasterCard Visa EMVCo LLC IIN Issuer Identif...

Page 516: ... EMV SID SAM ID inside of reader T 0 Protocol Type T 0 is the asynchronous half duplex character transmission protocol T 1 Protocol Type T 1 is the asynchronous half duplex block transmission protocol TAK Terminal Authentication Key TC Transaction Certificate TID Terminal ID TLV Tag Length Value TSI Transaction Status Information EMV Book 3 C7 TTQ Terminal Transaction Qualifier TVR Terminal Verifi...

Page 517: ...0 table 38 231 table 50 Add Track 3 data description page 40 table 15 204 table 37 221 table 43 227 table 48 Delete MasterCard transaction Response Frame data description page 204 table 37 221 table 43 222 table 44 227 table 48 Add default configuration groups Master Visa Amex Discover Interac JCB EMV page 492 A 16 Add NEOII configuration group default tags page 498 A 17 Add NEOII Default System A...

Page 518: ...Rev 65 07 24 2018 Updated command information for 81 0B 81 0C and 81 0D Rev 66 07 30 2018 08 10 2018 Remove Vendi and Kiosk III tags and commands Remove for now references to ADF Clarify tag E1 usage Remove DFEE39 Remove warning about key erasure in 04 09 discussion Clarify DF811B Update Gen PAN command to show bit 7 usage in byte 1 Rev 67 08 17 2018 Remove Visa commands 04 0C 0D E and 03 0C D E R...

Page 519: ...se table After sending 03 02 please wait for 800ms after the response is received before continuing added to 03 02 Rev 80 01 31 2019 Add Cancel Transaction 05 01 to Contact commands section Rev 81 02 19 2019 Change DFED11 to DFEF3D Add K81 family to 09 02 results chart Clarify D0 03 length bytes as MSB LSB Add note to 12 01 to indicate that Serial Number is tail padded with 0x00 to a length of 15 ...

Page 520: ...tem Language D1 20 o Added Set Model Number 90 15 o Added Get Health Data from SCRP 29 30 Transaction Related Commands o Contact Updated Contact Get PIN Control 61 02 o Added note that 19 10 through 19 13 are reserved and used to Create Secure Channels for SCRP o Added 1CVMApp Get Nonce from SCRP for Refresh Token 19 15 o Added Refresh Enablement Token for SCRP 19 16 Configuration Tab Tables FFF3 ...

Page 521: ...able 18 System AIDs o Updated Table 28 System AID Default Configuration TLVs Transation Related Commands Contactless o DFEF3C Updated description table Rev 85 1 General o Implemented new minor version numbering scheme Each update will increment the minor version for the sake of easier version tracking in JIRA Miscellaneous NEO II Platform Commands o Added QR Code Scan Start 61 41 and QR Code Scan ...

Page 522: ...switches found in VP3600 Get TMS 29 20 o Added Get TMS command Rev 86 1 08 02 2019 Updated TLV tags to meet current NEO II spec o Most Global Configuration Tags were removed o PayPass Group Configuration TLVs are now in Master Group Configuration TLVs Rev 87 1 08 16 2019 Get DRS Info C7 3A o Changed Source ID 2 from Reserved to TM4 Slave Check Value Error Pass through Data Exchange Commands o Adde...

Page 523: ...style grammar and clarity from the start of the document through section 8 2 Commands o Set System Language changed sub command from D1 20 to D1 27 o Added Poll Felica Card 2C 44 o Added information about predefined screens for Show Screen 61 05 and Object Event Call Back 61 FF Removed Appendix A 8 White List Commands for VP3300 ...

Reviews: