Agilis® 91x/TCS Plus EMV Programmer's Guide, Version 1.1.0 Copyright ©Diebold, Incorporated TP-820874-001B PD 5648 March 2005 CONFIDENTIAL - Trade Secret Material Only Diebold and entities granted an express written license by Diebold may possess or use this material. Unauthorized possession or use is illegal and is punishable by fine and/or imprisonment. Important - click here for terms and conditions governing the use of this document. Document History Document Number Date Remarks TP-820874-001A 11/2003 Original Edition TP-820874-001B 3/2005 Updated for Version 1.1 Section 1 Introduction This manual is a reference for personnel who need to integrate the application with an existing automated teller machine (ATM) system, such as: • ATM programmers • Host and controller programmers responsible for ATM applications • Diebold service representatives This manual provides detailed descriptions of EMV Smart Card Application states and message elements. Section 8 contains a list of the status codes that are generated by the EMV Smart Card Application. This manual is a supplement to other terminal programming documentation, particularly the following documents: • Diebold 91X Terminal Control Software (TCS), TCS Plus, and 91X TCS CSP Terminal Programming Manual (TP-799387-001O) • Agilis® 91x Programming Manual (TP-820740-001B or later edition) This document is not a complete replacement for the above manuals. Readers should be familiar with Diebold ix or Opteva Series terminal programming and EMV Smart Card requirements and terminology. 1.1 About This Manual This manual is divided into the following sections. Extended Smart Card State Definitions - (Section 2) In Section 2, the Extended Smart Card State (SC b) provides Smart Card State based Operations in the state flow of the terminal. Write Command 19, Modifier A Message (Section 3) In Section 3, the EMV Smart Card Application uses the Write Command 19, Modifier A message to download Smart Card terminal configuration data to the ATM. This section gives a description of the Write Command 19, Modifier A message. Smart Card Consumer Request Messages (Section 4) The EMV Smart Card Application modifies the standard 912 Consumer Request Messages by appending the Smart Card data to the messages. Section 4 gives a detailed description of the modified 912 Consumer Request Messages exchanged between the terminal and the ATM driver for EMV transactions. Smart Card Function Commands (Section 5) The EMV Smart Card Application uses the Enhanced Function Commands and Standard 912 Function Commands to deliver EMV Smart Card transaction data to the ATM. Section 5 gives a detailed description of the Function Commands exchanged between the terminal driver and the ATM for EMV consumer transactions. Smart Card Solicited Status Messages (Section 6) The EMV Smart Card Application modifies the standard 912 solicited status messages by appending the Smart Card data to the messages. Section 6 provides a detailed description of the modified 912 solicited status messages exchanged between the terminal and the ATM driver for EMV transactions. Smart Card Unsolicited Status Messages (Section 7) The EMV Smart Card Application uses the standard 912 unsolicited status messages. Section 7 gives a detailed description of the 912 unsolicited status messages exchanged between the terminal and the ATM driver for EMV transactions. Status Codes (Section 8) Section 8 provides a list of the status codes that the EMV Smart Card Application can generate. The information includes a description of the error condition that initiated the status and a description of the corrective action to be taken. 1.2 Terminology and Conventions Terminal refers to a Diebold ix or Opteva Series teller machine (ATM). The term chip refers to the integrated circuit card (ICC) on the consumer's EMV-compliant Smart Card. The term currency code refers specifically to the international currency codes used by EMV. The symbol b represents the space character. The following table defines the terms, acronyms, and abbreviations used in this EMV environment. Table 1-1 Manual Terminology Term AAC [1] Definition Application Authentication Cryptogram AAR [1] Application Authorization Referral ABC Agilis Base Communications Agilis® A Diebold software environment for Diebold and foreign terminal ATMs ARPC [1] Authorization Response Cryptogram ARQC [1] Authorization Request Cryptogram ATC [1] Application Transaction Counter ATM Automated Teller Machine CIL Smart Card Common Interface Layer. Communication with the ICC using a separate DLL that the EMV Kernel provides CREQ Consumer Request message containing data to be routed CREQ_DOL List of EMV tags which the terminal will append to all outgoing CREQ messages. These tags are used in addition to the standard list of outgoing tags. CSS Diebold's Communication Subsystem DOL Data Object List. DDOL Default Dynamic Data Object List. This is the Dynamic Data Object List to be used if not present in the card EMV Europay-MasterCard-Visa - A joint effort to define and maintain Smart Card specifications EMV2000, Version 4.0 A revised version of the "EMV '96 Integrated Chip Card Specifications for Payment Systems " (Version 3.1.1.) that includes 4 books: • Book 1 - Application Independent IC Card and Terminal Interface Specification • Book 2 - Security Architecture • Book 3 - ICC Application Specification for Payment Systems • Book 4 - Cardholder, Attendant, and Acquirer Interface Requirements HTP A type of processor module in a computer or server, such as a Pentium III 500 MHz or 700 MHz having various functional requirements. ICC Integrated Circuit Card; also called Chip Card or Smart Card Issuer Authentication Data [1] ARPC + Issuer Discretionary Data M/Chip TM 4.0 MasterCard's Smart Card EMV Application/Specification PIN Personal Identification Number Scheme A multi-character Application Type: 2VS for VSDC, and 2MC for M/Chip, although other multi-character Application Types could be allowed. Smart Card A credit or debit card that contains an embedded integrated circuit (chipbased). A Smart Card is used to store digital information such as, digital cash, consumer identification, and network information. SST Self-Service Terminal Tag A 2 or 4-digit hex value specifying the EMV tag TC [1] Transaction Certificate TCS Plus Terminal Control Software - Software application allowing the connection of a financial host application to a Self-service Terminal (SST) that processes consumer transactions initiated on the SST. TDOL Default Transaction Certificate Data Object List. The is the Transaction Data Object List to be used if not present in the card VIS Visa Integrated Circuit Card Specification, Version 1.4.0 VSDC Visa Smart Debit and Visa Smart Credit EMV Application [1] Refer to the EMV2000, Version 4.0 specifications 1.3 Code Conventions Tables that show message formats use the following notational code conventions. Table 1-2 Code Conventions CODE SYMBOLS DESCRIPTION X Terminal ignores the data. The data for this code must be a valid character as described in the Diebold 91X Terminal Control Software (TCS), TCS Plus, and 91X TCS CSP Terminal Programming Manual, (TP-799387-001O) and Agilis 91x Programming Manual, (TP-820740-001B), as applicable. --- Data is dependent on the specific transaction performed and the valid range for the field. Refer to the field descriptions in this manual, or in the Diebold 91X Terminal Control Software (TCS), TCS Plus, and 91X TCS CSP Terminal Programming Manual, (TP-799387-001O) and the Agilis 91x Programming Manual, (TP-820740-001B) , as applicable. Brackets [ ] Indicates that the field is optional. You can completely delete the field from the message without affecting the format or meaning of the message. If the field is present in the message, the content must be valid data as described in this manual, or in the Diebold 91X Terminal Control Software (TCS) , TCS Plus, and 91X TCS CSP Terminal Programming Manual, (TP-799387-001O) and the Agilis 91x Programming Manual, (TP-820740-001B), as applicable. Colon : Indicates that the two digits following it are a hexadecimal number. '' Single quotation marks indicate that the characters enclosed within them are graphic characters from an ASCII or EBCDIC code set. VAR or VARIABLE (numeric) Indicates that the length of the field is variable. Numeric parenthetic expressions following VAR or VARIABLE show the maximum length allowed in the field. 1.4 Documentation In addition to this programmer guide, the EMV Smart Card Application documentation includes additional reference manuals for ATM user, programmers and host programmers responsible for ATM applications. The titles, part numbers, and descriptions of these manuals are described in the following paragraphs. Agilis® 91x EMV-specific Documents The Agilis® 91x/TCS Plus EMV User's Guide, Version 1.1.0, (TP-820847-001B) provides the user information on special features of the EMV Smart Card Application, hardware and software requirements, file formats, and operating instructions. This manual also lists information on Restricted TAGs in AppendixA. For detailed information for Agilis 91x-specific terminal programming, refer to the Agilis 91x Programming Manual , (TP-820740-001B). The Agilis 91x Status Reference Manual, (TP820741-001C) provides status message information specific to the Agilis 91x software terminal. TCS-specific Documents For detailed information about aspects of terminal programming that are not EMV-specific, refer to the Diebold 91X Terminal Control Software (TCS), TCS Plus, and 91X TCS CSP Terminal Programming Manual, (TP-799387-001O) . The Diebold 91X Terminal Control Software (TCS) and 91X TCS CSP Status Reference Manual (TP-799113-001Q), provides status message information when a terminal is operating in the 912 Native mode. If there is a Device Status message, it can appear or print on the Journal printer, the device activity log, or both. These messages can also be sent to the Network. External Documents Other external documentation essential to the information in this manual and referenced throughout, are as follows: • EMV2000 Integrated Circuit Card (ICC) Specification for Payment Systems, Version 4.0 (Books 1 through 4), dated December, 2000. • Visa Integrated Circuit Card Specification (VIS), Version 1.4.0, dated April 2000 • Europay International Terminal Requirements for Acceptance of Chip Pay Now (Debit) or Pay Later (Credit) Cards, Version 4.0, dated August 2001 Section 2 Extended Smart Card State Definitions The Extended Smart Card State (SC b) is able to provide Smart Card State-based Operations in the state flow of the terminal. The Extended Smart Card State is defined, as follows: • Variable in length and defined per operation • Basic requirements consist of the State Number, State Type, Operation, Good Operation Next State, Invalid Operation Next State, and Device Failure Next State • Other fields are defined on a per operation basis. The Extended Smart Card State contents vary depending on the Operation. The following sections detail the Extended Smart Card State definitions, based on the Operation. Operation The Operation entry tells the terminal what Smart Card Operation to perform during the State. The following valid Operation values for the Extended Smart Card State for the EMV Smart Card Application are defined in Table 2-1. Table 2-1 Smart Card State Operations Used for the EMV Smart Card Application Operation Description 001 - 009 Reserved 010 Authorization Request Cryptogram (ARQC) 011 ICC Transaction Termination 012 - 094 Reserved 095 Update Buffer with ICC Data 096 Reserved 097 Select Application/Initiate Application Processing 098 Reserved 099 ICC Session Initialization (power-up chip) The Operation entry in the State Data initiates an ICC Transaction Module which performs the operation defined for that module. There is an ICC Transaction Module for each Operation. 2.1 Authorization Request Cryptogram Operation (ARQC) The Authorization Request Cryptogram Operation (ARQC) retrieves the transaction type and dollar amount flag from the buffer specified in the Transaction Type Buffer ID. Process Restrictions, CVM List Processing, Terminal Risk Management, and Terminal Action Analysis are performed. The request for an ARQC is then issued to the ICC. The ARQC, along with supporting data, is placed in the Smart Card buffer and then sent to the Host in the next Consumer Request Message. Table 2-2 displays the Authorization Request Cryptogram Operation (ARQC). Table 2-2 Authorization Request Cryptogram Operation (ARQC) Description Code Length State Number XXX 3 State Type SC b 3 Unit Number 001 3 Operation 010 3 Good Operation Next State XXX 3 Invalid Operation Next State XXX 3 Device Failure Next State XXX 3 Application Authentication Cryptogram Next State XXX 3 Transaction Type Buffer ID XXX 3 Smart Card Buffer ID 077 3 State Type Valid Range: SC b Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data. Unit Number Valid Range: 001 Description: The Unit Number of the Extended Smart Card state must be 001. Operation Valid Range: 010 Description: After preprocessing, an ARQC is requested and data is placed in the Smart Card buffer for delivery to the Host with the next Consumer Request Message. Good Operation Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when the Operation specified is successful. Invalid Operation Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when the Operation is not defined for the Smart Card system. Device Failure Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to if it detects a device failure. Application Authentication Cryptogram Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to after the terminal requests an ARQC, or AAC, and an AAC is returned. This occurs when the transaction was declined offline by the terminal or ICC. Transaction Type Buffer ID Valid Range: 064-090 (@,A-Z), 256-355 Description: Updated during transaction selection with the EMV transaction type and the dollar amount flag when the dollar amount flag is '0'. Otherwise, the dollar amount is retrieved from the Dollar Buffer. The format of the data in the transaction type buffer is shown below. Description Length Transaction Type (8583 Processing Code) 2 Goods and Services "00" Cash "01" Dollar Amount Flag Use zero dollar amount "0" Use dollar amount buffer "1" 1 Example 1, shown below, is used for creating a buffer for a Transaction Type and Dollar Amount Flag. This example sets the Transaction Type to “00" (Goods and Services) and sets the Dollar Amount Flag to “1" (Use dollar buffer). Example 2 sets the Transaction Type to “01" (Cash) and sets the Dollar Amount Flag to “1" (Use dollar buffer). All “Values" are entered as decimal. EXAMPLE 1 010@L 012067048048049 010 @L 012 067 048 048 049 - State Number Create Buffer Good Operation Next State Buffer ID Value: Set to ‘0' Value: Set to ‘0' Value: Set to ‘1' EXAMPLE 2 010@L 012067048049049 010 @L 012 067 048 049 049 - State Number Create Buffer Good Operation Next State Buffer ID Value: Set to ‘0' Value: Set to ‘1' Value: Set to ‘1' Smart Card Buffer ID Valid Range: 077 Description: Holds the Smart Card data before it is delivered to the host. This reserved buffer value, 077 (M), can be configured. 2.2 ICC Transaction Termination Operation The ICC Transaction Termination Operation allows completion of a transaction with the ICC when a time-out occurs while waiting for a response from the host to a Consumer Request Message. The ICC Transaction Termination Operation issues a Generate AC request to the ICC for an AAC to complete the transaction. Therefore, the time-out next state of the Consumer Request should be the ICC Transaction Termination Operation. Table 2-3 displays the ICC Transaction Termination Operation. Table 2-3 ICC Transaction Termination Operation Description Code Length State Number XXX 3 State Type SC b 3 Unit Number 001 3 Operation 011 3 Good Operation Next State XXX 3 Invalid Operation Next State XXX 3 Device Failure Next State XXX 3 Smart Card Buffer ID XXX 3 State Type Valid Range: SC b Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data. Unit Number Valid Range: 001 Description: The Unit Number of the Extended Smart Card state must be 001. Operation Valid Range: 011 Description: Performs the ICC Transaction Termination during this state. Good Operation Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when the operation specified is successful. Invalid Operation Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when the Operation is not defined for the Smart Card system. Device Failure Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to if it detects a device failure. Smart Card Buffer ID Valid Range: 000, 077 Description: Holds the Smart Card data before it is delivered to the host in an Unsolicited Status. This reserved buffer value, 077 (M), can be configured. If the buffer number is ‘000', the Smart Card data is not placed in any buffer and no Smart Card data will be appended to the Unsolicited Status. 2.3 Update Buffer with ICC Data Operation The Update Buffer with ICC Data Operation places the ICC Data specified by the ICC Data field in the Agilis 91x/TCS Plus buffer, specified by the Update Buffer ID. Table 2-4 displays the Update Buffer with ICC Data Operation. Table 2-4 Update Buffer with ICC Data Operation Description Code Length State Number XXX 3 State Type SC b 3 Unit Number 001 3 Operation 095 3 Good Operation Next State XXX 3 Invalid Operation Next State XXX 3 Device Failure Next State XXX 3 ICC Data XXX 3 Update Buffer ID XXX 3 Include Sentinels XXX 3 State Type Valid Range: SC b Description: The State Type entry identifies the specific type of State Data entries associated with a particular state number. The State Type entry is considered to be part of the State Data. Unit Number Valid Range: 001 Description: The Unit Number of the Extended Smart Card state must be 001. Operation Valid Range: 095 Description: Updates the Agilis 91x/TCS Plus buffer with specified ICC Data. Good Operation Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when the Operation specified is successful. Invalid Operation Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when the Operation is not defined for the Smart Card system. If the ICC Data requested is missing, this will be the state initiated by the terminal. Device Failure Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to if it detects a device failure. ICC Data Valid Range: 002 - 004 Description: Specifies the ICC data that is placed in the specified Agilis 91x/TCS Plus buffer. Valid Ranges: 002 - ICC Track 2 Equivalent Data 003 - ICC Track 1 Equivalent Data 004 - ICC Customer Name NOTE If any of these three data items are not mandatory Smart Card items, the Invalid Operation Next State will not terminate the transaction, unless it is known that the requested item should be present in the ICC. Update Buffer ID Valid Range: 064-090 (@,A-Z), 256-355 Description: Specifies the buffer where the ICC Data is stored. Include Sentinels Valid Range: 000, 001 Description: Specifies whether the Start and End Sentinels will be added to the ICC Track 1 or 2 data, before it is placed in the specified buffer. If the ICC Data field is 004 (ICC Customer Name), this field is ignored and sentinels will not be added to the data. Valid Ranges: 000 - Do not add the sentinels 001 - Add the sentinels 2.4 Select Application/Initiate Application Operation The Select Application/Initiate Application attempts to select an application from an internally-held list of supported applications using the Application Identifier (AID). A list of applications, supported mutually by the terminal and the ICC, is determined. The highest priority application, not requiring cardholder confirmation, is selected. If two or more applications exist with the highest priority, the first application in the list is selected. NOTE In order for partial application selection to be possible, at least one of the following two conditions must be met. If, at least one of these conditions is not met, then partial selection cannot be performed. • The ICC must contain Payment Systems Environment directory • The ICC must support partial selection After the application is successfully selected, the ICC data is read and stored. Table 2-5 displays the Select Application/Initiate Application operation. Table 2-5 Select Application/Initiate Application Operation Description Code Length State Number XXX 3 State Type SC b 3 Unit Number 001 3 Operation 097 3 Good Operation Next State XXX 3 Invalid Operation Next State XXX 3 Device Failure Next State XXX 3 No Application Supported Next State XXX 3 Easy Entry Next State 255 3 Sub Operation XXX 3 State Type Valid Range: SC b Description: The State Type entry identifies the specific types of State Data entries associated with a particular state number. The State Type entry is part of the State Data. Unit Number Valid Range: 001 Description: The Unit Number of the Extended Smart Card state must be 001. Operation Valid Range: 097 Description: Performs the Select Application and reads the card data. Good Operation Next State Valid Range: 000-250, 256-999, A00-ZZZ, 255 Description: Identifies the exit state the terminal goes to when the Operation specified is successful. If the state number is '255', the 'Next State' downloaded, using Write Command 19, Modifier A, for the selected application, identifies the exit state. This method is used to process different state flows based on the Smart Card Application selected (VSDC, M/Chip, etc.). Invalid Operation Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when the Operation is not defined for the Smart Card system. Device Failure Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to if it detects a device failure. No Application Supported Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when no application on the ICC is supported by the terminal. Easy Entry Next State Valid Range: 255 Description: No longer supported. The field has been maintained for backwards compatibility with Diebold's OS/2 EMV Kernel with Smart Card Solution Set 1. Sub Operation Valid Range: 000, 001 Description: Both sub operations have the same functionality. Based on the terminal supported AID list, the EMV Kernel determines the application selection method. Sub Operations 000 and 001 are accepted for compatibility with Diebold's OS/2 EMV Kernel with Smart Card Solution Set 1. 2.5 ICC Session Initialization Operation (power-up chip) The ICC Session Initialization Operation initializes the connection to the chip. If the chip is not connected, the Smart Card Reader attempts to move the Smart Card into position and connect the chip. After connection to the chip is made by the Smart Card Reader, power is applied and the chip is reset. Table 2-6 displays the ICC Session Initialization Operation. Table 2-6 ICC Session Initialization Operation Description Code Length State Number XXX 3 State Type SC b 3 Unit Number 001 3 Operation 099 3 Good Operation Next State XXX 3 Invalid Operation Next State XXX 3 Device Failure Next State XXX 3 Invalid Card Next State XXX 3 State Type Valid Range: SC b Description: The State Type entry identifies the specific types of State Data entries associated with a particular state number. The State Type entry is part of the State Data. Unit Number Valid Range: 001 Description: The Unit Number of the Extended Smart Card state must be 001. Operation Valid Range: 099 Description: Performs the ICC Session Initialization during this state. Good Operation Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when the Operation specified is successful. Invalid Operation Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when the Operation is not defined for the Smart Card system. Device Failure Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to if it detects a device failure. Invalid Card Next State Valid Range: 000-250, 256-999, A00-ZZZ Description: Identifies the exit state the terminal goes to when the terminal is unable to connect to the ICC. Section 3 Write Command 19, Modifier A Message As part of terminal configuration, EMV terminal configuration data must be loaded into the terminal's memory. The EMV terminal configuration data can be downloaded from the ATM (Host) driver by using Write Command 19, Modifier A messages. The terminal's memory retains the data until Agilis® 91x/TCS Plus is shut down or power is removed from the terminal. The EMV terminal configuration is separated into three levels. From the most specific to the least specific, the levels are: Application Specific data, Scheme Specific data, and EMV Specific data. Data in a more specific level will take precedence over data in a less specific level. This gives a layered approach for the configuration, where data items at a lower precedence can be overridden by data items at a more specific level. The format of this data will be described in the following sections. Table 3-1 displays the format of the Write Command 19, Modifier A message. Table 3-1 Write Command 19, Modifier A Message Format Description Data Length Protocol Dependent Header Variable Variable Write Command Identifier '3' 1 Response Flag [X] 1 Field Separator :1C 1 Logical Unit Number [X] 3 Field Separator :1C 1 Message Sequence Number [X] 0-8 Field Separator :1C 1 Write Identifier '1' 1 Modifier 'A' 1 Field Separator :1C 1 Data Identifier --- Variable [1] Data --- Variable Group Separator [:1D] 1 [2] Data Identifier [---] Variable [1] [2] Data [---] Variable [2] Protocol Dependent Trailer Variable Variable [1] The Data Identifier can consist of either a 2-character identifier or a single digit numeric length, followed by a longer identifier. Currently, the valid Data Identifiers are: AI, VS, 2VS, 2MC, and 3EMV. The system can be configured for other data identifiers. [2] This group of fields (group separator, data identifier, and data) can be repeated as required, as long as the total message length does not exceed 1920 bytes. 3.1 Application Specific The Data Identifier ‘AI' is used to signify that the Write Command contains EMV Smart Card Application Identifier information which is used for EMV processing. The Application Specific data are values that are associated with the Application Identifier (AID) specified in the first field of the data. The value, for a specified tag associated with the AID, overrides any value for the same tag set in the Scheme Specific or EMV Specific data. The following paragraphs describe the Select Application specific fields. Data Identifier - Application Specific (AI) Length: 2 Valid Range: AI Description: The Data Identifier indicates the type of terminal configuration data that follows. The characters 'AI' identify the data as Application Identifiers (AIDs). Use the 'AI' data identifier to download AIDs supported by the terminal, along with configuration data associated with each AID. The downloaded AIDs must be for applications supported by both the terminal and Host. Data Length: Variable Description: The data field contains terminal configuration data. The following table contains the format of the data elements associated with the Application Identifier. Description Data Length Application Identifier --- 10-32 ASCII Unit Separator :1F 1 Partial AID Flag '0' or '1' 1 Unit Separator :1F 1 Next State Valid state numbers 3 Unit Separator :1F 1 Scheme Identifier --- Variable Unit Separator [:1F] 1 [1] Tag [---] Variable [1] Unit Separator [:1F] 1 [1] Value [---] Variable [1] Record Separator [:1E] 1 [2] Application Identifier [---] 10-32 ASCII [2] Unit Separator [:1F] 1 [2] Partial AID Flag ['0' or '1'] 1 [2] Unit Separator [:1F] 1 [2] Next State [Valid state numbers] 3 [2] Unit Separator [:1F] 1 [2] Scheme Identifier [---] Variable [2] Unit Separator [:1F] 1 [1] [2] Tag [---] Variable [1] [2] Unit Separator [:1F] 1 [1] [2] Value [---] Variable [1] [2] [1] These elements are optional as a group. [2] These elements are optional. Each record separator is present if, and only if, the information that follows it is included in the message. The following paragraphs describe the data records. Application Identifier Length: 10-32 hex characters Valid Range: The Payment Schemes will define the valid AIDs. Description: The Application Identifier indicates the 5-byte to 16-byte AID used during the application selection process on the smart card. The data is converted to ASCII characters before being sent to the terminal. Partial AID Flag Length: 1 character Valid Range: '0' or '1' Description: A '1' in this field signifies that the AID is a partial identifier and should be matched accordingly during application selection. A '0' in this field signifies that the Application Identifier is fully specified. Next State Length: 3 characters Valid Range: 000 - 250, 256 - 999, A00-ZZZ (Valid State Numbers) Description: The Next State entry specifies the next state to perform if the associated application is selected. The Next State data is used by the Select Application state when the Good Operation Next State equals 255. When the Good Operation Next State is not equal to 255, Agilis 91x/TCS Plus attempts to perform the specified Good Operation Next State. Scheme Identifier Length: Variable Valid Range: 'VS', ‘2VS' (VSDC), or ‘2MC' (M/Chip) Description: This field represents the payment scheme with which this AID is associated. It also associates this AID with any Scheme Specific data configured for the terminal. Currently, these are the only defined scheme identifiers. The one digit number represents the length of the identifier. The actual identifiers stored will be ‘VS' or ‘MC'. By using the one digit number, it allows for adding identifiers with lengths of 1 to 9 characters. NOTE Although these are the only defined scheme identifiers, the terminal can be configured for other schemes. Contact your Diebold representative for further information. Tag Length: Variable Valid Range: Any valid EMV, VSDC, or M/Chip TLV tag, plus “NDefault_DDOL", “NDefault_TDOL", “NTAC-Denial", “NTAC-Online" and “NTAC-Default". Description: Tag that identifies the data value in the next field. For TLV tags, the tags must be converted to ASCII format. The Diebold defined tags are sent in the ASCII format as shown. The first character of ‘N' in the Diebold defined tags is used to identify it as a non-TLV tag. The ‘N' is removed before storing the defined tag. The tags, and their data, will be associated with the AID downloaded in this message. Therefore, the tags should be the Diebold defined tags, EMV tags or tags defined by the Payment Scheme (VSDC, M/Chip, etc.) associated with the AID. Some EMV, VSDC, and M/Chip tags and values cannot be set. These are restricted tags and values that are read from the ICC, terminal specific, or entered by the customer during the transaction. For more information on restricted tags, refer to the Agilis 91x/TCS Plus EMV User's Guide, Version 1.1.0, (TP-820847-001B), Appendix A. Value Length: Variable Valid Range: Valid values for the specified tag Description: All values must be converted to ASCII, even values that are defined as alphanumeric or alphanumeric special. For Diebold defined tags, “NDefault_DDOL", “NDefault_TDOL", “NTAC-Denial", “NTAC-Online" and “NTAC-Default", the valid values for these fields should be defined by the Payment Scheme. 3.2 Scheme Specific The Scheme Specific data is described in the following paragraphs. The Scheme Specific data are tags and values that are associated with transactions for a particular Payment Scheme (VSDC, M/Chip, etc.). The value, for a specified tag associated with the Payment Scheme, overrides any value for the same tag, set in the EMV Specific data. The Data Identifier, for Scheme (2VS, 2MC), provides a link to an AID through the Scheme Identifier specified in the Application Specific data. Data Identifier - Scheme Length: Variable Valid Range: ‘2VS', ‘2MC' Description: The data identifier indicates the type of data that follows. ‘2VS' identifies the data as Visa Smart Debit and Visa Smart Credit specific. ‘2MC' identifies the data as MasterCard M/Chip specific. Currently, these are the only defined scheme data identifiers. The one digit number represents the length of the identifier. The actual identifiers stored will be ‘VS' or ‘MC'. By using the one digit number, it allows for adding identifiers with lengths of 1 to 9 characters. NOTE Although these are the only defined scheme data identifiers, the terminal can be configured for other schemes. Contact your Diebold representative for further information. Data Length: Variable Description: The data field contains terminal configuration data. The following table contains the format of the data elements associated with the data identifier for scheme. Description Data Length Tag --- Variable Unit Separator :1F 1 Value --- Variable Unit Separator (US) [:1F] 1 [1] Tag [---] Variable [1] Unit Separator (US) [:1F] 1 [1] Value [---] Variable [1] [1] These elements are optional as a group. They can be repeated for the number of required tag and value pairs, up to the maximum message size. Tag Length: Variable Valid Range: Any valid EMV, VSDC, or M/Chip TLV tag, plus “NCREQ_DOL", NSolicited_DOL", and "NUnsolicited_DOL". Description: Tag that identifies the data value in the next field. The tags are associated with the specified Scheme Data Identifier. Therefore, the tags should be the Diebold defined tags, EMV tags or tags defined by the payment scheme associated with the Scheme Data Identifier. For TLV tags, the tags must be converted to ASCII format. The Diebold defined tags are sent in the ASCII format as shown. The first character of ‘N', in the Diebold defined tags, is used to identify it as a non-TLV tag. The ‘N' is removed before storing the defined tag. "NCREQ_DOL", NSolicited_DOL" and "NUnsolicited_DOL" are used to list tags for additional EMV data to be sent in the Consumer Request, Solicited Status, and Unsolicited Status messages. Some EMV, VSDC, and M/Chip tags and values cannot be set. These are restricted tags and values that are read from the ICC, terminal specific, or entered by the customer during the transaction. For more information on restricted tags, refer to the Agilis 91x/TCS Plus EMV User's Guide, Version 1.1.0, (TP-820847-001B), Appendix A. Value Length: Variable Valid Range: Valid values for specified tag Description: All values must be converted to ASCII. For Diebold defined tags, “NCREQ_DOL", “NSolicited_DOL" and “NUnsolicited_DOL", the data is a concatenated list of EMV, VSDC or M/Chip TLV tags. EXAMPLE NCREQ_DOL[:1F]9F019F159F1697 This would add Acquirer ID (9F01), Merchant Category Code (9F15), Merchant Identifier (9F16), and TDOL from ICC (97) to the Smart Card data sent in the Consumer Request for EMV transactions for the specified scheme. 3.3 Visa Compatibility Specific The Visa Compatibility Specific format is provided for backwards compatibility with Diebold's OS/2 EMV Kernel with Smart Card Solution Set 1 application. The Visa Compatibility Specific data is similar to the Scheme Specific data with a Data Identifier of 2VS. It is used by the same Payment Scheme (VSDC), but it is limited to the data and format described in the following paragraphs. This format should only be used by terminal drivers who are currently using Diebold's OS/2 EMV Kernel with Smart Card Solution Set 1 and are not planning terminal driver changes to meet the latest EMV standards (EMV2000). Data Identifier - Visa Compatibility Specific Length: 2 characters Valid Range: ‘VS' Description: The data identifier indicates the type of data that follows. ‘VS' identifies the data as Visa Smart Debit and Visa Smart Credit specific. Data Length: Variable Description: The data field contains terminal configuration data. The following table contains the format of the data elements associated with Visa Smart Debit and Visa Smart Credit compatibility specific data identifier. Description Tag Data Length '5F2A' 4 Transaction Currency Code --- 4 Unit Separator (US) :1F 1 Tag ‘9F1A' 4 Terminal Country Code --- 4 Tag Length: 4 characters Valid Range: ‘5F2A' Description: The Transaction Currency Code tag converted to ASCII. Transaction Currency Code Length: 4 characters Valid Range: Represented according to ISO 4217. Description: The Transaction Currency Code converted to ASCII. Tag Length: 4 characters Valid Range: ‘9F1A' Description: The Terminal Country Code tag converted to ASCII. Terminal Country Code Length: 4 characters Valid Range: Represented according to ISO 3166. Description: The Terminal Country Code converted to ASCII. NOTE Currency and country codes are three characters. The 3-character code for the United States is '840'. However, these codes are downloaded with leading zeros, such as '0840'. 3.4 EMV Specific The EMV Specific data are tags and values that are applicable to all EMV transactions, regardless of AID or Payment Scheme; i.e., 9F1A (Terminal Country Code). Since these values, for a specified tag, are the least specific, if a value, for an identical tag, is set at a more specific level, it will override the value set at this level. The EMV Specific data is described in the following paragraphs. Data Identifier - EMV Length: 4 Valid Range: ‘3EMV' Description: The data identifier indicates the type of data that follows. ‘3EMV' identifies the data as associated with all EMV transactions. The one digit number represents the length of the identifier. The actual identifier stored is ‘EMV'. By using the one digit number, it allows for adding identifiers with lengths of 1 to 9 characters. Data Length: Variable Description: The data field contains terminal configuration data. The following table contains the format of the data elements associated with the EMV data identifier. This data is used for all EMV transactions. Description Data Length Tag --- Variable Unit Separator :1F 1 Value --- Variable Unit Separator (US) [:1F] 1 [1] Tag [---] Variable [1] Unit Separator (US) [:1F] 1 [1] Value [---] Variable [1] [1] These Elements are optional as a group. They can be repeated for the number of required tag and value pairs, up to the maximum message size. Tag Length: Variable Valid Range: Any valid EMV, VSDC, or M/Chip TLV tag, plus “NCREQ_DOL", “NSolicited_DOL" and “NUnsolicited_DOL" Description: Tag that identifies the data value in the next field. The tags are associated with an EMV transaction. Therefore, the tags should be the Diebold defined tags or EMV tags associated with all EMV transactions. For TLV tags, the tags must be converted to ASCII format. The Diebold defined tags are sent in the ASCII format as shown. The first character of ‘N', in the Diebold defined tags, is used to identify it as a non-TLV tag. The ‘N' is removed before storing the defined tag. “NCREQ_DOL", “NSolicited_DOL" and “NUnsolicited_DOL" are used to list tags for additional EMV data to be sent in the Consumer Request, Solicited Status and Unsolicited Status messages. Some EMV, VSDC and M/Chip tags and values cannot be set. These are restricted tags and values that are read from the ICC, terminal specific, or entered by the customer during the transaction. For more information on restricted tags, refer to the Agilis 91x/TCS Plus EMV User's Guide, Version 1.1.0, (TP-820847-001B), Appendix A. Value Value: Variable Valid Range: Valid values for specified tag Description: All values must be converted to ASCII. For Diebold defined tags, “NCREQ_DOL", “NSolicited_DOL" and “NUnsolicited_DOL", the data is a concatenated list of EMV, VSDC or M/Chip tags. EXAMPLE NCREQ_DOL[:1F]9F019F159F1697 This would add Acquirer ID (9F01), Merchant Category Code (9F15), Merchant Identifier (9F16), and TDOL from ICC (97) to the Smart Card data sent in the Consumer Request for all EMV transactions. Section 4 Smart Card Consumer Request Messages This section describes how the Buffers to Follow ID, Buffer ID, and Buffer Data fields of the Consumer Request Message are used to deliver EMV Smart Card data to the host for EMV Smart Card transactions. Refer to the previously mentioned manuals for the position and usage of these fields within the Consumer Request Message. EMV systems use a modified Consumer Request Message. The basic Consumer Request Message is described in the following manuals: • Diebold 91X Terminal Control Software (TCS), TCS Plus, and 91X TCS CSP Terminal Programming Manual, (TP-799387-001O) for TCS Plus • Agilis 91x Programming Manual, (TP-820740-001B) or later edition for Agilis®91x Buffers to Follow ID Field Size: 1 Valid Range: 9 Description: A 1-character field identifying the data that follows as a Buffer ID followed by Buffer Data. Buffer ID Field Size: 3 Valid Range: 077 (Buffer 077 is reserved for Smart Card use.) Description: A 3-character field identifying the data that follows as Smart Card data Buffer Data Field Size: Limited only by the maximum length of a Consumer Request Message Valid Range: Description: The contents of the variable length buffer field depends on the Smart Card transaction requested. Refer to the Agilis 91x/TCS Plus EMV User's Guide, Version 1.1.0, (TP820847-001B) for the format of the Consumer Request Smart Data. The Smart Card fields shown in Table 4-1 are added to the message prior to the Rollover Counts and MAC data, if either is present. Table 4-1 Smart Card Consumer Request Message Format Description Code Length Field Separator (FS) :1C 1 Buffers To Follow ID 9 1 Smart Card Buffer ID 077 3 Smart Card Buffer Data --- VAR For more information, refer to the Diebold 91X Terminal Control Software (TCS) , TCS Plus, and 91X TCS CSP Terminal Programming Manual, (TP-799387-001O) and the Agilis 91x Programming Manual, (TP-820740-001B) or later edition. Section 5 Smart Card Function Commands Hosts that support the EMV Smart Card Application can use either of the following Function Command message types, which support the Smart Card: • Enhanced Function Command Message • Modified 912 Function Command Message 5.1 Enhanced Function Command Message The Enhanced Function Command supports function-based operations on the Smart Card. The format of the Enhanced Function Command used to support Smart Card Operations is identical to that defined in the following manuals: • Diebold 91X Terminal Control Software (TCS) , TCS Plus, and 91X TCS CSP Terminal Programming Manual (TP-799387-001O) • Agilis 91x Programming Manual (TP-820740-001B) The Smart Card data is delivered using the Field ID '9' (Update Buffers) with the Group ID (Buffer ID) specified as 'M', which is reserved for Smart Card use. Data follows in the Buffer Data. The Smart Card Buffer data contents must be formatted as defined in Agilis®91x/TCS Plus EMV User's Guide, Version 1.1.0 (TP-820847-001B), which details the ICC Data Definitions. The following table shows the format of the data after it is delivered in an Enhanced Function Command. Description Field ID Data Length '9' 3 Group ID (Device ID) 'M' 3 Buffer Data Smart Card Data VAR (Variable) The Smart Card function-based Operation is defined as a Group ID (Device ID) within the Field ID ':' (Perform Function). The following table displays the format of the data after it is delivered in the Enhanced Function Command. NOTE The Smart Card Function must be initiated before the dispense, or any other operation which requires the authentication of the transaction before being completed, so that if the transaction is declined, the dispense, or other operation, will not be performed. Description Code Length Group ID SC b 3 Unit Number 001 3 Operation XXX 3 Screen Number 000 3 Smart Card Buffer ID 077 3 The Operation must be identical to the 3-digit numeric portion of the Smart Card ID received in the Consumer Request Message which initiated the transaction. Refer to Section 4 for details on the Smart Card Consumer Request Message Operation. 5.2 Modified 912 Function Command The Modified 912 Function Command provides an alternate means of providing function-based operations on the Smart Card. Its format is identical to a standard 912 Function Command. However, it includes support for the Function ID of ';', and the Field ID of ('). The Field ID of (') identifies the field contents as an Enhanced Command. It can be included multiple times in the Modified 912 Function Command, supporting all Enhanced Commands from '1' to ':', as defined in the following manuals: • Diebold 91X Terminal Control Software (TCS) , TCS Plus, and 91X TCS CSP Terminal Programming Manual (TP-799387-001O) • Agilis 91x Programming Manual (TP-820740-001B) The Field ID of (') can be included anywhere in the Modified 912 Function Command following the Printer Data fields. The first Function ID is a semicolon (;) in the Function Command. This is necessary when including enhanced functions within a 912 Function Command. The position, in a list of Function Ids, determines when the enhanced functions will be performed. With Smart Card processing, the semicolon Function ID must be placed before the dispense, or any other operation which requires the authentication of the transaction before being completed, so that if the transaction is declined, the dispense, or other operation, will not be performed. As shown in the table below, the Field ID (') is appended to the end of the message, prior to the MAC data, if present. Description Code Length Field Separator (FS) :1C 1 Enhanced Field ID ' 1 Enhanced Data --- VAR The following paragraphs describe the fields in the Modified 912 Function Command used to support Smart Card transactions. However, for fields not listed in these paragraphs, refer to the Diebold 91X Terminal Control Software (TCS), TCS Plus, and 91X TCS CSP Terminal Programming Manual, (TP-799387-001O) and the Agilis 91x Programming Manual, (TP-820740001B). Function Identifier Field Size: 1 character Valid Range: ; Description: This Function Identifier instructs the terminal to route the data to the device or application specified in the Enhanced Data. The Enhanced Data field must exist in the Function Command when this Function Identifier is specified. Refer to the Diebold 91X Terminal Control Software (TCS), TCS Plus, and 91X TCS CSP Terminal Programming Manual, (TP-799387001O) and Agilis 91x Programming Manual , (TP-820740-001B), for additional 912 definitions for this field. Enhanced Field ID Field Size: 1 character Valid Range: ' (Hex 27) Description: Identifies the data that follows to be Enhanced Data. Its contents indicate which device or application is to process the data. The (') is included as part of the Enhanced Data when processed by Agilis® 91x/TCS Plus. Enhanced Data Field Size: Variable, limited only by the maximum message length Valid Range: Refer to the Diebold 91X Terminal Control Software (TCS), TCS Plus, and 91X TCS CSP Terminal Programming Manual, (TP-799387-001O) and Agilis 91x Programming Manual, (TP-820740-001B) for additional definitions for this field. Description: Contains data to be processed by the device or application specified by combining the Enhanced Field ID (') with the first 2 bytes of this field. The format of the remainder of this field is dependent on the device or application processing the data. However, the format of this buffer is identical to the data defined in the Enhanced Function Command in Section 5.1. Refer to Agilis 91x/TCS Plus EMV User's Guide, Version 1.1.0 , (TP-820847-001B) for ICC definitions of the Smart Card Data. Refer to the following Enhanced Data example. EXAMPLE '9''M'Smart Card Data:1C':'SC b001010000077 Table 5-1 Enhanced Data Example FIELD Type of Data Enhanced Field ID ' Field ID 9' Group ID (Device ID) 'M' Buffer Data Smart Card Data Field Separator (FS) :1C Enhanced Field ID ' Field ID :' Group ID (Device ID) SC b Unit Number 001 Operation 010 Screen Number 000 Smart Card Buffer ID 077 NOTE The EMV Smart Card Application ignores the Screen Number field. The first Enhanced Field ID (') specifies the data, which follows, up to the next Field Separator. Agilis 91x/TCS Plus handles this data as an Enhanced Command and contains a 9', which combined with the Field ID of ('), represents '9'. The '9' is defined in the Enhanced Function Command as Update Buffers. The format for the remaining Enhanced Data always follows the definition specified for the Enhanced Function Command for the 3-byte ID. For this example, the buffer 'M' is being updated with the Smart Card Data. The second Enhanced Field ID (') specifies the data up to the next Field Separator, or end of Text. This data is handled by Agilis 91x/TCS Plus as an Enhanced Command. In this example, the Enhanced Data contains a :', which combined with the Field ID of ('), represents ':'. The ':' is defined in the Enhanced Function Command as Perform Function. The format of the remaining Enhanced Data always follows the definition specified for the Enhanced Function Command for the 3-byte ID. The Device ID is SC b, which represents a Smart Card Operation. The Function Data for the Smart Card device is defined on a per operation basis. For more information on the format of the Enhanced Data, refer to Section 5.1. NOTE The Update Buffer must precede the Enhanced Smart Card Function Command since the data must be present when the Smart Card Function is performed. Table 5-2 displays the format of the Modified 912 Function Command. Table 5-2 Modified 912 Function Command Format Description Code Length Protocol Dependent Variable Variable Header Function Command Identifier '4' 1 Response Flag [X] 1 Field Separator (FS) :1C 1 Logical Unit Number [X] (LUNO) 3 Field Separator 1 :1C Message Sequence [X] Number [VAR] (If using Message Authentication, an 8-byte time variant number replaces the message sequence number, and the optional field separator and MAC data are included in the message.) Field Separator (FS) :1C 1 Next State ID (Valid [---] states) 3 Field Separator (FS) :1C 1 Number of Bills Dispensed [---] [VAR] (For the Diebold 1060 Compact Cash Dispenser (CCD), there is a physical stacking limitation in the withdrawal area. Do not command the CCD to pick any more than 15 bills (total) in any one dispense operation.) Group Separator (GS) :1D 1 Number of Coins [---] VAR [1] Dispensed Field Separator (FS) :1C 1 Transaction Serial Number --- 4 Function Identifier ';' 1 Screen Number [---] 3 Screen Display Update Data [---] VAR Group Separator (GS) :1D 1 [2] Function Identifier --- 1 [2] Screen Number --- 3 [2] Screen Display Update Data --- VAR Field Separator (FS) :1C 1 Message Coordination Number --- 1 Card Return/Retain Flag --- 1 Printer Flag (0 - 3,;) --- 1 Printer Data --- VAR (580 max) Field Separator (FS) [:1C] 1 [1] Track 3 Field ID ['4'] 1 [1] Track 3 Data --- VAR (106 max) [1] Field Separator (FS) [:1C] 1 [3] Depositor Settings Field ID 1 [3] ['6'] Deposit Printer Data --- VAR (55 std. depositor, 80 max IDM) [3] Group Separator (GS) :1D 1 [3] Deposit Bin ID --- 3 [3] Group Separator (GS) :1D 1 [3] Image Capture --- 3 [3] Group Separator (GS) :1D 1 [3] Check Accepted Screen Number --- 3 [3] Group Separator (GS) :1D 1 [3] Check Handling Delay Screen --- 3 [3] Number Group Separator (GS) :1D 1 [3] Check Handling Delay time --- 3 [3] Group Separator (GS) :1D 1 [3] Override MICR DIT Setting --- 3 [3] Group Separator (GS) :1D 1 [3] Maximum Document --Length 3 [3] Field Separator (FS) :1C 1 [1] Coin Field ID '8' 1 [1] Reserved 000 3 [1] Dollar Amount of Coins --- 8 [1] Field Separator (FS) :1C 1 [1] Track 1 Field ID '9' 1 [1] Track 1 Data --- VAR (78 max) [1] Field Separator (FS) :1C 1 [1] Track 2 Field ID ':' 1 [1] Track 2 Data --- VAR (39 max) [1] Field Separator (FS) :1C 1 Enhanced Configuration Data Buffer ID '" 1 Enhanced Configuration Data Buffer Data --- VAR Field Separator (FS) [:1C] 1 [1] MAC Data 8 [1] [---] Protocol Dependent Variable Variable Trailer [1] These fields are optional. However, if the Field Separator (either the group or Field) is programmed, then all fields must be specified. [2] [3] These fields can be repeated up to a total of 7 times (7 total Function Ids). These fields are optional. However, if any portion of the field needs to be programmed, the following rules apply. • The field Separator, Depositor Setting Field ID and the first group separator are not optional. Group Separators are only required as far as the data included. • These fields can contain null groups (a group separator, followed by no data). In this case, the default value for that setting prevails. Section 6 Smart Card Solicited Status Message The EMV Smart Card Application uses the modified 912 solicited status message to deliver Smart Card completion data to the terminal driver. The enhanced 'J' status message delivers Smart Card fault data to the terminal driver. 6.1 Modified 912 Solicited Status Message The format of the solicited status message used to deliver Smart Card completion data displays in Table 6-1. Table 6-1 Solicited Status Message Format for Smart Card Completion Data Description Data Length Protocol Dependent Header Variable Variable Solicited / Unsolicited ID '2' 1 Message Identifier '2' 1 Field Separator (FS) :1C 1 Logical Unit Number (LUNO) --- 3 or 9 Field Separator (FS) :1C 1 Message Sequence Number [---] 0-8 Field Separator (FS) :1C 1 Status Descriptor --- 1 Field Separator [:1C] 1 Device Identifier (DID) [---] 1 Status [---] VAR Field Separator (FS) [:1C] 1 [1] Buffers to Follow Identifier ['9'] 1 [1] Smart Card Buffer ID [077] 3 [1] Smart Card Buffer Data [---] VAR [1] Protocol Dependent Trailer Variable Variable [1] These fields are added to the completion message when required, such as the Transaction Certificate delivery. 6.2 Enhanced Fault Status Message A requirement of the Enhanced Fault Status message is to report a fault status for new devices supported by Agilis 91x/TCS Plus. Smart Card faults are also reported using the Enhanced Fault Status message. The format of the Enhanced Fault Status is identical to the existing Enhanced Fault Status as defined in the following manuals: • Diebold 91X Terminal Control Software (TCS), TCS Plus, and 91X TCS CSP Terminal Programming Manual (TP-799387-001O) or later edition. • Agilis®91x Programming Manual (TP-820740-001B) or later edition. Table 6-2 displays the format of the Enhanced Fault Status Message. Table 6-2 Enhanced Fault Status Message Format Description Data Length Solicited / Unsolicited ID '2' 1 Message Identifier '2' 1 Field Separator :1C 1 Logical Unit Number (LUNO) --- 3 or 9 Field Separator :1C 1 Field Separator :1C 1 Status Descriptor 'J' 1 Field Separator [:1C] 1 Operation Sequence Number [---] 3 Device Identifier [---] 4 Status [---] VAR Field Separator [:1C] 1 [1] Buffers to Follow Identifier ['9'] 1 [1] Smart Card Buffer ID [077] 3 [1] Smart Card Buffer Data [---] VAR [1] [1] These fields are added to the Solicited Status Message when Smart Card data is to be delivered to the terminal driver, and a fault has occurred for a new device supported by Agilis 91x/TCS Plus. Section 7 Smart Card Unsolicited Status Message The EMV Smart Card Application requires the utilization of the Enhanced 912 Unsolicited 'J' Status Message to report Smart Card Unsolicited Statuses to the terminal driver. Table 7-1 displays the format of the Enhanced 912 Unsolicited 'J' status, including the fields used to deliver Smart Card content. Table 7-1 Enhanced 912 Unsolicited 'J' Status Format Description Data Length Solicited / Unsolicited ID '1' 1 Message Identifier '2' 1 Field Separator :1C 1 Logical Unit Number (LUNO) --- 3 or 9 Field Separator :1C 1 Field Separator :1C 1 Status Source 'J' 1 Operation Sequence Number --- 3 Device Identifier --- 4 Status --- VAR Field Separator [:1C] 1 [1] Buffers to Follow ID ['9'] 1 [1] Smart Card Buffer ID [077] 3 [1] Smart Card Buffer Data [---] VAR [1] [1] These fields are added to the Unsolicited Status Message when required, such as upon delivery of the Application Authentication Cryptogram (AAC) after the first Generate AC command. Section 8 Status Codes This section presents the error status codes generated by the EMV Smart Card Application and related Smart Card processing. These status codes can be printed on the journal printer, or transmitted to the ATM driver in solicited status messages (Section 6) or unsolicited status messages (Section 7). However, not all status codes are logged to the journal printer. Furthermore, the terminal does not record any of these status codes in the device activity log. The following device identifiers apply to Smart Card Operations in an EMV system: • SV01 - General Smart Card, not EMV specific (Section 8.1) • SV02 - EMV Specific (Section 8.2) • SV05 - EMV Operations (Section 8.3) Table 8-1 through Table 8-3 lists all the Smart Card related status codes that can occur as a result of processing EMV cards. The status codes are listed in numerical order, first by device identifier, then by the status bytes. For each status code, the tables provide the following information: • Status Code - the MDS-style status code, as recorded on the journal printer or sent to the ATM driver • Cause - the description of the cause of the abnormal status • Consequence - the action that the terminal takes as a result of the abnormal status • Action - any action required by the terminal operator, the terminal programmer, or service personnel to correct the error 8.1 General Smart Card Status Codes (SV01) The following operations generate status codes that start with the SV01 device identifier: • Select Application/Initiate Application Processing • ICC Session Initialization The Select Application Operation (Smart Card Operation 097) performs state processing for the EMV Select Application Operation. Neither the Select Application Operation, nor the ICC Session Initialization, performs any Function Command processing. The ICC Session Initialization Operation (Smart Card Operation 099) performs state processing for the Chip Initialization Operation. NOTE The Select Application Operation can also generate status codes that have an SV02 device identifier. Table 8-1 SV01 Status Codes Status Code Cause / Consequence Action General State Fault UNSOLICITED Status Codes :01:00:01 Cause:No State support available for Verify that the state data is properly request. defined. If the problem persists, contact Consequence: Generates a CNS Error your service representative. Next State (State 255) and an Unsolicited Power Failure message is generated. :01:00:02 Cause:The state data is an invalid length. Verify that the state data is properly Consequence: Generates a CNS Error defined. If the problem persists, contact Next State (State 255) and an Unsolicited your service representative. Power Failure Message is generated. :01:00:03 Cause:The Smart Card states were not properly initialized. Consequence: No action taken Contact your service representative. :01:00:04 Cause:An invalid state operation has Verify that the state data is properly been requested. defined. If the problem persists, contact Consequence:Goes to Invalid Operation your service representative. Next State. :01:00:FF Cause:An unknown error condition occurred in state processing. Consequence:Goes to Device Failure Next State. Verify that the state data is properly defined. If the problem persists, contact your service representative. ICC Session Initialization UNSOLICITED Status Codes :01:01:02 Cause: There is no Smart Card in the Smart Card reader. Consequence: Goes to the Invalid Card Next State. Verify the state flow has accepted a card before this operation is requested. If problems persist, contact your service representative. :01:01:03 Cause: The Smart Card reader is unable to connect to the chip on the consumer's card. Consequence: Goes to the Invalid Card Next State. The consumer's card may be faulty. If repeated chip statuses are generated, contact your service representative to verify the chip reader is operational. :01:01:04 Cause: There was no response from the Smart Card reader. Consequence: Goes to the Device Failure Next State. Contact your service representative. :01:01:05 Cause: A data communication error occurred with the Smart Card reader. Consequence: Goes to the Device Failure Next State. Contact your service representative. Select Application UNSOLICITED Status Codes :01:02:01 Cause: There are no applications or no supported applications in the terminal's list of Smart Card Applications. Consequence: Goes to the No Application Supported Next State. Verify the host has downloaded supported application IDs via the Write XIX Command. If problems persist, contact your service representative. :01:02:02 Cause: A chip command (ICC) error occurred. Consequence: Goes to the Device Failure Next State. Contact your service representative. :01:02:03 Cause: A chip command (ICC) response Contact your service representative. data error occurred. Consequence:Goes to the Device Failure Next State. :01:02:04 Cause: The state data contains an invalid Verify that the state data contains a valid value for the sub operation entry. sub operation number. If problems persist, Consequence: Goes to the Invalid contact your service representative. Operation Next State. :01:02:05 Cause: Insufficient memory. Consequence: Goes to the Invalid Operation Next State. Shut down all nonessential processes. If problems persist, contact your service representative. :01:02:07 Cause: The card reader faulted. Consequence: Goes to the Device Failure Next State. Contact your service representative. :01:02:09 Cause:The ICC is locked. Consequence: Goes to the Device Failure Next State. Advise the cardholder to have the ICC verified with the issuer. :01:02:0B Cause:Card data error Typically indicates a fault with the ICC. Consequence:Goes to the Device Failure Advise the cardholder to have the ICC Next State. verified with the issuer. Contact your service provider, if problems persist. Buffer Update Operation UNSOLICITED Status Codes :01:04:01 Cause: State data input field is out of range. Consequence: Goes to the Invalid Operation Next State. Verify the state data is all within valid ranges. If problems persist, contact your service representative. :01:04:02 Cause: Data object unavailable. Consequence: Goes to the Device Failure Next State. Contact your service representative. :01:04:03 Cause: Agilis® 91x/TCS Plus buffer write Contact your service representative. failed. Consequence: Goes to the Device Failure Next State.. General Function Processing SOLICITED Status Codes :01:FF:01 Cause:An unsupported function was requested. Consequence:Return fault status. Terminal waits on Function Command response. Verify the Operation requested in the Function Command is correct. If problems persists, contact your service representative. :01:FF:02 Cause:The Operation, which processes only state data, received Function Command data. Consequence:Return fault status. Terminal waits on Function Command response. Verify Agilis 91x/TCS Plus startup properly initializes the Smart Card states and functions. If problems persist, contact your service representative. 8.2 EMV Status Codes (SV02) This section lists the EMV status codes generated by the EMV Select Application (Smart Card operation 097), which performs state processing. During this processing, status codes are generated, but are not EMV-specific. The status codes are the result of receiving any abnormal response from the consumer's card. NOTE The EMV Select Application can also generate status codes that have an SV01 and SV05 device identifier. Table 8-2 SV02 Status Codes Status Code Cause / Consequence Action Application Initiation UNSOLICITED Status Codes :02:03:02 Cause: A chip command (ICC) error occurred. Consequence: Goes to the Device Failure Next State. Contact your service representative. :02:03:03 Cause: ICC command Response Data Error. Consequence: Goes to the Device Failure Next State. Contact your service representative. :02:03:04 Cause:Insufficient memory. Consequence: Goes to the Invalid Operation Next State. Shut down all non-essential processes. If problems persist, contact your service representative. :02:03:05 Cause:Card data unavailable. Consequence: Goes to the Device Failure Next State. Contact your service representative. The following lists the UNSOLICITED status codes and actions taken for various miscellaneous fault status codes, which are replaced with either the operation number or the EMV ICC instruction code that produced the error. The default value will be the EMV ICC instruction code. The second and third sets of values shown indicate the SW1 and SW2 values returned by the ICC when the instruction was issued. :xx:62:81 Cause: Part of the data returned Typically indicates a fault with the ICC. Advise the by the EMV card's chip may be corrupt. Consequence: Goes to the Device Failure Next State. cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:64:00 Cause: No precise diagnosis. Consequence: Goes to the Device Failure Next State. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:67:00 Cause: Wrong length. (Le field not present). Consequence: Goes to the Device Failure Next State. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:69:85 Cause: Conditions of use not satisfied. Consequence: Goes to the Device Failure Next State. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:6A:81 Cause: The function is not supported. Consequence: Goes to the Device Failure Next State. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:69:81 Cause: The command is incompatible with the organization of the file. Consequence: Goes to the Device Failure Next State. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:6A:82 Cause: The file was not found. Consequence: Goes to the Device Failure Next State. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:6A:83 Cause: The record was not found. Consequence: Goes to the Device Failure Next State. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. 8.3 EMV Status Codes (SV05) Table 8-3 lists the status codes and actions taken for EMV. Normally, these codes are unsolicited status codes. Table 8-3 SV05 Status Codes Status Code Cause / Consequence Action UNSOLICITED Status Codes :05:05:01 Cause: Store Data Failure Consequence: Goes to the Device Failure Next State. Contact your service representative. :05:05:02 Cause: Data object is unavailable. Consequence:Goes to the Device Failure Next State. Contact your service representative. :05:08:01 Cause: Unable to acquire CDOL. Typically indicates a fault with the ICC. Advise Consequence: Goes to the Device Failure Next State. the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :05:08:04 Cause: GenerateAC input data error Contact your service representative. Consequence: Goes to the Device Failure Next State. :05:08:05 Cause: GenerateAC command error Contact your service representative. Consequence: Goes to the Device Failure Next State. :05:08:06 Cause: GenerateAC Response data Contact your service representative. error Consequence: Goes to the Device Failure Next State. :05:08:07 Cause: Invalid cryptogram response Typically indicates a fault with the ICC. Advise Consequence: Goes to the Device the cardholder to have the ICC verified with the Failure Next State. issuer. Contact your service representative, if problems persist. :05:08:08 Cause: Offline declined. The ICC would like to process the transaction Consequence: The transaction has off-line. been declined offline. :05:09:01 Cause: Buffer write failed Consequence: Goes to Device Failure Next State. Contact your service representative. :05:0D:04 Cause:Internal software error. Consequence: Goes to the Device Failure Next State. Contact your service representative. :05:0D:05 Cause:Problem communicating with the ICC. Consequence: Goes to the Device Failure Next State. The consumer's card may be faulty or the card reader may have a problem. If repeated chip statuses are generated, contact your service representative to verify the chip reader is operational. :05:0D:06 Cause:An unknown error occurred. Consequence: Goes to the Device Failure Next State. If the problem persists, contact your service representative. :05:0D:07 Cause:Internal software error. Consequence: Goes to the Device Failure Next State. Contact your service representative. :05:0D:08 Cause:Data error Consequence: Goes to the Invalid Operation Next State. Verify that the state data is properly defined. If the problem persists, contact your service representative. :05:0D:09 Cause:Could not go online. Consequence: Goes to Good Operation Next State. Transaction has been declined offline. Determine cause of terminal not connecting to host. SOLICITED Status Codes :05:0A:02 Cause: Card data error Consequence: Terminal waits on Function Command response. This typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :05:0A:04 Cause: GenerateAC input data error Contact your service representative. Consequence: Terminal waits on Function Command response. :05:0A:05 Cause: GenerateAC command error Contact your service representative. Consequence: Terminal waits on Function Command response. :05:0A:07 Cause: Invalid cryptogram response This typically indicates a fault with the ICC. Consequence: Terminal waits on Advise the cardholder to have the ICC verified Function Command response. with the issuer. Contact your service representative, if problems persist. :05:0B:02 Cause: Data returned by the EMV chip is corrupt. Consequence: Terminal waits on Function Command response. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :05:0B:04 Cause: Internal software error. Consequence:Terminal waits on Function Command response. Contact your service representative. :05:0B:05 Cause: Problem communicating with the ICC. Consequence: Terminal waits on Function Command response. The consumer's card may be faulty or the card reader may have a problem. If repeated chip statuses are generated, contact your service representative to verify the chip reader is operational. :05:0B:07 Cause: Internal software error. Consequence:Terminal waits on Function Command response. Contact your service representative. :05:0C:01 Cause:ICC returned an unexpected result. Consequence: Terminal waits on Function Command response. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :05:0C:02 Cause:Store data error. Consequence: Terminal waits on Function Command response. Contact your service representative. :05:0C:04 Cause:The transaction was declined No action taken. offline. Consequence: Terminal waits on Function Command response. :05:7F:7F Cause:Unknown error occurred. Consequence: Terminal waits on Function Command response. Contact your service representative. :05:FF:01 Cause:Smart Card Function data is not the correct length for the Function Command. Consequence: Returns a fault status while terminal waits on Function Command response. Verify the format of the Smart Card data in the Function Command. If problems persist, contact your service representative. The following lists the SOLICITED status codes and actions taken for various miscellaneous fault status codes, which are replaced with either the operation number or the EMV ICC instruction code that produced the error. The default value will be the EMV ICC instruction code. The second and third sets of values shown indicate the SW1 and SW2 values returned by the ICC when the instruction was issued. :xx:62:81 Cause: Warning: Part of returned data may be corrupted. (Solicited status message) Consequence: Terminal waits on Function Command response. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:64:00 Cause: No precise diagnosis (Solicited status message) Consequence: Terminal waits on Function Command response. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:67:00 Cause: Lc incorrect or Le not present (Solicited status message) Consequence: Terminal waits on Function Command response. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:68:82 Cause: Secure messaging not supported. (Solicited status message) Consequence: Terminal waits on Function Command response. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:69:85 Cause: Condition of use not satisfied (Solicited status message) Consequence: Terminal waits on Function Command response. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:6A:80 Cause: Invalid parameter in data field. (Solicited status message) Consequence: Terminal waits on Function Command response. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist. :xx:6A:86 Cause: Incorrect P1, P2. (Solicited status message) Consequence: Terminal waits on Function Command response. Typically indicates a fault with the ICC. Advise the cardholder to have the ICC verified with the issuer. Contact your service representative, if problems persist.