Download as pdf or txt
Download as pdf or txt
You are on page 1of 131

PRELIMINARY - DRAFT COPY

Mon Dec 05 12:28:22 2011

Agilis 3 91x® EMV User's


and Programmer's Guide
TP-821446-001B PD 6741

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.
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Agilis 3 91x® EMV User's


and Programmer's Guide
December 2011
TP-821446-001B PD 6741

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.
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Document History

Document Number Date Remarks


TP-821446-001A 7/2010 Original edition
TP-821446-001B 12/2011 Updated for Agilis 3 91x SP2 release

Copyright protection is claimed for each revision listed in the document history, as of the date indicated.

Unpublished, All Rights Reserved

Any trademarks, service marks, product names or company names not owned by Diebold, Incorporated or its
subsidiaries (collectively "Diebold") that appear in this document are used for informational purposes only and
Diebold claims no rights thereto, nor does such use indicate any affiliation with or any endorsement of Diebold or
Diebold products by the owners thereof.

This document contains proprietary information. If the document pages state the information is confidential
(or words of similar import), then this document is intended solely for the use of the copyright owner's
employees or other personnel expressly authorized in writing by the copyright owner. Other uses of this
information without the express written consent of the copyright owner are prohibited. This document should
be treated as confidential material for security reasons. Any unauthorized disclosure or use of confidential
material may violate Section 1832 of Title 18 of the United States Code as well as other laws, and may be
punishable by fine and imprisonment.

The information contained in this document is subject to change without notice. When using the document for system
implementation, please call your authorized sales or service representative for any applicable changes.

This document and the information contained herein are provided AS IS AND WITHOUT WARRANTY. In
no event shall the copyright owner or its suppliers be liable for any special, indirect, or consequential damages
of any nature resulting from the use of information in this manual.

No part of this document may be reproduced, stored in a retrieval system, or transmitted, in any form or by any
means: electronic, mechanical, photocopying, recording, or otherwise, without prior written permission from the
copyright owner.

Your use of this document and/or any of the information contained herein constitutes your agreement to all of the
terms stated on this page.

Diebold continually strives to improve its products. If you would like to comment on the accuracy, clarity,
organization or value of this document, please contact us at documentationservices@diebold.com or address
correspondence to:

Diebold, Incorporated
Att: Documentation Services 9-B-16
5995 Mayfair Road
North Canton, OH 44720

ii
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Contents

Section 1 Agilis 3 91x® EMV User / Programmer Guide Overview . . . . . . . . . . . . . . . . . . . . 1-1


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1

Section 2 Agilis 3 91x® EMV User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1


2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.1.2 States and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.1.3 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.2.1 EMV Smart Card Application States and Functions . . . . . . . . . . . . . . . . . . 2-5
2.2.2 Error Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
2.2.3 User Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
2.3 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.3.1 Terminal Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.3.2 Host Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.4 EMV Smart Card Application Transaction Flows . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.4.1 Initial Transaction Flow (PIN Entry Prior to Application Selection) . . . . . . . . . 2-8
2.4.2 Initial Transaction Flow (PIN Entry Post Application Selection) . . . . . . . . . . . 2-10
2.4.3 Issuer Approved - Normal Processing . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.4.4 Issuer Denied - Normal Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
2.4.5 Issuer Approved - Issuer Authentication Data Authentication Failure . . . . . . . . 2-13
2.4.6 Issuer Denied - Issuer Authentication Data Authentication Failure . . . . . . . . . . 2-15
2.4.7 Issuer Approved - No Issuer Authentication Data . . . . . . . . . . . . . . . . . . . 2-16
2.4.8 Issuer Approved - Invalid Cryptogram Response from ICC . . . . . . . . . . . . . . 2-17
2.4.9 Terminal Denied - ARQC Request Responds with AAR . . . . . . . . . . . . . . . 2-18
2.4.10 ICC Denied - ARQC Request Denied . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
2.4.11 ICC Response Invalid - ARQC Request Responds with TC . . . . . . . . . . . . . . 2-19
2.4.12 ICC Transaction Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20
2.4.13 Re-select Current Smart Card Application . . . . . . . . . . . . . . . . . . . . . . 2-20
2.4.14 Re-initialize Smart Card Application . . . . . . . . . . . . . . . . . . . . . . . . . 2-20
2.5 Terminal Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20
2.5.1 Navigation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21
2.5.2 Using the Agilis Configuration Utility (ACU) to Configure EMV Terminal Data . . 2-21
2.5.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21
2.5.2.2 Accessing the Agilis Configuration Utility . . . . . . . . . . . . . . . . . 2-22
2.5.2.3 EMV Chip Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23
2.6 Restricted TAGs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40

Section 3 Agilis 3 91x® EMV Programmer Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.3 Enhanced Smart Card State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.3.1 Smart Card State, Operation 070 - Begin ICC Initialization . . . . . . . . . . . . . . 3-4
3.3.2 Smart Card State, Operation 071 - Complete ICC Initialization . . . . . . . . . . . . 3-6
3.3.3 Smart Card State, Operation 072 - Begin Application Selection and Initialization . . 3-8
3.3.4 Smart Card State, Operation 073 - Complete Application Selection and Initialization 3-12
3.3.5 Smart Card State, Operation 074 - Automatic Language Selection . . . . . . . . . . 3-15
3.3.6 Smart Card State, Operation 075 - Reselect ICC Application . . . . . . . . . . . . . 3-16
3.3.7 Smart Card State, Operation 076 - Set ICC Transaction Data . . . . . . . . . . . . . 3-17
3.3.8 Smart Card State, Operation 077 - Generate ARQC . . . . . . . . . . . . . . . . . . 3-21
3.3.9 Smart Card State, Operation 078 - Terminate Transaction . . . . . . . . . . . . . . . 3-22
3.3.10 Smart Card State, Operation 079 - Blocked Applications . . . . . . . . . . . . . . . 3-22
3.4 Write Command 19, Modifier A Message . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25

iii
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Contents

3.4.1 Operation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25


3.4.2 Data Identifier Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26
3.4.3 Application Specific . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26
3.4.4 Blocked Application Identifier Specific . . . . . . . . . . . . . . . . . . . . . . . . 3-29
3.4.5 Scheme Specific . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30
3.4.6 EMV General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31
3.4.7 Additional Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33
3.5 Smart Card Consumer Request Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33
3.6 Smart Card Function Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40
3.6.1 Modified 912 Function Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40
3.6.2 Enhanced Function Command Message . . . . . . . . . . . . . . . . . . . . . . . . 3-41
3.6.3 Smart Card Data Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41
3.6.3.1 Function Command Smart Card Data Definition - APPROVED . . . . . 3-41
3.6.3.2 Function Command Smart Card Data Definition - DENIED . . . . . . . 3-43
3.6.4 Smart Card Function Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44
3.7 Smart Card Solicited Status Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46
3.7.1 Modified 912 Solicited Status Message . . . . . . . . . . . . . . . . . . . . . . . . 3-46
3.7.2 Solicited Status Smart Card Data Definitions . . . . . . . . . . . . . . . . . . . . . 3-48
3.8 Smart Card Unsolicited Status Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53
3.8.1 Enhanced Fault Status Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53
3.8.2 Unsolicited Status Smart Card Data Definitions . . . . . . . . . . . . . . . . . . . . 3-54
3.9 Unsolicited Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-59
3.9.1 Smart Card Operation 071 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . 3-59
3.9.2 Smart Card Operation 072 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . 3-60
3.9.3 Smart Card Operation 073 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . 3-60
3.9.4 Smart Card Operation 076 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . 3-61
3.9.5 Smart Card Operation 077 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . 3-61
3.9.6 Smart Card Operation 078 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . 3-62
3.10 Solicited Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-62
3.10.1 Smart Card Solicited Function Processing . . . . . . . . . . . . . . . . . . . . . . . 3-62
3.10.2 Issuer authentication Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-63
3.10.3 Transaction Accepted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-63
3.10.4 Transaction Denied . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-64
3.10.5 Finalize Transaction Failed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-64
3.10.6 Card Denied . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65
3.10.7 Function Fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65
3.10.8 Pin Management Script Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65

Appendix A Hex/Decimal/Character Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1

Appendix B Write Command 19 Modifier A Message with Diebold Defined Tags . . . . . . . . . . . . . . B-1

Appendix C EMV PIN Management Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1

Appendix D EMV MasterCard PIN Unblock Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . D-1

Appendix E EMV MasterCard Balance Enquiry Transaction . . . . . . . . . . . . . . . . . . . . . . . . . E-1

iv
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Figures

Figure 2-1 Accessing the Agilis Configuration Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22


Figure 2-2 ACU Home Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23
Figure 2-3 EMV Chip Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24
Figure 2-4 Blocked Application Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29

Tables

Table 2-1 Manual Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2


Table 2-2 EMV Chip Card Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25
Table 2-3 EMV Chip Card Settings Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-30
Table 2-4 EMV Chip Card Settings General Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-34
Table 2-5 CREQ Tag Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38
Table 2-6 Solicited DOL Tag Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38
Table 2-7 Unsolicited DOL Tag Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39
Table 2-8 Restricted TAGs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40
Table 3-1 Code Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Table 3-2 Smart Card State Operations Used for the EMV Smart Card Application . . . . . . . . . . . 3-4
Table 3-3 State Definition, Operation 070 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Table 3-4 State Definition, Operation 071 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Table 3-5 State Definition, Operation 072 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Table 3-6 FDK Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Table 3-7 State Definition, Operation 073 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Table 3-8 State Definition, Operation 074 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Table 3-9 State Definition, Operation 075 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
Table 3-10 State Definition, Operation 076 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17
Table 3-11 State Definition, Operation 077 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
Table 3-12 State Definition, Operation 078 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
Table 3-13 State Definitions for Smart Card State (SC b), Operation 079 . . . . . . . . . . . . . . . . . 3-23
Table 3-14 Write Command 19, Modifier A Message Format . . . . . . . . . . . . . . . . . . . . . . . 3-26
Table 3-15 Application Identifier and the AI Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27
Table 3-16 Blocked Application Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29
Table 3-17 Smart Card Consumer Request Message Format . . . . . . . . . . . . . . . . . . . . . . . . 3-34
Table 3-18 Consumer Request Smart Card Buffer Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
Table 3-19 Consumer Request (CREQ) Smart Card Tagged Elements . . . . . . . . . . . . . . . . . . . 3-35
Table 3-20 APPROVED Function Command Smart Card Tagged Elements . . . . . . . . . . . . . . . . 3-42
Table 3-21 DENIED Function Command Smart Card Tagged Elements . . . . . . . . . . . . . . . . . . 3-43
Table 3-22 Enhanced Data Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46
Table 3-23 Solicited Status Message Format for Smart Card Completion Data . . . . . . . . . . . . . . . 3-47
Table 3-24 Enhanced Fault Status Message Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47
Table 3-25 Solicited Status Smart Card Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-48
Table 3-26 Solicited Status Smart Card Tagged Elements . . . . . . . . . . . . . . . . . . . . . . . . . . 3-49
Table 3-27 Smart Card Non-tagged Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-52
Table 3-28 Enhanced 912 Unsolicited 'J' Status Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53
Table 3-29 Smart Card Unsolicited Status Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-54
Table 3-30 Unsolicited Status Smart Card Tagged Elements . . . . . . . . . . . . . . . . . . . . . . . . 3-55
Table 3-31 Smart Card State, Operation 071 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . 3-59
Table 3-32 Smart Card State, Operation 072 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . 3-60
Table 3-33 Smart Card State, Operation 073 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . 3-60
Table 3-34 Smart Card State, Operation 076 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . 3-61
Table 3-35 Smart Card State, Operation 077 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . 3-61

v
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Tables

Table 3-36 Smart Card State, Operation 078 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . 3-62
Table 3-37 Smart Card Function Processing: Solicited . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-62
Table 3-38 Issuer authentication Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-63
Table 3-39 Transaction Accepted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-63
Table 3-40 Transaction Denied . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-64
Table 3-41 Finalize Transaction Failed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-64
Table 3-42 Card Denied . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65
Table 3-43 Function Fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65
Table 3-44 Pin Management Script Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65
Table A-1 Hex/Decimal/Character Values (Hex 00 / Dec 000 through Hex 4D / Dec 077) . . . . . . . . A-1
Table A-2 Hex/Decimal/Character Values (Hex 4E / Dec 078 through Hex B3 / Dec 179) . . . . . . . . A-2
Table A-3 Hex/ Decimal /Character Values (Hex B4 / Dec 180 through Hex FF / Dec 255) . . . . . . . A-3
Table B-1 Diebold Defined TAGs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1

vi
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Section 1
Agilis 3 91x® EMV User / Programmer Guide Overview

1.1 Introduction

This document provides an introduction to using EMV and Smart Card in a


terminal environment. Additional detail allows technical personnel to implement
cardholder solutions that take advantage of the EMV smart card capabilities
provided in the Agilis EMV application implementation.

1.2 Overview

This document has been organized to provide an introduction to EMV, its


terminology, features, functionality, and transaction synopses.

Section 2 is intended for those who are new to EMV or are seeking a general
understanding of EMV and how it may fit into the transaction processing base.

Section 3 delves into more detailed descriptions on how to provide EMV smart
card transaction processing within a terminal environment. Section 3 will be
used by terminal programmers, host and controller developers responsible for
terminal applications, and Diebold Service personnel. Specifics are provided for
the special features and functionality provided for terminal state flow and new
and modified host message structures for necessary data interchange within an
EMV transaction.

This document is a supplement to the Agilis 3 91x Terminal Programming


Manual (TP-821288-001H). This document is in no way intended to be a
replacement for the Agilis 3 91x Terminal Programming Manual. Readers should
be familiar with Diebold Opteva terminal programming and EMV Smart Card
requirements and terminology before applying the information in this document.

1-1
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

1-2
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Section 2
Agilis 3 91x® EMV User Guide

2.1 Overview

This section provides an overview of the EMV Smart Card Application:

• Section 2.1.1, Terminology


• Section 2.1.2, States and Function
• Section 2.1.3, Documentation

2.1.1 Terminology

Some of the terms used in this manual are described in the following paragraphs.

What is an EMV Smart Card?


An EMV Smart Card is a chip-based, EMV-compliant card. The consumer
inserts the Smart Card (integrated circuit chip card) into the terminal (or other
device) to perform debit or credit transactions, such as those offered by Visa and
MasterCard. The electronic chip on the card contains a program that performs
operations and holds financial data, allowing the consumer to use the card as
a debit or credit card.

Smart Cards have two major advantages over traditional magnetic stripe cards:

• Greater security against fraud (risk management)

• Capability of supporting a wide range of differentiating services (value


added services)

What is CR State and Enhanced Smart Card State SC?


The CR state has the ability to connect to a chip on a smart card and store the
Answer To Reset (ATR) data received from the chip when power is applied.
The enhanced Smart Card state, SC, checks to see if the chip has been powered
prior to powering the chip itself. Once the chip connection is made the Smart
Card state communicates with the chip to perform a transaction. The 9000 close
state, J, disconnects the chip and ejects or unlocks the card. The initial CR state,
generally state 000, would need the chip read condition. Any chip read condition
that meets the customer's needs is adequate. See the following example. See
the following example.

EXAMPLE

• Chip Only
• and Chip
• or Chip

2-1
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

What is EMV?
EMV (Europay-MasterCard-Visa) is a set of specifications that payment system
hardware and software components must comply with to be used with chip cards.
There are Level 1 specifications that define the functions of the Card Reader and
Level 2 specifications that define the functions of the terminal software related
to the Smart Card.

What is Agilis 3 91x®?


The Agilis 3 91x® software product utilizes the 91x suite of applications, which
includes the Agilis 91x Maintenance Software, for full compatibility with the 91x
networks, an industry standard developed by Diebold, Incorporated. The Agilis 3
91x software is responsible for all the standard terminal functionality documented
in the Agilis 3 91x Terminal Programming Manual (TP-821288-001H).

The following table defines the terms, acronyms, and abbreviations used in this
document.

Table 2-1 Manual Terminology

Term Definition
AAC [1] Application Authentication Cryptogram
AAR [1] Application Authorization Referral
ABC Agilis® Base Communications
ACU Agilis® Configuration Utility
Agilis® A Diebold software environment for Diebold and foreign terminal
AID Application IDentifier
ARPC [1] Authorization Response Cryptogram
ARQC [1] Authorization Request Cryptogram
ATC [1] Application Transaction Counter
CREQ Consumer Request message containing data to be routed
CREQ_DOL List of EMV tags which the terminal will append to EMV CREQ messages. These
tags are used in addition to the standard list of outgoing tags.
Default_TDOL Default Transaction Certificate Data Object List. This data object list is to be used if
the Transaction Certificate Data Object List is not present in the ICC.
DOL Data Object List
Default_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
EMV, version 4.1 or later A version of the "EMV Integrated Circuit Card Specifications for Payment Systems"
that includes 4 books:
• Book 1 - Application Independent ICC to Terminal Interface Requirements
• Book 2 - Security and Key Management
• Book 3 - Application Specification
• Book 4 - Cardholder, Attendant, and Acquirer Interface Requirements
ICC Integrated Circuit Card; also called Chip Card or Smart Card
Issuer Authentication Data [1] ARPC + Issuer Discretionary Data
[1] Refer to the EMV, version 4.1 specifications or later (see Section 2.1.3)

2-2
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-1 Manual Terminology (continued)

Term Definition
M/Chip™ MasterCard's Smart Card EMV Application/Specification
PIN Personal Identification Number
Restricted TAGs Restricted TAGs are tags that may not be set through either the Write Command
19, Modifier A messages, or the Agilis Configuration Utility. This list can be found in
Section 2.6. There may be other tags, specific to a Payment Scheme, that should
not be set, as well.
Scheme A multi-character Application Type, For Example: 2VS for VSDC, and 2MC for
M/Chip
Smart Card A credit or debit card that contains an embedded integrated circuit (chip-based).
A Smart Card is used to store digital information such as, digital cash, consumer
identification, and network information.
Solicited_DOL A list of EMV tags which the terminal will append to most EMV Solicited status
messages. These tags are used in addition to the standard list of outgoing tags.
SST Self-Service Terminal
TAA Terminal Action Analysis
TAC Terminal Action Code
TAC-Default The default Terminal Action Code
TAC-Denial The denied Terminal Action Code
TAC-Online The online Terminal Action Code
Tag A 2 or 4-digit hex value specifying the EMV tag
TC [1] Transaction Certificate
TDOL Transaction Certificate Data Object List.
Terminal Automated Teller Machine (ATM)
Unsolicited_DOL A list of EMV tags which the terminal will append to some EMV Unsolicited status
messages. These tags are used in addition to the standard list of outgoing tags.
VIS Visa Integrated Circuit Card Specification, version 1.4.0
VSDC Visa Smart Debit and Visa Smart Credit Application
[1] Refer to the EMV, version 4.1 specifications or later (see Section 2.1.3)

2-3
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

2.1.2 States and Functions

The EMV Smart Card Features run on the following terminals.

Diebold Opteva
These terminals must be operating in the 912 mode using the following supported
Smart Card States and Functions:

• Begin ICC Initialization


• Complete ICC Initialization
• Begin Application Selection and Initialization
• Complete Application Selection and Initialization
• Automatic Language Selection
• Reselect ICC Application
• Set ICC Transaction Data
• Generate ARQC
• Terminate Transaction

2.1.3 Documentation

In addition to this user guide, the EMV Smart Card Application documentation
includes additional reference manuals for terminal programmers and host
programmers responsible for terminal applications.

• Agilis 3 91x Terminal Programming Manual (TP-821288-001H) - provides


detailed information on Agilis 3 91x-specific terminal programming.

• Agilis 3 91x Status Reference Manual (TP-821287-001F) - provides status


message information specific to the Agilis 3 91x software.

• EMV Integrated Circuit Card Specification for Payment Systems, version 4.1
or later (Books 1 through 4).

• National Standard Indonesian Chip Card - ATM/Debit Application


Specification for ATM and Debit Terminal.

• Interac Association SCD Terminal Specifications, version 4.3.

The EMVCo website (www.emvco.com) provides additional information on


the Integrated Circuit Card Specifications for Payment Systems as well as
information concerning Type Approval process, requirements, and approved
configurations.

Payment Scheme Documents


• Visa Integrated Circuit Card Specification (VIS), version 1.4.0, dated
April 2000

• MasterCard M/Chip Functional Architecture for Debit and Credit,


January 2005

• VISA document, Welcome to PIN Management for IC Cards Member


Implementation Guide, 01 Dec 2004

2-4
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

2.2 Features

The following EMV Smart Card Application features are described in the
following subsections:

• EMV Smart Card Application States and Functions

• Error reporting

• User authentication

• National Standard Indonesian Chip Card - ATM/Debit Application


Specification for ATM and Debit Terminal

• Interac Association SCD Terminal Specifications, version 4.3

2.2.1 EMV Smart Card Application States and Functions

The EMV Smart Card Application supports the following Smart Card states
and/or functions:

• Begin ICC Initialization

• Complete ICC Initialization

• Begin Application Selection and Initialization

• Complete Application Selection and Initialization

• Automatic Language Selection

• Reselect ICC Application

• Set ICC Transaction Data

• Generate ARQC

• Terminate Transaction

The following paragraphs describe the support provided by the preceding States
and/or Functions. See Section 3 for detailed descriptions.

Begin ICC Initialization


Smart Card State (SCb/), Operation 070, implements the Begin ICC Initialization
State behavior and commands the Card Reader to electrically connect to the
ICC. Refer to Section 3.3.1.

Complete ICC Initialization


Smart Card State, Operation 071 waits until the operations started by the Begin
ICC Initialization State completes. Refer to Section 3.3.2.

2-5
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Begin Application Selection and Initialization


Smart Card State (SCb/), Operation 072, implements the Begin Application
Selection and Initialization State behavior. An application is selected either
automatically or by the card holder, and then the state begins to retrieve data for
that application. Refer to Section 3.3.3.

Complete Application Selection and Initialization


Smart Card State, Operation 073 waits until the operations started by the Begin
Application Selection and Initialization completes. Refer to Section 3.3.4.

