0% found this document useful (0 votes)
256 views58 pages

Wincor Nixdorf NDC - Extension For EMV

Wincor Nixdorf International : Message format and extension for EMV

Uploaded by

TAPSOBA Roland
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
256 views58 pages

Wincor Nixdorf NDC - Extension For EMV

Wincor Nixdorf International : Message format and extension for EMV

Uploaded by

TAPSOBA Roland
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

!

"
##"$%&

'( ) * + ,

- .$/ .$$0
! - "1
"

! / 2 .$$$ .$$0
NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

Table of Contents
1 History / References .............................................................................. 3
1.1 Change history .................................................................................. 3
1.2 Document references ........................................................................ 3
2 Purpose of the document....................................................................... 4
2.1 Background ....................................................................................... 4
2.2 Objective ........................................................................................... 4
3 EMV Chip Card State ............................................................................ 5
3.1 Contact Chip and Candidate List creation (Operation 000) ............... 6
3.1.1 NDC .............................................................................................. 7
3.1.2 Diebold D91x................................................................................. 9
3.2 Customer EMV Application selection (Operation 001)..................... 10
3.2.1 NDC ............................................................................................ 11
3.2.2 Diebold D91x............................................................................... 14
3.3 Start/Restart EMV Application (Operation 002) ............................... 17
3.4 Initialize EMV Transaction Data (Operation 003) ............................ 19
3.5 Generate 1st AC/ARQC (Operation 004) ......................................... 21
3.6 Generate 2nd AC/AAC cancellation (Operation 005)........................ 23
3.7 EMV Language Selection (Operation 006) ...................................... 24
3.7.1 NDC ............................................................................................ 24
3.7.2 Diebold D91x............................................................................... 26
3.8 Transaction Reply/Interactive Transaction Reply overlay................ 27
4 EMV Customization Data..................................................................... 28
4.1 Application Identifier Table .............................................................. 29
5 Screen Template Format ..................................................................... 31
5.1 NDC Example.................................................................................. 32
5.2 Diebold D91x Example .................................................................... 33
6 Messages ............................................................................................ 34
6.1 Transaction Request Message ........................................................ 34
6.1.1 Last Transaction Status Extension .............................................. 34
6.1.2 EMV Data Buffer ......................................................................... 35
6.2 Transaction Reply EMV Data Buffer................................................ 36
6.3 Solicited Status Message extension ................................................ 37
6.4 EMV Fault Status Message ............................................................. 38
6.4.1 Solicited EMV Status Message ................................................... 38
6.4.2 Unsolicited EMV Status Message ............................................... 41
6.4.3 Chip communication errors (‘0’) .................................................. 43
6.4.4 Logical EMV errors (‘1’)............................................................... 43
6.4.5 EMV data error (‘2’) ..................................................................... 44
7 TAG usage .......................................................................................... 45
8 Journal entries ..................................................................................... 47
8.1 Variable Names for Journaling purposes......................................... 47
8.2 Journal entry configuration .............................................................. 48
9 Typical EMV Transaction flow ............................................................. 49
9.1 Contact Chip.................................................................................... 49
9.2 Create Application Candidate List ................................................... 49

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 1 of 1


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

9.3 Start Application .............................................................................. 49


9.4 Pin Verification and Card Analysis................................................... 50
9.5 Final Card Analysis.......................................................................... 50
10 EMV Transaction Flow Examples ........................................................ 51
10.1 State flow......................................................................................... 51
10.1.1 Without Application selection ...................................................... 51
10.1.2 With Application selection ........................................................... 52
10.1.3 Reinitialize a selected Application ............................................... 53
10.2 Transaction request/Transaction reply flow ..................................... 55
10.2.1 Issuer Approved .......................................................................... 55
10.2.2 Issuer Denied .............................................................................. 55
10.2.3 Issuer Approved without IAD....................................................... 55
10.2.4 Issuer Denied without IAD........................................................... 55
10.2.5 Issuer Approved – chip declines ................................................. 56
10.2.6 Issuer Approved without IAD – chip declines .............................. 56
10.2.7 External Authentication failure..................................................... 56
10.2.8 Script error .................................................................................. 56
10.2.9 Chip returns AAC in Generate 1st AC.......................................... 56
10.2.10 Chip return AAR in Generate 1st AC............................................ 57

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 2 of 2


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

1 History / References

1.1 Change history

Version Date Changes


No.
1.0 1st July Initial release
1.1 14th December Removed page-break in chapter 3.5.
Issuer Script 72 is template 2.
Corrected journal entry wording.
New optional AID parameters (completion
objects, exact match and default label) in
Application Identifier Table load
message.
Changed to refer to a typical EMV
Transaction Flow instead of Wincor
ProChip EMV kernel.

1.2 Document references

Document name Version No. Date


EMV2000 4.0 December 2000
Integrated Circuit Card
Specification for Payment
Systems
Book 1 - 4

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 3 of 3


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

2 Purpose of the document

2.1 Background
Credit card fraud has grown considerably and constantly over the last
years. To reduce the number of credit card frauds and to minimize the
associated damage Europay, Mastercard and Visa have defined
requirements for the whole chain of credit card authorization and
transactions.
These requirements are known as EMV and are based on the use of chip
cards on credit cards instead of the so far used magnetic stripe.

The defined requirements set standards for the hardware involved as well
as the software on the authorizing terminals, the connection between
authorizing switch and the software on the switch and its communication
with the issuers host.

2.2 Objective
Wincor Nixdorf International GmbH offers ATM software, which is ranked
around the leading message formats for the switch communication, such
as:
• ProCash/PBM for the IBM message format
• ProCash/ISO for the ISO 8583 message format
• ProCash/DDC for the Diebold D91x message format
• ProCash/NDC for the NCR NDC and NDC+ message format

EMV has a high influence on the ATM software and its communication with
the switching system.

This document describes the extensions Wincor Nixdorf International GmbH


has defined to enable the NDC(+) and Diebold D91x protocols to meet the
EMV requirements.

These EMV related extensions are independent from any particular NDC(+)
or Diebold D91x protocol implementation at both the terminal and host side.

This grants advantages for switch software providers, in regards of


consolidated implementation to be used in NDC and Diebold D91x device
handlers, causing significantly less development and testing efforts.

Further, a simplified and more effective handling of the required EMV


functionality is included.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 4 of 4


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3 EMV Chip Card State


The Chip Card State gives the ability to provide EMV based transactions.
Table entry 2 of this State defines the operation to perform. The available
operations and parameters are defined below.

Table Contents Description


Entry
1 State Type ‘e’ (0x65)
2 Chip Card Operation This Parameter specifies which Chip Card
to perform: Operation to perform. Valid values are as
Range 000 – 006 follows:

000 Contact Chip and Candidate List


creation
001 Customer EMV Application
selection
002 Start/Restart EMV Application
003 Initialize EMV Transaction Data
004 Generate 1st AC (ARQC)
005 Generate 2nd AC cancellation
(AAC)
006 EMV Language Selection

3– Operation specific
state parameters

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 5 of 5


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.1 Contact Chip and Candidate List creation (Operation 000)


This operation contacts the chip and if successful creates the application
candidate list.

The following EMV steps are performed:


