PayPass - MChip (V1.3)
PayPass - MChip (V1.3)
PayPass - MChip (V1.3)
Technical Specifications
Copyright
Media
E-mail: [email protected]
Table of Contents
4 M/Chip 4 ....................................................................................................29
1.2
1.3
1.4
2 Commands .................................................................................................41
2.1
2.2
Introduction..................................................................................................41
COMPUTE CRYPTOGRAPHIC CHECKSUM......................................................41
2.2.1
2.2.2
2.2.3
2.2.4
2.3
Table of Contents
2.3.2
2.3.3
2.3.4
2.4
2.5
READ RECORD..............................................................................................47
2.5.1
2.5.2
2.5.3
2.5.4
2.6
SELECT .........................................................................................................48
2.6.1
2.6.2
2.6.3
2.6.4
3 Transaction Flow.......................................................................................51
3.1
3.2
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
Application Selection...................................................................................60
Final SELECT Command Processing ............................................................60
Initiate Application Processing ....................................................................61
Read Mag Stripe Application Data ..............................................................62
Mag Stripe Application Version Number Checking....................................63
COMPUTE CRYPTOGRAPHIC CHECKSUM Command Processing..................63
Mag Stripe Cardholder Verification ............................................................66
Read M/Chip Application Data....................................................................67
Processing Restrictions ................................................................................68
Terminal Risk Management.........................................................................68
M/Chip Cardholder Verification..................................................................68
Offline Data Authentication.........................................................................69
Terminal Action Analysis ............................................................................69
GENERATE AC Processing ...........................................................................70
Table of Contents
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
Introduction..................................................................................................91
Application State Machine...........................................................................91
Command Processing...................................................................................92
2.3.1
2.3.2
2.3.3
2.3.4
C-APDU Recognition..................................................................................92
C-APDU Acceptance...................................................................................93
SELECT PPSE...............................................................................................93
LOOP BACK ..................................................................................................95
Introduction..................................................................................................97
Table of Contents
3.1.1
3.1.2
3.1.3
3.1.4
3.2
3.3
3.4
3.5
3.9
C-APDU Recognition................................................................................100
C-APDU Acceptance.................................................................................101
Rejected C-APDU Processing ...................................................................101
Processing C-APDUs.................................................................................102
COMPUTE CRYPTOGRAPHIC CHECKSUM....................................................103
3.5.1
3.5.2
3.5.3
3.5.4
3.6
3.7
3.8
Assumptions ................................................................................................97
Data Elements..............................................................................................97
Offline Counters ..........................................................................................97
Log of Transactions.....................................................................................98
3.11 Personalization...........................................................................................112
3.11.1
3.11.2
3.11.3
3.11.4
3.11.5
3.11.6
3.11.7
3.11.8
Scope ..................................................................................................................9
Audience ............................................................................................................9
Related Publications.........................................................................................9
Reference Materials .......................................................................................10
Abbreviations..................................................................................................11
Notational Conventions..................................................................................12
Bit Map............................................................................................................14
Transition Flow Diagrams.............................................................................15
Requirement Numbering ...............................................................................15
Document Overview .......................................................................................16
Document Word Usage ..................................................................................17
Scope
MasterCard PayPass technology enables fast, easy and globally accepted payments
through the use of contactless chip technology on the traditional MasterCard card
platform. PayPass M/Chip is designed specifically for authorization networks that
presently support chip card authorizations for credit or debit applications.
This document provides the specifications necessary to achieve interoperability
between PayPass cards and PayPass terminals. The application is primarily intended
to carry the Maestro or MasterCard brands. It contains:
The transaction flow (the sequence of events and the commands and responses
interchanged between the card and terminal).
Audience
This document is intended for use by vendors that want to implement the MasterCard
PayPass M/Chip application on a card or acceptance device.
This document is also intended for type approval services, which would test the actual
implementations against this specification.
It is assumed that the audience already has an understanding of chip card technology
in general and of M/Chip 4 and ISO/IEC 14443 in particular.
Related Publications
The following publications contain information directly related to the contents of this
manual.
[PAYPASS MAGSTRIPE]
[M/CHIP4]
[M/CHIP4 CPS]
Reference Materials
The following reference materials may be of use to the reader of this manual.
[ISO/IEC 8825:1990]
[ISO/IEC 7811/2]
[ISO/IEC 7813:1995]
[ISO/IEC 7816-4:1995]
[ISO/IEC 7816-5:1993]
[ISO/IEC 7816-6:1996]
[EMV BOOK 1]
[EMV BOOK 2]
[EMV BOOK 3]
[EMV BOOK 4]
[EMV CPS]
10
Abbreviations
The following abbreviations are used in this specification:
Abbreviation
Description
AAC
AC
Application Cryptogram
ADF
AFL
AID
Application Identifier
AIP
ASI
an
Alphanumeric
ans
Alphanumeric Special
APDU
ARQC
ATC
Binary
BCD
C-APDU
Command APDU
CDOL
CLA
cn
Compressed Numeric
CVC
CVM
DES
DDA
DGI
EMV
FCI
hex.
Hexadecimal
ICC
INS
ISO
MAC
Numeric
NATCTRACK1
NATCTRACK2
NCA
NI
11
Abbreviation
Description
NIC
PAN
PCVC3TRACK1
PCVC3TRACK2
PDOL
PIN
PPSE
PSE
PUNATCTRACK1
PUNATCTRACK2
P1
Parameter 1
P2
Parameter 2
R-APDU
Response APDU
RFU
SDA
SDAD
SFI
SW1
SW2
TC
Transaction Certificate
TDOL
TLV
TVR
UDOL
UN
Unpredictable Number
Notational Conventions
The following notations apply:
Notation
Description
0 to 9 and A to F
1001b
abcd
an or ans string
digit
[]
Optional part
xx
Any value
12
Notation
Description
A := B
C := (A || B)
Y := ALG(K)[X]
X&Y
GENERATE AC
The following table lists symbols that are often used throughout the document:
Symbol
Meaning
kTRACK1
kTRACK2
tTRACK1
tTRACK2
nUN
mTRACK1
mTRACK2
qTRACK1
qTRACK2
13
Bit Map
The PayPass M/Chip application uses a bit map to indicate positions in the
discretionary data field.
Figure 1 indicates the numbering of the different positions in the discretionary data.
The number of digits present in discretionary data is indicated by m.
Figure 1Numbering of Discretionary Data
Discretionary Data
pm
pm-1
pm-2
pm-3
p5
p4
p3
p2
p1
Each bit in the bit map refers to a position in the discretionary data. The least significant bit of the bit map, i.e. the rightmost bit b1, refers to position p1; as indicated in
Figure 2. The number of bits in the bit map is always a multiple of 8 and equal to
r=(((m-1)/8)+1)*8. For Track 2 Data mTRACK2 is maximum 13 digits, resulting in a bit
map of 16 bits or 2 bytes. For Track 1 Data the maximum value of mTRACK1 is 48
resulting in a bitmap of length 6 bytes or 48 bits.
Figure 2Relation between Discretionary Data and Bit Map
Discretionary Data
br
br-1
br-2
bm+1
pm
p5
p4
p3
p2
p1
bm
b5
b4
b3
b2
b1
Bit Map
p7
p6
p5
p4
p3
p2
p1
b9
b8
b7
b6
b5
b4
b3
b2
b1
b16
b15
b14
14
RESET TRANSIENT
DATA
SW1SW2='6985'
procedure start
procedure return
output
perform task
TEST
OK
STATE
NOK
destination state
decision
In most cases a textual description accompanies the transition flow diagram. In this
case the symbols in the transition flow diagram are identified with a symbol number.
When a paragraph in the textual description starts with Symbol n, then it
corresponds to the symbol bearing the same number in the transition flow diagram.
The following example illustrates how it works.
TEST
OK
NOK
Requirement Numbering
Requirements in this manual are uniquely numbered with the number appearing next
to each requirement: For example:
4.4.1.2 If the PDOL is not present, then the terminal shall use a command data field
of 83 00.
15
Document Overview
This document is organized as follows:
Section
Description
Part I Introduction
Part II Interface Specification Describes the functions necessary to ensure that PayPass
M/Chip cards conforming to this specification can
perform a set of core functions in all terminals that
conform to this specification. Application functions
unique to individual implementations (and functions not
performed in interchange) are not described here.
This part includes:
The application selection mechanism by means of the
PPSE.
The transaction flow (the sequence of events and the
commands and responses interchanged between the
card and the terminal).
The definition of commands and data elements as
they apply to the exchange of information between
the card and the terminal.
The card and terminal interoperability requirements.
(This part does not address clearing and settlement issues,
or transactions where the PayPass M/Chip card is not
present.)
Part III Card Specification
16
shall
Defines a product or system capability which is mandatory.
should
Defines a product or system capability which is recommended.
may
Defines a product or system capability which is optional.
17
18
PART I Introduction
This part includes an executive summary of the PayPass M/Chip application.
4 M/Chip 4 ....................................................................................................29
19
Introduction
20
Introduction
MasterCard Proximity Payment
Note
In this document, the term PayPass interface will be used to mean PayPass
contactless interface.
21
Introduction
MasterCard Proximity Payment
22
Introduction
M/Chip Profile and Mag Stripe Profile
Note
In this document, the terms card and terminal will be used to mean
PayPass M/Chip card and PayPass M/Chip terminal.
23
Introduction
M/Chip Profile and Mag Stripe Profile
24
Introduction
PayPass M/Chip
3 PayPass M/Chip
3.1
Interface Specification
The PayPass M/Chip interface specification is based on the EMV specifications
with the following amendments:
The application selection mechanism has been adapted to allow for an efficient
application selection when multiple applications are supported in the terminal.
This PayPass specific application selection mechanism makes use of the PayPass
Payment Systems Environment (PPSE). All PayPass cards must support this
mechanism.
Data elements located in the files with SFI 1 to 10 are organized in a pre-defined
file structure to allow for efficient data capture by the terminal.
Offline static data authentication may be performed after the card has been
removed from the electromagnetic field. In this case the outcome of the static
data authentication process is not taken into account by the terminal action
analysis and card action analysis functions. The terminal will however use the
outcome of the static data authentication process to accept or decline the
transaction offline if the card accepted the transaction offline.
The PayPass card must not perform offline dynamic data authentication. A RSA
capable PayPass card must be authenticated by the terminal with the combined
DDA/AC generation mechanism. This allows the terminal to verify the Signed
Dynamic Application Data after the card has been removed from the field.
The PayPass card and terminal do not support offline PIN verification. This
means the card does not support offline plaintext PIN nor offline enciphered PIN
verification.
25
Introduction
PayPass M/Chip
3.2
Both a PayPass M/Chip card and a PayPass M/Chip terminal must support
the COMPUTE CRYPTOGRAPHIC CHECKSUM command to be able to process
PayPass Mag Stripe transactions. The COMPUTE CRYPTOGRAPHIC CHECKSUM
command provides the terminal with the dynamic track data that must be used for
the authorization and clearing in the case of a PayPass Mag Stripe transaction.
Transaction Flow
The PayPass M/Chip transaction flow follows to a large extent the transaction flow
of the traditional contact EMV transaction. The flowchart in Figure 4 illustrates the
interaction between card and terminal for a PayPass M/Chip transaction.
1. The terminal begins by selecting the PayPass Payment Systems Environment
(PPSE) using the SELECT command.
2. The card responds with the File Control Information (FCI) including all the AIDs
supported by the card with their priority indicator.
3. The terminal selects the AID with the highest priority that is supported by both
card and terminal and issues the SELECT command with this AID.
4. The card responds with the File Control Information (FCI). The FCI may
contain the Processing Options Data Object List (PDOL). The PDOL is a list of
tags and lengths of terminal resident data elements needed by the card in the GET
PROCESSING OPTIONS command.
5. The terminal issues the GET PROCESSING OPTIONS command. If there is no
PDOL in the card, then the terminal uses the command data field 8300.
Otherwise the command data field contains a data object with tag 83 and a value
field comprising the concatenated list of data elements resulting from processing
the PDOL.
6. The card returns the Application Interchange Profile (AIP) and the Application
File Locator (AFL).
7. 8. The terminal issues the READ RECORD command to retrieve the generic card
application data elements (e.g. PAN, Application Expiry Date, etc) located in
the first record of the file with SFI 2. The response message of the card contains
the record read including all the generic card application data elements.
9. 10. If the card supports offline data authentication (static data authentication or
combined DDA/AC generation), then the terminal issues the READ RECORD
command to retrieve the card data elements necessary to recover the Issuer Public
Key. These data elements are located in the first record of the file with SFI 3.
11. 12. If the card supports static data authentication and the card does not support
combined DDA/AC generation, then the terminal issues the READ RECORD
command to retrieve the Signed Static Application Data. This data element is
located in the second record of the file with SFI 3.
13. 14 15. 16. If the card supports combined DDA/AC generation, then the
terminal issues two READ RECORD commands to retrieve the card data elements
necessary to recover the ICC Public Key. These data elements are located in the
first and second record of the file with SFI 4.
26
Introduction
PayPass M/Chip
17. After terminal risk management (application expiry date checking, terminal floor
limit checking, exception file checking, etc.) has been completed, the terminal
makes a preliminary decision to decline the transaction offline, complete it online
or accept it offline. This decision is based upon the Terminal Verification Results
(TVR), the issuer action preferences and acquirer action preferences according to
the method described in [EMV BOOK 3]. If the decision is to accept the
transaction offline, then the terminal issues the GENERATE AC command
requesting a TC. If the decision is to decline the transaction offline, then the
terminal issues the GENERATE AC command requesting an AAC. In the case the
terminal wants to complete the transaction online, then the terminal issues the
GENERATE AC command requesting an ARQC.
18. Based upon the CDOL1 related data included in the data field of the GENERATE
AC command, the card may perform its own card risk management. As a result
of the card risk management process, the card may decide to complete a transaction online, accept offline or decline the transaction. In all three cases the card
will generate an Application Cryptogram. If the card responds with a TC or an
AAC, then the terminal completes the transaction offline. If the card responds
with an ARQC, then the terminal attempts to go online, sending an authorization
request message to the issuer. Included in the authorization request message is
the ARQC for online card authentication.
27
Introduction
PayPass M/Chip
(P PS E)
1. S EL EC T
2. P A Y P AS
S
PA Y M E N T
D IR E C TO R
(A ID )
3. S EL EC T
4. FC I
D A TA )
L R EL A TE D
IO N S (P D O
PT
O
G
N
SI
O C ES
5. G E T PR
6. A IP , A FL
2, R E C 1)
C O R D (S FI
7. R E AD R E
8. C A R D D
A TA E LE M
E N TS
3, R EC 1)
C O R D (S FI
9. R E AD R E
10 . IS S U E
R P U B LI C K
EY D AT A E
LE M E N TS
3, R EC 2)
E C O R D (S FI
11 . R E AD R
12 . S IG N ED
S TA TI C A PP
LI C A TI
O N D A TA
4, R E C 1)
E C O R D (S FI
13 . R EA D R
14 . IC C P U
B LI C K E Y D
A TA E LE M
E N TS
(1 )
4, R E C 2)
E C O R D (S FI
15 . R E AD R
16 . IC C P U
B LI C K E Y D
A TA E LE M
E N TS
AT E
17 . G E N E R
A C (C D O L1
18 . A P P LI C
A TI
O N C R Y P TO
GR
28
(2 )
)
TA
A
D
D
R E LA TE
AM
Introduction
M/Chip 4
4 M/Chip 4
PART III of this document contains the behavioral specification of a PayPass
M/Chip card application based on [M/CHIP4] (the M/Chip Select 4 and M/Chip Lite
4 application specification). The card platform carrying the PayPass M/Chip
application must have a dual interface (i.e. a card with an EMV contact interface and
a PayPass interface) and must be capable of accessing the M/Chip 4 application in
both contact and contactless mode.
It is assumed that a number of transactions made with the PayPass M/Chip 4
application will be performed via the contact interface and online to the issuer. The
online processing allows the issuer to send Issuer Authentication Data to the card
together with script commands to reset the offline risk counters which are common
for the contact and PayPass interface.
The PayPass M/Chip 4 application shares the offline risk counters between the
contact and contactless interface. The offline counters will only be updated if the
transaction is accepted offline. As the terminal does not have to generate a 2nd
GENERATE AC command, the counters remain unchanged if the card generated an
ARQC in response to the 1st GENERATE AC command.
The PayPass M/Chip 4 application supports six new data objects: the Application
Interchange Profile (PayPass), the Application File Locator (PayPass), the
Application Control (PayPass) and the Card Issuer Action Codes (PayPass). These
data objects replace the existing Application Interchange Profile, Application File
Locator, Application Control and Card Issuer Action Codes of the M/Chip 4 contactonly application in the case the PayPass interface is used. All other data elements are
shared between the contact and PayPass interface.
The Application Interchange Profile (PayPass) contains a PayPass specific bit
indicating the profile of the card (M/Chip or Mag Stripe).
The two instances of the Application File Locator allow the use of a different set of
files and records depending on the active interface (PayPass or contact).
The Application Control (PayPass) is a PayPass M/Chip 4 proprietary data element
to activate or de-activate certain functions in the application when the PayPass
interface is used. The Application Control (PayPass) data element must always be
personalized in such a way that the VERIFY command is not activated.
The Card Issuer Action Codes (PayPass) are represented by three PayPass M/Chip
4 proprietary data elements: Card Issuer Action Code (PayPass) Default, Card
Issuer Action Code (PayPass) Online and Card Issuer Action Code (PayPass)
Decline. They are compared to the decisional part of the Card Verification Results to
decide which cryptogram to include in the response to the GENERATE AC (i.e.
whether to decline or accept a transaction, or whether to go online to the issuer).
29
Introduction
M/Chip 4
30
Transaction flow (the sequence of events and the commands and responses
interchanged between the card and the terminal)
1.2
1.3
1.4
2 Commands .................................................................................................41
2.1
2.2
Introduction..................................................................................................41
COMPUTE CRYPTOGRAPHIC CHECKSUM......................................................41
2.2.1
2.2.2
2.2.3
2.2.4
2.3
2.4
2.5
READ RECORD..............................................................................................47
2.5.1
2.5.2
2.5.3
31
Interface Specification
2.5.4
2.6
SELECT .........................................................................................................48
2.6.1
2.6.2
2.6.3
2.6.4
3 Transaction Flow.......................................................................................51
3.1
3.2
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
Application Selection...................................................................................60
Final SELECT Command Processing ............................................................60
Initiate Application Processing ....................................................................61
Read Mag Stripe Application Data ..............................................................62
Mag Stripe Application Version Number Checking....................................63
COMPUTE CRYPTOGRAPHIC CHECKSUM Command Processing..................63
Mag Stripe Cardholder Verification ............................................................66
Read M/Chip Application Data....................................................................67
Processing Restrictions ................................................................................68
Terminal Risk Management.........................................................................68
M/Chip Cardholder Verification..................................................................68
Offline Data Authentication.........................................................................69
Terminal Action Analysis ............................................................................69
GENERATE AC Processing ...........................................................................70
32
Interface Specification
5.13.3 AIP...............................................................................................................77
33
Interface Specification
34
Interface Specification
Application Selection
1 Application Selection
This chapter describes the application selection process from the standpoint of both
the PayPass card and the terminal. The application selection mechanism minimizes
the number of commands between card and terminal. Only two SELECT commands
are necessary. The process is described in two steps similar to the EMV application
selection mechanism:
1. Create a list of applications that are supported by both the card and the terminal.
This list is referred to using the name candidate list.
2. From the candidate list, select the application to be run.
Note
1.1
A terminal supporting only one application (= one AID), should immediately try
to select the ADF Name (= AID) of the corresponding application in the card and
skip the application selection process. In this case only one SELECT command
is required.
SELECT PPSE
This section describes the structure of the SELECT APDU command-response pair
necessary to the functioning of the application selection. In this context the SELECT
command is used to select the PayPass Payment System Environment (PPSE)
directory. The response from the card consists of returning the FCI containing the list
of PayPass applications (AIDs) supported by the card.
Value
CLA
00
INS
A4
P1
04
P2
00
Lc
0E
Data
32 50 41 59 2E 53 59 53 2E 44 44 46 30 31
Le
00
The data field of the command message contains the PPSE directory name
(2PAY.SYS.DDF01).
35
Interface Specification
Application Selection
Value
Presence
6F
FCI Template
84
DF Name
A5
BF0C
The FCI Issuer Discretionary Data is a constructed data object of which the value
field is comprised of one or more Application Templates (tag 61) as described in
Table 3.
Table 3FCI Issuer Discretionary Data
BF0C Length
61
Length of
directory
entry 1
Directory
entry 1
61
Length of
directory
entry n
Directory
entry n
Each directory entry is the value field of an Application Template and contains the
information according to Table 4 and Table 5.
Table 4Directory Entry Format
Tag
Value
Presence
4F
87
50
Application Label
b7-b5
b4-b1
Definition
Application may be selected without confirmation of
cardholder
0
xxx
RFU
0000
No priority assigned
xxxx
36
Interface Specification
Application Selection
1.2
SW1
SW2
Meaning
62
83
67
00
Wrong length
6A
81
6A
82
6A
86
90
00
Normal processing
1.2.1.2
If the card is blocked or the SELECT command is not supported (SW1SW2=6A81), then the terminal shall terminate the transaction.
1.2.1.3
If the card returns SW1-SW2 =9000, then the terminal shall proceed to
step 1.2.1.6.
1.2.1.4
If the card returns any other value in SW1-SW2, then the terminal shall use
the list of applications method described in Section 12.3.3 of [EMV BOOK
1] to find a match.
1.2.1.5
If any error occurs in steps 1.2.1.6 through 1.2.1.8, then the terminal shall
clear the candidate list and restart the application selection process using the
list of applications method as described in Section 12.3.3 of [EMV BOOK
1] to find the matching applications.
1.2.1.6
The terminal shall retrieve all the directory entries from the FCI Issuer
Discretionary Data (tag BF0C) in the FCI returned by the card.
1.2.1.7
The terminal shall process each directory entry by comparing the ADF
Name in the directory entry with the AIDs supported by the terminal. If the
ADF Name matches one of the applications supported by the terminal (as
defined in Section 1.4), then the application joins the candidate list for final
application selection.
1.2.1.8
37
Interface Specification
Application Selection
1.3
Final Selection
Once the terminal determined the list of mutually supported applications, it proceeds
as follows:
1.4
1.3.1.1
The terminal shall remove from the list of mutually supported applications
all applications prohibiting selection without cardholder assistance (b8 = 1
in the Application Priority Indicator (see Table 5)).
1.3.1.2
1.3.1.3
1.3.1.4
The terminal shall pick the first application from the list of mutually
supported applications. The terminal shall select this application with a
SELECT command coded according to Section 2.6.2 of Part II using the ADF
Name found in the directory entry of the application.
If the SELECT command fails (i.e. SW1-SW2 9000), then the terminal
shall remove the application from the list of mutually supported
applications, and shall resume processing at step 1.3.1.3.
38
Interface Specification
Application Selection
The following requirements apply for the support of partial name selection:
1.4.1.1
Card support for partial name selection is not mandatory. However, if the
card supports partial name selection, then it shall comply with Section
12.3.1 of [EMV BOOK 1].
1.4.1.2
Terminal support for partial name selection is mandatory. For each AID
within the list of applications supported by the terminal, the terminal shall
keep an indication (ASI) of which matching criterion to use.
1.4.1.3
For each PayPass application within the list of applications supported by the
terminal, the terminal shall indicate by means of the ASI that a full match
(both length and value) is required.
39
Interface Specification
Application Selection
40
Interface Specification
Commands
2 Commands
This chapter specifies the commands supported by the PayPass M/Chip application.
2.1
Introduction
The INS byte of the C-APDU is structured according to [EMV BOOK 1]. The coding
of INS and its relationship to CLA are shown in Table 7.
Table 7Coding of the Instruction Byte
CLA
INS
Meaning
80
2A
80
AE
GENERATE AC
80
A8
00
B2
READ RECORD
00
A4
SELECT
The status bytes returned by the card are coded as specified in [EMV BOOK 3]. In
addition to the status bytes specific for every command, the card may return the status
bytes shown in Table 8.
Table 8Generic Status Bytes
2.2
SW1
SW2
Meaning
6D
00
6E
00
6F
00
No precise diagnosis
41
Interface Specification
Commands
Value
CLA
80
INS
2A
P1
8E
P2
80
Lc
var.
Data
Le
00
The data field of the command message is coded according to the UDOL following
the rules as defined in Section 4.2 of PART II. If the card does not have a UDOL,
then the terminal uses the Default Terminal UDOL.
Value
Presence
77
9F61
CVC3TRACK2
9F36
ATC
9F60
CVC3TRACK1
Additional data objects returned in the data field that are not described in this
specification must be ignored by the terminal.
42
Interface Specification
Commands
2.3
SW1
SW2
Meaning
67
00
Wrong length
69
85
6A
86
90
00
Normal processing
Value
CLA
80
INS
AE
P1
P2
00
Lc
var.
Data
Le
00
43
Interface Specification
Commands
b7
b6
b5
b4
b3
b2
b1
Meaning
AAC
TC
ARQC
RFU
x
RFU
0
RFU
The data field of the command message is coded according to the CDOL following
the rules as defined in Section 4.2 of PART II.
Value
Presence
77
9F27
9F36
9F4B
9F10
The data field of the response message for an AAC, ARQC or TC in the case no
combined DDA/AC generation is performed, is specified in Table 15.
Table 15GENERATE AC Response Message Data Field without
Combined DDA/AC Generation
Tag
Value
Presence
77
9F27
9F36
9F26
Application Cryptogram
9F10
44
Interface Specification
Commands
Additional data objects returned in the data field that are not described in this
specification must be ignored by the terminal.
2.4
SW1
SW2
Meaning
67
00
Wrong length
69
85
6A
86
90
00
Normal processing
Value
CLA
80
INS
A8
P1
00
P2
00
Lc
var.
Data
Le
00
The data field of the command message is the Command Template with tag 83 and
with a value field coded according to the PDOL provided by the card in the response
to the SELECT command. If the PDOL is not provided by the card, then the length
field of the template is set to zero. Otherwise the length field is the total length of the
value fields of the data objects transmitted to the card. The value fields are concatenated according to the rules defined in Section 4.2 of PART II.
45
Interface Specification
Commands
Value
Presence
77
82
94
Additional data objects returned in the data field that are not described in this
specification must be ignored by the terminal.
SW2
Meaning
67
00
Wrong length
69
85
6A
86
90
00
Normal processing
46
Interface Specification
Commands
2.5
READ RECORD
2.5.1 Definition and Scope
The READ RECORD command reads a file record in a linear file. The response of the
card consists of returning the record.
Value
CLA
00
INS
B2
P1
Record Number
P2
See Table 21
Lc
Not present
Data
Not present
Le
00
b7
b6
b5
b4
b3
b2
b1
Meaning
SFI
P1 is a record number
Length
Record Template
47
Interface Specification
Commands
2.6
SW1
SW2
Meaning
6A
82
6A
83
6A
86
Incorrect parameters P1 P2
90
00
Normal processing
SELECT
2.6.1 Definition and Scope
The SELECT command is used to select the PayPass application corresponding to the
submitted AID. The response from the card consists of returning the FCI.
Value
CLA
00
INS
A4
P1
04
P2
Lc
05 10
Data
AID
Le
00
The data field of the command message contains the AID of the PayPass application.
48
Interface Specification
Commands
Value
Presence
6F
FCI Template
84
DF Name (AID)
A5
FCI Proprietary Template
50
Application Label
87
Application Priority Indicator
5F2D Language Preference
9F38 PDOL
9F11 Issuer Code Table Index
9F12 Application Preferred Name
BF0C FCI Issuer Discretionary Data
XXXX 1 or more additional data elements
from application provider, Issuer or
ICC supplier
M
M
M
O
O
O
O
O
O
O
O
SW2
Meaning
62
83
67
00
Wrong length
6A
81
6A
82
6A
86
90
00
Normal processing
49
Interface Specification
Commands
50
Interface Specification
Transaction Flow
3 Transaction Flow
This chapter specifies the interaction between a PayPass card (Mag Stripe or M/Chip)
and a PayPass M/Chip terminal. The flowchart in Section 3.1 describes the
transaction flow on an online capable terminal. The flowchart in Section 3.2
describes the transaction flow on an offline-only terminal. The flowcharts are only
examples, and the order of processing may differ from that given here.
3.1
51
Interface Specification
Transaction Flow
52
Interface Specification
Transaction Flow
53
Interface Specification
Transaction Flow
APPLICATION SELECTION
1
INITIATE APPLICATION
NO
M/CHIP PROFILE ?
YES
READ M/CHIP
APPLICATION DATA
PROCESSING
RESTRICTIONS
COMPUTE CRYPTOGRAPHIC
CHECKSUM
TERMINAL RISK
MANAGEMENT
10
M/CHIP CARDHOLDER
VERIFICATION
11
TERMINAL ACTION
ANALYSIS
12
13
CARD
GENERATED
AAC/AAR?
YES
NO
14
COMBINED
DDA/AC
11
GENERATION?
NO
YES
18
15
CARD
GENERATED
ARQC?
YES
19
NO
SDAD CORRECT?
NO
16
STATIC DATA
AUTHENTICATION
YES
YES
17
NO
SDA OK?
YES
CARD
GENERATED
ARQC?
20
NO
DECLINE
ACCEPT OFFLINE
GO ONLINE
ACCEPT OFFLINE
54
DECLINE
Interface Specification
Transaction Flow
3.2
55
Interface Specification
Transaction Flow
Note
For the clearing record, the terminal must use the TVR as sent to the card, not
the TVR used to collect the terminal risk management results.
56
Interface Specification
Transaction Flow
APPLICATION
SELECTION
1
INITIATE APPLICATION
NO
M/CHIP PROFILE ?
YES
PERFORM MAG
STRIPE TRANSACTION
READ M/CHIP
APPLICATION DATA
5
GENERATE TC
CARD
GENERATED
AAC, AAR or
ARQC?
YES
NO
7
0
COMBINED
DDA/AC
GENERATION?
NO
YES
STATIC DATA
AUTHENTICATION
10
PROCESSING
RESTRICTIONS
11
TERMINAL RISK
MANAGEMENT
12
M/CHIP CARDHOLDER
VERIFICATION
13
TERMINAL ACTION
ANALYSIS
14
TC ?
NO
YES
ACCEPT
DECLINE
57
Interface Specification
Transaction Flow
58
Interface Specification
Terminal Interoperability Requirements
4 Terminal Interoperability
Requirements
4.1
Transmission Protocol
4.1.1.1
4.2
DOL Handling
To minimize processing in the card, the data field of the command messages is not
TLV encoded. The application in the card indicates the requested data, including
format and length, by sending a Data Object List (DOL) to the terminal. DOLs used
in this specification include the PDOL used with the GET PROCESSING OPTIONS
command, the CDOL1 and CDOL2 used with the GENERATE AC command, the
TDOL used to generate the TC Hash Value and the UDOL used with the COMPUTE
CRYPTOGRAPHIC CHECKSUM command.
4.2.1.1
4.3
Exception Processing
4.3.1 Data Objects
Data objects returned by the card must be checked by the terminal as follows:
4.3.1.1
All data elements in the card listed in [EMV BOOK 1], [EMV BOOK 3] and
Section 6 of PART II of this document are classified as either mandatory or
optional. When any mandatory data element is missing, the terminal shall
decline the transaction.
4.3.1.2
It is up to the issuer to ensure that data in the card is of the correct format,
and no format checking other than that specifically defined is mandated on
the part of the terminal. However, if in the course of normal processing the
terminal recognizes that data is incorrectly formatted, then the terminal shall
decline the transaction. This rule includes (but is not limited to):
Constructed data objects that do not parse correctly.
Data that must be in a specific range of values but are not.
A CVM List with no Cardholder Verification rules.
Multiple occurrences of a data object that shall only appear once.
An AFL with invalid syntax (e.g. a starting record of 0).
Version 1.3 - September 2005
59
Interface Specification
Terminal Interoperability Requirements
4.3.1.3
During a PayPass Mag Stripe transaction the terminal shall verify if the
Track 1 Data (if available) and Track 2 Data are formatted as specified in
Sections 6.11 and 6.15 of PART II. The terminal shall perform this
verification after all dynamic data (i.e. nUN, ATC, UN and CVC3) are copied
into the discretionary data fields (i.e. after the COMPUTE CRYPTOGRAPHIC
CHECKSUM command processing as specified in Section 4.9 of PART II has
been completed). However, if in the course of copying the dynamic data,
the terminal is not able to localize the discretionary data field due to one or
more format errors in the Track 1 Data or Track 2 Data (e.g. missing
separator), then the terminal shall decline the transaction immediately.
Note
4.4
Requirements 4.3.1.1, 4.3.1.2 and 4.3.2.1 do not apply to the selection of the
PPSE and the final SELECT command.
Application Selection
4.4.1.1
Note
4.5
Any SW1-SW2 returned by the card other than 9000 or 6283 shall cause
termination of the transaction.
The terminal shall format the SELECT command as specified in Section 2.6.2
of PART II.
4.5.1.2
The terminal shall verify if the FCI included in the response message of the
SELECT command is correctly formatted as specified in Section 2.6.3 of
PART II. If this is not the case, then the terminal shall terminate the
transaction.
4.5.1.3
The terminal shall verify if the DF Name (tag 84) returned in the FCI is
the same as the AID provided to the card in the data field of the SELECT
command message. If this is not the case, then the terminal shall terminate
the transaction.
4.5.1.4
The terminal shall extract the Application Label (tag 50), the Issuer Code
Table Index (tag 9F11) (if present) and the Application Preferred Name
(tag 9F12) (if present) from the FCI and store them for later use during
transaction processing.
60
Interface Specification
Terminal Interoperability Requirements
4.6
4.5.1.5
If the Language Preference (tag 5F2D) data object is included in the FCI,
then the terminal shall perform language selection as specified in EMV
BOOK 4, Section 11.1 Language Selection.
4.5.1.6
If the PDOL exists, then the terminal shall extract it from the FCI to use it
for the construction of the data field of the GET PROCESSING OPTIONS
command.
The terminal sets all bits in the Transaction Status Information (TSI) and the
Terminal Verification Results (TVR) to 0b.
4.6.1.2
4.6.1.3
If the PDOL is not present, then the terminal shall use a command data field
of 83 00.
4.6.1.4
If the PDOL is present, then the terminal shall use the PDOL to create a
concatenated list of data elements without tags or lengths following the
rules specified in Section 4.2 of PART II. The terminal shall verify if the
tags in the PDOL belong to terminal resident data objects. If the tag of any
data object identified in the PDOL does not belong to a terminal resident
data object, then the terminal shall provide a data element with the length
specified and a value of all hexadecimal zeros. The terminal shall use the
concatenated list as value field of the data object with tag 83.
4.6.1.5
The terminal shall verify if the response message of the GET PROCESSING
OPTIONS command is correctly formatted as specified in Section 2.4.3 of
PART II. If this is not the case, then the terminal shall terminate the
transaction.
4.6.1.6
The terminal shall retrieve from the response message the AIP (tag 82) and
AFL (tag 94) data objects. If they are not both included, then the terminal
shall terminate the transaction.
4.6.1.7
4.6.1.8
The terminal shall ignore all data objects that are included in the Response
Message Template (tag 77) and that are different from the AIP and AFL.
61
Interface Specification
Terminal Interoperability Requirements
4.7
If the value of the 4 most significant bytes of the AFL is different from the
value of the 4 most significant bytes of the AFLs listed in requirement
5.13.2.1 and 5.13.2.2, then the terminal shall process the AFL as specified in
EMV BOOK 3, Section 10.2.
4.7.1.2
If the value of the 4 most significant bytes of the AFL is the same as the
value of the 4 most significant bytes of the AFLs listed in requirement
5.13.2.1 and 5.13.2.2, then the terminal shall not interpret the AFL and only
read the first record in the file with SFI 1.
4.7.1.3
The terminal shall store all recognized data objects read, whether mandatory
or optional, for later use in the transaction processing. Data objects that are
not recognized by the terminal (that is, their tags are unknown by the
terminal) shall not be stored.
4.7.1.4
4.7.1.5
All mandatory data objects must be present in the PayPass Mag Stripe
card. If any mandatory data object is not present, then the terminal shall
terminate the transaction. The mandatory data objects are listed in Table
27.
Table 27Mandatory Mag Stripe Data Objects
Tag
Value
9F6B
Track 2 Data
9F66
9F65
9F67
62
Interface Specification
Terminal Interoperability Requirements
4.8
4.9
4.8.1.1
The terminal shall use the version number (Mag Stripe Application Version
Number (Card)) in the card to ensure compatibility If the Mag Stripe
Application Version Number (Card) is not present in the card, then the
terminal shall presume the terminal and card application versions are
compatible.
4.8.1.2
If the Mag Stripe Application Version Number (Card) is present in the card
and the terminal supports the application version of the card, then the
terminal shall use the appropriate code and/or commands to deal with the
card. If the terminal does not recognize the application version of the card,
then the terminal shall use its latest version to deal with the card.
The terminal shall verify that the number of bits in PUNATCTRACK2 (kTRACK2)
is greater than or equal to the number of digits of the ATC to be included in
the discretionary data field of the Track 2 Data (t TRACK2). If kTRACK2 <
tTRACK2, then the terminal shall terminate the transaction. Otherwise, the
terminal shall set nUN equal to kTRACK2 - t TRACK2.
4.9.1.2
The terminal shall verify that nUN is less than or equal to 8. If nUN is greater
than 8, then the terminal shall terminate the transaction.
4.9.1.3
The terminal shall verify that the number of bits in PCVC3TRACK2 is greater
than or equal to 3 (i.e. qTRACK2 3). If this is not the case, then the terminal
shall terminate the transaction.
4.9.1.4
If Track 1 Data is included in the data returned from the card, then the
terminal shall verify that also PCVC3TRACK1, PUNATCTRACK1 and
NATCTRACK1 are returned. If at least one of these data elements is not
available, then the terminal shall terminate the transaction.
4.9.1.5
If Track 1 Data is available, then the terminal shall verify that the number of
bits in PUNATCTRACK1 (kTRACK1) is greater than or equal to the number of
digits of the ATC to be included in the discretionary data field of Track 1
Data (t TRACK1). If kTRACK1 < t TRACK1, then the terminal shall terminate the
transaction.
4.9.1.6
If Track 1 Data is available, then the terminal shall verify that kTRACK1 tTRACK1 is equal to nUN. If this is not the case, then the terminal shall
terminate the transaction.
63
Interface Specification
Terminal Interoperability Requirements
4.9.1.7
If Track 1 Data is available, then the terminal shall verify that the number of
bits in PCVC3TRACK1 is greater than or equal to 3 (i.e. qTRACK1 3). If this is
not the case, then the terminal shall terminate the transaction.
4.9.1.8
The terminal shall retrieve from the Track 2 Data the PAN and Expiry Date.
If Track 1 Data is returned from the card, then the terminal shall verify that
the PAN and Expiry Date included in the Track 1 Data are the same as the
PAN and Expiry Date included in the Track 2 Data. If this is not the case,
then the terminal shall terminate the transaction.
4.9.1.9
64
Interface Specification
Terminal Interoperability Requirements
4.9.1.17 The terminal shall replace the nUN least significant eligible positions of the
discretionary data field of Track 2 Data by the nUN least significant digits of
UN. The eligible positions in the discretionary data field are indicated by
the nUN least significant non-zero bits in PUNATCTRACK2.
4.9.1.18 If tTRACK2 0, then the terminal shall convert the ATC to the BCD encoding
of the corresponding number expressed in base 10. The terminal shall
replace the tTRACK2 most significant eligible positions of the discretionary
data field of Track 2 Data by the tTRACK2 least significant digits of the BCD
encoded ATC. The eligible positions in the discretionary data field are
indicated by the tTRACK2 most significant non-zero bits in PUNATCTRACK2.
4.9.1.19 The terminal shall copy nUN into the least significant digit of the
discretionary data field of the Track 2 Data.
4.9.1.20 If Track 1 Data is available, then the terminal shall retrieve the CVC3TRACK1
from the Response Message Template (tag 77). If the Track 1 Data is
available and the CVC3TRACK1 is not available, then the terminal shall
terminate the transaction as indicated in 4.9.1.13.
4.9.1.21 If Track 1 Data is available, then the terminal shall convert the binary
encoded CVC3TRACK1 to the BCD encoding of the corresponding number
expressed in base 10. The terminal shall convert the qTRACK1 least
significant digits of the BCD encoded CVC3TRACK1 into the ASCII format
and copy the qTRACK1 ASCII encoded CVC3TRACK1 characters into the eligible
positions of the discretionary data field of the Track 1 Data. The eligible
positions are indicated by the qTRACK1 non-zero bits in PCVC3TRACK1.
4.9.1.22 If Track 1 Data is available, then the terminal shall convert the BCD
encoded UN into the ASCII format and replace the nUN least significant
eligible positions of the discretionary data field of the Track 1 Data by the
nUN least significant characters of the ASCII encoded UN. The eligible
positions in the discretionary data field are indicated by the nUN least
significant non-zero bits in PUNATCTRACK1.
4.9.1.23 If Track 1 Data is available and tTRACK1 0, then the terminal shall convert
the ATC to the BCD encoding of the corresponding number expressed in
base 10. The terminal shall convert the tTRACK1 least significant digits of the
ATC into the ASCII format. The terminal shall replace the tTRACK1 most
significant eligible positions of the discretionary data field of the Track 1
Data by the tTRACK1 ASCII encoded ATC characters. The eligible positions
in the discretionary data field are indicated by the tTRACK1 most significant
non-zero bits in PUNATCTRACK1.
4.9.1.24 If Track 1 Data is available, then the terminal shall convert nUN into the
ASCII format and copy the ASCII encoded nUN character into the least
significant position of the discretionary data field of the Track 1 Data.
4.9.1.25 The terminal shall execute the requirements 4.9.1.16, 4.9.1.17, 4.9.1.18 and
4.9.1.19 and the requirements 4.9.1.21, 4.9.1.22, 4.9.1.23 and 4.9.1.24 in the
order as specified above.
65
Interface Specification
Terminal Interoperability Requirements
66
Interface Specification
Terminal Interoperability Requirements
67
Interface Specification
Terminal Interoperability Requirements
4.11.1.8 All mandatory data objects must be present in the card. If any mandatory
data object is not present, then the terminal shall terminate the transaction.
The mandatory data objects are listed in Table 28.
Table 28Mandatory M/Chip Data Objects
Tag
Value
5F24
5A
8C
8D
4.11.1.9 Proprietary data files (i.e. files with SFI outside the range 1 to 10) may or
may not conform to this specification (Refer to Table 22). Records in
proprietary files may be represented in the AFL and may participate in
offline data authentication if they are readable without conditions by the
READ RECORD command coded according to Section 2.5 of PART II.
68
Interface Specification
Terminal Interoperability Requirements
4.14.1.3 If online PIN processing is the selected CVM as determined by the process
specified in [EMV BOOK 3] and the terminal does support online PIN and
the PIN pad is functioning, then the terminal shall set to 1 the Online PIN
entered bit in the TVR. In this case cardholder verification is considered
successful and complete. The terminal shall set byte 3 of the CVM Results
to unknown. The terminal shall perform the online PIN entry after the
interaction between card and terminal is completed.
69
Interface Specification
Terminal Interoperability Requirements
70
Interface Specification
Card Interoperability Requirements
Transmission Protocol
5.1.1.1
5.2
DOL Handling
A card may include Data Object Lists in the response messages to the terminal.
5.3
5.2.1.1
The card shall accept that the terminal fills the requested data fields with
hexadecimal zeroes.
5.2.1.2
If the card returns a PDOL, then it shall include only tags belonging to data
objects having the terminal as source.
5.2.1.3
If the card returns a UDOL, then it shall always include the Unpredictable
Number (Numeric) (tag 9F6A, 4 bytes, numeric format) entry in the
UDOL.
5.2.1.4
Exception Processing
5.3.1.1
5.4
Whenever the card generates status bytes different from 9000 or 6283, it
shall return to the state in which it needs a GET PROCESSING OPTIONS
command to perform a new transaction.
5.4.1.2
The card shall increment the ATC by 1 when it receives the GET
PROCESSING OPTIONS command.
5.4.1.3
When the ATC reaches the value FFFF the PayPass application shall be
disabled. In this case the card shall return SW1-SW2 = 6985 in response
to the GET PROCESSING OPTIONS command.
71
Interface Specification
Card Interoperability Requirements
5.5
5.6
5.5.1.1
All cards shall support the PayPass Payment System Environment (PPSE)
directory with a file name of 2PAY.SYS.DDF01.
5.5.1.2
5.5.1.3
If the card is blocked, then the card shall return to the terminal the status
bytes 6A81 (Function not supported).
5.5.1.4
If the PPSE is blocked, then the card shall return to the terminal the status
bytes 6283 (Selected file invalidated).
5.7
5.6.1.1
If the card receives a SELECT command message, then the card shall verify
if the command message is correctly formatted as specified in Section 2.6.2
of PART II.
5.6.1.2
If the card is blocked, then the card shall return to the terminal the status
bytes 6A81 (Function not supported).
5.6.1.3
If the selected application is blocked, then the card shall return to the
terminal the status bytes 6283 (Selected file invalidated).
5.6.1.4
The card shall return in the response message the FCI as specified in Section
2.6.3 of PART II.
5.7.1.2
If the card did not provide a PDOL, then the card shall verify if the data
field contains the value 8300. If this is not the case, then the card shall
return the status bytes 6985 (Conditions of use not satisfied)
5.7.1.3
If the card provided a PDOL, then the card shall verify if the length of the
Command Template (tag 83) included in the command message data field
is equal to the length requested in the PDOL. If this is not the case, then the
card shall return the status bytes 6700 (Wrong length).
5.7.1.4
The card shall update the ATC as specified in Section 5.4 of PART II.
5.7.1.5
The card shall return in the response message the Response Message
Template (tag 77) as specified in Section 2.4.3 of PART II.
72
Interface Specification
Card Interoperability Requirements
5.8
5.9
If the card receives a READ RECORD command message, then the card shall
verify if the command message is correctly formatted, as specified in
Section 2.5.2 of PART II.
5.8.1.2
The card shall support the READ RECORD command with P1-P2 coded as
specified in Section 2.5.2 of PART II. The card may support other coding
formats for P1-P2.
5.8.1.3
5.8.1.4
For all records referenced in the AFL the response message shall follow the
coding as specified in Section 2.5.3 of PART II.
5.8.1.5
Proprietary data files may or may not conform to this specification. Records
in proprietary files may be represented in the AFL if they are readable by the
READ RECORD command coded according to Section 2.5.2 of PART II and
if the response message follows the coding as specified in Section 2.5.3 of
PART II.
5.9.1.2
5.9.1.3
The card shall verify if this is the first time the COMPUTE CRYPTOGRAPHIC
CHECKSUM command is received after a successful GET PROCESSING
OPTIONS command. If this is not the case, then the card shall return the
status bytes 6985 (Conditions of use not satisfied).
5.9.1.4
If the card did not provide a UDOL, then the card shall verify if the length of
the command message data field is 4 bytes. If this is not the case, then the
card shall return the status bytes 6700 (Wrong length).
5.9.1.5
If the card provided to the terminal a UDOL, then the card shall verify if the
length of the command message data field is equal to the length requested in
the UDOL. If this is not the case, then the card shall return the status bytes
6700 (Wrong length).
5.9.1.6
The card shall return in the response message the Response Message
Template (tag 77) as specified in Section 2.2.3 of PART II.
5.9.1.7
The card shall include in the Response Message Template the CVC3TRACK2
(tag 9F61) and the ATC (tag 9F36).
73
Interface Specification
Card Interoperability Requirements
5.9.1.8
If the card provided the Track 1 Data to the terminal in the response to the
READ RECORD command, then the card shall include the CVC3TRACK1 (tag
9F60) in the Response Message Template (tag 77).
Note
This requirement is not relevant for the ICC Dynamic Number because
in the case of dynamic data authentication, only combined DDA/AC
generation is performed. In this case the ICC Dynamic Number is
retrieved from the Signed Dynamic Application Data returned in the
response message of the GENERATE AC command.
5.10.1.9 A card that generates an ARQC as a result of the card risk management
performed during the processing of the 1st GENERATE AC command, shall
leave the internal state of the card in such a way that no 2nd GENERATE AC
is required to ensure the proper working of the card for the proceeding
PayPass transactions.
5.10.1.10 The card shall return in the response message the Response Message
Template (tag 77) as specified in Section 2.3.3 of PART II.
74
Interface Specification
Card Interoperability Requirements
Note
Description
Length
9F6B
Track 2 Data
var. up to 19
9F66
9F65
9F67
5.13.1.2 The file with SFI 2 shall have only one record. This record includes at least
the EMV mandatory data objects as specified in Table 30. If other data
objects that are not included in the files with SFI 3 and SFI 4 are returned by
the card to the terminal, then they also have to be included in record 1 of
SFI 2. Record 1 of SFI 2 is the only record to be used as input for the
generation of the Signed Static Application Data.
75
Interface Specification
Card Interoperability Requirements
Description
Length
5F24
5A
var. up to 10
8C
CDOL1
var
8D
CDOL2
var
5.13.1.3 The data objects listed in Table 31 and Table 32 shall be included in the first
and second record of the file with SFI 3. These records include the data
objects required to retrieve the Issuer Public Key and to perform static data
authentication.
Table 31SFI 3 Record 1
Tag
Description
Length
9F4A
var. up to 1
8F
9F32
var. up to 3
92
NCA-NI+36
90
NCA
Description
Length
93
NI
5.13.1.4 If the card supports combined DDA/AC generation, then the data objects
listed in Table 33 and Table 34 shall be included in the first and second
record of the file with SFI 4. These records include the data objects
required to retrieve the ICC Public Key.
Table 33SFI 4 Record 1
Tag
Description
Length
9F47
var. up to 3
9F48
NIC-NI+42
Description
Length
9F46
NI
76
Interface Specification
Card Interoperability Requirements
5.13.2 AFL
The requirements of Section 5.13.1 of PART II result in an AFL that is coded as
follows:
5.13.2.1 For a card that supports only static data authentication, the AFL shall be
personalized with the value:
08 01 01 00 10 01 01 01 18 01 02 00
5.13.2.2 For a card that supports combined DDA/AC generation, the AFL shall be
personalized with the value:
08 01 01 00 10 01 01 01 18 01 02 00 20 01 02 00
5.13.3 AIP
The card must indicate in the AIP that it does not support dynamic data authentication. A card being capable of supporting dynamic data authentication must only
indicate in the AIP that it supports combined DDA/AC generation.
5.13.3.1 Bit 6 of byte 1 of the AIP (Offline dynamic data authentication is supported)
shall be set to 0b.
77
Interface Specification
Card Interoperability Requirements
78
Interface Specification
Data Objects
6 Data Objects
The data objects that may be used for application selection and financial transaction
interchange for EMV transactions are listed in [EMV BOOK 1] and [EMV BOOK 3].
This chapter contains only the extensions to these data objects and the definition of
the additional data elements that are specific for PayPass functionality.
6.1
79
Interface Specification
Data Objects
6.2
82
Source:
Card
Presence:
Mandatory
Format:
b, 2 bytes
Description:
PayPass profile
6.3
6.4
RFU
CVC3TRACK1
Tag:
9F60
Source:
Card
Presence:
Conditional (If the Track 1 Data is present, then also the CVC3TRACK1
must be available).
Format:
b, 2 bytes
Description:
CVC3TRACK2
Tag:
9F61
Source:
Card
Presence:
Mandatory
Format:
b, 2 bytes
Description:
80
Meaning
Interface Specification
Data Objects
6.5
6.6
6.7
--
Source:
Terminal
Presence:
Mandatory
Format:
b, 3 bytes
Description:
9F6C
Source:
Card
Presence:
Optional
Format:
b, 2 bytes
Description:
9F6D
Source:
Terminal
Presence:
Mandatory
Format:
b, 2 bytes
Description:
81
Interface Specification
Data Objects
6.8
9F68
Source:
Card
Presence:
Optional
Format:
Description:
RFU
0
Signature (paper)
No CVM required
RFU
Meaning
00
Always
01
If cash or cashback
02
03
If terminal supports the CVM. (In the case of online PIN, this
means If online PIN pad present)
04 7F
RFU
80 FF
82
Interface Specification
Data Objects
6.9
9F62
Source:
Card
Presence:
Format:
b, 6 bytes
Description:
9F63
Source:
Card
Presence:
Format:
b, 6 bytes
Description:
56
Source:
Card
Presence:
Optional
Format:
83
Interface Specification
Data Objects
Description:
The Track 1 Data may be present in the file read during Read Mag
Stripe Application Data. It may be used by the terminal for
authorization and clearing.
9F64
Source:
Card
Presence:
Format:
b, 1 byte
Description:
9F65
Source:
Card
Presence:
Mandatory
Format:
b, 2 bytes
Description:
9F66
Source:
Card
Presence:
Mandatory
Format:
b, 2 bytes
Description:
84
Interface Specification
Data Objects
9F6B
Source:
Card
Presence:
Mandatory
Format:
Description:
The Track 2 Data must be present in the file read during Read Mag
Stripe Application Data. It may be used by the terminal for
authorization and clearing.
9F67
Source:
Card
Presence:
Mandatory
Format:
b, 1 byte
Description:
9F69
Source:
Card
Presence:
Optional
Format:
b, variable length
Description:
The UDOL is the Data Object List that specifies the data objects to be
included in the data field of the COMPUTE CRYPTOGRAPHIC
CHECKSUM command. The UDOL must at least include the
Unpredictable Number (Numeric). The UDOL is not mandatory for
the card. There will always be a Default Terminal UDOL, including
as its only entry the tag and length of the Unpredictable Number
(Numeric) (tag 9F6A). If the card has its own UDOL, then it must
be present in the file read during Read Mag Stripe Application Data.
85
Interface Specification
Data Objects
9F6A
Source:
Terminal
Presence:
Mandatory
Format:
Description:
86
1 Introduction ...............................................................................................89
2 PPSE Application......................................................................................91
2.1
2.2
2.3
Introduction..................................................................................................91
Application State Machine...........................................................................91
Command Processing...................................................................................92
2.3.1
2.3.2
2.3.3
2.3.4
C-APDU Recognition..................................................................................92
C-APDU Acceptance...................................................................................93
SELECT PPSE...............................................................................................93
LOOP BACK ..................................................................................................95
Introduction..................................................................................................97
3.1.1
3.1.2
3.1.3
3.1.4
3.2
3.3
3.4
3.5
3.9
C-APDU Recognition................................................................................100
C-APDU Acceptance.................................................................................101
Rejected C-APDU Processing ...................................................................101
Processing C-APDUs.................................................................................102
COMPUTE CRYPTOGRAPHIC CHECKSUM....................................................103
3.5.1
3.5.2
3.5.3
3.5.4
3.6
3.7
3.8
Assumptions ................................................................................................97
Data Elements..............................................................................................97
Offline Counters ..........................................................................................97
Log of Transactions.....................................................................................98
87
Card Specification
3.9.4
3.9.5
3.9.6
3.9.7
3.9.8
3.11 Personalization...........................................................................................112
3.11.1
3.11.2
3.11.3
3.11.4
3.11.5
3.11.6
3.11.7
3.11.8
88
Card Specification
Introduction
1 Introduction
The PayPass M/Chip card implementation specification aims to provide a definition
of the behavior of a dual interface card containing the PayPass M/Chip 4 dual
interface application with support for the PPSE. This document is generic in that it
does not intend to include or exclude any particular platform.
This specification views support for the PPSE as another application on the card. As
a consequence the PayPass M/Chip card implementation specification contains the
description of two applications: the PPSE application and the PayPass M/Chip 4
dual interface application. Both applications are specified as state machines. The
processing of a C-APDU is considered as a transition between states.
Note
Note
These principles are used in order to present the application concepts. The
same principles do not have to be followed in the actual implementation.
However, the implementation must behave in a way that is indistinguishable
from the behavior specified in this document.
This chapter uses the following terminology:
M/Chip 4 contact-only application
The M/Chip Select 4 and M/Chip Lite 4 applications as specified in
[M/CHIP4].
PayPass M/Chip 4 application
The M/Chip Select 4 and M/Chip Lite 4 dual interface applications as
specified in this document.
The following list gives an overview of the functionality of the PayPass M/Chip
card implementation proposed by MasterCard, conforming to the requirements listed
in PART II.
The PPSE application of the PayPass M/Chip card must support the loop-back
application for implementation on a dual interface card (i.e. a card with an EMV
contact interface and a PayPass contactless interface). Wherever the document
refers to the contactless interface the term PayPass interface is used.
The PayPass M/Chip 4 application supports the COMPUTE CRYPTOGRAPHIC
89
Card Specification
Introduction
static CVC3TRACK2. The use of static CVC3TRACK1 and static CVC3TRACK2 instead
of the dynamic CVC3TRACK1 and dynamic CVC3TRACK2 is indicated by the
Application Control and defined during the personalization process.
The PayPass M/Chip 4 application supports the inclusion of the ATC in the
90
Card Specification
PPSE Application
2 PPSE Application
2.1
Introduction
This section specifies the behavior of the card for the selection of the PPSE. Support
for the PPSE is mandatory for all PayPass cards. The SELECT PPSE command
processing is independent of the actual application(s) implemented on the card. The
PPSE may be implemented as a separate application (applet) on a multi-application
platform or may be mapped on a DF (Dedicated File) which may or may not be the
MF (Master File) of an ISO 7816-4 compatible file structure.
In addition to the directory function, the PPSE application provides support for loopback functionality. Loop-back functionality is implemented by the LOOP BACK CAPDU. Upon receiving a LOOP BACK C-APDU the PPSE application returns without
any further action the content of the data field of the C-APDU in the data field of the
R-APDU. Loop-back functionality is used during the compliance testing of the
PayPass card with [ISO/IEC 14443 PAYPASS].
2.2
Description
IDLE
SELECTED
Application is selected
The PPSE application is in state IDLE if it is not currently activated. There is only
one C-APDU which is handled in this state: the SELECT PPSE C-APDU which
activates the application. Upon successfully processing of the SELECT PPSE CAPDU, the PPSE application goes to the state SELECTED. The PPSE application
remains in the state SELECTED until the PPSE application is de-selected (i.e. another
application is selected or the card is powered-off).
The PPSE application does not change state whenever an error occurs. An error
means a command response with status bytes different from 9000.
Figure 7 shows the state machine of the PPSE application.
91
Card Specification
PPSE Application
ERROR
IDLE
SELECT PPSE
SELECTED
SELECT PPSE
LOOP BACK
ERROR
2.3
Command Processing
This section specifies the command processing for the PPSE application.
INS
C-APDU
00
A4
SELECT PPSE
80
EE
LOOP BACK
If the CLA and INS byte of the C-APDU is not one of the two combinations listed in
Table 39, then the C-APDU recognition procedure returns status bytes 6E00 or
6D00 and the PPSE application remains in its current state.
92
Card Specification
PPSE Application
SELECTED
SELECT PPSE
Accept
Accept
LOOP BACK
Reject
Accept
In the IDLE state, the LOOP BACK C-APDU is not passed to the PPSE application, but
is handled by the multi-application manager (refer to [M/CHIP4] for more
information about the multi-application manager) or operating system. In this case,
the LOOP BACK command should be rejected. Native cards that map the PPSE on the
MF file, may however accept the LOOP BACK command without first selecting the
PPSE. If the LOOP BACK command is rejected in the IDLE state, then the value of the
status bytes is left to the implementation.
If the C-APDU is accepted in the current application state then the C-APDU is
processed as specified in the section dedicated to the C-APDU.
93
Card Specification
PPSE Application
NOK
P1-P2
SW1-SW2='6A86'
OK
1
NOK
AID
SW1-SW2='6A82'
OK
2
RESPONSE = FCI
SW1SW2='9000'
Destination States
The destination states for the SELECT PPSE command are listed in Table 41.
Table 41Destination States for SELECT PPSE Command
SW1
SW2
IDLE
SELECTED
6A
82
IDLE
SELECTED
6A
86
IDLE
SELECTED
90
00
SELECTED
SELECTED
IDLE
SELECTED
Other
94
Card Specification
PPSE Application
Value
CLA
80
INS
EE
P1
00
P2
00
Lc
var
Data
Test Data
Le
00
The value of Lc defines the number of bytes included in the Test Data. The LOOP
BACK command must work for Lc ranging from 1 to 250 and may optionally work for
Lc greater than 250. The data field of the command message contains the Test Data
to be returned in the data field of the response message.
Response Message
The data field of the response message contains the Test Data included in the data
field of the command message.
Processing
Figure 9 specifies the processing of the LOOP BACK command.
Figure 9LOOP BACK Processing
NOK
P1-P2
SW1-SW2='6A86'
OK
SW1-SW2='9000'
95
Card Specification
PPSE Application
Symbol 0
If P1 00 or P2 00, then the C-APDU is rejected (SW1-SW2 = 6A86).
Symbol 1
Build the data field of the response message. The data field of the response is set
equal to the data field of the command message.
Destination States
The destination states for the LOOP BACK command are listed in Table 43.
Table 43Destination States for LOOP BACK Command
SW1
SW2
SELECTED
6A
86
SELECTED
90
00
SELECTED
Other
SELECTED
96
Card Specification
PayPass M/Chip 4 Application
Introduction
This document specifies the behavior of the M/Chip Select 4 and M/Chip Lite 4
applications when implemented on a dual interface card.
3.1.1 Assumptions
In this specification we make the following assumptions about the use of a dual
interface card:
Only one of the two interfaces is used between the power-on and power-off of the
card.
97
Card Specification
PayPass M/Chip 4 Application
3.2
Description
IDLE
SELECTED
Application is selected
INITIATED
Transaction is initiated
ONLINE
SCRIPT
The PayPass M/Chip 4 application state machine supports in addition to the state
transitions supported by the M/Chip 4 contact-only application also the following
state transition:
98
Card Specification
PayPass M/Chip 4 Application
ERROR
IDLE
S ELECT
SELECTED
ELSE
S ELECT
R EAD R ECORD
G ET D ATA
ERROR
G ET P ROCESSING O PTIONS
S ELECT
COMPUTE CRYPTOGRAPHIC
CHECKSUM
ERROR
INITIATED
G ENERATE AC (ARQC)
ONLINE
G ENERATE AC (TC & AAC)
ELSE
SCRIPT
SCRIPT COMMAND
99
Card Specification
PayPass M/Chip 4 Application
3.3
C-APDU PRE-PROCESSING
3.3.1 C-APDU Recognition
C-APDU recognition is specified as a procedure that identifies the C-APDU
transmitted by the terminal to the PayPass M/Chip 4 application. The recognition is
based on the CLA and INS byte. The PayPass M/Chip 4 application supports the
CLA and INS bytes specified in Table 45.
The C-APDU recognition procedure takes as input the CLA and INS bytes and
produces as output one of the responses as listed in the third column of Table 45.
If the CLA byte of the C-APDU is not one of those listed in Table 45, then the CAPDU Recognition procedure returns BAD CLA. If the INS byte of the C-APDU is
not one of those listed in Table 45, then the C-APDU Recognition procedure returns
BAD INS.
Table 45C-APDU Recognition
CLA
INS
C-APDU
84
1E
APPLICATION BLOCK
84
18
APPLICATION UNBLOCK
80
2A
80
AE
GENERATE AC
00
84
GET CHALLENGEb
80
CA
GET DATA
80
A8
00
88
INTERNAL AUTHENTICATEb
84
24
PIN CHANGE/UNBLOCK
84
DA
PUT DATA
00
B2
READ RECORD
00
A4
SELECT
00
20
VERIFYa
84
DC
UPDATE RECORD
a.
b.
Only applicable for the contact interface. If the C-APDU is received via the PayPass
interface, then the C-APDU Recognition must return BAD INS.
Only applicable for M/Chip 4 Select.
When the application has recognized the C-APDU it must perform a validity check on
the following:
Le
These checks are protocol dependent and can not be specified independently from the
transport layer. However, when the validity check detects an error on the lengths, the
output of the procedure C-APDU Recognition is BAD LENGTH.
Version 1.3 - September 2005
100
Card Specification
PayPass M/Chip 4 Application
If the output of the C-APDU Recognition is BAD CLA, BAD INS or BAD LENGTH,
then the C-APDU is not supported by the PayPass M/Chip 4 application over the
active interface.
ONLINE
SCRIPT
APPLICATION BLOCK
R/CNS
R/CNS
R/CNS
APPLICATION UNBLOCK
R/CNS
R/CNS
R/CNS
COMPUTE CRYPTOGRAPHIC
CHECKSUM
R/CNS
R/CNS
R/CNS
GENERATE AC
R/CNS
R/CNS
GET CHALLENGE
R/CNS
R/CNS
R/CNS
GET DATA
R/CNS
R/CNS
R/CNS
R/CNS
R/CNS
INTERNAL AUTHENTICATE
R/CNS
R/CNS
R/CNS
PIN CHANGE/UNBLOCK
R/CNS
R/CNS
R/CNS
PUT DATA
R/CNS
R/CNS
R/CNS
READ RECORD
R/CNS
R/CNS
SELECT
VERIFY
R/CNS
R/CNS
R/CNS
UPDATE RECORD
R/CNS
R/CNS
R/CNS
The bytes received are not recognized as a supported C-APDU (i.e. the couple
(CLA,INS) does not correspond to a C-APDU supported by the PayPass
M/Chip 4 application over the current active interface or there is an error on the
lengths). In this case the rejection happens in the procedure C-APDU
Recognition.
101
Card Specification
PayPass M/Chip 4 Application
Refer to [M/CHIP4] for the description of the processing of the four cases R/CNS,
BAD CLA, BAD INS and BAD LENGTH.
3.4
Processing C-APDUs
Figure 11 illustrates the actions taken by the PayPass M/Chip 4 application when a
C-APDU is processed.
Figure 11Processing a C-APDU
ACCEPTED
SPECIFIC PROCESSING
RESPONSE
FINAL STATE
A C-APDU is processed if the C-APDU acceptance procedure has determined that the
application state is consistent with the C-APDU. The processing that is specific to the
C-APDU is specified in [M/CHIP4] and in Section 3.5 of PART III for the COMPUTE
CRYPTOGRAPHIC CHECKSUM command.
Commands that access the AIP, AFL, Application Control and Card Issuer Action
Codes internal data elements must use the correct instance of the data element
dependent on the active interface. This includes:
The GENERATE AC command accessing the Application Control and Card Issuer
Action Codes for the contact interface and the Application Control (PayPass) and
Card Issuer Action Codes (PayPass) for the PayPass interface. If the AIP is used
as input to the generation of the Application Cryptogram, then the Application
Interchange Profile must be used for the contact interface and the Application
Interchange Profile (PayPass) must be used for the PayPass interface.
102
Card Specification
PayPass M/Chip 4 Application
The R-APDU resulting from the processing of a C-APDU is specified in the section
dedicated to the C-APDU. The way the response is sent depends on the protocol and
is outside the scope of this specification.
The destination state of the application when the C-APDU is processed is specified in
the section dedicated to the C-APDU.
3.5
Value
CLA
80
INS
2A
P1
8E
P2
80
Lc
04
Data
Le
00
As the UDOL is not provided by the PayPass M/Chip 4 application, the data field of
the command message is the value field of the Unpredictable Number (Numeric) data
object.
Tag
Length
77
15
CVC3TRACK2
9F61
CVC3TRACK1
9F60
ATC
9F36
103
Card Specification
PayPass M/Chip 4 Application
The CVC3TRACK2 and the CVC3TRACK1 are cryptograms generated by the PayPass
M/Chip 4 application according the algorithm specified in Section 3.8 of PART III.
3.5.3 Processing
Figure 12 specifies the flow of the COMPUTE CRYPTOGRAPHIC CHECKSUM command
processing.
Figure 12COMPUTE CRYPTOGRAPHIC CHECKSUM Processing
NOK
P1-P2
OK
SW1-SW2='6A86'
NOK
Lc
OK
SW1-SW2='6700'
2
NOK
BLOCKED?
OK
SW1-SW2='6985'
YES
NO
USE STATIC
CVC3?
RESPONSE =
CVC3TRACK1, CVC3TRACK2 , ATC
SW1-SW2='9000'
Symbol 0
If P1 8E or P2 80, then the C-APDU is rejected (SW1-SW2 = 6A86).
Symbol 1
If Lc 4, then the C-APDU is rejected (SW1-SW2 = 6700).
Symbol 2
If the application is blocked (i.e. if Previous Transaction History[5] = 1b), then the CAPDU is rejected (SW1-SW2=6985).
Symbol 3
The PayPass M/Chip 4 application checks if the Static CVC3 must be used (i.e.
Application Control(PayPass)[3][8] = 1b).
104
Card Specification
PayPass M/Chip 4 Application
Symbol 4
If Static CVC3 must be used, then the PayPass M/Chip 4 application sets
CVC3TRACK1 equal to Static CVC3TRACK1 and CVC3TRACK2 equal to Static CVC3TRACK2.
Symbol 5
The PayPass M/Chip 4 application generates CVC3TRACK1 and CVC3TRACK2 as
specified in Section 3.8 of PART III.
Symbol 6
The PayPass M/Chip 4 application generates the response message template
containing the CVC3TRACK1, the CVC3TRACK2 and the ATC.
SW2
INITIATED
67
00
SELECTED
69
85
SELECTED
6A
86
SELECTED
90
00
SELECTED
Other
3.6
SELECTED
GET DATA
The GET DATA command is processed as specified in [M/CHIP4]. This section
specifies the additional tag value that has to be supported by the GET DATA command
of the PayPass M/Chip 4 application.
Table 50Additional Tag Value for GET DATA
P1/P2
Data Element
Length
00CD
00CE
00CF
00D7
105
Card Specification
PayPass M/Chip 4 Application
3.7
PUT DATA
The PUT DATA command is processed as specified in [M/CHIP4]. This section
specifies the additional tag values that have to be supported by the PUT DATA
command of the PayPass M/Chip 4 application.
Table 51Additional Tag Values for PUT DATA
3.8
P1/P2
Data Element
Length
00CD
00CE
00CF
00D7
00D8
AIP (PayPass)
00D9
AFL (PayPass)
12 or 16
00DA
Static CVC3TRACK1
00DB
Static CVC3TRACK2
00DC
IVCVC3TRACK1
00DD
IVCVC3TRACK2
Dynamic CVC3
This section specifies how the PayPass M/Chip 4 application constructs the
dynamic CVC3.
The PayPass M/Chip 4 application generates a dynamic CVC3 for the Track 1 Data
(CVC3TRACK1) and a dynamic CVC3 for the Track 2 Data (CVC3TRACK2). Both
cryptograms are generated with the same dynamic data (UN and ATC) and with the
same secret key (ICC Derived Key for CVC3 Generation), but with a different
initialization vector (IVCVC3TRACK1 for CVC3TRACK1 and IVCVC3TRACK2 for
CVC3TRACK2).
106
Card Specification
PayPass M/Chip 4 Application
Length
IVCVC3TRACK1
2 bytes
Unpredictable Number
Application Transaction Counter
a
4 bytes
a
2 bytes
2. Calculate O as follows:
O := DES3(KDCVC3)[D]
3. The two least significant bytes of O are the CVC3TRACK1.
The CVC3TRACK2 is generated in the same way by replacing IVCVC3TRACK1 with
IVCVC3TRACK2.
107
Card Specification
PayPass M/Chip 4 Application
3.9
D7
Format:
b, 3 bytes
Description:
D9
Format:
b, 12 or 16 bytes
Description:
Note
108
Card Specification
PayPass M/Chip 4 Application
D8
Format:
b, 2 bytes
Description:
Note
3.9.4
Tags:
Format:
b, 3 bytes
Description:
DA
Format:
Description:
b, 2 bytes
The Static CVC3TRACK1 is the static variant of the dynamic CVC3 of
the track 1 data converted into the binary format (e.g. a Static
CVC3TRACK1 with value 812 in ans format is stored as 032C). The
PayPass M/Chip 4 application returns the Static CVC3TRACK1
instead of the dynamically calculated CVC3TRACK1 if Application
Control (PayPass)[3][8] = 1b.
109
Card Specification
PayPass M/Chip 4 Application
DB
Format:
Description:
b, 2 bytes
The Static CVC3TRACK2 is the static variant of the dynamic CVC3 of
the track 2 data converted into the binary format (e.g. a Static
CVC3TRACK2 with value 812 in numeric (n) format is stored as
032C). The PayPass M/Chip 4 application returns the Static
CVC3TRACK2 instead of the dynamically calculated CVC3TRACK2 if
Application Control (PayPass)[3][8] = 1b.
3.9.7 IVCVC3TRACK1
Tag:
DC
Format:
b, 2 bytes
Description:
3.9.8 IVCVC3TRACK2
Tag:
DD
Format:
b, 2 bytes
Description:
110
Card Specification
PayPass M/Chip 4 Application
Name
read
record
update
record
put
data
56
Track 1 Data
Yes
Yes
No
No
No
No
9F62 PCVC3TRACK1
Yes
Yes
No
No
No
No
9F63 PUNATCTRACK1
Yes
Yes
No
No
No
No
9F64 NATCTRACK1
Yes
Yes
No
No
No
No
9F65 PCVC3TRACK2
Yes
Yes
No
No
No
No
9F66 PUNATCTRACK2
Yes
Yes
No
No
No
No
9F67 NATCTRACK2
Yes
Yes
No
No
No
No
Yes
Yes
No
No
No
No
Yes
Yes
No
No
No
No
Yes
No
No
No
No
CD
No
Yes
No
Yes
Yes
CE
No
Yes
No
Yes
Yes
CF
No
Yes
No
Yes
Yes
D7
Application Control
(PayPass)
No
No
Yes
No
Yes
Yes
D8
AIP (PayPass)
No
No
Yes
No
No
Yes
D9
AFL (PayPass)
No
No
Yes
No
No
Yes
DA
Static CVC3TRACK1
No
No
Yes
No
No
Yes
DB
Static CVC3TRACK2
No
No
Yes
No
No
Yes
DC
IVCVC3TRACK1
No
No
Yes
No
No
Yes
DD
IVCVC3TRACK2
No
No
Yes
No
No
Yes
length
get
data
internal
update
put
data
16
No
No
No
111
Card Specification
PayPass M/Chip 4 Application
3.11 Personalization
This section specifies the data elements that are available to the issuer for
personalization. The personalization commands are not in the scope of this
specification. They are left to the implementation.
All data elements available for personalization are stored in persistent memory of the
card and are listed in [M/CHIP4]. This section specifies only the specific personalization requirements for the PayPass M/Chip 4 application.
Note
Length
Value
AID
See Table 57
FCI
var up to 48
See [M/CHIP4]
Table 57 specifies the AID and Application Label for the MasterCard and Maestro
products.
Table 57AID and Application Label for MasterCard and Maestro
MasterCard
Maestro
AID
A0 00 00 00 04 10 10
A0 00 00 00 04 30 60
Application Label
Data Element
Length
(bytes)
Format
Value
--
Static CVC3TRACK1(1)
Binary
--
CVC3TRACK2(1)
Binary
Binary
Binary
Static
--
IVCVC3TRACK1
--
IVCVC3TRACK2
(1)
(1)
112
Card Specification
PayPass M/Chip 4 Application
Presence
C(1)
C(1)
56
var up to 76
C(1)
var up to 19
var up to 32
Tag
(1)
Name
Track 1 Data
The Mag Stripe Application Version Number (Card) must be personalized with the
value 00 01.
The personalization of the Mag Stripe CVM List depends on the product (Maestro or
MasterCard) and on the risk profile of the issuer. For the MasterCard product there
are two possibilities: Signature + Online PIN + No CVM (Table 60) or Online PIN +
Signature + No CVM (Table 61).
Table 60MasterCard Mag Stripe CVM List (Signature + Online PIN +
No CVM)
CVM
Bit 7 of byte 1
If CVM not
successful
Byte 1
setting
Byte 2
setting
Meaning of
Byte 2
Signature
Apply next
5E
03
If supported
Online PIN
Apply next
42
03
If supported
No CVM
fail
1F
03
If supported
113
Card Specification
PayPass M/Chip 4 Application
Bit 7 of byte 1
If CVM not
successful
Byte 1
setting
Byte 2
setting
Meaning of
Byte 2
Online PIN
Apply next
42
03
If supported
Signature
Apply next
5E
03
If supported
No CVM
fail
1F
03
If supported
For the Maestro product the Mag Stripe CVM List must be personalized as specified
in Table 62.
Table 62Maestro Mag Stripe CVM List (Online PIN + Signature)
CVM
Bit 7 of byte 1
If CVM not
successful
Byte 1
setting
Byte 2
setting
Meaning of
Byte 2
Online PIN
Apply next
42
00
Always
Signature
fail
1E
03
If supported
Table 63 lists the data elements that may be included in record 1 of the file with SFI
2. Record 1 of SFI 2 is the only record to be used as input for the generation of the
Signed Static Application Data.
Table 63SFI 2 Record 1
Tag
Description
Length
57
var up to 19
5A
var. up to 10
5F20
Cardholder Name
var. up to 26
5F24
5F25
5F28
5F34
8C
CDOL1
8D
CDOL2
8E
CVM List
var
9F07
9F08
9F0D
9F0E
9F0F
9F42
114
Card Specification
PayPass M/Chip 4 Application
Table 64 and Table 65 list the data elements included in the first and second record of
the file with SFI 3. These records include the data objects required to retrieve the
Issuer Public Key and to perform static data authentication.
Table 64SFI 3 Record 1
Tag
Description
Length
9F4A
var. up to 1
8F
9F32
var. up to 3
92
NI-NCA+36
90
NCA
Description
Length
93
NI
Table 66 and Table 67 list the data objects required to retrieve the ICC Public Key and
to perform dynamic data authentication. This file is only present for a PayPass
M/Chip Select 4 application.
Table 66SFI 4 Record 1
Tag
Description
Length
9F47
var. up to 3
9F48
NIC-NI+42
Note
Tag
Description
Length
9F46
NI
If the the SDA Tag List (tag 9F4A) is returned by the PayPass M/Chip 4
application and the AIP (tag 82) is included, then the Signed Static Application
Data (if SDA is supported) and the ICC Public Key Certificate (if DDA or CDA are
supported) are different for the contact and PayPass interface. The Signed
Static Application Data and ICC Public Key Certificate for the contact interface
include the Application Interchange Profile, while the Signed Static Application
Data and ICC Public Key Certificate for the PayPass interface include the
Application Interchange Profile (PayPass). In this case the Signed Static
Application Data and ICC Public Key Certificate for the contact interface must
be included in records that are not already used by the PayPass interface and
the AFL for the contact interface must be coded accordingly.
115
Card Specification
PayPass M/Chip 4 Application
RFU
1
RFU
a
RFU
Name
Length (bytes)
CD
CE
CF
116
Card Specification
PayPass M/Chip 4 Application
b7
b6
b5
b4
b3
b2
b1
Meaning
Magstripe grade issuer not activated
Skip CIAC-default on CAT3 (0b: do not skip
CIAC default, 1b: skip CIAC default)
0/1
0
Reserved
0
0/1
0/1
No specific personalization requirements exist for byte 2 and byte 3 of the Application
Control (PayPass).
Length
16
117
Card Specification
PayPass M/Chip 4 Application
118
PART IV Annexes
PART IV includes the annexes of the PayPass M/Chip Technical Specifications.
119
Annexes
120
Annexes
MAC Algorithm
2.
For the generation of the MAC, the message M is formatted into eight-byte data
blocks, labeled D1, D2, D3, D4, etc.
3.
If the size of the last data block is eight bytes, an additional eight-byte data block
is concatenated to the right of the last data block: 80 00 00 00 00 00 00 00.
Proceed to step 4.
If the size of the last data block is less than eight bytes, it is padded to the right
with a one-byte hexadecimal 80. If the last data block is now eight bytes in
length, then proceed to step 4. If the last data block is still less than eight bytes, it
is right-filled with hexadecimal zeroes until it is eight bytes in length.
4.
The MAC is generated using the key K as shown in Figure 13. Figure 13
assumes that after the padding there are n data blocks (D).
Figure 13MAC Algorithm
'00 00 00 00
00 00 00 00'
I2
KL
I1 = D1
DES
I3
KL
In+1
DES
KL
O1
O2
D2
D3
Dn
Legend:
K = KL || KR
DES indicates single DES encryption
DES-1 indicates single DES decryption
DES
KR
On
DES-1
On+1
KL
DES
On+2
MAC
121
Annexes
MAC Algorithm
122
Annexes
PayPass Data Groupings
DGI B002
Data Element
Length
Static CVC3TRACK1
Static CVC3TRACK2
IVCVC3TRACK1
IVCVC3TRACK2
DGI B005
Data Element
Length
var.
Length
16
123
Annexes
PayPass Data Groupings
124
125