Automatic Language Selection


is used to implement the language selection based on the ICC data. Refer to
Section 3.3.5.

Reselect ICC Application


Smart Card State (SCb/), Operation 074 is used to reselect the current ICC
application to allow for transaction chaining. Refer to Section 3.3.6.

Set ICC Transaction Data


Smart Card State (SCb/), Operation 075 sets ICC transaction data elements and
also retrieves stored data elements. Refer to Section 3.3.7.

Generate ARQC
Smart Card State (SCb/), Operation 077, performs various checks, generates the
cryptogram and stores Smart Card data to 91x buffer 077. This data is added to
the next Consumer Request. Refer to Section 3.3.8.

Terminate Transaction
Smart Card State (SCb/), Operation 078, terminates a transaction when a timeout
occurs waiting on the host to respond to a CREC. Refer to Section 3.3.8

2.2.2 Error Reporting

The EMV Smart Card Application provides a standard scheme for reporting
errors that occur as a result of application processing or accessing the Smart
Card. Errors being reported to the host or logged to the Journal printer or both.
The EMV uses status codes in the standard MDS 912 format (:xx:yy:zz). Refer
to Section 3.9 and Section 3.10.

2.2.3 User Authentication

User authentication for the funds authorization is accomplished via typical


terminal and host processing.

2-6
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

2.3 System Requirements

This section lists the requirements for installing and operating the EMV Smart
Card Application. These requirements are divided into the following categories:

• Terminal requirements
• Host requirements
• EMV Smart Card Application requirements

2.3.1 Terminal Requirements

The EMV Smart Card Application requires a Diebold Opteva Series Terminal
equipped with the following hardware and software:

• Any EMV Level 1 certified Smart Card reader (for more information,
contact your Diebold Product Representative)

• Microsoft® Windows® XP Professional

• Agilis 3 91x®

2.3.2 Host Requirements

The host must support the message formats and message sequences used for the
desired features.

The EMV Smart Card Application uses enhanced terminal states. The host must
be able to download enhanced states to the terminal during terminal configuration.

The host must be able to process the EMV Smart Card-related error statuses
that it might receive from the terminal.

The applicable messages, states, and status codes are described in section
Section 3.

2.4 EMV Smart Card Application Transaction Flows

This section provides information on the nominal transaction flows for approved
and denied consumer transactions that use the EMV Smart Card Application.
These flows help the user to understand the flow and process of the consumer
transaction.

The following transaction flows can occur when using the EMV Smart Card
Application's processing during a consumer transaction.

2-7
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

NOTE

These transaction flows do not represent every flow possible.

• Initial Transaction Flow (PIN Entry Prior to Application Selection)


• Initial Transaction Flow (PIN Entry Post Application Selection)
• Issuer Approved - Normal Processing
• Issuer Denied - Normal Processing
• Issuer Approved - Issuer Authentication Data Authentication Failure
• Issuer Denied - Issuer Authentication Data Authentication Failure
• Issuer Approved - No Issuer Authentication Data
• Issuer Approved - Invalid Cryptogram Response from ICC
• Terminal Denied - ARQC Request Responds with AAR
• ICC Denied - ARQC Request Denied
• ICC Response Invalid - ARQC Request Responds with TC
• ICC Transaction Termination
• Reselect Current Smart Card Application
• Re-initialize Smart Card Application

2.4.1 Initial Transaction Flow (PIN Entry Prior to Application Selection)

The following steps are an example of an initial transaction flow from when the
consumer inserts their EMV-compliant Smart Card and enters their PIN prior to
selecting a chip application. Refer to Section 3.3 for more detailed information
on the use of Smart Card State.

1. The consumer inserts the Smart Card to initiate a terminal transaction.

2. The terminal reads the magnetic stripe data on the card.

3. Use Smart Card State Operation 070 to check the alternate technology
byte of the Service Code contained on Track 2. Operation 070 applies
power to the chip once the card is identified as an ICC (Integrated Circuit
Card).

4. The consumer enters their PIN.

NOTE

An Application Name is unavailable at this point since


no application is selected.

5. Smart Card State 071 waits for power to be applied to the chip and chip
initialization to complete.

2-8
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

NOTE

Smart Card State (SCb/), Operation 074, is used


to implement the Automatic Language Selection
operation. Following a successful complete of
Operation 071 (Complete ICC Initialization) or
Operation 073 (Complete ICC Application Selection
and Initialization), the terminal application uses
Operation 074 to determine the cardholder's language
preference from the ICC data.

6. Smart Card State Operation 072 is used to select the EMV Smart Card
Application on the card.

NOTE

An opportunity may exist between Operation 072


and 073 to display consumer based screens for any
appropriate business need depending on the amount of
time necessary to initialize the chip application.

7. The Smart Card State Operation 073 allows the application initialization
to complete.

8. The consumer selects the transaction type.

9. Use Smart Card State Operation 076 to set the EMV Transaction Type.

10. The consumer selects the currency type for the transaction.

11. Use the Smart Card State Operation 076 to set the EMV Currency Type
and Currency Exponent.

12. The consumer enters a currency amount.

13. Use the Smart Card State Operation 076 to set the EMV Amount
Authorized.

NOTE

Step 9 through Step 11 are OPTIONAL based on the


default configuration settings of the EMV features.
These optional steps are used to allow a dynamic setting
of the EMV Transaction Type, Currency Type and
Exponent based on transaction details.

2-9
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

2.4.2 Initial Transaction Flow (PIN Entry Post Application Selection)

The following steps are an example of an initial transaction flow from when the
consumer inserts their EMV-compliant Smart Card and enters their PIN after
selecting a chip application. Refer to section 2 for more detailed information on
the use of Smart Card State.

1. The consumer inserts the Smart Card to initiate a terminal transaction.

2. The system reads the magnetic stripe data on the card.

3. Use Smart Card State Operation 070 to check the alternate technology
byte of the Service Code contained on Track 2. Operation 070 applies
power to the chip after identifying the card as an ICC (Integrated Circuit
Card).

4. The Smart Card State 071 waits for chip initialization to complete and
power to be applied to the chip.

NOTE

Smart Card State (SCb/), Operation 074, is used


to implement the Automatic Language Selection
operation. Following a successful complete of
Operation 071 (Complete ICC Initialization) or
Operation 073 (Complete ICC Application Selection
and Initialization), the terminal application uses
Operation 074 to determine the cardholder's language
preference from the ICC data.

5. The Smart Card State Operation 072 selects the EMV Smart Card
Application on the card.

NOTE

An opportunity exists between Operation 072 and 073


to display consumer based screens for any appropriate
business need depending on the amount of time
necessary to initialize the chip application.

6. The Smart Card State Operation 073 allows application initialization


to complete.

7. The consumer enters their PIN.

NOTE

An Application Name is available at this point.

8. The consumer selects the transaction type.

9. The Smart Card State Operation 076 sets the EMV Transaction Type.

10. The consumer selects the currency type.

2-10
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

11. The Smart Card State Operation 076 sets the EMV Currency Type and
Currency Exponent.

12. The Consumer enters a currency amount.

13. The Smart Card State Operation 076 sets the EMV Amount Authorized.

NOTE

Step 9 through Step 11 are OPTIONAL based on the


default configuration settings of the EMV features.
These optional steps allow a dynamic setting of the
EMV Transaction Type, Currency Type and Exponent
based on the transaction details.

2.4.3 Issuer Approved - Normal Processing

The following steps apply after the Initial Transaction Flow, as described in
Section 2.4.1 or Section 2.4.2.

1. Enter the Smart Card State, Operation 077.

2. The following processes take place before an ARQC request is sent to


the ICC:

• Processing restrictions
• CVM List Processing
• Terminal Risk Management
• Terminal Action Analysis

3. The ARQC request is sent to the ICC.

4. The ICC returns an ARQC.

5. The Smart Card data, that is added to the Consumer Request message for
this transaction, is formatted and stored to the Smart Card Buffer ID 077.

6. The Smart Card State, Operation 077, exits to the next state. This is
normally the Consumer Request State.

7. A Consumer Request message is generated, from the Smart Card data that
is added. This data is then sent to the host.

8. The Transaction is approved, and the host sends a Function Command,


including Smart Card Function, Operation 077, and the required Smart
Card data. Refer to the following example:

EXAMPLE

• Authorization Response Code


• Issuer Authentication Data

2-11
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

• Issuer Scripts
• Authorization Code

9. The Smart Card Function, Operation 077 retrieves the Smart Card data
from the Smart Card Buffer ID 077, parses and stores the data.

10. Based on the Authorization Response Code the terminal determines if


the transaction is approved.

11. The ICC authenticates the Issuer Authentication Data, and the
authentication is successful.

12. The terminal sends any Issuer Scripts to the ICC. This is usually happens
before the request for a TC is issued.

13. The terminal then issues a request for a TC to the ICC.

14. When the ICC responds with a TC, the terminal sends any Issuer Scripts
to the ICC to be performed after the TC request.

15. The terminal then completes any remaining functions specified in the 912
Function Command.

16. A Completion Solicited Status message is generated and sent to the host.

2.4.4 Issuer Denied - Normal Processing

The following steps apply after the Initial Transaction Flow, as described in
Section 2.4.1 or Section 2.4.2.

1. Enter the Smart Card State, Operation 077.

2. The following processes are performed before an ARQC request is issued


to the ICC:

• Processing restrictions
• CVM List Processing
• Terminal Risk Management
• Terminal Action Analysis

3. An ARQC request is issued to the ICC.

4. The ICC returns an ARQC.

5. The Smart Card data, to be added to the Consumer Request message, is


formatted and stored to the Smart Card Buffer ID 077.

6. The Smart Card State, Operation 077, exits to the next state, which is
normally the Consumer Request State.

7. A Consumer Request message is generated, with the Smart Card data


added, and sent to the host.

2-12
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

8. If the Transaction is denied, the host sends a Function Command,


including Smart Card Function, Operation 077 and the required Smart
Card data as follows:

EXAMPLE

• Authorization Response Code


• Issuer Authentication Data
• Issuer Scripts

9. The Smart Card Function, Operation 077 retrieves the Smart Card data
from the Smart Card Buffer ID 077, and parses and stores the data.

10. The terminal uses the Authorization Response Code to determine the
transaction is denied.

11. The ICC authenticates the Issuer Authentication Data, and the
authentication is successful.

12. The terminal then sends any Issuer Scripts to the ICC before the request
for an AAC is issued.

13. The terminal then issues an AAC request to the ICC.

14. When the ICC responds with an AAC, ARQC, AAR, or TC, the terminal
sends any Issuer Scripts to the ICC after the AAC request.

15. The terminal then completes any remaining functions specified in the 912
Function Command.

16. A Completion Solicited Status message is generated and sent to the host.

2.4.5 Issuer Approved - Issuer Authentication Data Authentication Failure

The following steps apply after the Initial Transaction Flow, as described in
Section 2.4.1 or Section 2.4.2.

1. Enter the Smart Card State, Operation 077.

2. The following processes are performed before an ARQC request is issued


to the ICC:

• Processing restrictions
• CVM List Processing
• Terminal Risk Management
• Terminal Action Analysis

3. An ARQC request is issued to the ICC.

4. The ICC returns an ARQC.

2-13
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

5. The Smart Card data, to be added to the Consumer Request message, is


formatted and stored to the Smart Card Buffer ID 077.

6. The Smart Card State, Operation 077, exits to the next state, which is
normally the Consumer Request State.

7. The Smart Card data is added to a Consumer Request message and sent
to the host.

8. After the Transaction is approved, the host sends a Function Command,


including Smart Card Function, Operation 077 and the required Smart
Card data as follows:

EXAMPLE

• Authorization Response Code


• Issuer Authentication Data
• Issuer Scripts
• Authorization Code

9. The Smart Card Function, Operation 077 retrieves the Smart Card data
from the Smart Card Buffer ID 077 parses and stores the data.

10. Based on the Authorization Response Code, the terminal determines if


the transaction is approved.

11. The ICC authenticates the Issuer Authentication Data, and the
authentication fails. The terminal sets the appropriate values based on
the failure.

12. The terminal sends any issuer scripts to the ICC before issuing the request
for a TC.

13. The terminal then issues a request for a TC to the ICC.

14. The ICC responds with an AAC because of the authentication failure
of the Issuer Authentication Data.

15. The terminal sends all issuer scripts to the ICC after the TC request.

16. The terminal does not process remaining functions specified in the 912
Function Command.

17. The terminal issues a Solicited Fault Status. This indicates the failure to
complete the transaction, based on the response of an AAC from the ICC.

2-14
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

2.4.6 Issuer Denied - Issuer Authentication Data Authentication Failure

The following steps apply after the Initial Transaction Flow, as described in
Section 2.4.1 or Section 2.4.2.

1. Enter the Smart Card State, Operation 077.

2. The following processes are performed before an ARQC request is issued


to the ICC:

• Processing restrictions
• CVM List Processing
• Terminal Risk Management
• Terminal Action Analysis

3. An ARQC request is sent to the ICC.

4. The ICC returns an ARQC.

5. The Smart Card data, to be added to the Consumer Request message, is


formatted and stored to the Smart Card Buffer ID 077.

6. The Smart Card State, Operation 077, exits to the next state, which is
normally the Consumer Request State.

7. A Consumer Request message is generated, with the Smart Card data


added, and is sent to the host.

8. After denial of the Transaction, the host sends a Function Command,


including Smart Card Function, Operation 077 and the required Smart
Card data as follows:

EXAMPLE

• Authorization Response Code


• Issuer Authentication Data
• Issuer Scripts

9. The Smart Card Function, Operation 077 retrieves the Smart Card data
from the Smart Card Buffer ID 077. The data is specified in the function,
and is parsed and stored.

10. Based on the Authorization Response Code, the terminal determines that
the transaction is denied.

11. The ICC authenticates the Issuer Authentication Data, and the
authentication fails. The terminal sets the appropriate values based on
the failure.

12. The terminal sends any Issuer Scripts to the ICC before the request for
an AAC.

13. The terminal then issues a request for an AAC to the ICC.

2-15
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

14. The ICC responds with an AAC.

15. The terminal sends any issuer scripts to the ICC to be performed after
the AAC request.

16. The terminal then completes any remaining functions specified in the 912
Function Command.

17. A Completion Solicited Status message is generated and sent to the host.

2.4.7 Issuer Approved - No Issuer Authentication Data

The following steps apply after the Initial Transaction Flow, as described in
Section 2.4.1 or Section 2.4.2.

1. Enter the Smart Card State, Operation 077.

2. The following processes are performed before an ARQC request is issued


to the ICC:

• Processing restrictions
• CVM List Processing
• Terminal Risk Management
• Terminal Action Analysis

3. An ARQC request is issued to the ICC.

4. The ICC returns an ARQC.

5. The Smart Card data, to be added to the Consumer Request message, is


formatted and stored to the Smart Card Buffer ID 077.

6. The Smart Card State, Operation 077, exits to the next state, which is
normally the Consumer Request State.

7. A Consumer Request message is generated, with the Smart Card data


added. The terminal sends this request to the host.

8. After the transaction is approved, the host sends a Function Command,


including Smart Card Function, Operation 077 and the required Smart
Card data as follows:

EXAMPLE

• Authorization Response Code


• Issuer Scripts
• Authorization Code

9. The Smart Card Function, Operation 077 retrieves the Smart Card data
from the Smart Card Buffer ID 077 parses and stores the data.

2-16
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

10. Based on the Authorization Response Code, the terminal determines that
the transaction is approved.

11. Since Issuer Authentication Data is not present, the ICC has nothing
to authenticate. The terminal sets the appropriate values based on
authentication NOT being performed.

12. The terminal sends any Issuer Scripts to the ICC before the request for
a TC is issued.

13. The terminal then issues a request for a TC to the ICC.

14. The ICC responds with an AAC.

15. The terminal sends any Issuer Scripts to the ICC after the TC request.

16. The terminal does not process any remaining functions specified in the
912 Function Command.

17. The terminal issues a Solicited Fault Status indicating the failure to
complete the transaction. This is due to the response of an AAC from
the ICC.

2.4.8 Issuer Approved - Invalid Cryptogram Response from ICC

The following steps apply after the Initial Transaction Flow, as described in
Section 2.4.1 or Section 2.4.2.

1. Enter the Smart Card State, Operation 077.

2. The following processes are performed before an ARQC request is issued


to the ICC:

• Processing restrictions
• CVM List Processing
• Terminal Risk Management
• Terminal Action Analysis

3. An ARQC request is issued to the ICC.

4. The ICC returns an ARQC.

5. The Smart Card data, to be added to the Consumer Request message, is


formatted and stored to the Smart Card Buffer ID 077.

6. The Smart Card State, Operation 077, exits to the next state. This is
normally the Consumer Request State.

7. A Consumer Request message is generated, with the Smart Card data


added, and is sent to the host.

2-17
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

8. After the approval of the Transaction, the host sends a Function


Command, including Smart Card Function, Operation 077 and the
required Smart Card data as follows:

EXAMPLE

• Authorization Response Code


• Issuer Authentication Data
• Issuer Scripts
• Authorization Code

9. The Smart Card Function, Operation 077 retrieves the Smart Card data
from the Smart Card Buffer ID 077 and parses and stores the data.

10. Based on the Authorization Response Code, the terminal determines the
transaction is approved.

11. The ICC authenticates the Issuer Authentication Data, and the
authentication fails. The terminal sets the appropriate values based on
the failure.

12. The terminal then sends any Issuer Scripts to the ICC to be performed
before the request for a TC is issued.

13. The terminal then issues a request for a TC to the ICC.

14. The ICC responds with an ARQC, AAR or AAC.

15. The terminal sends any issuer scripts to the ICC to be performed after
the TC request.

16. The terminal does not process any remaining functions specified in the
912 Function Command.

17. The terminal issues a Solicited Fault Status indicating the failure to
complete the transaction, due to the invalid cryptogram response to the
request for a TC

2.4.9 Terminal Denied - ARQC Request Responds with AAR

The following steps apply after the Initial Transaction Flow, as described in
Section 2.4.1 or Section 2.4.2.

1. Enter the Smart Card State, Operation 077.

2. The following processes are performed before an ARQC request is issued


to the ICC:

• Processing restrictions
• CVM List Processing
• Terminal Risk Management
• Terminal Action Analysis

2-18
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

3. An ARQC request is issued to the ICC.

4. The ICC returns an AAR instead of an ARQC.

5. The terminal treats the AAR as an offline denial and declines the
transaction.

6. An Unsolicited Status message is generated containing the AAC and any


other relevant data.

7. The terminal exits to transaction denied offline next state.

2.4.10 ICC Denied - ARQC Request Denied

The following steps apply after the Initial Transaction Flow, as described in
Section 2.4.1 or Section 2.4.2..

1. Enter the Smart Card State, Operation 077.

2. The following processes are performed before an ARQC request is issued


to the ICC:

• Processing restrictions
• CVM List Processing
• Terminal Risk Management
• Terminal Action Analysis

3. An ARQC request is issued to the ICC.

4. The ICC returns an AAC instead of an ARQC.

5. An Unsolicited Status message is generated containing the AAC and any


other relevant data.

6. The terminal exits to transaction offline denied next state.

2.4.11 ICC Response Invalid - ARQC Request Responds with TC

The following steps apply after the Initial Transaction Flow, as described in
Section 2.4.1 or Section 2.4.2.

1. Enter the Smart Card State, Operation 077.

2. The following processes are performed before an ARQC request is issued


to the ICC:

• Processing restrictions
• CVM List Processing
• Terminal Risk Management
• Terminal Action Analysis

2-19
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

3. An ARQC request is sent to the ICC.

4. The ICC returns a TC instead of an ARQC.

5. An Unsolicited Status message is generated containing the TC and any


other relevant data.

6. The terminal exits to device failure next state.

2.4.12 ICC Transaction Termination

All ICC transactions, which time-out while waiting on a Host response, must be
terminated utilizing the ICC Transaction Termination State.

The final actions performed are as follows:

1. Enter the Smart Card State, Operation 078.

2. An AAC request is sent to the ICC.

3. An Unsolicited Fault Status is generated.

2.4.13 Re-select Current Smart Card Application

The following steps may be applied following transaction completion.

1. Smart Card State, Operation 075, is entered.

2. Continue the transaction at Step 7 of Section 2.4.1 or Step 6 of


Section 2.4.2.

2.4.14 Re-initialize Smart Card Application

The following steps may be applied following transaction completion.

1. Smart Card State, Operation 070, is entered.

2. Continue the transaction at Step 4 of Section 2.4.1 or Step 4 of


Section 2.4.2.

2.5 Terminal Configuration

This section provides information for configuring the terminal to accept EMV
Smart Card. It also provides information for each EMV Smart Card Interface
available.

2-20
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

The EMV terminal configuration is separated into three levels. From the most
specific to the least specific, the levels are, as follows:

• Application Specific data (Most Specific)


• Scheme Specific data (Specific)
• EMV Specific data (Least Specific)

Data in a more specific level takes 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
configuring of this data is described in the following sections.

2.5.1 Navigation Overview

This section discusses a general overview of the menu options and associated
buttons used in all the interfaces. However, a detailed description of the
Operation buttons are explained further in the Applications, Schemes and
General Settings sections.

EMV Chip Card Options


The following selections are available for the EMV chip card option on all
platforms:

• Applications

• Schemes

• General Settings

2.5.2 Using the Agilis Configuration Utility (ACU) to Configure EMV Terminal Data

The Agilis® Configuration Utility (ACU) is used to configure the terminal for
use of the EMV feature. Many settings are configured via ACU but most often
settings are configured via a download utilizing the message called Write
Command 19, Modifier A. The user needs to determine the best approach for
configuring the EMV data in their environment.

2.5.2.1 Overview

The Agilis Configuration Utility (ACU) is self-documenting. When you click


on the field description, descriptive help text associated with the current cursor
position displays at the bottom of the window.

The tool is a Graphical User Interface (GUI) that allows you to configure the
EMV features.

NOTE

It is a good practice to save your changes each time that you


