Uploaded by HipHop Maroc

EMV-Agilis-91x-TCSplus-Programmers-Guide-TP-820874-001B

advertisement
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.
Download