- Contact Chip
Contacts the chip and evaluates the ATR.
- Create Application Candidate List
Reads the Application list from the Chip and creates the matching
candidates.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 6 of 6


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.1.1 NDC

Table Contents Description


Entry
3 Next state if Specifies the state number if EMV
processing was processing was successful.
successful.
Range: 000-254, 256-
999
4 Next state number if Specifies the state number if the card has
the chip was not no chip or if failure conditions, for
contacted or failed example dirty contacts, have been
contacting. detected.
Range: 000-254, 256-
999
5 Next state number if Specifies the state number if no
no application application candidate was found to be
candidate is available. processed.
Range: 000-254, 256-
999
6 Next state number if Specifies the state number if an EMV
an EMV application- application-level error occurred.
level error occurred.
Range: 000-254, 256-
999
7 Next state if an EMV Specifies the state number if an EMV
hardware-level error hardware-level error occurred.
occurred.
Range: 000-254, 256-
999
8 Extension state Specifies the state number for the
number. extension state.
Range: 000-254, 256-
999
9 000 Not used

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 7 of 7


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.1.1.1 Extension State

Table Contents Description


Entry
1 State Type Z
2 “Please Wait” Screen. The Screen to show while the Chip is
Range: 000-999 contacted and the candidate-list is being
created. Value 000 can be used to not
show any screen.
3 Next state number if This next state is taken due to service
processing was not code indicating a non-EMV card (entry 4).
started.
Range: 000-254, 256-
999
4 Flag for Service Code Indicates if the service code on the
checking. magnetic track 2 should be checked.
Range: 000-001 Valid values are as follows:
000 = Always start EMV processing.
001 = Start EMV processing only if the
magnetic track 2 data has been
read and contains a service code
indicating that this card has a chip
(service code value 2 or 6).
5–9 000 Not used

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 8 of 8


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.1.2 Diebold D91x

Table Contents Description


Entry
3 Next state if Specifies the state if EMV processing was
processing was successful.
successful.
Range: 000-254, 256-
999 or A00-Z99
4 Next state if the chip Specifies the state if the card has no chip
was not contacted or or if failure conditions, for example dirty
failed contacting. contacts, have been detected.
Range: 000-254, 256-
999 or A00-Z99
5 Next state if no Specifies the state if no application
application candidate candidate was found to be processed.
is available.
Range: 000-254, 256-
999 or A00-Z99
6 Next state if an EMV Specifies the state if an EMV application-
application-level error level error occurred.
occurred.
Range: 000-254, 256-
999 or A00-Z99
7 Next state if an EMV Specifies the state if an EMV hardware-
hardware-level error level error occurred.
occurred.
Range: 000-254, 256-
999 or A00-Z99
8 “Please Wait” Screen. The Screen to show while the Chip is
Range: 000-999 contacted and the candidate-list is being
created. Value 000 can be used to not
show any screen.
9 Next state if This next state is taken due to service
processing was not code indicating a non-EMV card (entry
started. 10).
Range: 000-254, 256-
999 or A00-Z99
10 Flag for Service Code Indicates if the service code on the
checking. magnetic track 2 should be checked.
Range: 000-001 Valid values are as follows:
000 = Always start EMV processing.
001 = Start EMV processing only if the
magnetic track track 2 data has
been read and contains a service
code indicating that this card has a
chip (service code value 2 or 6).

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 9 of 9


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.2 Customer EMV Application selection (Operation 001)


This operation is used to ask the customer to select an EMV application for
further processing.

If there is only one application candidate available it will be selected


automatically without asking the customer.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 10 of 10


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.2.1 NDC

Table Contents Description


Entry
3 Next state if Specifies the state number if the
application is selected. customer selected an application.
Range: 000-254, 256-
999
4 Next state if there is Specifies the state number if there is only
only one application one application candidate available.
candidate available. This application is selected automatically
Range: 000-254, 256- without asking the customer.
999
5 Next state if there is Specifies the state number if there is no
no application application candidate available.
candidate available.
Range: 000-254, 256-
999
6 Next state number if Specifies the state number if the
time-out occurred. customer times out.
Range: 000-254, 256-
999
7 Next state number if Specifies the state number if the
cancel is pressed. customer pressed the cancel key.
Range: 000-254, 256-
999
8 Screen number for Specifies the screen number to be
application selection. displayed if a customer has to select an
Range: 000-999 application. If there is no, or only one
application candidate available this
screen will not be shown

If the screen number is set to 000, the


application with the highest priority will be
started automatically. In this case the
following table entries are not used and
can be omitted.
9 Extension state Specifies the state number for the
number. extension state.
Range: 000-254, 256-
999

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 11 of 11


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.2.1.1 Application selection Extension State

Table Contents Description


Entry
1 State Type Z
2 Extension state Specifies the extension state number
number for FDK where the FDKs for application selection
usage. are configured.
Range: 000-254 or
256-999
3 ‘Next’ page FDK. FDK to be used to access the next page
Range: of selectable applications.
00A-00D, 00F-00I or
001-004, 006-009 Note: If specifying characters ‘A’ to ‘I’
causes difficulties with the State table
editor, values ‘1’ to ‘9’ can be used
instead.
4 ‘Next’ page FDK active Screen number, which will be displayed
screen number. when the FDK for the ‘Next’ page is
Range: 000-999 activated
5 ‘First’ page FDK. FDK to be used to access the first page of
Range: selectable Applications.
00A-00D, 00F-00I or
001-004, 006-009 Note: If specifying characters ‘A’ to ‘I’
causes difficulties with the State table
editor, values ‘1’ to ‘9’ can be used
instead.
6 First Page active Screen number, which will be displayed
Screen number. when the FDK for the ‘First’ page is
Range: 000-999 activated.
7 FDK priority order for These table entries specify the
application 1, 2 and 3. assignment of selectable Applications to
Range: AAA-III or FDK.
111-999
8 FDK priority order for If entry 6, 7 and 8 are 000 the default
application 4, 5, and 6. ABC (123), DFG (467) and HI (890) is
Range: AAA-III or used
111-999
9 FDK priority order for Note: If specifying characters ‘A’ to ‘I’
application 7 and 8. causes difficulties with the State table
Range: AA0-II0 or editor, you can use values ‘1’ to ‘9’
110-990 instead.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 12 of 12


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.2.1.2 Application selection FDK usage Extension State

Table Contents Description


Entry
1 State Type Z
2 Application Screen The following table entries configure the
Template number for Screen Template number to be used to
FDK A. display the application label (TAG 50),
Range: 000-999
3 Application Screen This Screen must be in template form
Template number for (see Screen Template Format).
FDK B.
Range: 000-999
4 Application Screen A Value of 000 indicates that the FDK is
Template number for not activated/used.
FDK C.
Range: 000-999
5 Application Screen
Template number for
FDK D.
Range: 000-999
6 Application Screen
Template number for
FDK F.
Range: 000-999
7 Application Screen
Template number for
FDK G.
Range: 000-999
8 Application Screen
Template number for
FDK H.
Range: 000-999
9 Application Screen
Template number for
FDK I.
Range: 000-999

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 13 of 13


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.2.2 Diebold D91x

Table Contents Description