make changes to an ACU panel.

2-21
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

2.5.2.2 Accessing the Agilis Configuration Utility

Perform the following procedure to access the ACU.

1. Log into Manage_ATM.

2. Refer to Figure 2-1 and use the following path to start the Agilis
Configuration Utility (ACU).

a. Select Start.

b. Select All Programs.

c. Select Diebold.

d. Select Agilis Configuration Utility.

e. Select ACU.

The operating system displays the Agilis Configuration Utility window


as shown in the example screen.

Figure 2-1 Accessing the Agilis Configuration Utility

2-22
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

After selecting ACU, the Agilis Configuration Utility Home Screen


displays. Refer to Figure 2-2.

Figure 2-2 ACU Home Screen

Refer to Figure 2-2 and select Agilis 91x. The Agilis 91x category
expands to a list of main elements, similar to those shown in Figure 2-3.

2.5.2.3 EMV Chip Card

Perform the following procedure to access the ACU.

1. Once you have selected Agilis 91x, select Extended Features. A list of
features is displayed below the Extended Features selection (Figure 2-3).

2. Select EMV Chip Card from the list. The EMV Chip Card window
displays.

2-23
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

G6741002

Figure 2-3 EMV Chip Card

3. Scroll down the window to the Application Screen.

4. Select the Add button at the bottom left corner and the Application
window expands. Selecting the Add button in the expanded Applications
window expands the EMV Tag window for data entry.

5. Refer to Table 2-2 for the Applications Screen definitions.

2-24
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-2 EMV Chip Card Settings

Option [1] Description Values


EMV Chip Card

G6461EMVApp.jpg

Applications
Description Describes the Application ID. Example: Terminal Supported Application ID.
The description can be empty.
Application ID A 5 to 16 byte hex value (10 to Example: A00000000310
32 characters) that represents
an application ID on a card.
[1] EMV tags are not validated during device transactions. Insure that valid values are used for EMV tags.

2-25
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-2 EMV Chip Card Settings (continued)

Option [1] Description Values


Partial AID Check this option if a value
in the Application ID field
specifies a partial AID;
otherwise a fully qualified AID
is assumed.
Application type Specifies the payment system VISA
that this application follows. MasterCard
National Standard Indonesian Chip Card
Interac Chip Card

Example VISA
Next state A valid next state to continue Example: 026
processing when this
application is selected.
Default Label Default Label to be displayed. Example: MasterCard Debit
VISA Debit
National Standard Indonesian Chip Card
Interac Chip Card

TAC Online A TAC (Terminal Action Code) Example:


is a five byte hex value that
is compared against the TVR Visa – D84004F800
(Terminal Verification Results) Reference Visa Integrated Circuit Card, Terminal
to determine whether to go Specification, version 1.4.0, Effective: April 2000,
online for the transaction. Table 10-3 Offline Processing Results – Terminal
Data.
The TAC Online is used to
determine if a transaction MasterCard – F878048000
will go online. Should the The MasterCard TAC was derived from the M/Chip
check determine that the Functional Architecture for Debit and Credit document
transaction is to be approved dated January 2005 , Table 7.2 Full Grade TACs -
offline; the transaction will terminals and Manual Cash Advance. Reference
go online since terminals are the M/Chip Functional Architecture for Debit and
online-only terminals. Credit for additional MasterCard settings. Contact
MasterCard for the latest MasterCard documents.
It is recommended that this
field be entered in the Scheme
data section when supporting
more than one scheme. See
the scheme specific sections
to enter a TAC Online for a
specific scheme. Otherwise
refer to the EMVCo Book 3
or the appropriate Payment
scheme document for a
recommended TAC Online
[1] EMV tags are not validated during device transactions. Insure that valid values are used for EMV tags.

2-26
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-2 EMV Chip Card Settings (continued)

Option [1] Description Values


TAC Denial A TAC (Terminal Action Code) Example:
is a five byte hex value that
is compared against the TVR Visa – 0010000000
(Terminal Verification Results) Reference Visa Integrated Circuit Card, Terminal
to determine whether to deny Specification, version 1.4.0, Effective: April 2000,
the transaction. We require Table 10-3 Offline Processing Results – Terminal
TAC Online to be set if TAC Data.
Denial is set.
MasterCard – 0400980000
The TAC Denial is used to The MasterCard TAC Denial was derived from the
determine if a transaction will M/Chip Functional Architecture for Debit and Credit
be declined offline. document dated January 2005 , Table 7.2 Full
Grade TACs - terminals and Manual Cash Advance.
It is recommended that this Reference the M/Chip Functional Architecture for
field be entered in the Scheme Debit and Credit for additional MasterCard settings.
data section when supporting Contact MasterCard for the latest MasterCard
more than one scheme. See documents.
the scheme specific sections
(MasterCard Smart Debit
and Credit Screen Settings)
to enter a TAC Denial for a
specific scheme. Otherwise
refer to the EMVCo Book 3
or the appropriate Payment
scheme document for a
recommended TAC Denial
CREQ DOL A list of tags that should Example: 5F209F159F16
be added, along with their By default, the following list of TAGs is always sent to
value, to the CREQ for EMV the host:
transactions. Refer to Table 2-5.

Please reference the EMVCo


Book 3 or the appropriate
Payment scheme document
for a list of TAGs and their
definitions. These TAGs
can be added to this field for
inclusion in the CREQ. Should
there be no value available
at the terminal for a selected
TAG then the TAG will be
included in the CREQ with an
empty data field.
Solicited DOL A list of tags that should be Example: 5F209F159F16
added, along with their value, By default, the following list of TAGs is always sent to
to any solicited status that the host:
was generated during EMV Refer to Table 2-6.
processing.
Unsolicited DOL A list of tags that should be Example: 5F209F159F16
added, along with their value, By default, the following list of TAGs is always sent to
to any unsolicited status that the host:
was generated during EMV Refer to Table 2-7.
processing.
[1] EMV tags are not validated during device transactions. Insure that valid values are used for EMV tags.

2-27
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-2 EMV Chip Card Settings (continued)

Option [1] Description Values


Default DDOL Dynamic Data Object List is a N/A
concatenated list of tags and
lengths used for dynamic data
authentication.

The Default DDOL is not used


on a terminal at this time
due to always requiring a
transaction to go online.
Default TDOL Transaction Data Object List Visa Default TDOL
is a concatenated list of tags At the time this manual was written, no Default TDOL
and lengths to use in the was found in the available documentation. Please
generation of a transaction contact Visa for the latest Visa documents or to
hash value. inquire about the setting for Default TDOL.

It is recommended that this MasterCard Default TDOL –


field be entered in the Scheme 9F02065F2A029A039C0195059F3704
data section when supporting Reference the M/Chip Functional Architecture for
more than one scheme (Visa, Debit and Credit document dated January 2005,
MasterCard, etc.). Reference Appendix A - Data Dictionary, Default Transaction
the appropriate Visa or Certificate Data Object List (TDOL). Reference
MasterCard documents for a the M/Chip Functional Architecture for Debit and
recommended TDOL. Credit for additional MasterCard settings. Contact
MasterCard for the latest MasterCard documents.

Example: 9F37049F0206
EMV Tag Valid EMV tags that can be Tag ID Example: 9F1A
set by the terminal.
Describes the Tag. The description can not be empty.
Value Example: 0840

A value that is valid for the specified Tag.


Description Example: Terminal Country Code

Valid EMV or payment scheme specific tag that can


be set by the terminal.
[1] EMV tags are not validated during device transactions. Insure that valid values are used for EMV tags.

6. Scroll down to view the Blocked Applications table.

In the Blocked Applications section, you can add, delete, and modify
application identifiers (AIDs) listed in the terminal’s blocked application
list.

7. Click Add to add a new AID to the Blocked Applications list.

The Blocked Application window appears.

2-28
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

G6741001

Figure 2-4 Blocked Application Window

Options Description Values


Description Describes the Application ID. The description Example: Terminal Supported
can be empty. Application ID.
Application ID A 5 to 16 byte hex value (10 to 32 characters) Example: A00000000310
that represents an application ID on a card.
Application type Specifies the payment system that this <for SME: Please provide the drop-down
application follows. values>

8. Click OK.

Observe that the new blocked application is listed in the Blocked


Application list on the EMV Chip Card configuration window.

9. Select a blocked application in the list and click Modify to edit the
application details.

10. Select a blocked application in the list and click Remove to remove the
application from the list.

11. The Schemes configuration follows the Blocked Applications


configuration on the EMV Chip Card configuration.

2-29
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

12. To modify the scheme information select a scheme from the list of
available schemes and click on the Modify button or double click on a
scheme.

Table 2-3 EMV Chip Card Settings Schemes

Option [1] Description Values

G6461EMVSchemes.jpg

G6461SchemeEMV.jpg

Scheme

2-30
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-3 EMV Chip Card Settings Schemes (continued)

Option [1] Description Values


TAC Online A TAC (Terminal Action Code) Example:
is a five byte hex value that
is compared against the TVR MasterCard - F878048000
(Terminal Verification Results) The MasterCard TAC Online was derived from
to determine whether to go the M/Chip Functional Architecture for Debit and
online for the transaction. Credit document dated January 2005, Table 7.2 Full
Grade TACs - terminals and Manual Cash Advance.
The TAC Online is used to Reference the M/Chip Functional Architecture for
determine if a transaction Debit and Credit for additional MasterCard settings.
will go online. Should the Contact MasterCard for the latest MasterCard
check determine that the documents.
transaction is to be approved
offline; the transaction will Visa - D84004F800
go online since terminals are Reference Visa Integrated Circuit Card, Terminal
online-only terminals. Specification, version 1.4.0, Effective: April 2000,
Table 10-3 Offline Processing Results - Terminal Data.
It is recommended that this
field be entered in the Scheme
data section when supporting
more than one scheme. See
the scheme specific sections
to enter a TAC Online for a
specific scheme. Otherwise
refer to the EMVCo Book 3
or the appropriate Payment
scheme document for a
recommended TAC Online
TAC Denial A TAC (Terminal Action Code) Example:
is a five byte hex value that
is compared against the TVR MasterCard - 0400980000
(Terminal Verification Results) The MasterCard TAC Denial was derived from
to determine whether to deny the M/Chip Functional Architecture for Debit and
the transaction. We require Credit document dated January 2005, Table 7.2 Full
TAC Online to be set if TAC Grade TACs - terminals and Manual Cash Advance.
Denial is set. Reference the M/Chip Functional Architecture for
Debit and Credit for additional MasterCard settings.
The TAC Denial is used to Contact MasterCard for the latest MasterCard
determine if a transaction will documents.
be declined offline.
Visa - 0010000000
It is recommended that this Reference Visa Integrated Circuit Card, Terminal
field be entered in the Scheme Specification, version 1.4.0, Effective: April 2000,
data section when supporting Table 10-3 Offline Processing Results - Terminal Data.
more than one scheme. See
the scheme specific sections
(MasterCard Smart Debit
and Credit Screen Settings)
to enter a TAC Denial for a
specific scheme. Otherwise
refer to the EMVCo Book 3
or the appropriate Payment
scheme document for a
recommended TAC Denial

2-31
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-3 EMV Chip Card Settings Schemes (continued)

Option [1] Description Values


CREQ DOL A list of tags that should Example: 5F209F159F16
be added, along with their By default, the following list of TAGs is always sent to
value, to the CREQ for EMV the host:
transactions. Refer to Table 2-5.

Please reference the EMVCo


Book 3 or the appropriate
Payment scheme document
for a list of TAGs and their
definitions. These TAGs
can be added to this field
for inclusion in the CREQ.
Should there be no value
available at the terminal for a
selected TAG then the TAG
will be included in the CREQ
with an empty data field.
Solicited DOL A list of tags that should be Example: 5F209F159F16
added, along with their value, By default, the following list of TAGs is always sent to
to any solicited status that the host:
was generated during EMV Refer to Table 2-6.
processing.
Unsolicited DOL A list of tags that should be Example: 5F209F159F16
added, along with the value, By default, the following list of TAGs is always sent to
to any unsolicited status that the host:
was generated during EMV Refer to Table 2-7.
processing.
Default DDOL Dynamic Data Object List is N/A
a concatenated list of tags
and lengths used for dynamic
data authentication. The
Default DDOL is not used on
a terminal at this time due to
always requiring a transaction
to go online.
Default TDOL Transaction Data Object List Visa Default TDOL
is a concatenated list of tags At the time this manual was written, no Default TDOL
and lengths to use in the was found in the available documentation. Please
generation of a transaction contact Visa for the latest Visa documents or to
hash value. inquire about the setting for Default TDOL.

It is recommended that this MasterCard Default TDOL –


field be entered in the Scheme 9F02065F2A029A039C0195059F3704
data section when supporting Reference the M/Chip Functional Architecture for
more than one scheme. Debit and Credit document dated January 2005,
Reference the appropriate Appendix A - Data Dictionary, Default Transaction
Payment scheme document Certificate Data Object List (TDOL). Reference
for a recommended TDOL. the M/Chip Functional Architecture for Debit and
Credit for additional MasterCard settings. Contact
MasterCard for the latest MasterCard documents.

Example: 9F37049F0206

2-32
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-3 EMV Chip Card Settings Schemes (continued)

Option [1] Description Values


Emv Tag Valid EMV tags that can be Tag ID Example: 9F1A
set by the terminal.
Describes the Tag. The description can not be empty.
Value Example: 0840

A value that is valid for the specified Tag.


Description Example: Terminal Country Code

Valid EMV or payment scheme specific tag that can


be set by the terminal.

13. Scroll down the window for General settings.

2-33
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

CAUTION

To avoid problems, DO NOT delete Tag Id = 9F1E


and Value = DBD00004. If you do, replace it! This
InterFace Device (IFD) serial number record is set
by Diebold.

This IFD serial number MUST NOT be deleted or


modified.

Table 2-4 EMV Chip Card Settings General Settings

Option [1] Description Values


General Settings

G6461EMVGeneral.jpg

2-34
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-4 EMV Chip Card Settings General Settings (continued)

Option [1] Description Values


TAC Online A TAC (Terminal Action Code) Visa – D84004F800
is a five byte hex value that Reference Visa Integrated Circuit Card, Terminal
is compared against the TVR Specification, version 1.4.0, Effective: April 2000, Table
(Terminal Verification Results) to 10-3 Offline Processing Results – Terminal Data.
determine whether to go online
for the transaction. Should MasterCard – F878048000
the check determine that the The MasterCard TAC Online was derived from the
transaction is not to go online, M/Chip Functional Architecture for Debit and Credit
the transaction will be declined document dated January 2005 , Table 7.2 Full Grade
offline due to a terminal requiring TACs - terminals and Manual Cash Advance. Reference
that all transactions go online. the M/Chip Functional Architecture for Debit and Credit
for additional MasterCard settings. Contact MasterCard
for the latest MasterCard documents.
TAC Denial The TAC Denial is used to Visa – 0010000000
determine if a transaction will be Reference Visa Integrated Circuit Card, Terminal
declined offline. Specification, version 1.4.0, Effective: April 2000, Table
10-3 Offline Processing Results – Terminal Data.
A TAC (Terminal Action Code)
is a five byte hex value that MasterCard – 0400980000
is compared against the TVR The MasterCard TAC Denial was derived from the M/Chip
(Terminal Verification Results) Functional Architecture for Debit and Credit document
to determine whether to deny dated January 2005 , Table 7.2 Full Grade TACs -
the transaction. We require TAC terminals and Manual Cash Advance. Reference the
Online to be set if TAC Denial is M/Chip Functional Architecture for Debit and Credit for
set. additional MasterCard settings. Contact MasterCard for
the latest MasterCard documents.
CREQ DOL A list of tags that should be Example: 5F209F159F16
added, along with their value, to By default, the following list of TAGs is always sent to the
the CREQ for EMV transactions. host:
Refer to Table 2-5.
Solicited DOL A list of tags that should be Example: 5F209F159F16
added, along with their value, By default, the following list of TAGs is always sent to the
to any solicited status that host:
was generated during EMV Refer to Table 2-6.
processing.
Unsolicited DOL A list of tags that should be Example: 5F209F159F16
added, along with their value, By default, the following list of TAGs is always sent to the
to any unsolicited status that host:
was generated during EMV Refer to Table 2-7.
processing.
Default DDOL Dynamic Data Object List is a N/A
concatenated list of tags and
lengths used for dynamic data
authentication.

The Default DDOL is not used


on a terminal at this time due to
always requiring a transaction
to go online.

2-35
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-4 EMV Chip Card Settings General Settings (continued)

Option [1] Description Values


Default TDOL Transaction Data Object List is Visa Default TDOL
a concatenated list of tags and At the time this manual was written, no Default TDOL was
lengths to use in the generation found in the available documentation. Please contact
of a transaction hash value. Visa for the latest Visa documents or to inquire about the
setting for Default TDOL.
It is recommended that this field
be entered in the Scheme data MasterCard Default TDOL –
section when supporting 9F02065F2A029A039C0195059F3704
more than one scheme Reference the M/Chip Functional Architecture for Debit
(Visa, MasterCard, etc.). and Credit document dated January 2005, Appendix
Reference the appropriate Visa A - Data Dictionary, Default Transaction Certificate
or MasterCard documents for a Data Object List (TDOL). Reference the M/Chip
recommended TDOL. Functional Architecture for Debit and Credit for additional
MasterCard settings. Contact MasterCard for the latest
MasterCard documents.

Example: 9F37049F0206
Language Map This tag is used by the Automatic Example:
Language Selection state to If the terminal supports three languages (i.e., English,
determine the transaction's Spanish, and Hindi) that are setup as language banks
language based on the card 000, 001 and 002, respectively, then the language map is
data. set to en000es001hi002.

This tag is a map of the ISO


639-1 language codes and the
language bank numbers for the
languages supported on the
terminal. This tag may be used
with or without the OpCode Map
tag.

The Language Map tag


format is a two-letter alpha
language code followed by
a three-digit language bank
number (000 – 255). This
language code/language bank
number string may be repeated
for all the languages supported
on the terminal.

2-36
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-4 EMV Chip Card Settings General Settings (continued)

Option [1] Description Values


OpCode Map This tag is used by the Automatic Example:
Language Selection state to set If the terminal supports three languages (i.e., English,
up a unique OpCode buffer for Spanish, and Hindi) and the Opcode Map is set to
each language supported on the 012ABC347CCD345@@F, then the Opcode buffer sent
terminal. in the CREQ will be:

This tag defines OpCode • ABCXXXXX for English transactions


positions and OpCode values • XXXCCXXD for Spanish transactions
for the languages supported on • XXXXXFXX for Hindi transactions
the terminal. This tag is optional.
If this tag is used, there must be ... where X means that the value in the position will not
a corresponding Language Map be changed.
tag.

The OpCode Map tag format


is an OpCode position number
(0 – 7) followed by an OpCode
value alpha (@ – M). An
OpCode value of @ indicates
a "don't care" condition and,
if used, the OpCode value for
the corresponding position will
not be modified. This OpCode
position/value string may be
repeated for all the languages
supported on the terminal.
Emv Tag Valid EMV tags that can be set Tag ID Example: 9F1A
by the terminal.
Describes the Tag. The description can not be empty.
Value Example: 0840

A value that is valid for the specified Tag.


Description Example: Terminal Country Code

Valid EMV or payment scheme specific tag that can be


set by the terminal.
Interac Application If set to yes then application Yes / No
Selection selection method described in
Interac specification is used to
build the common application
list. If set to no then application
selection method described in
the EMV specification is used
to build the common application
list.

2-37
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-5 CREQ Tag Values

Tag Description
8C[1] CDOL1
9F02 Amount Authorized, Numeric
9F03 Amount Other, Numeric
82 Application Interchange Profile
5A Application Primary Account Number
5F34 Application PAN Sequence Number
9F36 Application Transaction Counter
9F26 Application Cryptogram
9F34 CVM Results
9F27 Cryptogram Information Data
9F1E IFD Serial Number
9F10 Issuer Application Data
9F09 Application version Number, Terminal
9F33 Terminal Capabilities
9F1A Terminal Country Code
9F35 Terminal Type
95 TVR
57 Track 2 Equivalent Data
5F2A Transaction Currency Code
9A Transaction Date
9F41 Transaction Sequence Counter
9B Transaction Status Information
9C Transaction Type
9F37 Unpredictable Number
9F53 Transaction Category Code, MasterCard
Consecutive Transaction Limit (International), Visa (optional, read from ICC)
[1] Any tags in the value field of CDOL1, that are not already included in the appended data, will be
added to the appended data.

Table 2-6 Solicited DOL Tag Values

Tag Description
9F02 Amount Authorized, Numeric
9F03 Amount Other, Numeric
82 Application Interchange Profile
5A Application Primary Account Number

2-38
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-6 Solicited DOL Tag Values (continued)

Tag Description
9F36 Application Transaction Counter
9F27 Cryptogram Information Data
9F10 Issuer Application Data
5F34 Application PAN Sequence Number
9F1A Terminal Country Code
95 TVR
9F26 Application Cryptogram
5F2A Transaction Currency Code
9A Transaction Date
9B Transaction Status Information
9C Transaction Type
9F37 Unpredictable Number
8A Authorization Response Code

Table 2-7 Unsolicited DOL Tag Values

Tag Description
8C[1] CDOL1
9F02 Amount Authorized, Numeric
9F03 Amount Other, Numeric
82 Application Interchange Profile
9F36 Application Transaction Counter
9F26 Application Cryptogram
8A Authorization Response Code
9F27 Cryptogram Information Data
9F10 Issuer Application Data
5A Application Primary Account Number
5F34 Application PAN Sequence Number
9F1A Terminal Country Code
95 TVR
5F2A Transaction Currency Code
9A Transaction Date
9B Transaction Status Information
9C Transaction Type
9F37 Unpredictable Number

2-39
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-7 Unsolicited DOL Tag Values (continued)

Tag Description
5F24 Application Expiration Date
9F33 Terminal Capabilities
9F1C Terminal ID
9F35 Terminal Type
57 Track 2 Equivalent Data

2.6 Restricted TAGs

Restricted TAGs
The Restricted TAGs are tags that may not be set through either the Write
Command 19, Modifier A messages, or ACU. This list is only a partial listing.
There may be other tags, specific to a Payment Scheme, that should not be set.
These tags may still be used by the system, but their values are either fixed, read
from the ICC or calculated at run time.

Table 2-8 Restricted TAGs

TAG DESCRIPTION
9F40 Additional Terminal Capabilities
81 Amount, Authorized (Binary)
9F02 Amount, Authorized (Numeric)
9F04 Amount, Other (Binary)
9F03 Amount, Other (Numeric)
9F26 Application Cryptogram
9F42 Application Currency Code
9F44 Application Currency Exponent
9F05 Application Discretionary Data
5F25 Application Effective Date
5F24 Application Expiration Date
94 Application File Locator
4F Application Identifier (AID) (ICC)
9F06 Application Identifier (AID) (Terminal)
82 Application Interchange Profile
50 Application Label
9F12 Application Preferred Name
5A Application Primary Account Number (PAN)
5F34 Application Primary Account Number (PAN) Sequence Number
87 Application Priority Indicator

2-40
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-8 Restricted TAGs (continued)

TAG DESCRIPTION
9F3B Application Reference Currency
9F43 Application Reference Currency Exponent
61 Application Template
9F36 Application Transaction Counter (ATC)
9F07 Application Usage Control
9F08 Application version Number (ICC)
9F09 Application version Number (Terminal)
89 Authorization Code
8A Authorization Response Code
8C Card Risk Management Data Object List 1 (CDOL1)
8D Card Risk Management Data Object List 2 (CDOL2)
5F20 Cardholder Name
9F0B Cardholder Name Extended
8E Cardholder Verification Method (CVM) List
9F34 Cardholder Verification Method (CVM) Results
8F Certification Authority Public Key Index (ICC)
83 Command Template
9F27 Cryptogram Information Data
9F45 Data Authentication Code
84 Dedicated File (DF) Name
9D Directory Definition File (DDF) Name
73 Directory Discretionary Template
9F49 Dynamic Data Authentication Data Object List (DDOL)
BF0C File Control Information (FCI) Issuer Discretionary Data
A5 File Control Information (FCI) Proprietary Template
6F File Control Information (FCI) Template
9F4C ICC Dynamic Number
9F2D Integrated Circuit Card (ICC) PIN Encipherment Public Key Certificate
9F2E Integrated Circuit Card (ICC) PIN Encipherment Public Key Exponent
9F2F Integrated Circuit Card (ICC) PIN Encipherment Public Key Remainder
9F46 Integrated Circuit Card (ICC) Public Key Certificate
9F47 Integrated Circuit Card (ICC) Public Key Exponent
9F48 Integrated Circuit Card (ICC) Public Key Remainder
9F1E Interface Device (IFD) Serial Number
9F0D Issuer Action Code – Default
9F0E Issuer Action Code – Denial
9F0F Issuer Action Code – Denial

2-41
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-8 Restricted TAGs (continued)

TAG DESCRIPTION
9F10 Issuer Application Data
91 Issuer Authentication Data
9F11 Issuer Code Table Index
5F28 Issuer Country Code
90 Issuer Public Key Certificate
9F32 Issuer Public Key Exponent
92 Issuer Public Key Remainder
86 Issuer Script Command
9F18 Issuer Script Identifier
5F50 Issuer URL
5F2D Language Preference
9F13 Last Online Application Transaction Counter (ATC) Register
9F14 Lower Consecutive Offline Limit
9F17 Personal Identification Number (PIN) Try Counter
9F38 Processing Options Data Object List (PDOL)
80 Response Message Template Format 1
77 Response Message Template Format 2
5F30 Service Code
88 Short File Identifier (SFI)
9F4B Signed Dynamic Application Data
93 Signed Static Application Data
9F4A Static Data Authentication Tag List
9F33 Terminal Capabilities
9F35 Terminal Type
95 Terminal Verification Results
9F1F Track 1 Discretionary Data
9F20 Track 2 Discretionary Data
57 Track 2 Equivalent Data
97 Transaction Certificate Data Object List (TDOL)
98 Transaction Certificate (TC) Hash Value
9A Transaction Date
99 Transaction Personal Identification Number (PIN) Data
9F41 Transaction Sequence Counter
9B Transaction Status Information
9F21 Transaction Time
9C Transaction Type

2-42
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 2-8 Restricted TAGs (continued)

TAG DESCRIPTION
9F37 Unpredictable Number
9F23 Upper Consecutive Offline Limit

2-43
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

2-44
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Section 3
Agilis 3 91x® EMV Programmer Guide

3.1 Introduction

This section is a reference for personnel who need to integrate the application
with an existing automated teller machine (terminal) system, such as:

• Terminal programmers
• Host and controller programmers responsible for Terminal applications
• Diebold service representatives

This section provides detailed descriptions of EMV Smart Card Application


states and message elements and a list of the status codes that are generated
by the EMV Smart Card Application.

This section is a supplement to other terminal programming documentation,


particularly the Agilis 3 91x Terminal Programming Manual (TP-821288-001H).

This section is not a complete replacement for the above manual.

Readers should be familiar with Diebold Opteva terminal programming and


EMV Smart Card requirements and terminology.

3.2 Overview

This section is divided into the following subsections.

Enhanced Smart Card State Definitions


The Enhanced Smart Card State (SCb/) provides Smart Card State based
Operations in the state flow of the terminal.

Write Command 19, Modifier A Message


The EMV Smart Card Application uses the Write Command 19, Modifier A
message to download Smart Card terminal configuration data to the terminal.

Smart Card Consumer Request Messages


The EMV Smart Card Application modifies the standard 912 Consumer Request
Messages by appending the Smart Card data to the messages. A detailed
description is given of the modified 912 Consumer Request Messages exchanged
between the terminal and the terminal driver for EMV transactions.

Smart Card Function Commands


The EMV Smart Card Application uses the Enhanced Function Commands and
Standard 912 Function Commands to deliver EMV Smart Card transaction data
and functions to the terminal. A detailed description of the Function Commands
exchanged between the terminal driver and the terminal for EMV consumer
transactions is provided.

3-1
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Smart Card Solicited Status Messages


The EMV Smart Card Application uses the standard 912 solicited status messages
with appended smart card data. A detailed description of the 912 solicited status
messages exchanged between the terminal and the terminal driver for EMV
transactions is given.

Smart Card Unsolicited Status Messages


The EMV Smart Card Application uses the standard 912 unsolicited status
messages. A detailed description of the 912 unsolicited status messages
exchanged between the terminal and the terminal driver for EMV transactions
is given.

Status Codes
A list of the status codes that the EMV Smart Card Application can generate is
provided. The information includes the error condition that initiated the status
and its description.

3-2
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Code Conventions
Tables that show message formats use the following notational code conventions.

Table 3-1 Code Conventions

CODE DESCRIPTION
SYMBOLS

The data for this code must be a valid character as described


X in the Agilis 3 91x Programming Manual, (TP-821288-001H),
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 Agilis 3 91x Terminal Programming Manual,
(TP-821288-001H) , as applicable.
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
Brackets [ ]
must be valid data as described in this manual or in the Agilis
3 91x Terminal Programming Manual, (TP-821288-001H), 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 Indicates that the length of the field is variable. Numeric
VARIABLE parenthetic expressions following VAR or VARIABLE show the
(numeric) maximum length allowed in the field.

3.3 Enhanced Smart Card State Definitions

The Enhanced Smart Card State (SCb/) is able to provide Smart Card State-based
Operations in the state flow of the terminal. The Enhanced 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 Enhanced Smart Card State contents vary depending on the Operation. The
following sections detail the Enhanced Smart Card State definitions, based on
the Operation.

Interface Design
This section describes the Smart Card State interfaces, used by the host
programmer, to integrate the Smart Card functionality into the state flow.

3-3
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Operation
The Operation entry tells the terminal what Smart Card Operation to perform
during the State. The following valid Operation values for the Enhanced Smart
Card State for the EMV Smart Card Application are defined in Table 3-2.

Table 3-2 Smart Card State Operations Used for the EMV Smart
Card Application

Operation Description

001 - 069 Reserved


070 Begin ICC Initialization
071 Complete ICC Initialization
072 Begin Application Selection and Initialization
073 Complete Application Selection and Initialization
074 Automatic Language Selection
075 Restart Application
076 Set ICC Transaction Data
077 Generate ARQC
078 Terminate Transaction
079 - 099 Reserved

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.

3.3.1 Smart Card State, Operation 070 - Begin ICC Initialization

Smart Card State (SCb/), Operation 070, is used to implement the Begin ICC
Initialization State behavior. This operation is the first to be executed in order to
start an EMV transaction. Operation 070 kicks off asynchronous processing to
interface with the ICC. Refer to Table 3-3.

Table 3-3 State Definition, Operation 070

Description Code Range

State Number XXX Valid State Numbers


State Type SCb/ Fixed
Unit Number 001 Fixed
Operation 070 Fixed
ICC Initialization Started Next State Number XXX Valid State Numbers
ICC Initialization Not Started Next State Number XXX Valid State Numbers
ICC Initialization Requirement XXX 000 – 001
Automatic ICC Application Selection Flag XXX 000 – 001

3-4
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-3 State Definition, Operation 070 (continued)

Description Code Range

ICC Application Name Validation Flag XXX 000 – 002


Cardholder Confirmation Flag XXX 000 – 001
Buffer To Clear XXX Valid Buffer IDs

State Type
Valid Range: SCb/
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 Enhanced Smart Card State must be 001.

Operation
Valid Range: 070
Description: Operation number used to access the Begin ICC Initialization
functionality.

ICC Initialization Started Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if ICC
initialization has been successfully started.

ICC Initialization Not Started Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if ICC
initialization has not been successfully started.

ICC Initialization Requirement


Valid Range: 000 – 001
Description: This flag indicates whether ICC processing should always be
initiated or whether ICC processing should only be initiated when the first byte
of the Track 2 Service Code contains a ‘2’ or ‘6’, which indicates Alternate
Technology (ICC) is available.

• 000 – Always try to perform ICC processing.

• 001 – Only perform ICC processing if position 1 of the Track 2 Service


Code is either ‘2’ or ‘6’.

Automatic ICC Application Selection Flag


Valid Range: 000 – 001
Description: This flag indicates whether automatic ICC application selection
is attempted.

• 000 – Cardholder Application Selection or cardholder confirmation is to


be performed.

• 001 – Perform automatic application selection.

3-5
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

NOTE

The Automatic Application Selection feature references the


Application Priority Indicator, tag 0x87, from the ICC data.
An application’s priority is mapped into the low order 4 bits
of the Application Priority Indicator. Application priorities
range in value from 1 – 15 where 1 is considered the highest
priority. A priority setting of 0 is treated as ‘don’t care’ and
the application is placed after the lowest priority. The highest
priority application is then automatically selected.

ICC Application Name Validation Flag


Valid Range: 000 – 002
Description: This flag indicates the action to be taken if an ICC application name
in not provided by an ICC application while building the candidate list.

• 000 – Use Application Preferred Name, Application Label or Default


Application Label. If none of these are available, do not add application to
list.

• 001 – If the Application Preferred Name or Application Label is not


available, do not add application to list. Default Application Labels are
not used.

• 002 – If an Application Preferred Name or Application Label is not


provided for all of the applications in the common application list, terminate
processing. Default Application Labels are not used.

Cardholder Confirmation Flag


Valid Range: 000 – 001
Description: This flag indicates the action to be taken if an ICC application
indicates that cardholder confirmation is required for this application.

• 000 – Do not check if cardholder confirmation is required.

• 001 – Check if cardholder confirmation is required. Do not add application


to common application list if confirmation is required.

Buffer To Clear
Valid Range: 000, 064 – 090 (‘@’, ‘A’ – ‘Z’), 256 – 355
Description: The ID of the buffer that is to be cleared. This buffer should align
with the buffer referenced in operation 073 to display the application name. A
value of ‘000’ indicates that no buffer is to be cleared.

3.3.2 Smart Card State, Operation 071 - Complete ICC Initialization

Smart Card State (SCb/), Operation 071, is used to wait until the application
candidate list is built or ICC Initialization fails. This operation follows operation
070 and provides an opportunity to perform additional states while ICC
initialization is performed. Application Selection, operation 072, shall not be
performed until operation 071 completes. Refer to Table 3-4.

3-6
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-4 State Definition, Operation 071

Description Code Range

State Number XXX Valid State Numbers


State Type SCb/ Fixed
Unit Number 001 Fixed
Operation 071 Fixed
Please Wait Screen Number XXX Valid Screen Numbers
ICC Initialization Successful Next State Number XXX Valid State Numbers
Card Not Smart Next State Number XXX Valid State Numbers
No Usable Applications Next State Number XXX Valid State Numbers
ICC Application Level Error Next State Number XXX Valid State Numbers
ICC Hardware Level Error Next State Number XXX Valid State Numbers

State Type
Valid Range: SCb/
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 Enhanced Smart Card State must be 001.

Operation
Valid Range: 071
Description: Operation number used to access the Complete ICC Initialization
functionality.

Please Wait Screen Number


Valid Range: 000 – 999
Description: Optional screen to display when waiting on ICC initialization
completion.

ICC Initialization Successful Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if ICC
initialization was successfully completed and the application candidate list is
built.

Card Not Smart Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if the card
was not an ICC card or a successful connection to the ICC was not made.

No Usable Applications Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if no ICC
applications were found for inclusion in the application candidate list.

3-7
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

ICC Application Level Error Next State Number


Valid Range: 000 – 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if an
application error caused the failure of the ICC initialization.

ICC Hardware Level Error Next State Number


Valid Range: 000 – 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if a hardware
error caused the failure of the ICC initialization.

3.3.3 Smart Card State, Operation 072 - Begin Application Selection and Initialization

Smart Card State (SCb/), Operation 072, is used to implement the Begin Smart
Card Application Selection and Initialization functionality. Operation 072
provides for cardholder interaction to select the candidate application to use in
performing the transaction. This section describes the interface to be used by the
customer to incorporate this Smart Card operation into their state flow.

Refer to Table 3-5.

Table 3-5 State Definition, Operation 072

Description Code Range

State Number XXX Valid State Numbers


State Type SCb/ Fixed
Unit Number 001 Fixed
Operation 072 Fixed
Cardholder Selection Screen Number XXX Valid Screen Numbers
FDK A ICC Application Name Template Screen Number XXX Valid Screen Numbers
FDK B ICC Application Name Template Screen Number XXX Valid Screen Numbers
FDK C ICC Application Name Template Screen Number XXX Valid Screen Numbers
FDK D ICC Application Name Template Screen Number XXX Valid Screen Numbers
FDK F ICC Application Name Template Screen Number XXX Valid Screen Numbers
FDK G ICC Application Name Template Screen Number XXX Valid Screen Numbers
FDK H ICC Application Name Template Screen Number XXX Valid Screen Numbers
FDK I ICC Application Name Template Screen Number XXX Valid Screen Numbers
More Applications Screen Number XXX Valid Screen Numbers
FDK For More Applications XXX Valid FDKs
Back To Start of List Screen Number XXX Valid Screen Numbers
FDK For Back To Start of List XXX Valid FDKs
Time Out Next State Number XXX Valid State Numbers
Cancel Key Next State Number XXX Valid State Numbers
Cardholder Selected Application Next State Number XXX Valid State Numbers
Application Selected Automatically Next State Number XXX Valid State Numbers

3-8
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-5 State Definition, Operation 072 (continued)

Description Code Range

No Usable Application Next State Number XXX Valid State Numbers


Default Error Next State Number XXX Valid State Numbers

State Type
Valid Range: SCb/
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 Enhanced Smart Card State must be 001.

Operation
Valid Range: 072
Description: Operation number used to access the Begin ICC Application
Selection and Initialization functionality.

Cardholder Selection Screen Number


Valid Range: 000 – 999
Description: Identifies the cardholder screen to be used as the screen background.
This is only displayed when cardholder selection is being done.

FDK ‘A’ ICC Application Name Template Screen Number


Valid Range: 000 – 999
Description: Identifies the screen number to use as a template for the display of
the ICC application name with FDK ‘A’. ‘000’ indicates FDK ‘A’ is not used.
Refer to Table 3-6.

The FDK screen templates are constructed in the following manner:

• The asterisk '*', is used as a place holder for characters in the application
name. All asterisks are replaced either by a character from the application
name or a space.

• Special sequences (&&S = Start, and &&E = End) are used to denote the
start and end of the application name display.

• Special sequences (&&LJ = Left Justify, &&RJ = Right Justify, and


&&CD=Center Data) are used to left or right justify or center the application
name in the template.

3-9
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

• Template data between &&S and &&E must be limited to the following:

- Application name character place holders


- Justification sequences
- Cursor Positioning information

• All other information that you wish to display with the application name
must be placed in the Cardholder selection screen or outside the application
name delimiters in the application name template screen.

The following are examples of application name screen templates:

EXAMPLE

Example 1:
&&S&&LJ|SIIA**********&&E

Example 2:
&&S&&RJ|SIIA**********&&E

Example 3:
|SIAJAPPLICATION
NAME&&S&&CD|SIBJ******|SICJ******&&E

FDK ‘B’ ICC Application Name Template Screen Number


Valid Range: 000 – 999
Description: Identifies the screen number to use as a template for the display of
the ICC application name with FDK ‘B’. ‘000’ indicates FDK ‘B’ is not used.
Refer to Table 3-6.

FDK ‘C’ ICC Application Name Template Screen Number


Valid Range: 000 – 999
Description: Identifies the screen number to use as a template for the display of
the ICC application name with FDK ‘C’. ‘000’ indicates FDK ‘C’ is not used.
Refer to Table 3-6.

FDK ‘D’ ICC Application Name Template Screen Number


Valid Range: 000 – 999
Description: Identifies the screen number to use as a template for the display
of the ICC application name with FDK ‘D’. ‘000’ indicates FDK ‘D’ is not
used. Refer to Table 3-6.

FDK ‘F’ ICC Application Name Template Screen Number


Valid Range: 000 – 999
Description: Identifies the screen number to use as a template for the display of
the ICC application name with FDK ‘F’. ‘000’ indicates FDK ‘F’ is not used.
Refer to Table 3-6.

FDK ‘G’ ICC Application Name Template Screen Number


Valid Range: 000 – 999
Description: Identifies the screen number to use as a template for the display
of the ICC application name with FDK ‘G’. ‘000’ indicates FDK ‘G’ is not
used. Refer to Table 3-6.

3-10
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

FDK ‘H’ ICC Application Name Template Screen Number


Valid Range: 000 – 999
Description: Identifies the screen number to use as a template for the display
of the ICC application name with FDK ‘H’. ‘000’ indicates FDK ‘H’ is not
used. Refer to Table 3-6.

FDK ‘I’ ICC Application Name Template Screen Number


Valid Range: 000 – 999
Description: Identifies the screen number to use as a template for the display
of the ICC application name with FDK ‘I’. ‘000’ indicates FDK ‘I’ is not used.
Refer to Table 3-6.

NOTE

At least 2 FDKs with ICC Application Name Template Screen


Numbers must be available for candidate applications. The
‘More’ and ‘Back’ FDKs may not reference these 2 FDKs.
When more than 2 ICC Application Name Template Screen
Numbers are defined, ‘More’ and ‘Back’ may reference the
ICC Application Name FDKs.

MORE and BACK must be assigned to an active function key.


Function keys are activated when a they are assigned a screen
template in the state table. If they are assigned a screen number
of '000', it means they are not active and cannot be used for
MORE and BACK.

More Applications Screen Number


Valid Range: 000 – 999
Description: Screen number to use when a FDK is to be activated to display a
next screen of ICC application names.

FDK For More Applications


Valid Range: 001 – 008
Description: FDK which allows cardholder to access the next screen of ICC
application names. Refer to Table 3-6.

Back To Start of List Screen Number


Valid Range: 000 – 999
Description: Screen number to use when a FDK is to be activated to go back
and display the first screen of ICC application names.

FDK For Back To Start of List


Valid Range: 001 – 008
Description: FDK which allows cardholder to return to first screen of ICC
application names. Refer to Table 3-6.

Time Out Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number to be executed if the cardholder
does not respond to an input request in the allotted time.

Cancel Key Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number to be executed if the cardholder
selects cancel to an input request.

3-11
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Cardholder Selected Application Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number to be executed if the cardholder
selects an ICC Application.

Application Selected Automatically Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number to be executed if the ICC
application selection is being automatically performed, because only one ICC
Application is available or the Automatic ICC Application Selection Flag was
set in Begin ICC Initialization.

No Usable Applications Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number to be executed if there are no ICC
applications for the cardholder to select.

Default Error Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number to be executed if any error not
specifically covered by the other next state entries occurs.

Table 3-6 FDK Layout

005 – FDK F 001 – FDK A


006 – FDK G 002 – FDK B
007 – FDK H 003 – FDK C
008 – FDK I 004 – FDK D

3.3.4 Smart Card State, Operation 073 - Complete Application Selection and Initialization

Smart Card State (SCb/), Operation 073, is used to implement the Complete ICC
Application Selection and Initialization State behavior. This operation ensures
the ICC application has been selected and the application data acquired before
the transaction continues. Refer to Table 3-7.

Table 3-7 State Definition, Operation 073

Description Code Range

State Number XXX Valid State Numbers


State Type SCb/ Fixed
Unit Number 001 Fixed
Operation 073 Fixed
Please Wait Screen Number XXX Valid Screen Numbers
ICC Application Name Template Screen Number XXX Valid Screen Numbers
ICC Application Name Buffer ID XXX Valid Buffer IDs

3-12
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-7 State Definition, Operation 073 (continued)

Description Code Range

ICC Application Select and Initialization XXX Valid State Numbers


Successful Next State Number
Card Not Smart Card Next State Number XXX Valid State Numbers
ICC Application Not Usable Next State Number XXX Valid State Numbers
No Suitable ICC Applications Next State Number XXX Valid State Numbers
ICC Application Level Error Next State Number XXX Valid State Numbers
ICC Hardware Level Error Next State Number XXX Valid State Numbers
Processing Not Performed Next State Number XXX Valid State Numbers

State Type
Valid Range: SCb/
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 Enhanced Smart Card State must be 001.

Operation
Valid Range: 073
Description: Operation number used to access the Begin ICC Application
Selection and Initialization functionality.

Please Wait Screen Number


Valid Range: 000 – 999
Description: Identifies the screen to display while waiting for completion of ICC
application selection and initialization.

ICC Application Name Template Screen Number


Valid Range: 000 – 999
Description: Identifies the screen which contains the template to use to generate
the display data containing the selected ICC application name stored in the ICC
Application Name Buffer ID. A value of '000' indicates that the ICC Application
Name will not be formatted and stored.

The FDK screen templates are constructed in the following manner:

• The asterisk '*', is used as a place holder for characters in the application
name. All asterisks are replaced either by a character from the application
name or a space.

• Special sequences (&&S = Start, and &&E = End) are used to denote the
start and end of the application name display.

• Special sequences (&&LJ = Left Justify, &&RJ = Right Justify, and


&&CD=Center Data) are used to left or right justify or center the application
name in the template.

3-13
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

• Template data between &&S and &&E must be limited to the following:

- Application name character place holders


- Justification sequences
- Cursor Positioning information

• All other information that you wish to display with the application name
must be placed in the Cardholder selection screen or outside the application
name delimiters in the application name template screen.

The following are examples of application name screen templates:

EXAMPLE

Example 1:
&&S&&LJ|SIIA**********&&E

Example 2:
&&S&&RJ|SIIA**********&&E

Example 3:
|SIAJAPPLICATION
NAME&&S&&CD|SIBJ******|SICJ******&&E

ICC Application Name Buffer ID


Valid Range: 000, 064 – 090 (‘@’, ‘A’ – ‘Z’), 256 – 355
Description: Identifies the buffer which will contain the output of processing
the template screen, and will contain the name of the selected ICC application.
The name is either Application Preferred Name, Application Label or Default
Application Label, based on the options set in Begin ICC Initialization, Operation
070. A value of ‘000’ indicates that the ICC Application Name will not be
formatted and stored.

ICC Application Select and Initialization Successful Next State


Number
Valid Range: 000 - 254 or 256 – 999 or A00 – ZZZ or 255
Description: Identifies the next state number to proceed to if application
selection is successful. If the state number is ‘255’, the ‘Next State’ is acquired
from the ICC Application terminal data downloaded via Write 19, Modifier A or
configured via ACU for the AID selected.

Card Not Smart Card Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number to proceed to if the card is found
not to be a smart card. This exit could also be taken if a failure condition occurs
which cannot be distinguished from IC not present on card, such as dirty contacts.

ICC Application Not Usable Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number to proceed to if no suitable
applications were found on the card. This next state exit is only valid if automatic
application selection was performed.

3-14
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

No Suitable ICC Applications Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number to proceed to if no suitable
applications were found on the card. This next state exit is only valid if automatic
application selection was performed.

ICC Application Level Error Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number if the ICC application initialization
and selection failed due to an ICC application error.

ICC Hardware Level Error Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number if the ICC application initialization
and selection failed due to an ICC hardware error.

Processing Not Performed Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the next state number to proceed to if application selection
and initialization has not been performed. Should this exist state be taken, verify
that your state flow performs Operation 072 prior to executing Operation 073.

3.3.5 Smart Card State, Operation 074 - Automatic Language Selection

Smart Card State (SCb/), Operation 074, is used to implement the Automatic
Language Selection operation. Following a successful complete of Operation
071 (Complete ICC Initialization) or Operation 073 (Complete ICC Application
Selection and Initialization), the application uses Operation 074 to determine the
cardholder's language preference from the ICC data.

Table 3-8 State Definition, Operation 074

Description Code Range

State Number XXX Valid State Numbers


State Type SCb/ Fixed
Unit Number 001 Fixed
Operation 074 Fixed
Language Match Next State Number XXX Valid State Numbers
No Language Match Next State Number XXX Valid State Numbers

State Type
Valid Range: SCb/
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 Enhanced Smart Card State must be 001.

3-15
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Operation
Valid Range: 074
Description: Operation number used to access the Automatic Language Selection
functionality.

Language Match Next State Number


Valid Range: 000 - 254 or 256 - ZZZ
Description: Identifies the exit state where processing is to continue if automatic
language selection was performed.

No Language Match Next State Number


Valid Range: 000 - 254 or 256 - ZZZ
Description: Identifies the exit state where processing is to continue if automatic
language selection could not be performed.

3.3.6 Smart Card State, Operation 075 - Reselect ICC Application

Smart Card State (SCb/), Operation 075, is used to reselect the current ICC
application. This operation allows for transaction chaining by reselecting the
current ICC application without requiring the cardholder to re-insert their card or
to select the ICC application.

Table 3-9 State Definition, Operation 075

Description Code Range

State Number XXX Valid State Numbers


State Type SCb/ Fixed
Unit Number 001 Fixed
Operation 075 Fixed
Good Next State Number XXX Valid State Numbers
Processing Not Performed Next State Number XXX Valid State Numbers

Sub-operation XXX 000

State Type
Valid Range: SCb/
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 Enhanced Smart Card State must be 001.

Operation
Valid Range: 075
Description: Operation number used to access the ICC Reselect functionality.

3-16
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Good Next State Number


Valid Range: 000 - 254 or 256 - 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if the
application reselection is successful. The Good Next State Number field must
point to a Complete Application Selection and Initialization, Operation 073.

Processing Not Performed Next State Number


Valid Range: 000 - 254 or 256 - 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if an error
occurs during the application reselection.

Sub-operation
Valid Range: 000
Description: Reselects the current application. This field automatically selects
the current ICC application so that transactions using the same application may
be chained within a single cardholder's session.

NOTE

To create chained transactions that allow a cardholder to select


a different ICC application, route the state flow back to Smart
Card State, Operation 070.

3.3.7 Smart Card State, Operation 076 - Set ICC Transaction Data

Smart Card State (SCb/), Operation 076, is used to set ICC transaction data
elements. Refer to Table 3-10.

Table 3-10 State Definition, Operation 076

Description Code Range

State Number XXX Valid State Numbers


State Type SCb/ Fixed
Unit Number 001 Fixed
Operation 076 Fixed
Good Next State Number XXX Valid State Numbers
Invalid Operation State Number XXX Valid State Numbers
Data Error State Number XXX Valid State Numbers
Buffer ID XXX Valid Buffer Numbers
Sub-operation XXX 000 – 001, 020 - 022

State Type
Valid Range: SCb/
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.

3-17
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Unit Number
Valid Range: 001
Description: The Unit Number of the Enhanced Smart Card State must be 001.

Operation
Valid Range: 076
Description: Operation number used to access the Set ICC Transaction Data
functionality.

Good Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue after
successful completion.

Invalid Operation State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if this state’s
sub-operation number is invalid.

Data Error State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if there is
an error processing the sub-operation.

Buffer ID
Valid Range: 000, 064 – 090 (‘@’, ‘A’ – ‘Z’), 256 – 355
Description: Identifies the buffer where the data is stored. ‘000’ is used if the
data is not in a buffer.

Sub-operation
Valid Range: 000 – 001, 020 -022
Description: Identifies the sub-operation within operation 076, to perform.

• 000 – TLV data to store is in Buffer ID specified.

• 001 – TLV data to store is in fields following sub-operation number.

• 020 – Set Amount Authorized to value in buffer specified by Buffer ID. If


Buffer ID is 000, Amount Authorized is set to 0.

NOTE

For sub-operations 021 and 022, a Buffer ID of 000 is an


invalid entry. A Buffer ID of 000 produces a Data Error
Next State exit.

• 021 – Set Amount Authorized to value in buffer specified by Buffer ID,


using stored Currency Exponent (5F36) to format amount before setting.

• 022 – Set Amount Authorized to value in buffer specified by Buffer ID,


using stored Currency Exponent (5F36) to format amount before setting.
Then set buffer specified by Buffer ID to the formatted amount.

3-18
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

NOTE

Each hex digit of the TLV data must be placed in the state
as a Decimal character. Refer to Appendix A and use
Table A-1 through Table A-3 to convert from hex digit to
Decimal and identify the printable character.

• Table A-1 Covers Hex 00 / Dec 000 through Hex 5F /


Dec 095

• Table A-2 Covers Hex 60 / Dec 096 through Hex C2 /


Dec 194

• Table A-3 Covers Hex C3 / Dec 195 through Hex FF /


Dec 255

3-19
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

EXAMPLE

Create Buffer State is used to set buffer 077 to "9F53015A". Smart Card,
Operation 076, sub-operation 000, then reads buffer 077, converts the buffer to
hex digits, parses the primitive TLV data and stores the tag and value.

Tag '9F53', Value '5A' (Z)

110 @L 111077159083001090
111 SC 001076222333444077000

This uses the same TLV data as the example above, but uses sub-operation 001.
Sub-operation 001 retrieves the TLV data from the fields after the sub-operation
field, converts the data to hex digits, parses the primitive TLV data and stores
the tag and value.

111 SC 001076222333444000001159083001090

Create Buffer State is used to set buffer 077 to


"770D9F53015A5F2A0208605F360102". In this case there are multiple
primitive TLV data wrapped in a constructed TLV tag ('77'). Smart Card
Operation 076, sub-operation 000, then reads buffer 077, converts the buffer to
hex digits and parses the constructed TLV data. The operation recognizes that
primitive TLV data is contained within the constructed TLV data and parses and
stores the individual primitive tags and values within the constructed TLV.

Tag '9F53', Value '5A' (Z)


Tag '5F2A', Value '0860'
Tag '5F36', Value '02'

110 @L
111077119013159083001090095042002008096095054001002
111 SC 001076222333444077000

This uses the same TLV data as the example above, but uses sub-operation 001.

111 SC
001076222333444000001119013159083001090095042002008
096095054001002

RULES:

• You can only set one primitive tag and value at a time, if they are not
wrapped within a constructed tag.

• For this operation, you cannot have constructed tags within constructed tags.

• It is recommended that constructed tag '77' be used when grouping primitive


TLV data. A constructed TLV is normally used to group primitive TLV data
that is related. An example would be '5F2A' (Transaction Currency Code)
and '5F36' (Transaction Currency Exponent), since the currency exponent is
dependent on the currency to be dispensed.

3-20
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

3.3.8 Smart Card State, Operation 077 - Generate ARQC

Smart Card State (SCb/), Operation 077, is used to perform various checks,
generate the first cryptogram and store Smart Card data to TCS buffer 077. This
data is added to the next Consumer Request. Refer to Table 3-11.

Table 3-11 State Definition, Operation 077

Description Code Range

State Number XXX Valid State Numbers


State Type SCb/ Fixed
Unit Number 001 Fixed
Operation 077 Fixed
Good Next State Number XXX Valid State Numbers
Invalid Operation Next State Number XXX Valid State Numbers
Device Failure Next State Number XXX Valid State Numbers
Transaction Denied Offline Next State Number XXX Valid State Numbers

State Type
Valid Range: SCb/
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 Enhanced Smart Card State must be 001.

Operation
Valid Range: 077
Description: Operation number used to perform processing restrictions, card
holder verification, terminal risk management, terminal action analysis and card
action analysis. Card action analysis will result in the generation of either an
ARQC or AAC.

Good Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue after an
ARQC is generated. Smart Card data is placed in buffer 077 for delivery to the
host with the next Consumer Request message.

Invalid Operation Next State Number


Valid Range: 000 - 254 or 256 – 999 or 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 Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state the terminal goes to if it detects an error in
the transaction. This error could be a card reader, ICC or software error.

3-21
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Transaction Denied Offline Next State Number


Valid Range: 000 - 254 or 256 – 999 or 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.

3.3.9 Smart Card State, Operation 078 - Terminate Transaction

Smart Card State (SCb/), Operation 078, is used to terminate a transaction when a
timeout occurs waiting on the host during Consumer Request processing. Refer
to Table 3-12.

Table 3-12 State Definition, Operation 078

Description Code Range

State Number XXX Valid State Numbers


State Type SCb/ Fixed
Unit Number 001 Fixed
Operation 078 Fixed
Next State Number XXX Valid State Numbers

State Type
Valid Range: SCb/
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 Enhanced Smart Card State must be 001.

Operation
Valid Range: 078
Description: Operation number used to perform the completion processing for
the EMV transaction.

Next State Number


Valid Range: 000 - 254 or 256 – 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue after the
transaction is terminated.

3.3.10 Smart Card State, Operation 079 - Blocked Applications

Smart Card (SC b), operation, 079 Blocked Application Branch, is defined for
use in determining if there are any blocked applications acceptable for fallback
magnetic stripe transaction processing. This operation allows flexibility in
determining if the ‘No Usable Applications’ return from the Smart Card operation
071, Complete ICC Initialization, is a result of having no common applications
or having only common blocked applications.

3-22
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

If any blocked applications are identified, they are verified against a configured
terminal list of blocked applications. If the blocked applications on the card
match the blocked applications in the terminal application list, the operation
exits with Common Blocked Applications as the next state and the transaction
processing falls back to magnetic stripe transaction.

In case the blocked application on the card does not match the terminal’s list
of blocked applications, then the operation exits with No Common Blocked
Applications as the next state.

Table 3-13 provides a list of state definitions for Smart Card State (SC b),
Operation 079.

Table 3-13 State Definitions for Smart Card State (SC b), Operation 079

Description Code Range


State Number XXX Valid State Numbers
State Type SC b Fixed
Unit Number 001 Fixed
Operation 079 Fixed
Common Blocked Applications Next XXX Valid State Numbers
State Number
No Common Blocked Applications XXX Valid State Numbers
Next State Number
ICC Application Level Error Next XXX Valid State Numbers
State Number
ICC Hardware Level Error Next State XXX Valid State Numbers
Number

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 Enhanced Smart Card State must be 001.

Common Blocked Applications Next State Number


Valid Range: 000 - 254 or 256 - 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if blocked
ICC applications common to the terminal application list are present and the
common blocked applications are present in the terminal’s blocked applications
list.

3-23
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

No Common Blocked Applications Next State Number


Valid Range: 000 - 254 or 256 - 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if there
are no blocked ICC applications common to the terminal application list or the
common blocked applications are not present in the terminal blocked applications
list.

ICC Application Level Error Next State Number


Valid Range: 000 - 254 or 256 - 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if the
application failed to retrieve the blocked applications from the EMV Kernel.

ICC Hardware Level Error Next State Number


Valid Range: 000 - 254 or 256 - 999 or A00 - ZZZ
Description: Identifies the exit state where processing is to continue if a hardware
error resulted in the abnormal completion of the state.

3-24
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

3.4 Write Command 19, Modifier A Message

The EMV terminal configuration data can be downloaded from the terminal (host)
driver by using Write Command 19, Modifier A, messages. The configuration
data is stored in the same XML file as the ACU configuration data.

The EMV terminal configuration is separated into three levels. From the most
specific to the least specific, the levels are as follows:

• Application Specific data


• Scheme Specific data (Visa, MasterCard, and other supported card types)
• EMV General 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 is described in the following sections.

NOTE

Application Specific data, Scheme Specific data, and EMV


General Data are defined by EMV or by the Acquirer for
MasterCard, Visa, and other supported card types.

All data sent in the Write 19, Modifier A, operation message


will override any data set through ACU for the same data item.

3.4.1 Operation Overview

This section provides a sample scenario for loading EMV configuration data into
the terminal configuration using Write Command 19, Modifier A.

The information sent down in Write Command 19, Modifier A, gives the terminal
the knowledge of what AIDs are supported and associated data. Several different
kinds of Data Identifiers can be used. They are as follows:

• Application Specific Fields (AI)


• Blocked Application Identifier Specific Fields (3BAI )
• Scheme Specific Fields (2VS, 2MC, 2ID, 2IN)
• EMV General Fields (3EMV)

These message fields can be sent down individually or together. The terminal
must have one or more AIDs defined for smart card processing. An AID may be
sent down via Write Command 19, Modifier A, or defined via ACU.

3-25
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-14 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 [3] - - - Variable[1]

Data[3] - - - 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 character identifier, the length of which is determined by
the numeric length at the beginning. The numeric length is included in the identifier.
Examples of valid Data Identifiers are: AI, 2VS, 2MC, 2ID, 2IN and 3EMV.
[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 the maximum
message size.
[3] Refer to Section 3.4.3 through Section 3.4.5 for details of the format of this data.

3.4.2 Data Identifier Formats

The data is parsed based on the data identifier (AI, 2VS, 2MC, 2ID, 2IN and
3EMV) in the message. The data is validated and then stored for use by the
smart card application when processing an EMV transaction. If any of the
message content is invalid, the entire message is rejected and the previously
saved configuration is restored.

The following tables contain the format of the data elements associated with the
data identifiers for application (AI), scheme (2VS, 2MC, 2ID and 2IN), and
general EMV (3EMV) data.

3.4.3 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
transaction processing.

3-26
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

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 General EMV data.

The following table and paragraphs describe the Application Identifier specific
fields.

Table 3-15 Application Identifier and the AI Parser

Description Data Length

Data Identifier [1] AI 2

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][2] 1

Tag [---][2] Variable


Unit Separator [:1F][2] 1

Value [---][2] Variable


Record Separator [:1E][3] 1

Application Identifier [---][3] 10-32 ASCII

Unit Separator [:1F][3] 1

Partial AID Flag ['0' or '1'][3] 1


Unit Separator [:1F][3] 1

Next State [Valid state numbers][3] 3

Unit Separator [:1F][3] 1

Scheme Identifier [---][3] Variable

Unit Separator [:1F][2] [3] 1

Tag [---][2] [3] Variable


Unit Separator [:1F][2] [3] 1
Value [---][2] [3] Variable
[1] The Data Identifier consists of a 2-character identifier. An example valid Data
Identifier is: AI.
[2] These elements are optional as a group.
[3] These elements are optional. Each record separator is present if, and only if, the
information that follows it is included in the message.

3-27
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

The following paragraphs describe the data records.

Data Identifier - Application Specific


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.

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 binary data is
converted to 7-bit unpacked transmittable data, before being sent to the terminal.
Downloaded AIDs are for applications supported by both the terminal and Host.

Partial AID Flag


Length: 1 character
Valid Range: '0' or '1'
Description: This flag indicates whether the AID may be used as a partial match
during application selection.

• 0 – Full AID match only


• 1 – Partial AID match possible

Next State
Length: 3 characters
Valid Range: 000 - 250 or 256 - 999 or A00-ZZZ
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 Complete
Application Selection and Initialization state when the ICC Application Select
and Initialization Successful Next State number equals 255. When the ICC
Application Select and Initialization Successful Next State number in Operation
073 is not equal to 255, Agilis 3 91x attempts to perform the specified ICC
Application Select and Initialization Successful Next State number.

Scheme Identifier
Length: Variable
Valid Range: ‘2VS' (VSDC), ‘2MC’ (M/Chip), ‘2ID’ (Indonesian Chip Card)
or ‘2IN’ (Interac Chip Card)
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.

NOTE

Although these are the only defined scheme identifiers, the


terminal could be configured for other schemes. Contact your
Diebold representative for further information.

3-28
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Tag
Length: Variable
Valid Range: Any valid EMV TLV tag, and Diebold-defined tags.
Description: Tag that identifies the data value in the next field. For TLV tags, the
tags must be converted to 7-bit unpacked transmittable data. The Diebold-defined
tags are sent in the format shown in the Diebold tags table.

The tags, and their data, are associated with the AID downloaded in this AID
record. 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 and Payment Scheme tags and values cannot be set. These are
restricted tags and values which are either read from the ICC, specific to the
terminal, or entered by the customer during the transaction. For more information
on restricted tags, refer to Section 2.6 Table 2-8.

Value
Length: Variable
Valid Range: Valid values for the specified tag
Description: All values must be converted to 7-bit unpacked transmittable data,
even values that are defined as alphanumeric or alphanumeric special.

3.4.4 Blocked Application Identifier Specific

A 3BAI containing only the AID will clear the AID from the terminal’s blocked
applications list. On the other hand, a 3BAI data identifier, with one or more
AIDs and their associated application type, will add the AIDs to the blocked
applications list.

Table 3-16 describes the Blocked Application Identifier specific fields.

Table 3-16 Blocked Application Identifier

Description Data Length


Data Identifier[1] --- Variable
Application Identifier --- 10-32 ASCII
Unit Separator [:1F] 1
Scheme Identifier --- 10-32 ASCII
Record Separator [:1E] [2] 1
Application Identifier ---[2] 10-32 ASCII
Unit Separator [:1F] [2] 1
Scheme Identifier ---[2] 10-32 ASCII
[1] The Data Identifier can consist of either a 2-character identifier or a single digit numeric length, followed by a
longer identifier. Examples of valid Data Identifiers are: 2VS, 2MC, 3BAI.

[2] These elements are optional as a group. They may be reproduced up to the maximum message size.

The following paragraphs describe the data records.

3-29
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Data Identifier – Blocked Application Identifier


Length: Variable
Valid Range: '3BAI
Description: The Data Identifier indicates the type of terminal configuration data
that follows. The characters '3BAI identify the data as Blocked Application
Identifiers. Use the '3BAI' data identifier to download AIDs that, if blocked on
the ICC, allow for fallback to a magnetic stripe transaction.

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 blocked application test on the terminal. The binary data is
converted to 7-bit unpacked transmittable data before being sent to the terminal.
Typically, downloaded AIDs would identify Applications that have been blocked
on the ICC but the issuer wishes to either allow or not allow to be processed as a
magnetic stripe transaction.

Scheme Identifier
Length: Variable
Valid Range: ‘2VS' (VSDC) or ‘2MC' (M/Chip)
Description: This field represents the payment scheme with which this AID is
associated. Currently, these are the only defined scheme identifiers.

3.4.5 Scheme Specific

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 General data. The Data Identifier, for Scheme
(2VS, 2MC, 2ID, 2IN), provides a link to an AID through the Scheme Identifier
specified in the Application Specific data.

Description Data Length

Data Identifier [1] --- Variable

Tag --- Variable

Unit Separator :1F 1

Value --- Variable


Unit Separator (US) [:1F][2] 1
Tag [---][2] Variable
Unit Separator (US) [:1F][2] 1

Value [---][2] Variable


[1] The Data Identifier consists of a single digit numeric length, followed by a character
identifier, the length of which is determined by the numeric length at the beginning.
The numeric length is included in the identifier. Examples of valid Data Identifiers
are: 2VS, 2MC, 2ID, and 2IN.
[2] 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.

3-30
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Data Identifier - Scheme


Length: Variable
Valid Range: ‘2VS', ‘2MC', ‘2ID’, ‘2IN’
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. ‘2ID’ identifies data as
National Standard Indonesian Chip Card and ‘2IN’ identifies Interac Chip Card.
Currently, these are the only defined scheme data identifiers.

NOTE

Although these are the only defined scheme data identifiers, the
terminal could be configured for other schemes. Contact your
Diebold representative for further information.

Tag
Length: Variable
Valid Range: Any valid EMV, Payment Scheme TLV tag, and Diebold-defined
tags.. Refer to Appendix B.
Description: Tag that identifies the data value in the next field. For TLV tags, the
tags must be converted to 7-bit unpacked transmittable data.

Tag that identifies the data value in the next field. For TLV tags, the tags must
be converted to 7-bit unpacked transmittable data.

The tags, and their data, are associated with the Scheme downloaded in this
Scheme record. Therefore, the tags should be the Diebold-defined tags,
EMV tags or tags defined by the Payment Scheme (VSDC, M/Chip, etc.).
Section 2.6 Table 2-8.

Some EMV and Payment Scheme tags and values cannot be set. These are
restricted tags and values which are either read from the ICC, specific to the
terminal, or entered by the customer during the transaction. For more information
on restricted tags, refer to Section 2.6 Table 2-8.

Value
Length: Variable
Valid Range: Valid values for specified tag
Description: All values must be converted to 7-bit unpacked transmittable data,
even values that are defined as alphanumeric or alphanumeric special. Refer to
Table B -1 for details on the Diebold-defined tags.

3.4.6 EMV General

The EMV General data are tags and values that are applicable to all EMV
transactions, regardless of AID or Payment Scheme. See the following example:

EXAMPLE

9F1A - Terminal Country Code

Since these values 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 General EMV
data are described in the following paragraphs.

3-31
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Description Data Length


Data Identifier 3EMV 4

Tag --- Variable


Unit Separator :1F 1

Value --- Variable

Unit Separator (US) [:1F][1] 1

Tag [---][1] Variable

Unit Separator (US) [:1F][1] 1

Value [---][1] Variable


[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.

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.

Tag
Length: Variable
Valid Range: Any valid EMV, Payment Scheme TLV tag, and Diebold-defined
tags. Refer toAppendix B.
Description: Tag that identifies the data value in the next field. For TLV tags, the
tags must be converted to 7-bit unpacked transmittable data.

The tags, and their data, are associated with the General EMV data downloaded in
this record. Therefore, the tags should be the Diebold-defined tags or EMV tags.

Some EMV tags and values cannot be set. These are restricted tags and values
which are either read from the ICC, specific to the terminal, or entered by the
customer during the transaction. For more information on restricted tags, refer to
Section 2.6 Table 2-8.

Value
Value: Variable
Valid Range: Valid values for specified tag
Description: All values must be converted to 7-bit unpacked transmittable data,
even values that are defined as alphanumeric or alphanumeric special. Refer to the
Diebold Defined Tags table in Appendix B, for the valid values for these fields.

3-32
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

3.4.7 Additional Functionality

Definitions:
FS – Field Separator
US – Unit Separator

• A Tag downloaded with an empty value causes the tag to be deleted from the
scope of the data identifier the tag is in. (e.g.; AI, 3EMV, 2VS, 2MC, 2ID or
2IN). Multiple tags can be deleted within one message.

EXAMPLE

The following will delete tag 9F1A from EMV (3EMV) General data.
3[FS][FS][FS]1A[FS]3EMV9F1A

The following will delete tag 9F1A from Visa (2VS) Scheme data.
3[FS][FS][FS]1A[FS]2VS9F1A

The following will delete tags 9F1A and 5F2A from MasterCard (2MC)
Scheme data. 3[FS][FS][FS]1A[FS]2MC9F1A[US][US]5F2A

• A Data Identifier of AI downloaded with only an AID causes the Application


ID record to be removed as an Application supported by the terminal.

EXAMPLE

The following will delete AID A0000000031010 and all its associated data.
3[FS][FS][FS]1A[FS]AIA0000000031010

• If a Tag downloaded already exists in the configuration, it will get updated


with the new value.

• The Smart Card configuration that is downloaded using Write Command 19


can be verified in ACU in the EMV Chip Card section.

3.5 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 Agilis 3 91x
Terminal Programming Manual for the position and usage of these fields within
the Consumer Request Message.

The Smart Card fields shown in Table 3-17 are added to the message prior to the
Rollover Counts and MAC data, if either is present.

3-33
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-17 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

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. The format of the Consumer Request Smart
Card Buffer Data follows.

The following Consumer Request Smart Card Buffer Data Definition information
contains current Tagged and Non-tagged Elements supported in the Smart Card
data. The following table represents the Smart Card data for the Consumer
Request message.

Table 3-18 Consumer Request Smart Card Buffer Data

Description Code Number of Characters


AID Length --- 2
Application Identifier (AID) --- VAR (10-32)
Number of Tagged Elements XXX 3
Unit Separator (US) [:1F][1] 1
Tag [---][1] VAR (2 or 4)
Unit Separator (US) [:1F][1] 1
Data [---][1] VAR
Unit Separator (US) :1F 1
Smart Card Operation Identifier SVxxx 5
[1] This group of fields repeats for the number of elements defined in the Number of Tagged Elements field.

3-34
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

AID Length
Field Size: 2 characters
Valid Range: Variable (10-32)
Description: Field represents the number of bytes in the AID, which immediately
follows this field. The length is specified as an ASCII representation of a decimal
value.

Application Identifier (AID)


Field size: Variable (10-32 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 5 to 16-byte binary Application Identifier
(AID). The AID consists of the RID||PIX where the RID is a 5-byte global
registered identifier and the PIX (0-11 bytes) is at the Application Provider's
discretion. The binary data is converted to 7-bit unpacked transmittable data.

Number of Tagged Elements


Field Size: 3 characters
Valid Range: 000-999
Description: Field represents the number of Tag and Data Element field pairs,
which follow this field. The number of elements is specified as an ASCII
representation of a decimal value.

The following table displays the Tagged elements currently supported in the
Smart Card data. These elements are identified by their associated Tag and
NOT by position in the Smart Card data. These Tags are defined in the EMV
Specification, and Payment Scheme (VSDC, M/Chip, etc.) specific documents.
All tags defined in the DOL are sent in the message. Tag values may be empty.

Table 3-19 Consumer Request (CREQ) Smart Card Tagged Elements

Description TAG Data Length (bytes)


Card Risk Management Data Object List 1 '8C' VAR (max 504)
(CDOL1)
Amount, Authorized '9F02' 12
Amount, Other '9F03' 12
Application Interchange Profile (AIP) '82' 4
Application Primary Account Number (PAN) '5A' VAR (max 20)
Application PAN Sequence Number '5F34' 2
Application Transaction Counter (ATC) '9F36' 4
Authorization Request Cryptogram (ARQC) '9F26' 16
Cardholder Verification Method Results '9F34' 6
Cryptogram Information Data '9F27' 2
Interface Device (IFD) Serial Number '9F1E' 16
Issuer Application Data '9F10' VAR (max 64)
Terminal Application version Number '9F09' 4
Terminal Capabilities '9F33' 6
[1] This tag is defined uniquely by Visa and MasterCard.
[2] Reference the scheme's specifications for details on this tag.

3-35
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-19 Consumer Request (CREQ) Smart Card Tagged Elements (continued)

Description TAG Data Length (bytes)


Terminal Country Code '9F1A' 4
Terminal Type '9F35' 2
Terminal Verification Results (TVR) '95' 10
Track 2 Equivalent Data '57' VAR (max 38)
Transaction Currency Code '5F2A' 4
Transaction Date '9A' 6
Transaction Sequence Counter '9F41' 8
Transaction Status Information (TSI) '9B' 4
Transaction Type '9C' 2
Unpredictable Number '9F37' 8
Transaction Category Code (MasterCard) Con- '9F53'[1][2] 2
secutive Transaction Limit, International(Visa)
[1] This tag is defined uniquely by Visa and MasterCard.
[2] Reference the scheme's specifications for details on this tag.

NOTE

All data lengths specified are for 7-bit unpacked transmittable


data.

Card Risk Management Data Object List 1 (CDOL1) (Tag '8C')


Field Size: Variable (up to 504 characters)
Valid Range: Refer to EMV, version 4.1 or later
Description: Field represents CDOL1, as read from the ICC. The binary data is
converted to 7-bit unpacked transmittable data.

NOTE

All tags contained in CDOL1 will have their associated tags


and values included in the data transmitted.

Amount Authorized (Tag '9F02')


Field Size: 12 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 6-byte numeric 'authorized amount' of the
transaction. The binary data is converted to 7-bit unpacked transmittable data.

EXAMPLE

Amount Authorized, numeric = |00|00|00|01|95|76|

Amount Authorized, alphanumeric = "000000019576"

3-36
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Amount, Other (Tag '9F03')


Field Size: 12 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 6-byte numeric 'secondary amount' associated
with the transaction, representing a cash-back amount. The binary data is
converted to 7-bit unpacked transmittable data. The Amount Other field will
always be zero. The cash-back transaction type is currently unsupported.

EXAMPLE

Amount, Other, numeric = |00|00|00|00|00|00|

Amount, Other, alphanumeric = "000000000000"

Application Interchange Profile (AIP) (Tag '82')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte binary Application Interchange profile.
The binary data is converted to 7-bit unpacked transmittable data.

Application Primary Account Number (PAN) (Tag '5A')


Field Size: Variable (up to 20 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the Application Primary Account Number
(PAN) as read from the ICC. The binary data is converted to 7-bit unpacked
transmittable data. However, if the PAN contains an odd number of digits, the
last alphanumeric character is the pad character ('F').

Application PAN Sequence Number (Tag '5F34')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the PAN Sequence Number as read from the ICC.
The binary data is converted to 7-bit unpacked transmittable data.

Application Transaction Counter (ATC) (Tag '9F36')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte binary Application Transaction Counter,
which is returned by the ICC in response to the Generate AC command. The
binary data is converted to 7-bit unpacked transmittable data.

Authorization Request Cryptogram (ARQC) (Tag '9F26')


Field Size: 16 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 8-byte binary Authorization Request
Cryptogram generated by the ICC in response to the first Generate AC command.
The binary data is converted to 7-bit unpacked transmittable data.

Cardholder Verification Method Results (Tag '9F34')


Field Size: 6 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the results of the Cardholder Verification Method
checks. The binary data is converted to 7-bit unpacked transmittable data.

3-37
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Cryptogram Information Data (Tag '9F27')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 1-byte binary Cryptogram Information Data,
which is returned by the ICC in response to the Generate AC command. The
binary data is converted to 7-bit unpacked transmittable data.

Interface Device (IFD) Serial Number (Tag '9F1E')


Field Size: 16 characters
Valid Range: '4442443030303034'
Description: Field represents the IFD serial number, which must be packed to
get the 8-character IFD serial number.

EXAMPLE

Unpacked = '4442443030303034'
Packed = 'DBD00004'

Issuer Application Data (Tag '9F10')


Field Size: Variable (up to 64 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the binary Issuer Application Data, which may be
returned by the ICC in response to the Generate AC command. The format and
content of this data is defined by the Smart Card Application provider (Visa,
MasterCard, etc.). The binary data is converted to 7-bit unpacked transmittable
data.

Terminal Application version Number (Tag '9F09')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the version number assigned by the payment system
for the application. This field provides the version of the application supported by
the terminal. The binary data is converted to 7-bit unpacked transmittable data.

Terminal Capabilities (Tag '9F33')


Field Size: 6 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 3-byte binary value, which indicates the card
data input, CVM, and security capabilities of the terminal. The binary data is
converted to a transmittable alphanumeric character form.

Terminal Country Code (Tag '9F1A')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents 2-byte numeric Terminal Country Code. The
binary data is converted to 7-bit unpacked transmittable data.

Terminal Type (Tag '9F35')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 1-byte numeric Terminal Type. Currently, this
is always '14' for Terminals. The numeric data is converted to a transmittable
alphanumeric character form.

3-38
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Terminal Verification Results (Tag '95')


Field Size: 10 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 5-byte binary Terminal Verification Results.
The binary data is converted to 7-bit unpacked transmittable data.

Track 2 Equivalent Data (Tag '57')


Field Size: Variable (up to 38 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the Track 2 Data as read from the ICC. The binary
data is converted to 7-bit unpacked transmittable data.

Transaction Currency Code (Tag '5F2A')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte numeric Transaction Currency Code.
The binary data is converted to 7-bit unpacked transmittable data.

Transaction Date (Tag '9A')


Field Size: 6 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 3-byte numeric Transaction Date. The binary
data is converted to 7-bit unpacked transmittable data. The following example
displays the current system date as November 30, 2006. The Transaction Date
is in the form of YYMMDD. An example follows.

EXAMPLE

Transaction Date, numeric=|06|11|30|

Transaction Date, alphanumeric = "061130"

Transaction Sequence Counter (Tag '9F41')


Field Size: 8 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents a counter maintained by the terminal that is
incremented by one for each transaction. The numeric data is converted to a
transmittable alphanumeric character form.

Transaction Status Information (Tag '9B')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field indicates the status of the functions performed in a transaction.
The binary data is converted to 7-bit unpacked transmittable data.

Transaction Type (Tag '9C')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 1-byte numeric Transaction Type. The binary
data is converted to 7-bit unpacked transmittable data.

Unpredictable Number (Tag '9F37')


Field Size: 8 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 4-byte binary Unpredictable Number generated
by the terminal. The binary data is converted to 7-bit unpacked transmittable data.

3-39
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Transaction Category Code (Tag '9F53')


Field Size: 2 characters
Valid Range: Refer to MasterCard M/Chip Functional Architecture for Debit
and Credit, January 2005 specification.
Description: Field represents the Transaction Category Code, which must be
packed to get the 1-character Transaction Category Code.

EXAMPLE

Unpacked = '5A'
Packed = 'Z'

Consecutive Transaction Limit, International (Tag '9F53')


Field Size: 2 characters
Valid Range: Refer to Visa Integrated Circuit Card Specifiactation, version 1.4.0.
Description: Field represents the one byte binary Consecutive Transaction Limit,
International. The binary data is converted to 7-bit unpacked transmittable data.

Smart Card Operation Identifier


Field Size: 5 characters
Valid Range: SVxxx, where the xxx are 3-digits ranging from 001 through 099.
Description: This field identifies which Smart Card Function Operation is to be
used in the Enhanced Smart Card Function Command Response. The numeric
portion of the ID is placed in the Operation field in the Enhanced Smart Card
Function Command Response, or in the 912 Enhanced Data field containing
the Enhanced Smart Card Function.

3.6 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

The Smart Card data shall be returned to the terminal in either of the function
command formats. The Smart Card Data is provided via an Update Buffers
function identifier, ’9’ that updates the reserved smart card data buffer, 077. The
smart card function processing is initiated by the Perform Function field ID, ‘:’
with Group ID ‘SC ‘, indicating a smart card function.

3.6.1 Modified 912 Function Command

The Modified 912 function command incorporates the smart card data into the
Enhanced Configuration Data Field ID and Enhanced Configuration Data fields.
Two Enhanced Configuration Field ID values are used; `9`, Update Buffers;
`:`, Perform Function. Refer to Section 3.6.3 and Section 3.6.4 for the message
field content. The Execute Enhanced Functions function identifier, ‘;’, shall be
included first in the list of function identifiers. This function identifier causes
the Enhanced Configuration Field IDs, ‘9’ (Update Buffers) and `:` (Perform
Function) to be executed by the function command processing.

3-40
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

3.6.2 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 Agilis 3 91x Terminal
Programming Manual: The Field ID `9` (Update Buffers) is used to update the
smart card buffer, 077, with the smart card transaction data. The Field ID `:`
(Perform Function) is used to perform the enhanced smart card operation. Refer
to Section 3.6.3 and Section 3.6.4 for the field content, respectively.

3.6.3 Smart Card Data Definitions

The Smart Card data is delivered using the Field ID '9' (Update Buffers) with the
Group ID (Buffer ID) specified as 'M'(077), which is reserved for Smart Card
use. The Smart Card data follows in the Buffer Data. The Smart Card Buffer
data contents shall be formatted as defined in the following function command
Smart Card Data Definitions. The following table shows the format of the data as
it is delivered in a Function Command.

Description Data Length


Field ID '9' 3

Group ID (Device ID) 'M' 3

Buffer Data Smart Card Data VAR (Variable)

Field ID
Valid Range: ’9’
Description: The Field ID identifies the following Group ID as a function to
be performed.

Group ID
Valid Range: ‘M’
Description: The Group ID entry identifies the function to be performed as the
Smart Card function.

Buffer Data
Valid Range:
Description: The contents of the variable length buffer field depends on the
Smart Card transaction requested. Refer to the following sections for the format
of the Function Command Smart Card buffer data.

3.6.3.1 Function Command Smart Card Data Definition - APPROVED

The data elements, listed in the following table, are transmitted to the terminal
in the Modified 912 Function Command after a transaction has been approved
for completion. The approval transaction indicates that the financial transaction
has been approved. The security aspects of the approval message must still be
checked by the ICC. This means that the ARPC has been generated and is to be
processed by the ICC.

3-41
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-20 APPROVED Function Command Smart Card Tagged Elements

Description Data Data Length


Authorization Response Code --- 2
Issuer Authentication Data Length --- 2
Issuer Authentication Data --- VAR (16-32)
Issuer Script Data Length --- 3
Issuer Script Data [---] VAR (max 256)
Authorization Code Length --- 2
Authorization Code ---[1] VAR
[1] This field should only be present if the Authorization Response Code indicates that the transaction has been
approved.

Authorization Response Code


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte alphanumeric Authorization Response
Code received from the terminal driver, which represents the disposition of the
transaction (funding authorization response code, ISO 8583, 1987). Listed below
are the valid approval codes listed in the ISO 8583:1987 specifications. All other
values are considered declined.

• "00" - Approved
• "10" - Approved for partial amount
• "11" - Approved (VIP)

Issuer Authentication Data Length


Field Size: 2 characters
Valid Range: 00, or 16 - 32
Description: This field represents the length of the following alphanumeric
Issuer Authentication Data: minimum length is "00", otherwise the length must
be between "16" and "32". In addition, the length value must be in multiples of
two, since the Issuer Authentication Data is converted to binary.

Issuer Authentication Data


Field Size: Variable (0 or 16 - 32 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: If the Issuer Authentication Data Length field is not "00", then this
field is present and represents the ARPC (Authorization Response Cryptogram),
plus any optional data received from the terminal driver. The format of the data
is defined by the Payment Scheme (VSDC, M/Chip, etc.). The 7-bit unpacked
transmittable data is packed into binary.

Issuer Script Data Length


Field Size: 3 characters
Valid Range: 000 - 256
Description: This field represents the length of the following alphanumeric Issuer
Script(s). The minimum value is "000" and the maximum is "256". The length
value must be in multiples of two, since the Issuer Script(s) is converted to binary.

3-42
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Issuer Script Data


Field Size: Variable (up to 256 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: This field represents the Issuer Script(s) to be parsed by the terminal
and sent to the ICC for processing. The 7-bit unpacked transmittable Issuer
Script(s) is packed into binary data before being sent to the ICC. Refer to EMV
version 4.1 or later for details on the format of the Issuer Scripts

Authorization Code Length


Field Size: 2 characters
Valid Range: '00' or '12'
Description: Field gives the length of the Authorization Code to follow. The
Authorization Code length shall be ‘12’ if and only if the Authorization Response
Code indicates that the transaction has been approved. If the transaction has been
denied, the Authorization Code Length shall be '00'.

Authorization Code
Field Size: 0 or 12
Valid Range: Defined by the Payment Scheme. Refer to Payment Scheme
documentation.
Description: Field represents the Authorization Code received from the terminal
driver. This field shall be present if and only if the Authorization Response Code
indicates that the transaction has been approved.

NOTE

The Authorization Code must always be unpacked into


alphanumeric character form prior to transmission to the
terminal.

EXAMPLE

Issuer sends data in unpacked format: '414243444546'

Terminal converts to packed format: 'ABCDEF'

3.6.3.2 Function Command Smart Card Data Definition - DENIED

After a transaction has been denied and no ARPC was generated, the data
elements displayed in the following table are transmitted to the terminal.

Table 3-21 DENIED Function Command Smart Card Tagged Elements

Description Data Data Length


Authorization Response Code --- 2
Issuer Authentication Data Length --- 2
Issuer Authentication Data --- VAR (16-32)
Issuer Script Data Length --- 3
Issuer Script Data [---] VAR (max 256)
Authorization Code Length '00' 2

3-43
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Authorization Response Code


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte alphanumeric Authorization Response
Code received from the terminal driver, which represents the disposition of the
transaction (funding authorization response code, ISO 8583, 1987).

Issuer Authentication Data Length


Field Size: 2 characters
Valid Range: 00, 16-32
Description: This field represents the length of the following alphanumeric
Issuer Authentication Data: minimum length is "00", otherwise the length must
be between "16" and "32". In addition, the length value must be in multiples of
two, since the Issuer Authentication Data is converted to binary.

Issuer Authentication Data


Field Size: Variable (0 or 16 - 32 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: If the Issuer Authentication Data Length field is not "00", then this
field is present and represents the ARPC (Authorization Response Cryptogram),
plus any optional data received from the terminal driver. The format of the data
is defined by the Payment Scheme (VSDC, M/Chip, etc.). The 7-bit unpacked
transmittable data is packed into binary.

Issuer Script Data Length


Field Size: 3 characters
Valid Range: 000 - 256
Description: This field represents the length of the following alphanumeric Issuer
Script(s). The minimum value is "000" and the maximum is "256". The length
value must be in multiples of two, since the Issuer Script(s) is converted to binary.

Issuer Script Data


Field Size: Variable (up to 256 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: This field represents the Issuer Script(s) to be parsed by the terminal
and sent to the ICC for processing. The 7-bit unpacked transmittable Issuer
Script(s) is packed into binary data before being sent to the ICC. Refer to EMV
version 4.1 or later for details on the format of the Issuer Scripts.

Authorization Code Length


Field Size: 2 characters
Valid Range: '00'
Description: Field gives the length of the Authorization Code to follow. When
the transaction is denied, the Authorization Code Length shall always be '00'.

3.6.4 Smart Card Function Definition

The Smart Card function-based Operation is defined as a Group ID, ‘SC ‘


(Device ID) within the Field ID ':' (Perform Function). The following table
displays the format of the data as it is delivered in the Function Command. The
Smart Card function operations are responsible for completion processing and
generation of the second cryptogram.

3-44
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

NOTE

The Smart Card Function shall 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


Field ID ‘:’ 3

Group ID (Smart Card Function ID) SCb/ 3

Unit Number 001 3

Operation 077 3

NOTE

The Execute Enhanced Functions function identifier, ‘;’,


shall be included first in the list of function identifiers for the
Enhanced Configuration Field ID, `:`(Perform Function) to be
executed by the function command processing.

Field ID
Valid Range: ’:’
Description: The Field ID identifies the following Group ID as a function to
be performed.

Group ID
Valid Range: SCb/
Description: The Group ID entry identifies the function to be performed as the
Smart Card function.

Unit Number
Valid Range: 001
Description: The Unit Number of the Enhanced Smart Card Function must be
001.

Operation
Valid Range: 077
Description: Operation number used to perform completion processing for an
EMV transaction. 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 3.5 for details on the Smart Card Consumer
Request Message Operation.

Refer to the following Enhanced Data example.

EXAMPLE
'9''M'Smart Card Data:1C':'SC 001077

3-45
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-22 Enhanced Data Example

FIELD Type of Data


Enhanced Configuration Data Field ID '9'

Group ID (Device ID) 'M'

Buffer Data Smart Card Data


Field Separator (FS) :1C
Enhanced Configuration Data Field ID ':'

Group ID (Device ID) SCb/


Unit Number 001

Operation 077

The first Enhanced Configuration Data Field ID ('9`) specifies the enhanced
function ID, Update Buffer, and its associated data. The Group ID provides the
buffer to update. The remaining data up to the Field Separator is the buffer data.
The format for the remaining Enhanced Configuration 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 Configuration Data Field ID (':`) specifies the enhanced
function ID, Perform Function, and the associated function to perform. The
Group ID provides the Enhanced Function to perform and its associated data.
This data is handled by Agilis 3 91x as an Enhanced Command. 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 SCb/, 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 3.6.4.

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.

3.7 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. The
Smart Card status data shall contain the application identifier length, application
identifier, number of tagged elements, and number of untagged elements. Tagged
and untagged elements are returned in unit separated tag and value pairs.

3.7.1 Modified 912 Solicited Status Message

The format of the solicited status message used to deliver Smart Card completion
data is shown in Table 3-23.

3-46
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-23 Solicited Status Message Format for Smart Card


Completion Data

Description Data Length


Buffers to Follow Identifier ['9'][1] 1

Smart Card Buffer ID [077][1] 3

Smart Card Buffer Data [---] [1] VAR

Protocol Dependent Trailer Variable Variable


[1] These fields are added to the completion message when required, (For example to
provide the Transaction Certificate delivery data or Issuer Script results).

Enhanced Fault Status Message


A requirement of the Enhanced Fault Status message is to report a fault status for
new devices supported by Agilis 3 91x . 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 Agilis 3 91x
Terminal Programming Manual (TP-821288-001H).

Table 3-24 displays the format of the Enhanced Fault Status Message.

Table 3-24 Enhanced Fault Status Message Format

Description Data Length

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][1] 3

Smart Card Buffer Data [---][1] VAR


[1] These fields are added to the Solicited Status Message when Smart Card data is to
be delivered to the terminal driver, and a smart card fault has occurred

Device Identifier
Valid Range: SV71, SV72, SV73, SV76, SV77, or SV78
Description: The device identifier specifies the smart card module the status was
generated in. Refer to the smart card status tables for complete status listings.

Unit Number
Valid Range: 3 colon (:) separated digit pairs
Description: The status specifies the smart card fault that occurred. Refer to the
smart card status tables in Section 3.9 for complete status listings.

3-47
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

3.7.2 Solicited Status Smart Card Data Definitions

A Solicited Status message containing the TC (Transaction Certificate) or AAC


(Application Authentication Cryptogram) is generated when the smart card
completes a consumer transaction.

Conditions
The following three conditions can occur:

• Approval - returns a TC

• Denial - generates an AAC

• Unsuccessful completion (approval or denial) - occurs when the card returns


a completion code of (SW1-SW2) other than '9000'

In the event of an approved transaction and a TC is requested, but the card


responds with an AAC, the terminal responds with a Solicited Fault Status. The
following table displays the data contained in the Smart Card buffer added to the
Solicited Status response for any of the conditions listed above.

Table 3-25 Solicited Status Smart Card Data

Description Data Data Length


AID Length --- 2
Application Identifier (AID) --- VAR (10-32)
Number of Tagged Elements --- 3
Unit Separator (US) :1F[1] 1
Tag ---[1] VAR
Unit Separator (US) :1F[1] 1
Data ---[1] VAR
Unit Separator (US) :1F 1
Number of Non-tagged Elements --- 3
Unit Separator (US) :1F[2] 1
Data Identifier ---[2] 2
Unit Separator (US) :1F[2] 1
Data ---[2] VAR
[1] This group of fields repeats for the number of elements defined in the Number of Tagged Elements field.
[2] This group of fields repeat for the number of elements defined in the Number of Non-tagged Elements field.

AID Length
Field Size: 2 characters
Valid Range: 10 - 32
Description: Field represents the number of alphanumeric bytes in the AID,
which immediately follows this field. The length is specified as an ASCII
representation of a decimal value.

3-48
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

AID (Application Identifier)


Field Size: Variable (10 - 32 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 5 to 16-byte binary Application Identifier
(AID). The AID consists of the RID||PIX, where the RID is a 5-byte global
registered identifier and the PIX (0-11 bytes) is at the application provider's
discretion. The binary data is converted to 7-bit unpacked transmittable data.

Number of Tagged Elements


Field Size: 3 characters
Valid Range: 000 - 999
Description: Field represents the number of Tag and Data Element field pairs,
which follow this field. The number of elements is specified as an ASCII
representation of a decimal value.

The table below displays a list of the default Smart Card Tagged Elements
currently in the Smart Card data. These elements are to be identified by their
associated Tag and not by position in the Smart Card data. These Tags are
defined in the EMV Specification. All tags defined in the DOL are sent in the
message. Tag values may be empty.

Table 3-26 Solicited Status Smart Card Tagged Elements

Description Tag Data Length


Amount, Authorized '9F02' 12
Amount, Other '9F03' 12
Application Interchange Profile '82' 4
Application Primary Account Number (PAN) '5A' VAR (max 20)
Application Transaction Counter (ATC) '9F36' 4
Cryptogram Information Data '9F27' 2
Issuer Application Data '9F10' VAR (max 64)
Application PAN Sequence Number '5F34' 2
Terminal Country Code '9F1A' 4
Terminal Verification Results (TVR) '95' 10
Transaction Certificate (TC) or Application '9F26' 16
Authentication Cryptogram (AAC)
Transaction Currency Code '5F2A' 4
Transaction Date ‘9A’ 6
Transaction Status Information (TSI) ‘9B' 4
Transaction Type '9C' 2
Unpredictable Number '9F37' 8
Authorization Response Code '8A' 4

NOTE

All data lengths specified, are for alphanumeric data.

3-49
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Amount, Authorized (Tag '9F02')


Field Size: 12 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents 6-byte numeric 'authorized amount' of the
transaction. The binary data is converted to 7-bit unpacked transmittable data.

EXAMPLE

Amount Authorized, numeric=|00|00|00|01|95|76|

Amount Authorized, alphanumeric="000000019576"

Amount, Other (Tag '9F03')


Field Size: 12 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents 6-byte numeric 'second amount' associated with the
transaction, which represents a cash-back amount. The binary data is converted
to 7-bit unpacked transmittable data.

Application Interchange Profile (AIP) (Tag '82')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte binary Application Interchange profile.
The binary data is converted to 7-bit unpacked transmittable data.

Application Primary Account Number (PAN) (Tag '5A')


Field Size: Variable (up to 20 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the Application Primary Account Number
(PAN) as read from the ICC. The binary data is converted to 7-bit unpacked
transmittable data. However, if the PAN contains an odd number of digits, the
last alphanumeric character is the pad character ('F').

Application Transaction Counter (ATC) (Tag '9F36')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte binary Application Transaction Counter,
which is returned by the ICC in the response to the second Generate AC
command. The binary data is converted to 7-bit unpacked transmittable data.

Cryptogram Information Data (Tag '9F27')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 1-byte binary Cryptogram Information Data,
which is returned by the ICC in the response to the second Generate AC
command. The binary data is converted to 7-bit unpacked transmittable data.

Issuer Application Data (Tag '9F10')


Field Size: Variable (up to 64 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the binary Issuer Application Data, which is
returned by the ICC in response to the second Generate AC command. The
format and content of this data is defined by the Smart Card Application
provider (Visa, MasterCard, etc.). The binary data is converted to 7-bit unpacked
transmittable data.

3-50
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Application PAN Sequence Number (Tag '5F34')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the PAN Sequence Number as read from the ICC.
The binary data is converted to 7-bit unpacked transmittable data.

Terminal Country Code (Tag '9F1A')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents 2-byte numeric Terminal Country Code. The
binary data is converted to 7-bit unpacked transmittable data.

Terminal Verification Results (Tag '95')


Field Size: 10 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 5-byte binary Terminal Verification Results.
The binary data is converted to 7-bit unpacked transmittable data.

Transaction Certificate (TC) or Application Authentication


Cryptogram (AAC) (Tag '9F26')
Field Size: 16 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 8-byte binary Transaction Certificate or
Application Authentication Cryptogram, which is returned by the ICC in the
response to the second Generate AC command. The binary data is converted
to 7-bit unpacked transmittable data.

Transaction Currency Code (Tag '5F2A')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte numeric Transaction Currency Code.
The binary data is converted to 7-bit unpacked transmittable data.

Transaction Date (Tag '9A')


Field Size: 6 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 3-byte numeric Transaction Date. The binary
data is converted to 7-bit unpacked transmittable data. The following example
displays the current system date as September 10, 2002. The Transaction Date is
in the form of YYMMDD, as follows.

EXAMPLE

Transaction Date, numeric=|02|09|10|

Transaction Date, alphanumeric = "020910"

Transaction Status Information (TSI) (Tag '9B')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the status of the functions performed in a transaction.
The binary data is converted to 7-bit unpacked transmittable data.

3-51
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Transaction Type (Tag '9C')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 1-byte numeric Transaction Type. The binary
data is converted to 7-bit unpacked transmittable data.

Unpredictable Number (Tag '9F37')


Field Size: 8 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 4-byte binary Unpredictable Number generated
by the terminal. The binary data is converted to 7-bit unpacked transmittable data.

Authorization Response Code (Tag '8A')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte alphanumeric Authorization Response
Code, which indicates the transaction approval or denial. The data is converted
to 7-bit unpacked transmittable data.

The table below displays a list of the Smart Card Non-tagged Elements currently
supported in the Smart Card data. These elements are to be identified by their
associated 2-byte Data Identifier and not by position in the Smart Card data.

Table 3-27 Smart Card Non-tagged Elements

Description Code Data Length


Data Identifier (Completion Code ID) 'CC' 2
Field Separator :IF 1
Data (Completion Code) XXXX 4
Field Separator :IF 1
Data Identifier (Script Results ID) 'SR' 2
Field Separator :IF 1
Data (Script Results) --- 2 + 10 * Number of Issuer Scripts

NOTE

All data lengths specified, are for 7-bit unpacked transmittable


data.

Data Identifier (Completion Code ID)


Field Size: 2 characters
Valid Range: 'CC'
Description: This field is for backwards compatibility only. This field should be
ignored.

Data (Completion Code)


Field Size: 4 characters
Valid Range:
Description: This field is for backwards compatibility only. The data in this
field should be ignored.

3-52
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Data Identifier (Script Results ID)


Field Size: 2 characters
Valid Range: 'SR'
Description: Field is identifier for the Number of Issuer Scripts and Issuer Script
Results fields.

Data (Script Results)


Field Size: 2 + 10 * Number of Issuer Scripts

Sub-fields:
Number of Issuer Scripts:
Fields Size: 2 characters
Valid Range: 00 - 99
Description: Field represents the number of Issuer Script Results, which
immediately follows this field. The length is specified as an ASCII representation
of a decimal value.

Issuer Script Results:


Field Size: Variable (10 characters multiplied by the Number of Issuer Scripts
specified in previous field).
Valid Range: Refer to EMV, version 4.1 or later
Description: Field represents the 5-byte binary Issuer Script Results. The
first byte is the Script Completion Status followed by the 4-byte Issuer Script
Identifier. The binary data is converted to 7-bit unpacked transmittable data.

3.8 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.

3.8.1 Enhanced Fault Status Message

Table 3-28 displays the format of the Enhanced 912 Unsolicited 'J' status,
including the fields used to deliver Smart Card content.

Table 3-28 Enhanced 912 Unsolicited 'J' Status Format

Description Data Length


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


[1] These fields are added to the Unsolicited Status Message when available based
on transaction progress.

3-53
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-28 Enhanced 912 Unsolicited 'J' Status Format (continued)

Description Data Length


Smart Card Buffer ID [077][1] 3

Smart Card Buffer Data [---][1] VAR


[1] These fields are added to the Unsolicited Status Message when available based
on transaction progress.

Device Identifier
Valid Range: SV71, SV72, SV73, SV76, SV77, or SV78
Description: The device identifier specifies the smart card module the status was
generated in. Refer to the smart card status tables in Section 3.9 for complete
status listings.

Status
Valid Range: 3 colon (:) separated digit pairs
Description: The status specifies the smart card fault that occurred. Refer to the
smart card status tables in Section 3.9 for complete status listings.

3.8.2 Unsolicited Status Smart Card Data Definitions

When the terminal or Smart Card denies the consumer transaction, an Unsolicited
Status message, containing an AAC (Application Authentication Cryptogram),
is generated. Smart Card data will only be included in an Unsolicited Status
message when a fault occurs during processing of Smart Card Operation 077
following completion of Application Initialization.

The following table displays the data contained in the Smart Card buffer added to
the Unsolicited Status response

Table 3-29 Smart Card Unsolicited Status Data

Description Data Data Length


AID Length --- 2
Application Identifier (AID) --- VAR (10-32)
Number of Tagged Elements --- 3
Unit Separator (US) :1F[1] 1
Tag ---[1] VAR
Unit Separator (US) :1F[1] 1
Data ---[1] VAR
[1] This group of fields repeats for the number of elements defined in the Number of Tagged Elements field.

AID Length
Field Size: 2 characters
Valid Range: Variable (10 - 32 characters)
Description: Field represents the number of bytes in the AID, which immediately
follows this field. The length is specified as an ASCII representation of a decimal
value.

3-54
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Application Identifier (AID)


Field Size: Variable (10 - 32 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 5 to 16-byte binary Application Identifier.
The AID consists of the RID||PIX, where the RID is a 5-byte global registered
identifier and the PIX (0-11 bytes) is at the application providers discretion. The
binary data is converted to 7-bit unpacked transmittable data.

Number of Tagged Elements


Field Size: 3 characters
Valid Range: 000 - 999
Description: Field represents the number of Tag and Data Element field pairs,
which follow this field. The number of elements is specified as an ASCII
representation of a decimal value.

The table below displays a list of the Smart Card Tagged Elements data, which
are identified by their associated Tag and not by their position. These Tags are
defined in EMV version 4.1 or later. All tags defined in the DOL are sent in the
message. Tag values may be empty.

Table 3-30 Unsolicited Status Smart Card Tagged Elements

Description Tag Data Length


Card Risk Management Data Object List 1 (CDOL1) '8C' VAR
Amount, Authorized '9F02' 12
Amount, Other '9F03' 12
Application Expiration Date '5F24' 6
Application Interchange Profile '82' 4
Application Transaction Counter (ATC) '9F36' 4
Application Authentication Cryptogram (AAC) '9F26' 16
Authorization Response Code '8A' 4
Cryptogram Information Data '9F27' 2
Issuer Application Data '9F10' VAR (max 64)
Application Primary Account Number (PAN) '5A' VAR (max 20)
Application PAN Sequence Number '5F34' 2
Terminal Capabilities '9F33' 6
Terminal Country Code '9F1A' 4
Terminal Identification '9F1C' 16
Terminal Type '9F35' 2
Terminal Verification Results (TVR) '95' 10
Track 2 Equivalent Data '57' VAR (max 38)
Transaction Currency Code '5F2A' 4
Transaction Date '9A' 6
Transaction Status Information (TSI) '9B' 4

3-55
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-30 Unsolicited Status Smart Card Tagged Elements (continued)

Description Tag Data Length


Transaction Type '9C' 2
Unpredictable Number '9F37' 8

NOTE

All the data lengths specified are for 7-bit unpacked


transmittable data.

Card Risk Management Data Object List 1 (CDOL1) (Tag '8C')


Field Size: Variable
Valid Range: Refer to EMV, version 4.1 or later
Description: Field represents CDOL1, as read from the ICC. The binary data is
converted to 7-bit unpacked transmittable data.

NOTE

All tags contained in CDOL1 will have their associated tags


and values included in the data transmitted.

Amount, Authorized (Tag '9F02')


Field Size: 12 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents 6-byte numeric 'authorized amount' of the
transaction. The binary data is converted to 7-bit unpacked transmittable data.

Amount, Other (Tag '9F03')


Field Size: 12 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents 6-byte numeric 'second amount' associated with the
transaction, which represents a cash-back amount. The binary data is converted
to 7-bit unpacked transmittable data.

Amount Expiration Date (Tag '5F24')


Field size: 6 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the Expiration Date of the application on the ICC.

EXAMPLE

The expiration date is in the form YYMMDD. If the application expires


December 15, 2009:

Expiration Date, numeric = |09|12|15

Expiration Date, alphanumeric = "091215"

Application Interchange Profile (AIP) (Tag '82')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte binary Application Interchange Profile
(AIP). The binary data is converted to 7-bit unpacked transmittable data.

3-56
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Application Transaction Counter (ATC) (Tag '9F36')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte binary Application Transaction Counter,
which is returned by the ICC in the response to the Generate AC command. The
binary data is converted to 7-bit unpacked transmittable data.

Application Authentication Cryptogram (AAC) (Tag '9F26')


Field Size: 16 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 8-byte binary Application Authentication
Cryptogram, which is returned by the ICC in the response to the Generate AC
command. The binary data is converted to 7-bit unpacked transmittable data.

Authorization Response Code (Tag '8A')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents 2-byte alphanumeric Authorization Response
Code, which indicates the transaction approval or denial.

Cryptogram Information Data (Tag '9F27')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 1-byte binary Cryptogram Information Data,
which is returned by the ICC in the response to the Generate AC command. The
binary data is converted to 7-bit unpacked transmittable data.

Issuer Application Data (Tag '9F10')


Field Size: Variable (up to 64 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the optional binary Issuer Application Data,
which may be returned by the ICC in response to the Generate AC command.
The format and content of this data is defined by the Smart Card Application
provider (Visa, MasterCard, etc.). The binary data is converted to 7-bit unpacked
transmittable data.

Application Primary Account Number (PAN) (Tag '5A')


Field Size: Variable (up to 20 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the Application Primary Account Number (PAN) as
read from the ICC. The compressed numeric data is converted to transmittable
alphanumeric character form. However, if the PAN contains an odd number of
digits, the last alphanumeric character is the pad character ('F').

Application PAN Sequence Number (Tag '5F34')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the Application PAN Sequence Number as read from
the ICC. The binary data is converted to 7-bit unpacked transmittable data.

Terminal Capabilities (Tag '9F33')


Field Size: 6 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 3-byte binary value, which indicates the card
data input, CVM, and security capabilities of the terminal. The binary data is
converted to a transmittable alphanumeric character form.

3-57
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Terminal Country Code (Tag '9F1A')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents 2-byte numeric Terminal Country Code. The
binary data is converted to 7-bit unpacked transmittable data.

Terminal Identification (Tag '9F1C')


Field Size: 16 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field must be packed to get the actual 8-byte alphanumeric Terminal
Identification. Designates the unique location of a terminal at a merchant.

Terminal Type (Tag '9F35')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 1-byte Terminal Type. Currently, this is always
'14' for Terminals. The binary data is converted to 7-bit unpacked transmittable
data.

Terminal Verification Results (Tag '95')


Field Size: 10 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents 5-byte binary Terminal Verification Results. The
binary data is converted to 7-bit unpacked transmittable data.

Track 2 Equivalent Data (Tag '57')


Field Size: Variable (up to 38 characters)
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the Track 2 Data, as read from the ICC. The binary
data is converted to 7-bit unpacked transmittable data.

Transaction Currency Code (Tag '5F2A')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 2-byte numeric Transaction Currency Code.
The binary data is converted to 7-bit unpacked transmittable data.

Transaction Date (Tag '9A')


Field Size: 6 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 3-byte numeric Transaction Date. The binary
data is converted to 7-bit unpacked transmittable data. The following example
displays the current system date as September 10, 2002. The Transaction Date is
in the form of YYMMDD, as follows.

EXAMPLE

Transaction Date, numeric=|02|09|10|

Transaction Date, alphanumeric = "020910"

Transaction Status Information (TSI) (Tag '9B')


Field Size: 4 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field contains the status of the functions performed in a transaction.
The binary data is converted to 7-bit unpacked transmittable data.

3-58
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Transaction Type (Tag '9C')


Field Size: 2 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 1-byte numeric Transaction Type. The binary
data is converted to 7-bit unpacked transmittable data.

Unpredictable Number (Tag '9F37')


Field Size: 8 characters
Valid Range: Refer to EMV, version 4.1 or later.
Description: Field represents the 4-byte binary Unpredictable Number generated
by the terminal. The binary data is converted to 7-bit unpacked transmittable data.

3.9 Unsolicited Status Codes

This section presents the error status codes generated by the EMV Smart Card
Application. The status codes are sent to the host in unsolicited status messages
and may be sent to the journal printer. All error messages are logged in the
system logging utility.

The following device identifiers apply to Smart Card Operations in an EMV


system:

• SV71 – ICC Initialization.

• SV72 – Begin Application Selection and Initialization .

• SV73 – Application Selection and Application Initialization.

• SV76 – Set EMV Values.

• SV77 – EMV Transaction Processing.

• SV78 – EMV Transaction Termination.

3.9.1 Smart Card Operation 071 Status Codes

Statuses
This section defines the status codes generated by Smart Card State, Operation
071

Table 3-31 Smart Card State, Operation 071 Status Codes

Status Description Explanation


71:00:06 Invalid ICC command Complete ICC Initialization is entered when parallel
processing has not been started
71:01:01 Smart Card Not Present Card is not a Smart Card or a successful connection
to the ICC was not made
71:01:02 Hardware Error Hardware error caused the failure of ICC Initialization

3-59
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-31 Smart Card State, Operation 071 Status Codes (continued)

Status Description Explanation


71:01:03 Application Error Application error occurred during application candidate
list building
71:01:06 Invalid Answer to Reset ICC returns and invalid ATR during chip initialization
71:01:09 No usable Applications No applications were found for inclusion in the
application candidate list
71:01:0A ICC Card Locked A Card Locked error is returned from Kernel during
application candidate list building
71:01:0B PDOL Error Conditions of use not satisfied when trying to get
application data

3.9.2 Smart Card Operation 072 Status Codes

Statuses
This section defines the status codes generated by Smart Card State, Operation
072.

Table 3-32 Smart Card State, Operation 072 Status Codes

Status Description Explanation


72:01:01 Timed Out Cardholder does not respond to an input request in the
allotted time.
72:01:02 No Usable Applications No ICC applications for the cardholder to select.
72:01:03 Default Error An unknown error occurred during application selection.

3.9.3 Smart Card Operation 073 Status Codes

Statuses
This section defines the status codes generated by Smart Card State, Operation
073.

Table 3-33 Smart Card State, Operation 073 Status Codes

Status Description Explanation


73:00:06 Invalid ICC command Complete Application selection entered when Begin
Application initialization and selection has not been performed
73:01:02 Hardware Error Hardware error caused the failure of application initialization
and selection
73:01:03 Application Error Application error occurred during application initialization and
selection. (Could be caused by ICC Application locked, No
candidate applications and other application errors)

3-60
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-33 Smart Card State, Operation 073 Status Codes (continued)

Status Description Explanation


73:01:06 Invalid Answer to Reset ICC returns and invalid ATR during chip initialization (Can
occur during Application reselect)
73:01:0C Get Processing Option failed Get Processing Option command to ICC failed

3.9.4 Smart Card Operation 076 Status Codes

Statuses
This section defines the status codes generated by Smart Card State, Operation
076.

Table 3-34 Smart Card State, Operation 076 Status Codes

Status Description Explanation


76:00:01 Invalid Operation Invalid Sub-operation entered
76:00:02 Data Error An error occurred while processing a sub-operation

3.9.5 Smart Card Operation 077 Status Codes

Statuses
This section defines the status codes generated by Smart Card State, Operation
077.

Table 3-35 Smart Card State, Operation 077 Status Codes

Status Description Explanation


77:01:01 Out of Sequence Generate ARQC operation entered without completing
Application selection and Initialization.
77:02:01 Processing Restrictions Failure Compatibility checks between application and ICC failed
when performing Processing Restrictions function
77:03:01 Cardholder Verification Failure Cardholder verification function was not completed
successfully
77:04:01 Risk Management Failure Terminal Risk Management was not completed successfully
77:05:01 Terminal Action Analysis Failure Terminal Action Analysis function failed. (Could be caused
due to invalid terminal transaction decision)
77:06:01 Card Action Analysis Failure Card Action Analysis function not completed successfully.
(Could be caused by Generate AC command failure)
77:07:02 Device Failure An error in the transaction is detected. The error could be
caused by card reader, ICC or software error.
77:07:03 Declined Offline This can occur when a transaction is declined offline by the
terminal or the ICC. When an AAC is returned for an ARQC
request.
77:07:04 Write Failure There is an error when generating CREQ. (getting CREQ
data or writing to the buffer)

3-61
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

3.9.6 Smart Card Operation 078 Status Codes

Statuses
This section defines the status codes generated by Smart Card State, Operation
078.

Table 3-36 Smart Card State, Operation 078 Status Codes

Status Description Explanation


Time out occurred waiting for the host during Consumer
78:02:01 Timed out request processing
An error occurred while getting unsolicited smart card data or
78:00:02 Write Failure writing the unsolicited data to the buffer

NOTE

A default error status of SV7F:7F:7F:7F will be generated


when an unknown error occurs during a Smart Card transaction.

3.10 Solicited Status Codes

This section presents the error status codes generated by the EMV Smart Card
Application. The status codes are sent to the host in solicited status messages
and may be sent to the journal printer. All error messages are logged in the
system logging utility.

3.10.1 Smart Card Solicited Function Processing

This section defines the status codes generated by Smart Card Function
Processing.

Table 3-37 Smart Card Function Processing: Solicited

Smart Card Function


Status Description Explanation
77:0A:01 Read Failure Read of smart card function data from the buffer failed
77:0B:01 Get Authorization response Authorization response code is of invalid length or parsing of
code failed Authorization response code failed
77:0B:02 Store Authorization response Failed to store Authorization response code in the kernel
code failed
77:0B:03 Get Issuer Authentication Failed to parse Issuer Authentication Data from Smart Card Data
data failed (Invalid length field, or data not even number of bytes between 16
and 32)
77:0B:04 Store Issuer Authentication Failed to store Issuer Authentication Data in the kernel
data failed
77:0B:05 Get Issuer Scripts failed Failed to parse Issuer Scripts from Smart Card Data (Issuer scripts
length field incorrect, or scripts greater than 256 bytes)

3-62
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-37 Smart Card Function Processing: Solicited (continued)

Smart Card Function


Status Description Explanation
77:0B:06 Store Issuer Scripts failed Failed to store Issuer Scripts in the kernel
77:0B:07 Get Authorization code failed Failed to parse Authorization code from Smart Card Data (Invalid
length field, or Authorization code length greater than length of data)
77:0B:08 Store Authorization code Failed to store Authorization code in the kernel
failed

NOTE

The following status code tables also apply to device identifier


SVA7, PIN Management Transactions.

3.10.2 Issuer authentication Failure

This section defines the status codes generated by Issuer authentication Failure.

Table 3-38 Issuer authentication Failure

Issuer authentication Failure


Status Description Explanation
77:0C:01 Invalid Length Issuer authentication function fails and the kernel return
code indicates failure due to invalid length
77:0C:02 I/O Error Issuer authentication function fails due to I/O error
77:0C:03 Misc Error An unknown error caused the Issuer authentication to
fail
77:0C:04 Card Data Error Issuer authentication function fails and the kernel return
code indicates failure due to card data error

3.10.3 Transaction Accepted

This section defines the status codes generated by Transaction Accepted.

Table 3-39 Transaction Accepted

Transaction Accepted
Status Description Explanation
77:0D:01 Card Data Error Card Data error was returned from kernel during
Completion processing function
77:0D:02 Bad Call Invalid function call made for Completion processing
77:0D:03 I/O Error Completion processing fails due to I/O error

3-63
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table 3-39 Transaction Accepted (continued)

Transaction Accepted
Status Description Explanation
77:0D:04 Misc Error An unknown error caused the Completion Processing
to fail
77:0D:05 Invalid Input Data Completion processing fails due to Invalid Input data
format
77:0D:06 Invalid Decision Completion processing fails due to Invalid decision
parameter.

3.10.4 Transaction Denied

This section defines the status codes generated by Transaction Denied.

Table 3-40 Transaction Denied

Transaction Denied
Status Description Explanation
77:0E:01 Card Data Error Card Data error was returned from kernel during
Completion processing function
77:0E:02 Bad Call Invalid function call made for Completion processing
77:0E:03 I/O Error Completion processing fails due to I/O error
77:0E:04 Misc Error An unknown error caused the Completion Processing
to fail
77:0E:05 Invalid Input Data Completion processing fails due to Invalid Input data
format
77:0E:06 Invalid Decision Completion processing fails due to Invalid decision
parameter.

3.10.5 Finalize Transaction Failed

This section defines the status codes generated by Finalize Transaction Failed.

Table 3-41 Finalize Transaction Failed

Finalize Transaction Failed


Status Description Explanation
77:0F:01 Fatal Error Fatal error occurred during Finalizing transaction (error
while retrieving data from kernel or getting smart card
data from buffer)

3-64
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

3.10.6 Card Denied

This section defines the status codes generated by Card Denied.

Table 3-42 Card Denied

Card Denied
Status Description Explanation
77:10:01 Transaction declined Host accepted the transaction initially but card rejected it

3.10.7 Function Fault

This section defines the status codes generated by Function Fault.

Table 3-43 Function Fault

Function Fault
Status Description Explanation
77:FF:01 Misc Error An unknown error occurred during Smart Card Function
processing

3.10.8 Pin Management Script Failure

This section defines the status codes generated by Pin Management Script Failure.

Table 3-44 Pin Management Script Failure

Pin Management Script Failure


Status Description Explanation
77:11:01 Transaction declined Transaction declined due to script failure

3-65
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

3-66
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Appendix A
Hex/Decimal/Character Values

Refer to Table A-1 through Table A-3 to convert from hex digit to Decimal and
identify the printable character.

Table A-1 Hex/Decimal/Character Values (Hex 00 / Dec 000 through Hex 4D / Dec 077)

Hex Decimal Printable Hex Decimal Printable Hex Decimal Printable


Character Character Character
00 000 NP 1A 026 NP 34 052 4
01 001 NP 1B 027 NP 35 053 5
02 002 NP 1C 028 NP 36 054 6
03 003 NP 1D 029 NP 37 055 7
04 004 NP 1E 030 NP 38 056 8
05 005 NP 1F 031 39 057 9
06 006 NP 20 032 3A 058 :

07 007 NP 21 033 ! 3B 059 ;


08 008 NP 22 034 " 3C 060 <
09 009 NP 23 035 # 3D 061 =

0A 010 NP 24 036 $ 3E 062 >

0B 011 NP 25 037 % 3F 063 ?

0C 012 NP 26 038 & 40 064 @


0D 013 NP 27 039 ' 41 065 A
0E 014 NP 28 040 ( 42 066 B
0F 015 NP 29 041 ) 43 067 C
10 016 NP 2A 042 * 44 068 D
11 017 NP 2B 043 + 45 069 E
12 018 NP 2C 044 , 46 070 F
13 019 NP 2D 045 - 47 071 G
14 020 NP 2E 046 . 48 072 H
15 021 NP 2F 047 / 49 073 I
16 022 NP 30 048 0 4A 074 J
17 023 NP 31 049 1 4B 075 K
18 024 NP 32 050 2 4C 076 L
19 025 NP 33 051 3 4D 077 M
NP = Non Printable Character

A-1
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table A-2 Hex/Decimal/Character Values (Hex 4E / Dec 078 through Hex B3 / Dec 179)

Hex Decimal Printable Hex Decimal Printable Hex Decimal Printable


Character Character Character
4E 078 N 70 112 p 92 146 ‘
4F 079 O 71 113 q 93 147 “
50 080 P 72 114 r 94 148 ”
51 081 Q 73 115 s 95 149 NP
52 082 R 74 116 t 96 150 –
53 083 S 75 117 u 97 151 —
54 084 T 76 118 v 98 152 ˜
55 085 U 77 119 w 99 153 ™
56 086 V 78 120 x 9A 154 š
57 087 W 79 121 y 9B 155
58 088 X 7A 122 z 9C 156 œ
59 089 Y 7B 123 { 9D 157 NP
5A 090 Z 7C 124 | 9E 158 ž
5B 091 [ 7D 125 } 9F 159 Ÿ
5C 092 \ 7E 126 ~ A0 160
5D 093 ] 7F 127 NP A1 161 ¡
5E 094 ^ 80 128 € A2 162 ¢
5F 095 _ 81 129 NP A3 163 £
60 096 ` 82 130 , A4 164 ¤
61 097 a 83 131 ƒ A5 165 ¥
62 098 b 84 132 ,, A6 166 ¦
63 099 c 85 133 ... A7 167 §
64 100 d 86 134 † A8 168 ¨
65 101 e 87 135 ‡ A9 169 ©
66 102 f 88 136 ˆ AA 170 ª
67 103 g 89 137 ‰ AB 171 «
68 104 h 8A 138 Š AC 172 ¬
69 105 i 8B 139 AD 173 -
6A 106 j 8C 140 Œ AE 174 ®
6B 107 k 8D 141 NP AF 175 ¯
6C 108 l 8E 142 Ž B0 176 °
6D 109 m 8F 143 NP B1 177 ±
6E 110 n 90 144 NP B2 178 ²
6F 111 o 91 145 ` B3 179 ³
NP = Non Printable Character

A-2
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table A-3 Hex/ Decimal /Character Values (Hex B4 / Dec 180 through Hex FF / Dec 255)

Hex Decimal Printable Hex Decimal Printable Hex Decimal Printable


Character Character Character
B4 180 ´ D4 212 Ô F4 244 ô
B5 181 μ D5 213 Õ F5 245 õ
B6 182 ¶ D6 214 Ö F6 246 ö
B7 183 NP D7 215 × F7 247 ÷
B8 184 ¸ D8 216 Ø F8 248 ø
B9 185 ¹ D9 217 Ù F9 249 ù
BA 186 º DA 218 Ú FA 250 ú
BB 187 » DB 219 Û FB 251 û
BC 188 ¼ DC 220 Ü FC 252 ü
BD 189 ½ DD 221 Ý FD 253 ý
BE 190 ¾ DE 222 Þ FE 254 þ
BF 191 ¿ DF 223 ß FF 255 ÿ
C0 192 À E0 224 à

C1 193 Á E1 225 á

C2 194 Â E2 226 â
C3 195 Ã E3 227 ã
C4 196 Ä E4 228 ä
C5 197 Å E5 229 å
C6 198 Æ E6 230 æ
C7 199 Ç E7 231 ç
C8 200 È E8 232 è

C9 201 É E9 233 é
CA 202 Ê EA 234 ê
CB 203 Ë EB 235 ë
CC 204 Ì EC 236 ì
CD 205 Í ED 237 í

CE 206 Î EE 238 î

CF 207 Ï EF 239 ï
D0 208 Ð F0 240 ð
D1 209 Ñ F1 241 ñ

D2 210 Ò F2 242 ò

D3 211 Ó F3 243 ó

NP = Non Printable Character

A-3
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

A-4
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Appendix B
Write Command 19 Modifier A Message with Diebold Defined Tags

For Diebold defined tags, “NCREQ_DOL”, “NSolicited_DOL” and


“NUnsolicited_DOL”, the data is a concatenated list of EMV, VSDC, M/Chip ,
Indonesian, or Interac 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.

The tables in this Appendix are Diebold specific defined tags.

Table B-1 Diebold Defined TAGs

Diebold Tag [1] Description Length


NDefault_DDOL Default Dynamic Data Object List – DDOL to be used in constructing the Variable
INTERNAL AUTHENTICATE command if the DDOL is not present in the
card.
NDefault_TDOL Default Transaction Certificate Data Object List – TDOL to be used for Variable
generating the TC Hash Value if the TDOL in the card is not present.
NTAC-Denial Terminal Action Code – Denial - Specifies the acquirer’s conditions that 10
cause the denial of a transaction without attempting to go online.
NTAC-Online Terminal Action Code – Online - Specifies the acquirer’s conditions that 10
cause a transaction to be transmitted online.
NTAC-Default Terminal Action Code – Default - Specifies the acquirer’s conditions that 10
cause a transaction to be rejected if it might have been approved online,
but the terminal is unable to process the transaction online.
NDefault_Label Default mneumonic associated with a specific AID. NDefault_Label is only Variable 1 – 16
valid within the AI identifier of the Write Command 19, Modifier A.
NCREQ_DOL List of data objects to be transmitted to the Host with the next consumer Variable
request message.
NSolicited_DOL List of data objects to be transmitted to the Host with the next Solicited Variable
Status message.
NUnsolicited_DOL List of data objects to be transmitted to the Host with the next Unsolicited Variable
Status message.
[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.

B-1
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Table B-1 Diebold Defined TAGs (continued)

Diebold Tag [1] Description Length


NLanguage_Map Map of the ISO 639-1 language codes and the language bank numbers Variable
for the languages supported on the terminal. This tag may be sent with
or without the NOpCode_Map tag. The NLanguage_Map tag format is a
two-letter alpha language code followed by a three-digit language bank
number (000 - 255). This language code/language bank number string
may be repeated for all the languages supported on the terminal.

NLanguage_Map is only valid within the 3EMV identifier of the Write


Command 19, Modifier A.
NOpCode_Map OpCode positions and OpCode values for the languages supported on Variable
the terminal. This tag is optional. If this tag is sent, a corresponding
NLanguage_Map tag must be sent. The NOpCode_Map tag format is
OpCode position number (0 - 7) followed by OpCode value alpha (@ - M).
An OpCode value of @ indicates a "don't care" condition and, if used,
the OpCode value for the corresponding position will not be modified.
This OpCode position/OpCode value string may be repeated for all the
languages supported on the terminal.

NOpCode_Map is only valid within the 3EMV identifier of the Write


Command 19, Modifier A.
[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.

B-2
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Appendix C
EMV PIN Management Transactions

A PIN Management transaction is a transaction that attempts to modify the


ICC offline PIN or the ICC data associated with the offline PIN. A typical PIN
Management transaction is one that attempts to change the PIN.

The PIN Change transaction flow may be designed to allow the card holder to
enter a new PIN and then the transaction flow sends the new PIN to the host
updating the cardholder's online PIN. The host would respond with a function
command containing the EMV cryptogram, an authorization response code of
85, and an issuer script to change the offline PIN to match the online PIN. The
function command also causes additional processing to be performed to ensure
that the offline PIN is changed.

If any EMV functionality fails while processing the function command, the
terminal sends a solicited status with a device identifier of SVA7 to the host
indicating that the transaction failed. The host then has to rollback the online PIN
change and notify the card holder that the PIN change failed.

If any EMV functionality fails while processing the function command, the
terminal sends a solicited status with a device identifier of SVA7 to the host
indicating that the transaction failed. The host then has to rollback the online PIN
change and notify the card holder that the PIN change failed.

In contrast to typical EMV transactions, a PIN Management transaction verifies


that the issuer script results produce a solicited fault status when an error in
the script processing is detected. This fault also indicates to the host that the
transaction failed.

A transaction must meet the following criteria to be recognized as a PIN


Management transaction.

• The authorization response code must be equal to 85.


• An issuer script containing an EMV PIN Change/Unblock command must
be present.

If either of these criteria are not met, the transaction is not recognized as a
PIN Management transaction and will not receive the additional processing
outlined above. Refer to the Visa PIN Management document in Section 2.1.3
for additional details on PIN Management transactions.

C-1
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

C-2
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Appendix D
EMV MasterCard PIN Unblock Transaction

A PIN Unblock transaction attempts to unblock the PIN of a blocked MasterCard.

The PIN Unblock transaction is designed to allow the card holder to insert/swipe
the card to unblock the PIN. The card issues an AAC when requesting for an
ARQC, which is a normal behavior because the card is blocked.

When the card issues an AAC, EMV Data elements are still available with the
terminal and the terminal can send this data within a Consumer Request message
(CREQ) to the card.

The 9C Transaction Type tag, generated by the Host, can have values in the range
of 90-99. The 9C tag value configured in the ACU will also be in the range of
90-99, with the default value being 91.

To identify a MasterCard PIN Unblock transaction, the 9C tag is compared with


the value configured in ACU.

The Host sends the Issuer script in a function command to unblock the PIN.
The terminal accepts the function command and processes the Issuer script to
unblock the PIN.

D-1
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

D-2
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B
PRELIMINARY - DRAFT COPY
Mon Dec 05 12:28:22 2011

Appendix E
EMV MasterCard Balance Enquiry Transaction

For a MasterCard Balance Enquiry transaction, the terminal must ask the card
for an Application Authentication Cryptogram (AAC) at the second Generate
AC command.

When a MasterCard Balance Enquiry transaction is performed at a terminal, the


following actions take place:

• The terminal performs a normal chip transaction, using the online PIN as the
CVM, and sends the PIN for authorization.

• During state flow, the Host sets the 9C (Transaction Type) tag to have a
value of 30 to identify a Balance Enquiry transaction.

• The terminal will process the function command sent by the Host and reply
with the Ready 9 solicited status.

E-1
CONFIDENTIAL - Trade Secret Material
Copyright ©Diebold, Incorporated (7/2010, 12/2011) - All Rights Reserved
TP-821446-001B

You might also like