Entry
3 Next state if Specifies the state number if the
application is selected. customer selected an application.
Range: 000-254, 256-
999 or A00-Z99
4 Next state if there is Specifies the state number if there is only
only one application one application candidate available.
candidate available. This application is selected automatically
Range: 000-254, 256- without asking the customer.
999 or A00-Z99
5 Next state if there is Specifies the state number if there is no
no application application candidate available.
candidate available.
Range: 000-254, 256-
999 or A00-Z99
6 Next state number if Specifies the state number if the
time-out occurred. customer times out.
Range: 000-254, 256-
999 or A00-Z99
7 Next state number if Specifies the state number if the
cancel is pressed. customer pressed the cancel key.
Range: 000-254, 256-
999 or A00-Z99
8 Screen number for Specifies the screen number to be
application selection. displayed if a customer has to select an
Range: 000-999 application. If there is no, or only one
application candidate available this
screen will not be shown

If the screen number is set to 000, the


application with the highest priority will be
started automatically. In this case the
following table entries are not used and
can be omitted.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 14 of 14


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

Table Contents Description


Entry
9 Application Screen The following table entries configure the
Template number for Screen Template number to be used to
FDK A. display the application label (TAG 50),
Range: 000-999
10 Application Screen This Screen must be in template form
Template number for (see Screen Template Format).
FDK B.
Range: 000-999
11 Application Screen A Value of 000 indicates that the FDK is
Template number for not activated/used.
FDK C.
Range: 000-999
12 Application Screen
Template number for
FDK D.
Range: 000-999
13 Application Screen
Template number for
FDK F.
Range: 000-999
14 Application Screen
Template number for
FDK G.
Range: 000-999
15 Application Screen
Template number for
FDK H.
Range: 000-999
16 Application Screen
Template number for
FDK I.
Range: 000-999
17 ‘Next’ page FDK. FDK to be used to access the next page
Range: of selectable applications.
00A-00D, 00F-00I or
001-004, 006-009 Note: If specifying characters ‘A’ to ‘I’
causes difficulties with the State table
editor, values ‘1’ to ‘9’ can be used
instead.
18 ‘Next’ page FDK active Screen number, which will be displayed
screen number. when the FDK for the ‘Next’ page is
Range: 000-999 activated

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 15 of 15


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

Table Contents Description


Entry
19 ‘First’ page FDK. FDK to be used to access the first page of
Range: selectable Applications.
00A-00D, 00F-00I or
001-004, 006-009 Note: If specifying characters ‘A’ to ‘I’
causes difficulties with the State table
editor, values ‘1’ to ‘9’ can be used
instead.
20 First Page active Screen number, which will be displayed
Screen number. when the FDK for the ‘First’ page is
Range: 000-999 activated.
21 FDK priority order for These table entries specify the
application 1, 2 and 3. assignment of selectable Applications to
Range: AAA-III or FDK.
111-999
22 FDK priority order for If entry 6, 7 and 8 are 000 the default
application 4, 5, and 6. ABC (123), DFG (467) and HI (890) is
Range: AAA-III or used
111-999
23 FDK priority order for Note: If specifying characters ‘A’ to ‘I’
application 7 and 8. causes difficulties with the State table
Range: AA0-II0 or editor, you can use values ‘1’ to ‘9’
110-990 instead.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 16 of 16


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.3 Start/Restart EMV Application (Operation 002)


This operation enables the EMV application currently being selected or the
application candidate with the highest priority for processing to be started or
restarted.

If an application was selected the “Starting application” screen is displayed


and the Application is started (see Start Application in chapter Typical EMV
Transaction flow).

If the application was started successfully, the application label (TAG 50) is
stored into the Screen (see entry 11 and 12) and the magnetic track 2 data
is replaced by the track 2 equivalent from the chip (TAG 57)

In case of EMV level or HW level error the EMV or HW error next state is
taken.

If the application could not be started or has no ATM usage (Application


Usage Control TAG 9F07) the candidate list is updated, and the ‘application
could not be (re)started’ next state is taken.

Table Contents Description


Entry
3 Next state if Specifies the state number if an
application is application was (re)started successfully.
(re)started.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
4 Next state if the Specifies the state number if the
application could not application could not be (re)started.
be (re)started.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
5 Next state number if Specifies the state number if there is an
an EMV application- EMV application-level error such as
level error occurred. Application blocked or mandatory TAGs
Range: (94, 82, 57, 8C, 8D, 5A, 5F24) are not
NDC 000-254, 256- available
999
D91x 000-254, 256-
999 or A00-Z99

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 17 of 17


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

Table Contents Description


Entry
6 Next state number if Specifies the state number if an EMV
an EMV hardware- hardware-level error occurred.
level error occurred.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
7 “Starting application” The number of the screen to be displayed
Screen number. to the customer while starting the
Range: 000-999 application.

If the screen number is set to 000, no


screen is displayed.
8 Screen template Specifies the number for the screen
number for the EMV template to be used to format the
application label. application label
Range: 000-999
9 Screen number for Specifies the number of the screen where
storing the EMV the formatted application label should be
application label. stored for further use.
Range: 000-999
If the Screen number is set to 000, the
name of the EMV application is not
stored.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 18 of 18


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.4 Initialize EMV Transaction Data (Operation 003)


This operation is used to provide transaction-specific data for EMV
processing.

TAGs set:
- 9A Transaction Date
- 9F37 Unpredictable Number
- 9C Transaction Type
- 5F2A Transaction ISO Currency Code
- 5F36 Transaction ISO Currency Exponent
- 81 Transaction Amount Binary
- 9F02 Transaction Amount

Table Contents Description


Entry
3 Number of next state. Specifies the state number after
Range: initialization of all necessary data.
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
4 ISO Transaction Type. Decimal value of the ISO Transaction
Range: 000-099 Type TAG (9C) to set.
5 ISO Currency Code. Value to set for the Transaction Currency
Range: 000-999 Code TAG (5F2A).
6 ISO Currency Value to set for the Transaction Currency
Exponent. Exponent TAG (5F36).
Range: 000-009

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 19 of 19


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

Table Contents Description


Entry
7 Amount source buffer Specifies the buffer to be used for amount
and conversion flag. and if conversion of currency units has to
Range: 000 – 007 be performed. Valid values are as follows

000 = Don’t set amount.


001 = Set amount to 0.

002 = Set amount from Amount Buffer


with no conversion.
003 = Set amount from General Purpose
Buffer B with no conversion.
004 = Set amount from General Purpose
Buffer C with no conversion.

005 = Set amount from Amount Buffer


with conversion.
006 = Set amount from General Purpose
Buffer B with conversion.
007 = Set amount from General Purpose
Buffer C with conversion.

In case of conversion, the value stored in


the ISO Currency Exponent (entry 6) is
used. This value specifies the number of
trailing 0 to be added to the amount
before setting the transaction amount.
8–9 Not used

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 20 of 20


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.5 Generate 1st AC/ARQC (Operation 004)


This operation is used to generate the 1st Application Cryptogram (see Pin
Verification and Card Analysis in chapter Typical EMV Transaction flow).

The EMV Data Buffer will be filled with appropriate data and CDOL1 for
transmition to the Host in Transaction Request Message.

In case of a failure an Unsolicited EMV Status Message is sent to the Host.

Table Contents Description


Entry
3 Next state if Generate Specifies the state number if the Chip
1st AC was successful. replied with ARQC.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
4 Next state if Generate Specifies the state number if the Chip
1st AC was declined by replied with AAC (decline).
the chip.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
5 Next state if chip Specifies the state number if the Chip
returned referral to replied with AAR (referral).
Generate 1st AC.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
6 Next state if no Specifies the state number if no
application started. Application was started.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 21 of 21


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

Table Contents Description


Entry
7 Next state if an EMV Specifies the state number if an EMV
application-level error application-level error occurred.
occurred.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
8 Next state number if Specifies the state number if an EMV
an EMV hardware- hardware-level error occurred.
level error occurred.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
9 Next state if EMV Specifies the state number if the current
sequence error conditions do not allow processing of this
occurred. state/operation. This is the case if the
Range: EMV transaction data was not initialized
NDC 000-254, 256- (see Initialize EMV Transaction Data
999 (Operation 003)).
D91x 000-254, 256-
999 or A00-Z99

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 22 of 22


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.6 Generate 2nd AC/AAC cancellation (Operation 005)


This operation cancels the EMV transaction by generating the 2nd
Application Cryptogram (see Final Card Analysis in chapter Typical EMV
Transaction flow.
No External Authenticate and no 71/72 script processing will be performed.

An AAC (denial) will be requested from the Chip to complete the


Transaction in case of Host offline or timeout. The ARC (TAG 8A) is set to
‘unable to go online, offline declined’ (Z3).

Table Contents Description


Entry
3 Next state if Generate Specifies the state number if no error
2nd AC successful. occurred.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
4 Next state if an EMV Specifies the state number if an EMV
application-level error application-level error occurred.
occurred.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
5 Next state number if Specifies the state number if an EMV
an EMV hardware- hardware-level error occurred.
level error occurred.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
6 Next state if EMV Specifies the state number if the current
sequence error conditions do not allow processing of this
occurred. state/operation.
Range:
NDC 000-254, 256-
999
D91x 000-254, 256-
999 or A00-Z99
7–9 Not used

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 23 of 23


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.7 EMV Language Selection (Operation 006)


This operation is used to set the language offset and group (NDC) or
language bank (Diebold 91x) from the EMV preferred language stored in
the chip.

Up to 12 languages can be used.

The supported languages are configured locally like:


Language 1 = en
Language 2 = de
Language 3 = fr
Language 4 = sp

3.7.1 NDC

Table Contents Description


Entry
3 Next state if no Specifies the state number if no language
language matched. match was found.
Range: 000-254, 256-
999
4 Extension state for Specifies the state number for the
language 1 and 2. language extension.
Range: 000-254, 256-
999
5 Extension state for If the parameter is set to 000 the entry is
language 3 and 4. not used.
Range: 000-254, 256-
999
6 Extension state for The extension state parameters specify
language 5 and 6. the next state, language offset and
Range: 000-254, 256- language group to be set if a match was
999 found.
7 Extension state for
language 7 and 8.
Range: 000-254, 256-
999
8 Extension state for
language 9 and 10.
Range: 000-254, 256-
999
9 Extension state for
language 11 and 12.
Range: 000-254, 256-
999

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 24 of 24


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.7.1.1 Language IDs Extension state

Table Contents Description


Entry
1 State Type Z
2 Next state if language Specifies the state number if the preferred
matched. language from the application matched to
Range: 000-254, 256- a configured supported language.
999
3 Language offset. Language offset to activate for this
Range: 000-999 language
4 Language group. Language group to activate for this
Range: 000-009 language
5 Next state if language Specifies the state number if the preferred
matched. language from the application matched to
Range: 000-254, 256- a configured supported language.
999
6 Language offset. Language offset to activate for this
Range: 000-999 language
7 Language group. Language group to activate for this
Range: 000-009 language
8–9 Not used

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 25 of 25


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.7.2 Diebold D91x

Table Contents Description


Entry
3 Next state if no Specifies the state if no language match
language matched. was found.
Range: 000-254, 256-
999 or A00-Z99
4 Next state if language Specifies the state number if the preferred
1 matched. language from the application matched to
Range: 000-254, 256- the supported language 1.
999 or A00-Z99
5 Language bank. Language bank to activate for this
Range: 000-999 language.
6 – 27 Repeat table entry 4
and 5 for all supported
languages

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 26 of 26


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

3.8 Transaction Reply/Interactive Transaction Reply overlay


If EMV data was sent in transaction request message and the transaction
reply message (function command in D91x) or interactive transaction reply
message (open account relationship/OAR in D91x) contains EMV data then
the Final Card Analysis (see chapter Typical EMV Transaction flow) is being
performed (esp. Generate 2nd AC).

The Host can send an empty IAD TAG 91 (9100), which will indicate that no
External Authenticate should take place. Internally the IAD TAG 91 is
emptied (all hex 0) and a TC or AAC (decline) is requested in the Generate
2nd AC depending on the ARC sent by the Host.

The transaction is canceled and a solicited EMV error message is sent if the
Final Card Analysis fails or one of the following happens:
• Approve (TC) was requested but Chip denies (indicated by
Cryptogram Information Data TAG 9F27)
• External Authenticate failed (indicated by Terminal Verification Result
TAG 95 and Transaction Status Information TAG 9B)
• Script processing failed (indicated by Terminal Verification Result
TAG 95 and Transaction Status Information TAG 9B)

If processing succeeds the base transaction handler will perform the


transaction.

If an EMV transaction is being performed (indicated by the presence of


EMV data in the first transaction request message, see Transaction
Request Message EMV Data Buffer) then either the interactive transaction
reply or (exclusive) the transaction reply must contain EMV data.
A solicited EMV error message is sent if:
• No EMV data was found in the transaction reply, but EMV data was
sent.
• EMV data was found in the transaction reply unexpectedly (none
sent in the transaction request, or after solicited EMV error).
• EMV data in the transaction reply is wrong (i.e. unexpected TAG,
TAGs missing, TLV badly formatted, etc.).

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 27 of 27


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

4 EMV Customization Data


The following EMV Customization Data is used to download EMV specific
data to the terminal to be able to perform EMV transactions.

Description Code Number of


Characters
Write command ‘3’ 1
Response Flag. [X] 1
Field Separator (FS) :1C 1
Logical Unit Number (LUNO) [X] 3
Field Separator (FS) :1C 1
Message Sequence Number [X] 3
Field Separator (FS) :1C 1
EMV Customization Data identifier ‘e’/0x65 1
EMV Customization Data modifier ‘A’ - Application 1
Identifier Table
Field Separator (FS) :1C 1
EMV Customization Data --- Var

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 28 of 28


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

4.1 Application Identifier Table


The Application Identifier Table identifies the applications that can be
processed.

This table is downloaded by the Host using the EMV Customization Data
with the following Data:

Description Code Number of


Characters
Application ID number. Range: --- 3
000 – 255
Application Identifier (AID) --- Var (32)
Group Separator (GS) :1D 1
Lowest Version Number --- 4
Group Separator (GS) :1D 1
Highest Version Number --- 4
Group Separator (GS) :1D 1
Terminal Action Code (TAC) denial --- 10
Group Separator (GS) :1D 1
Data Object list (TAG list) to send in --- Var
Transaction request message
Group Separator (GS) :1D 1
Data Object list (TAG list) to be used --- Var
in Solicited Status Message extension,
Last Transaction Status Extension and
Logical EMV errors (‘1’).

Note: If any of the following fields are


used this list must be present and
overrides the default configuration.
Group Separator (GS) :1D 1
AID Options:
Partial/Exact selection ‘0’ – Partial selection 1
‘1’ – Exact selection

Group Separator (GS) :1D 1


AID default Label if Chip doesn’t --- Var(16)
provide a Label
Field Separator (FS) [:1C] 1 [1]
Application ID number. Range: --- 3 [1]
000 – 255
Application Identifier (AID) --- Var (32) [1]
Group Separator (GS) :1D 1 [1]
Lowest Version Number --- 4 [1]
Group Separator (GS) :1D 1 [1]
Highest Version Number --- 4 [1]

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 29 of 29


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

Description Code Number of


Characters
Group Separator (GS) :1D 1 [1]
Terminal Action Code (TAC) denial --- 10 [1]
Group Separator (GS) :1D 1 [1]
Data Object list (TAG list) to send in --- Var [1]
Transaction request message
Group Separator (GS) :1D 1 [1]
Data Object list (TAG list) to be used --- Var [1]
in Solicited Status Message extension,
Last Transaction Status Extension and
Logical EMV errors (‘1’).

Note: If any of the following fields are


used this list must be present and
overrides the default configuration.
Group Separator (GS) :1D 1 [1]
AID Options:
Partial/Exact selection ‘0’ – Partial selection 1 [1]
‘1’ – Exact selection

Group Separator (GS) :1D 1 [1]


AID default Label if Chip doesn’t --- Var(16) [1]
provide a Label
[1]
This group of fields can be repeated for any AID supported by the
Host/Terminal.
Multiple Application Identifier Tables can be sent.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 30 of 30


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

5 Screen Template Format


To be able to display and store the application label within Customer EMV
Application selection (Operation 001) the screen template format is defined
as follows:

All ‘*’ characters within the screen template are replaced by the application
label.
Because the application label can contain lower case characters but typical
NDC and Diebold D91x fonts do not contain those characters it might be
required to convert the application label to upper case.
Additionally it is necessary to specify the kind of justification (right, left or
centered) used to fill in the application label, because typically application
labels should be right justified if associated to the right FDKs, but left
justified for the left FDKs.
All this formatting is indicated by one of the following character sequences
in the screen template:
• %R% right justified with upper case conversion
• %r% right-justified without upper case conversion
• %L% left justified with upper case conversion
• %l% left-justified without upper case conversion
• %C% centered with upper case conversion
• %c% centered without upper case conversion

Note: There should be no clear screen sequence in the screen.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 31 of 31


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

5.1 NDC Example

Application label: <Master Card>


Screen template: <%R%[SI]E1**************[SI]F1**************>
Will appear as

@ABCDEFGHIJKLMNO0123456789:;<=>?
@
A
B
C
D
E MASTER CARD
F - A
G
H
I - B
J
K
L - C
M
N
O - D

Application label: <Cirrus>


Screen template: <%l%[SI]N@**************[SI]O@**************>
Will appear as

@ABCDEFGHIJKLMNO0123456789:;<=>?
@
A
B
C
D
E
F - A
G
H
I - B
J
K
L - C
M
N Cirrus
O - D

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 32 of 32


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

5.2 Diebold D91x Example

Application label: <Master Card>


Screen template: <%R%[SI]I8****************[SI]J8****************>
Will appear as

@ABCDEFGHIJKLMNO0123456789:;<=>?PQRSTUVW
@
A
B
C
D
E
F
G
H
I MASTER CARD - A
J
K
L - B
M
N
O - C
0
1
2 - D
3

Application label: <Cirrus>


Screen template: <%l%[SI]2@****************[SI]3@****************>
Will appear as

@ABCDEFGHIJKLMNO0123456789:;<=>?PQRSTUVW
@
A
B
C
D
E
F
G
H
I - A
J
K
L - B
M
N
O - C
0
1
2 Cirrus - D
3

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 33 of 33


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

6 Messages
6.1 Transaction Request Message

6.1.1 Last Transaction Status Extension


If the previous transaction was an EMV transaction the last transaction
status (transaction verification status in D91x) will contain the following
additional EMV data:

Description Code Number of


Characters
Group Separator (GS) :1D 1
EMV Data Identifier ‘e’/0x65 1
Cryptogram Information Data (TAG 9F27) in TLV ‘9F27’ 4
format ‘01’ 2
--- 2
Terminal Verification Results (TAG 95) in TLV ‘95’ 2
format ‘05’ 2
--- 10
Transaction Status Information (TAG 9B) in TLV ‘9B’ 2
format ‘02’ 2
--- 4
Selected Application ID (TAG 9F06) in TLV format ‘9F06’ 4
--- 2
--- Var (32)
Additional Data Objects in TLV format (configured --- Var
on the terminal)
Record Separator (RS) :1E 1
If Issuer Scripts were processed it contains the ---
status of script processing in the following form (see
also EMV Book 4 Script results):

Result of script processing (0 - Script not performed, 1


1 - Script failed, 2 - Script successful),

Script command number which failed (0 – Not 1


specified, 1 to E – sequence number, F – sequence
number 15 or above),

Script ID from TAG 9F18 (or ‘00000000’ if no ID 8


received) in the issuer script received.

This field will be repeated for every Issuer Script


processed.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 34 of 34


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

6.1.2 EMV Data Buffer


The following EMV data buffer is appended to the transaction request
message if the Chip Card State with Generate 1st AC/ARQC (Operation
004) was processed:

Description Code Number of


Characters
EMV Data Buffer ID. ‘e’/0x65 1
Identifies the following Data as EMV data.

This, and the following fields, is only present if an


EMV Transaction is selected and performed.
EMV Data. Contains a list of available Transaction --- Var(1024)
Data Objects for the selected EMV Application
(See EMV Customization Data). Additionally all
Data Objects from CDOL1 are appended.

The EMV Data is TLV formatted.


Each Byte is expanded into 2 hexadecimal
characters (‘0’-‘9’, ‘A’-‘F’).

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 35 of 35


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

6.2 Transaction Reply EMV Data Buffer


The Host has to append the following EMV data buffer if EMV data was
sent in the previous transaction request message:

Description Code Number of


Characters
EMV Data Buffer ID. ‘e’/0x65 1
Identifies the following Data as EMV data.

This, and the following field, must be


present if the previous transaction request
message contained EMV Data.
EMV approved or denied indicator. ‘a’ – approved 1
(TC)
This indicator specifies if a approve (TC) or ‘d’ – denied
a denial (AAC) request is sent to the chip in (AAC)
Generate 2nd AC.
EMV Data. Contains the Issuer --- 0 or
Authentication Data (IAD - TAG 91), Var(1024)
Authorization Response Code (ARC - TAG
8A) and optional Issuer Scripts 1 (TAG 71)
and 2 (TAG 72).

TAG 91 can have a length of 00 if no


external authentication is being performed.
In this case TAG 91 and 8A are emptied (all
hex 0) and the Final Card Analysis (see
Typical EMV Transaction flow) is being
performed to request an AAC (decline)

The Data is TLV formatted.


Each Byte is expanded into 2 hexadecimal
characters (‘0’-‘9’, ‘A’-‘F’).

I.e.
91080123456789ABCDEF8A023030

9100

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 36 of 36


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

6.3 Solicited Status Message extension


The following EMV Data will be appended to Solicited Status messages
(solicited ready 9/B or device error) if the current transaction was EMV.

Description Code Number of


Characters
Field Separator (FS) :1C 1
EMV Data Identifier ‘e’/0x65 1
Cryptogram Information Data in TLV format ‘9F27’ 4
‘01’ 2
--- 2
Terminal Verification Results in TLV format ‘95’ 2
‘05’ 2
--- 10
Transaction Status Information in TLV format ‘9B’ 2
‘02’ 2
--- 4
Selected Application ID in TLV format ‘9F06’ 4
--- 2
--- Var (32)
Additional Data Objects in TLV format (configured --- Var
on the terminal)
Group Separator (GS) :1D 1
If Issuer Scripts were processed it contains the ---
status of script processing in the following form (see
also EMV Book 4 Script results):

Result of script processing (0 - Script not performed, 1


1 - Script failed, 2 - Script successful),

Script command number which failed (0 – Not 1


specified, 1 to E – sequence number, F – sequence
number 15 or above),

Script ID 8

This field will be repeated for every Issuer Script


processed.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 37 of 37


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

6.4 EMV Fault Status Message

6.4.1 Solicited EMV Status Message


The following Solicited EMV Status Message will be sent if EMV processing
fails (see Transaction Reply/Interactive Transaction Reply overlay).

6.4.1.1 NDC

Description Code Number of


Characters
Message Class ’2’ 1
Message Sub-Class ‘2’ 1
Field Separator (FS) :1C 1
Logical Unit Number (LUNO) --- 3 or 9
Field Separator (FS) :1C 1
Message Sequence Number (optional, ignored) [---] 3
Field Separator (FS) :1C 1
Time Variant Number. This and the following FS is [---] 8
only included if MACing is enabled and sending of
time variant number is activated.
Field Separator (FS) :1C 1
Status Descriptor ‘8’ 1
Field Separator (FS) :1C 1
Device Identification Graphics (DIG) ‘e’/0x65 1
Transaction/Device Status ‘1’ 1
Field Separator (FS) :1C 1
Error Severity ‘2’ 1
Field Separator (FS) :1C 1
EMV Error Type: 1
Chip communication error ‘0’
EMV Logical error ‘1’
EMV data not found or found unexpectedly or wrong
formatted in Transaction reply ‘2’
EMV Error data. The data varies depending on the --- Var
EMV Error Type documented later in this chapter:

Chip communication errors (‘0’)


Logical EMV errors (‘1’)
EMV data error (‘2’)

Group Separator (GS) :1D 1

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 38 of 38


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

Description Code Number of


Characters
If Issuer Scripts were processed it contains the ---
status of script processing in the following form (see
also EMV Book 4 Script results):

Result of script processing (0 - Script not performed, 1


1 - Script failed, 2 - Script successful),

Script command number which failed (0 – Not 1


specified, 1 to E – sequence number, F – sequence
number 15 or above),

Script ID 8

This field will be repeated for every Issuer Script


processed.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 39 of 39


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

6.4.1.2 Diebold D91x

Description Code Number of


Characters
Solicited/Unsolicited ID ’2’ 1
Message Identifier ‘2’ 1
Field Separator (FS) :1C 1
Logical Unit Number (LUNO) --- 3 or 9
Field Separator (FS) :1C 1
Message Sequence Number [---] 8
Field Separator (FS) :1C 1
Status Descriptor ‘8’ 1
Field Separator (FS) :1C 1
Device Identifier (DID) ‘e’/0x65 1
EMV Error Type: 1
Chip communication error ‘0’
EMV Logical error ‘1’
EMV data not found or found unexpectedly or wrong
formatted in Transaction reply ‘2’
EMV Error data. The data varies depending on the --- Var
EMV Error Type documented later in this chapter:

Chip communication errors (‘0’)


Logical EMV errors (‘1’)
EMV data error (‘2’)

Group Separator (GS) :1D 1


If Issuer Scripts were processed it contains the ---
status of script processing in the following form (see
also EMV Book 4 Script results):

Result of script processing (0 - Script not performed, 1


1 - Script failed, 2 - Script successful),

Script command number which failed (0 – Not 1


specified, 1 to E – sequence number, F – sequence
number 15 or above),

Script ID 8

This field will be repeated for every Issuer Script


processed.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 40 of 40


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

6.4.2 Unsolicited EMV Status Message


The following Unsolicited EMV Status Message will be sent if EMV
processing fails.

6.4.2.1 NDC

Description Code Number of


Characters
Message Class ’1’ 1
Message Sub-Class ‘2’ 1
Field Separator (FS) :1C 1
Logical Unit Number (LUNO) --- 3 or 9
Field Separator (FS) :1C 1
Field Separator (FS) :1C 1
Device Identification Graphics (DIG) ‘e’/0x65 1
Transaction/Device Status ‘1’ 1
Field Separator (FS) :1C 1
Error Severity ‘2’ 1
Field Separator (FS) :1C 1
EMV Error Type: 1
Chip communication error ‘0’
EMV Logical error ‘1’
EMV Error data. The data varies depending on the --- Var
EMV Error Type documented later in this chapter:

Chip communication errors (‘0’)


Logical EMV errors (‘1’)

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 41 of 41


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

6.4.2.2 Diebold D91x

Description Code Number of


Characters
Solicited/Unsolicited ID ’1’ 1
Message Identifier ‘2’ 1
Field Separator (FS) :1C 1
Logical Unit Number (LUNO) --- 3 or 9
Field Separator (FS) :1C 1
Field Separator (FS) :1C 1
Status Source ‘e’/0x65 1
EMV Error Type: 1
Chip communication error ‘0’
EMV Logical error ‘1’
EMV Error data. The data varies depending on the --- Var
EMV Error Type documented later in this chapter:

Chip communication errors (‘0’)


Logical EMV errors (‘1’)

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 42 of 42


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

6.4.3 Chip communication errors (‘0’)


The chip communication data (EMV Error Type ‘0’) is formatted as follows:

Description Code Number of


Characters
Command Class -- 2
Command Instruction -- 2
Parameter 1 -- 2
Parameter 2 -- 2
Command data length -- 2
Response data length -- 2
Status Word 1 -- 2
Status Word 2 -- 2
Selected Application ID in TVL format ‘9F06’ 4
--- 2
--- Var (32)

A Status Word 1/2 of FF FF indicates a real communication error to the


chip.

6.4.4 Logical EMV errors (‘1’)


Logical error information (EMV Error Type ‘1’) will appear as:

Description Code Number of


Characters
Cryptogram Information Data in TLV format ‘9F27’ 4
‘01’ 2
--- 2
Terminal Verification Results in TLV format ‘95’ 2
‘05’ 2
--- 10
Transaction Status Information in TLV format ‘9B’ 2
‘02’ 2
--- 4
Selected Application ID in TLV format ‘9F06’ 4
--- 2
--- Var (32)
Additional Data Objects in TLV format (configured --- Var
on the terminal)

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 43 of 43


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

6.4.5 EMV data error (‘2’)


Wrong EMV data (EMV Error Type ‘2’) will appear as:

Description Code Number of


Characters
Selected Application ID in TLV format ‘9F06’ 4
--- 2
--- Var (32)

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 44 of 44


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

7 TAG usage
TAG Name Description/Usage
91 Issuer Authentication Received from Host in Transaction
set Data (IAD) Reply EMV Data Buffer
8A Authorization Response Received from Host in Transaction
set Code (ARC) Reply EMV Data Buffer
71 Issuer Script Template 1 Received from Host in Transaction
set Reply EMV Data Buffer (optional)
72 Issuer Script Template 2 Received from Host in Transaction
set Reply EMV Data Buffer (optional)
9F27 Cryptogram Information Checked after Generate 1st AC and
read Data Generate 2nd AC
95 Terminal Verification Sent to the Host in Last Transaction
read Result (TVR) Status and Solicited error messages.
9B Transaction Status Sent to the Host in Last Transaction
read Information (TSI) Status and Solicited error messages.
57 Track 2 Equivalent Data Used to replace magnetic Track 2 data
read in Start/Restart EMV Application
(Operation 002). Also used to
recalculate PAN, FIT, etc. if Smart FIT
Check State ‘k’/NDC or Enhanced
Check FIT State ‘@B ‘/D91x is used
9F37 Unpredictable Number Calculated in Initialize EMV Transaction
set Data (Operation 003) and Start/Restart
EMV Application (Operation 002)
5F2A Transaction Currency Set in Initialize EMV Transaction Data
set Code (Operation 003)
5F36 Transaction Currency Set in Initialize EMV Transaction Data
set Exponent (Operation 003)
9C Transaction Type Set in Initialize EMV Transaction Data
set (Operation 003)
9A Transaction Date Calculated in Initialize EMV Transaction
set Data (Operation 003)
81 Amount, Authorized Calculated in Initialize EMV Transaction
set (binary) Data (Operation 003)
9F02 Amount, Authorized Calculated in Initialize EMV Transaction
set (numeric) Data (Operation 003)
8C Card Risk Management Will always be included into Transaction
read Data Object List 1 Request Message - EMV Data Buffer
(CDOL1)
9F07 Application Usage Used to determine if the selected
read Control (AUC) Application can be used at an ATM in
Start/Restart EMV Application
(Operation 002)

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 45 of 45


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

TAG Name Description/Usage


50 Application Label Used in Start/Restart EMV Application
read (Operation 002) to display list of
available Applications and to store the
name in a Screen for later use
9F1A Terminal Country Code See Parameters
set
9F35 Terminal Type See Parameters
set
94 Application file locator Checked in Start/Restart EMV
read Application (Operation 002)
82 Application Interchange Checked in Start/Restart EMV
read Profile Application (Operation 002)
8D Card Risk Management Checked in Start/Restart EMV
read Data Object Application (Operation 002)
List (CDOL2)
5A Application Primary Checked in Start/Restart EMV
read Account Number (PAN) Application (Operation 002)
5F24 Application Expiration Checked in Start/Restart EMV
read Date Application (Operation 002)

All other TAGs are handled according to the EMVCO specification Book 1 –
4.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 46 of 46


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

8 Journal entries

8.1 Variable Names for Journaling purposes

Variable Name Description


EMVJOU_CONTACT_ERR Number of failed Chip-contact errors. This
count will be reset if a Chip-contact
succeeds
EMVJOU_ERR In case of chip communication error:
CLA INS P1 P2 LS LR SW1 SW2
where:
CLA Class byte of the command message
INS Instruction byte of the command
message
P1 Parameter 1
P2 Parameter 2
LS Length of data sent to the chip
LR Length of data received from the chip
SW1 Status word 1 (result)
SW2 Status word 2 (result)

In case of a logical error in the Transaction


reply processing (Generate 2nd AC), it
contains:
CRYPTINFO TVR TSI
where:
CRYPTINFO Value of TAG 9F27
TVR Value of TAG 95
TSI Value of TAG 9B
EMVMC_APPL_TYPE
EMVMC_AID Selected AID (TAG 9F06) or
’ **** AID NOT SELECTED ****’ if no AID
was selected
EMVMC_TVR Value of TAG 95
EMVMC_TSI Value of TAG 9B

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 47 of 47


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

8.2 Journal entry configuration


The following journal entries are issued:

1600 Chip contact error


Will be written if contacting the chip failed after 3 reties:
@5 CHIP CONTACT ERROR $EMVJOU_CONTACT_ERR$#NL#
1601 EMV error
Will be written if an EMV error occurs:
@5 SMART $EMVMC_APPL_TYPE$ $DCMC_TRAN_SERIAL_NO$#NL#
$DC_TRACK2$#NL#
$EMVMC_AID$#NL#
$EMVJOU_ERR$#NL#"
1602 No external authenticate
Will be written if a Generate 2nd AC is performed without IAD from
Host in transaction reply:
@5 EXTERNAL AUTHENTICATE: NO ARPC#NL#
1603 Invalid data received in response from Host:
@5 EXTERNAL AUTHENTICATE: INVALID ARPC#NL#
1604 Final result of Generate 2nd AC
@5 TVR: $EMVMC_TVR$, TSI: $EMVMC_TSI$#NL#

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 48 of 48


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

9 Typical EMV Transaction flow


A typical EMV transaction flow can be separated into 5 actions.

9.1 Contact Chip


After an ID card is being inserted and the decision is made to perform an
EMV transaction the chip on the card is being contacted. As a result the
chip responds with the ATR (Answer To Reset) which is evaluated.

This is done in the Contact Chip and Candidate List creation (Operation
000) State.

9.2 Create Application Candidate List


Next the Application Candidate list is being created. This is done by
checking which Application are supported by the Chip, and which are
supported by the terminal/host defined in the Application Identifier Table
load.

This is also done in the Contact Chip and Candidate List creation
(Operation 000) State.

9.3 Start Application


Now, after a candidate is being selected by the customer or automatically,
the Application needs to be started.
The following steps have to be performed:
• Select Application
• Get Processing Options
• Read Application Data and Authentication

All this is done in the Start/Restart EMV Application (Operation 002) State.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 49 of 49


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

9.4 Pin Verification and Card Analysis


After the PIN was entered and the transaction was selected by the
customer the following steps have to be performed before sending the EMV
data to the host:
• Cardholder Verification
• Check Processing Restrictions
• Terminal Risk Management
• Terminal Action Analysis
• Generate AC(1st)

The Generate 1st AC/ARQC (Operation 004) state is doing this.

9.5 Final Card Analysis


Finally, after the reply from the host is received, the EMV transaction has to
be finished by performing the following steps:
• External Authenticate
• Execute Issuer Scrips(71)
• Generate AC(2nd)
• Execute Issuer Scripts(72)

This is done in the following States:


• Transaction Reply/Interactive Transaction Reply overlay,
• Generate 2nd AC/AAC cancellation (Operation 005)

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 50 of 50


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

10 EMV Transaction Flow Examples


10.1 State flow

10.1.1 Without Application selection


Card Read State
Customer inserts EMV card

Contact Chip and Candidate List creation (Operation 000)


Processing of:
Contact Chip
Create application candidates

* PIN Entry State


Customer enters PIN

* Transaction selection State


Customer selects transaction

Start/Restart EMV Application (Operation 002)


Start application with highest priority
Store application label into screen
Replace magnetic Track 2 data by Track 2 equivalent from
application (TAG 57)

* Smart FIT Check State ‘k’/NDC or Enhanced Check FIT State


‘@B ‘/D91x
Recalculate PAN and perform FIT check based on application
Track 2 equivalent

* PIN Entry State


Customer enters PIN

* Transaction selection State


Customer selects transaction

Initialize EMV Transaction Data (Operation 003)


Set TAGs required

Generate 1st AC/ARQC (Operation 004)


Prepare EMV Data Buffer

Transaction Request State ‘I’


Send transaction request message including EMV Data Buffer
Receive and process transaction reply (Generate 2nd AC)

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 51 of 51


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

10.1.2 With Application selection


Card Read State
Customer inserts EMV card

Contact Chip and Candidate List creation (Operation 000)


Processing of:
Contact Chip
Create application candidates

Customer EMV Application selection (Operation 001)


Display list of application candidates, customer selects an
applications or select the only one automatically

Start/Restart EMV Application (Operation 002)


Start application
Store application label into screen
Replace magnetic Track 2 data by Track 2 equivalent from
application (TAG 57)

Smart FIT Check State ‘k’/NDC or Enhanced Check FIT State ‘@B ‘/D91x
Recalculate PAN and perform FIT check based on application Track
2 equivalent

PIN Entry State


Customer enters PIN

Transaction selection State


Customer selects transaction

Initialize EMV Transaction Data (Operation 003)


Set TAGs required

Generate 1st AC/ARQC (Operation 004)


Prepare EMV Data Buffer

Transaction Request State ‘I’


Send transaction request message including EMV Data Buffer
Receive and process transaction reply (Generate 2nd AC)

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 52 of 52


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

10.1.3 Reinitialize a selected Application

Transaction Chaining:
Transaction Request State ‘I’
Send transaction request message including EMV Data Buffer
Receive/process transaction reply message (Generate 2nd AC)

Selection of ‘Would you like another Transaction’


Customer selects ‘yes’

Start/Restart EMV Application (Operation 002)


Restart application

Transaction selection State


Customer selects transaction

Initialize EMV Transaction Data (Operation 003)


Set TAGs required

Generate 1st AC/ARQC (Operation 004)


Prepare EMV Data Buffer

Transaction Request State ‘I’


Send transaction request message including EMV Data Buffer
Receive/process transaction reply message (Generate 2nd AC)

Reenter Amount:
Transaction Request State ‘I’
Send transaction request message including EMV Data Buffer
Receive/process transaction reply message (Generate 2nd AC)

Start/Restart EMV Application (Operation 002)


Restart application

Reenter Amount State ‘F’


Customer reenters amount

Initialize EMV Transaction Data (Operation 003)


Set TAGs required

Generate 1st AC/ARQC (Operation 004)


Prepare EMV Data Buffer

Transaction Request State ‘I’


Send transaction request message including EMV Data Buffer
Receive/process transaction reply message (Generate 2nd AC)

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 53 of 53


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

Reenter PIN:
Transaction Request State ‘I’
Send transaction request message including EMV Data Buffer
Receive/process transaction reply message (Generate 2nd AC)

Start/Restart EMV Application (Operation 002)


Restart application

Reenter PIN State


Customer reenters PIN

Generate 1st AC/ARQC (Operation 004)


Prepare EMV Data Buffer

Transaction Request State ‘I’


Send transaction request message including EMV Data Buffer
Receive/process transaction reply message (Generate 2nd AC)

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 54 of 54


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

10.2 Transaction request/Transaction reply flow

10.2.1 Issuer Approved


Transaction reply from Host contains approve indicator (‘a’) and IAD.
Processing of:
• External authenticate
• Issuer Script 71 (optional)
• Generate 2nd AC with TC is requested and TC returned
• Issuer Script 72 (optional)
Base transaction processing will be performed and then a ready will be
sent.

10.2.2 Issuer Denied


Transaction reply from Host contains denial indicator (‘d’) and IAD.
Processing of:
• External authenticate
• Issuer Script 71 (optional)
• Generate 2nd AC with AAC is requested and AAC returned
• Issuer Script 72 (optional)
Base transaction processing will be performed and then a ready will be
sent.

10.2.3 Issuer Approved without IAD


Transaction reply from Host contains approve indicator (‘a’) and no IAD
(either 9100 or empty IAD).
Processing of:
• Issuer Script 71 (optional)
• Generate 2nd AC with TC is requested and TC returned
• Issuer Script 72 (optional)
Base transaction processing will be performed and then a ready will be
sent.

10.2.4 Issuer Denied without IAD


Transaction reply from Host contains denial indicator (‘d’) and no IAD.
Processing of:
• Issuer Script 71 (optional)
• Generate 2nd AC with AAC is requested and AAC returned
• Issuer Script 72 (optional)
Base transaction processing will be performed and then a ready will be
sent.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 55 of 55


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

10.2.5 Issuer Approved – chip declines


Transaction reply from Host contains approve indicator (‘a’) and IAD.
Processing of:
• External authenticate
• Issuer Script 71 (optional)
• Generate 2nd AC with TC is requested and AAC returned
• Issuer Script 72 (optional)
A solicited EMV error is sent, waiting for another transaction reply.

10.2.6 Issuer Approved without IAD – chip declines


Transaction reply from Host contains approve indicator (‘a’) and no IAD.
Processing of:
• Issuer Script 71 (optional)
• Generate 2nd AC with TC is requested and AAC returned
• Issuer Script 72 (optional)
A solicited EMV error is sent, waiting for another transaction reply.

10.2.7 External Authentication failure


Transaction reply from Host contains approve or denial indicator and IAD.
Processing of:
• External authenticate (failure)
• Issuer Script 71 (optional)
• Generate 2nd AC
• Issuer Script 72 (optional)
A solicited EMV error is sent, waiting for another transaction reply.

10.2.8 Script error


Transaction reply from Host contains approve or denial indicator.
Processing of:
• External authenticate if IAD present
• Issuer Script 71 (optional - failure)
• Generate 2nd AC
• Issuer Script 72 (optional - failure)
A solicited EMV error is sent, waiting for another transaction reply.

10.2.9 Chip returns AAC in Generate 1st AC


In Generate 1st AC/ARQC (Operation 004) the chip returns AAC
cryptogram.
The transaction request message will contain the EMV Data Buffer.
The Host must decide how to continue with the transaction depending on
TAG 9F27 (Cryptogram Information), Track 2 data and other values.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 56 of 56


NDC / Diebold D91x
Message Format Extension for EMV 1.1 / 20.12.04

10.2.10 Chip return AAR in Generate 1st AC


In Generate 1st AC/ARQC (Operation 004) the chip returns AAR
cryptogram.
The transaction request message will contain the EMV Data Buffer.
The Host must decide how to continue with the transaction depending on
TAG 9F27 (Cryptogram Information), Track 2 data and other values.

Copyright © Wincor Nixdorf International GmbH 2000 - 2004 Page 57 of 57

You might also like