PayPass - MChip (V1.3)

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

PayPass M/Chip

Technical Specifications

Version 1.3 - September 2005

Copyright

The information contained in this manual is proprietary and


confidential to MasterCard International Incorporated (MasterCard)
and its members.
This material may not be duplicated, published, or disclosed, in whole
or in part, without the prior written permission of MasterCard.

Media

This document is available in both electronic and printed format.

MasterCard International - CMCOE


Chausse de Tervuren, 198A
B-1410 Waterloo
Belgium
Fax:

+32 2 352 5353

E-mail: [email protected]

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Table of Contents

Using this Manual ................................................................................. 7


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

PART I Introduction ......................................................................... 19


1 MasterCard Proximity Payment .............................................................21
2 M/Chip Profile and Mag Stripe Profile...................................................23
3 PayPass M/Chip .....................................................................................25
3.1
3.2

Interface Specification .................................................................................25


Transaction Flow .........................................................................................26

4 M/Chip 4 ....................................................................................................29

PART II Interface Specification ....................................................... 31


1 Application Selection ................................................................................35
1.1

SELECT PPSE ...............................................................................................35


1.1.1
1.1.2
1.1.3

1.2
1.3
1.4

Command Message .....................................................................................35


Data Field Returned in the Response Message............................................36
Status Bytes for SELECT Command.............................................................37

Building the Candidate List .........................................................................37


Final Selection .............................................................................................38
Matching Terminal AIDs to ICC AIDs........................................................38

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

Definition and Scope ...................................................................................41


Command Message .....................................................................................42
Data Field Returned in the Response Message............................................42
Status Bytes for COMPUTE CRYPTOGRAPHIC CHECKSUM Command ..........43

GENERATE APPLICATION CRYPTOGRAM .....................................................43


2.3.1

Definition and Scope ...................................................................................43


Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Table of Contents

2.3.2
2.3.3
2.3.4

2.4

GET PROCESSING OPTIONS ..........................................................................45


2.4.1
2.4.2
2.4.3
2.4.4

2.5

Definition and Scope ...................................................................................45


Command Message .....................................................................................45
Data Field Returned in the Response Message............................................46
Status Bytes for GET PROCESSING OPTIONS Command...............................46

READ RECORD..............................................................................................47
2.5.1
2.5.2
2.5.3
2.5.4

2.6

Command Message .....................................................................................43


Data Field Returned in the Response Message............................................44
Status Bytes for GENERATE AC Command .................................................45

Definition and Scope ...................................................................................47


Command Message .....................................................................................47
Data Field Returned in the Response Message............................................47
Status Bytes for READ RECORD Command..................................................48

SELECT .........................................................................................................48
2.6.1
2.6.2
2.6.3
2.6.4

Definition and Scope ...................................................................................48


Command Message .....................................................................................48
Data Field Returned in the Response Message............................................48
Status Bytes for SELECT Command.............................................................49

3 Transaction Flow.......................................................................................51
3.1
3.2

Transaction Flow for Online Capable Terminal ..........................................51


Transaction Flow for Offline-Only Terminal ..............................................55

4 Terminal Interoperability Requirements ...............................................59


4.1
4.2
4.3

Transmission Protocol .................................................................................59


DOL Handling .............................................................................................59
Exception Processing ...................................................................................59
4.3.1
4.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

Data Objects ................................................................................................59


Status Bytes .................................................................................................60

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

5 Card Interoperability Requirements ......................................................71


5.1
5.2
5.3
5.4

Transmission Protocol .................................................................................71


DOL Handling .............................................................................................71
Exception Processing ...................................................................................71
Application Transaction Counter (ATC)......................................................71

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Table of Contents

5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13

SELECT PPSE Command Processing ...........................................................72


SELECT AID Command Processing .............................................................72
GET PROCESSING OPTIONS Command Processing ......................................72
READ RECORD Command Processing..........................................................73
COMPUTE CRYPTOGRAPHIC CHECKSUM Command Processing..................73
GENERATE AC Command Processing..........................................................74
VERIFY Command Processing .....................................................................75
Offline Data Authentication.........................................................................75
Card Personalization Requirements .............................................................75
5.13.1 File Organization.........................................................................................75
5.13.2 AFL..............................................................................................................77
5.13.3 AIP...............................................................................................................77

6 Data Objects ..............................................................................................79


6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18

Data Object Format......................................................................................79


Application Interchange Profile (AIP).........................................................80
CVC3TRACK1...................................................................................................80
CVC3TRACK2...................................................................................................80
Default Terminal UDOL ..............................................................................81
Mag Stripe Application Version Number (Card) .........................................81
Mag Stripe Application Version Number (Terminal)...................................81
Mag Stripe CVM List ...................................................................................82
Track 1 Bit Map for CVC3 (PCVC3TRACK1)..................................................83
Track 1 Bit Map for UN and ATC (PUNATCTRACK1)....................................83
Track 1 Data ................................................................................................83
Track 1 Number of ATC Digits (NATCTRACK1) .............................................84
Track 2 Bit Map for CVC3 (PCVC3TRACK2)..................................................84
Track 2 Bit Map for UN and ATC (PUNATCTRACK2)....................................84
Track 2 Data ................................................................................................85
Track 2 Number of ATC Digits (NATCTRACK2) .............................................85
Unpredictable Number Data Object List (UDOL).......................................85
Unpredictable Number (Numeric) ...............................................................86

PART III Card Specification............................................................. 87


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

3 PayPass M/Chip 4 Application .............................................................97


3.1

Introduction..................................................................................................97

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Table of Contents

3.1.1
3.1.2
3.1.3
3.1.4

3.2
3.3

Application State Machine...........................................................................98


C-APDU PRE-PROCESSING...................................................................100
3.3.1
3.3.2
3.3.3

3.4
3.5

Command Message ...................................................................................103


Data Field Returned in the Response Message..........................................103
Processing..................................................................................................104
Destination State........................................................................................105

GET DATA ..................................................................................................105


PUT DATA...................................................................................................106
Dynamic CVC3..........................................................................................106
3.8.1
3.8.2
3.8.3

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

ICC Derived Key for CVC3 Generation (KDCVC3) ....................................106


Dynamic CVC3 Generation.......................................................................107
IVCVC3 Generation...................................................................................107

Data Elements Dictionary ..........................................................................108


3.9.1
3.9.2
3.9.3
3.9.4
3.9.5
3.9.6
3.9.7
3.9.8

Application Control (PayPass)..................................................................108


Application File Locator (PayPass) ..........................................................108
Application Interchange Profile (PayPass)...............................................109
Card Issuer Action Codes (PayPass) Decline, Default, Online .............109
Static CVC3TRACK1 ......................................................................................109
Static CVC3TRACK2 ......................................................................................110
IVCVC3TRACK1 ............................................................................................110
IVCVC3TRACK2 ............................................................................................110

3.10 Data Elements Location .............................................................................110


3.10.1 Transient Data Elements that Span a Single C-APDU Processing............110
3.10.2 Additional Persistent Data Elements .........................................................110
3.10.3 Secret Keys................................................................................................111

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

Application Selection Data Elements ........................................................112


COMPUTE CRYPTOGRAPHIC CHECKSUM Data Objects...............................112
Persistent Data Referenced in the AFL (PayPass).....................................113
Application Interchange Profile (PayPass)...............................................116
Persistent Data Elements for Card Risk Management...............................116
Application File Locator (PayPass) ..........................................................116
Application Control (PayPass)..................................................................117
Triple DES Key .........................................................................................117

PART IV Annexes ........................................................................... 119


Annex A : MAC Algorithm .........................................................................121
Annex B : PayPass Data Groupings ...........................................................123

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Using this Manual


This chapter contains information that helps you understand and use this document.

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

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Using this Manual

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Using this Manual


Scope

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

Definition of commands and data elements as they apply to the exchange of


information between the card and terminal.

The implementation of the PayPass M/Chip application on a dual interface card


(contact and contactless).

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]

PayPass Mag Stripe Technical Specifications,


Version 3.1 November 2003.

[PAYPASS ISO/IEC 14443]

PayPass ISO/IEC 14443 Implementation


Specification, Version 1.0 June 2004.

[M/CHIP4]

M/Chip 4 Card Application Specifications for


Credit and Debit, Version 1.0 October 2002.

[M/CHIP4 CPS]

M/Chip 4 Common Personalization Specifications,


August 2003.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Using this Manual


Reference Materials

Reference Materials
The following reference materials may be of use to the reader of this manual.
[ISO/IEC 8825:1990]

Information technology Open systems interconnection


Specification of basic encoding rules for abstract
syntax notation one (ASN.1).

[ISO/IEC 7811/2]

Identification cards Recording technique Part 2:


Magnetic stripe

[ISO/IEC 7813:1995]

Identification cards Financial transaction cards.

[ISO/IEC 7816-4:1995]

Information technology Identification cards


Integrated circuit(s) cards with contacts Part 4: Interindustry commands for interchange.

[ISO/IEC 7816-5:1993]

Identification cards Integrated circuit(s) cards with


contacts Part 5: Numbering system and registration
procedure for application identifiers.

[ISO/IEC 7816-6:1996]

Identification cards Integrated circuit(s) cards with


contacts Part 6: Interindustry data elements.

[EMV BOOK 1]

Integrated Circuit Card Specification for Payment


Systems: Application Independent ICC to Terminal
Interface Requirements. Version 4.1, May 2004.

[EMV BOOK 2]

Integrated Circuit Card Specification for Payment


Systems: Security and Key Management. Version 4.1,
May 2004.

[EMV BOOK 3]

Integrated Circuit Card Specification for Payment


Systems: Application Specification. Version 4.1, May
2004.

[EMV BOOK 4]

Integrated Circuit Card Specification for Payment


Systems: Cardholder, Attendant and Acquirer Interface
Requirements. Version 4.1, May 2004.

[EMV CPS]

EMV Card Personalization Specification, Version 1.0,


June 2003.

Version 1.3 - September 2005

10

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Using this Manual


Abbreviations

Abbreviations
The following abbreviations are used in this specification:
Abbreviation

Description

AAC

Application Authentication Cryptogram

AC

Application Cryptogram

ADF

Application Definition File

AFL

Application File Locator

AID

Application Identifier

AIP

Application Interchange Profile

ASI

Application Selection Indicator

an

Alphanumeric

ans

Alphanumeric Special

APDU

Application Protocol Data Unit

ARQC

Authorization Request Cryptogram

ATC

Application Transaction Counter

Binary

BCD

Binary Coded Decimal

C-APDU

Command APDU

CDOL

Card Risk Management Data Object List

CLA

Class byte of command message

cn

Compressed Numeric

CVC

Card Verification Code

CVM

Cardholder Verification Method

DES

Data Encryption Standard

DDA

Dynamic Data Authentication

DGI

Data Grouping Identifier

EMV

Europay MasterCard Visa

FCI

File Control Information

hex.

Hexadecimal

ICC

Integrated Circuit Card

INS

Instruction byte of command message

ISO

International Organization for Standardization

MAC

Message Authentication Code

Numeric

NATCTRACK1

Track 1 Number of ATC Digits

NATCTRACK2

Track 2 Number of ATC Digits

NCA

Length of the Certification Authority Public Key Modulus

NI

Length of the Issuer Public Key Modulus

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

11

Using this Manual


Notational Conventions

Abbreviation

Description

NIC

Length of the ICC Public Key Modulus

PAN

Primary Account Number

PCVC3TRACK1

Track 1 Bit Map for CVC3

PCVC3TRACK2

Track 2 Bit Map for CVC3

PDOL

Processing Options Data Object List

PIN

Personal Identification Number

PPSE

PayPass Payment System Environment

PSE

Payment System Environment

PUNATCTRACK1

Track 1 Bit Map for UN and ATC

PUNATCTRACK2

Track 2 Bit Map for UN and ATC

P1

Parameter 1

P2

Parameter 2

R-APDU

Response APDU

RFU

Reserved for Future Use

SDA

Static Data Authentication

SDAD

Signed Dynamic Application Data

SFI

Short File Identifier

SW1

Status Byte One

SW2

Status Byte Two

TC

Transaction Certificate

TDOL

Transaction Certificate Data Object List

TLV

Tag Length Value

TVR

Terminal Verification Results

UDOL

Unpredictable Number Data Object List

UN

Unpredictable Number

Notational Conventions
The following notations apply:
Notation

Description

0 to 9 and A to F

Hexadecimal notation. Values expressed in hexadecimal


form are enclosed in single quotes (i.e. _).

1001b

Binary notation. Values expressed in binary form are


followed by a lower case b.

abcd

an or ans string

digit

Any of the ten Arabic numerals from 0 to 9.

[]

Optional part

xx

Any value

Version 1.3 - September 2005

12

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Using this Manual


Notational Conventions

Notation

Description

A := B

A is assigned the value of B

C := (A || B)

The concatenation of an n-bit number A and an m bit


number B, which is defined as C = 2mA + B.

Y := ALG(K)[X]

Encipherment of a 64-bit data block X with a 64-bit block


cipher using a secret key K.

X&Y

The bit-wise and of the data block X and Y.

Application File Locator

Data elements used for this specification are written in


italics to distinguish them from the text.

GENERATE AC

Command APDUs used for this specification are written in


SMALL CAPITALS to distinguish them from the text.

The following table lists symbols that are often used throughout the document:
Symbol

Meaning

kTRACK1

Number of non-zero bits in the Track 1 Bit Map for UN and


ATC (PUNATCTRACK1)

kTRACK2

Number of non-zero bits in the Track 2 Bit Map for UN and


ATC (PUNATCTRACK2)

tTRACK1

The symbol tTRACK1 represents the value of NATCTRACK1 and


indicates the number of digits of the ATC to be included in
the discretionary data field of the Track 1 Data.

tTRACK2

The symbol tTRACK2 represents the value of NATCTRACK2 and


indicates the number of digits of the ATC to be included in
the discretionary data field of the Track 2 Data.

nUN

The symbol nUN represents the number of positions


available in the discretionary data fields of the Track 1 Data
and Track 2 Data for transporting UN to the issuer. The
value of nUN must be the same for Track 1 Data and Track 2
Data. Therefore the following holds: nUN = kTRACK1-tTRACK1
= kTRACK2-tTRACK2.

mTRACK1

The symbol mTRACK1 indicates the number of characters


present in the discretionary data field of the Track 1 Data.

mTRACK2

The symbol mTRACK2 indicates the number of digits present


in the discretionary data field of the Track 2 Data.

qTRACK1

Number of non-zero bits in the Track 1 Bit Map for CVC3


(PCVC3TRACK1). The symbol qTRACK1 represents the number
of CVC3 digits included in the discretionary data field of
the Track 1 Data.

qTRACK2

Number of non-zero bits in the Track 2 Bit Map for CVC3


(PCVC3TRACK2). The symbol qTRACK2 represents the number
of CVC3 digits included in the discretionary data field of
the Track 2 Data.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

13

Using this Manual


Bit Map

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

pm-1 pm-2 pm-3

p5

p4

p3

p2

p1

bm

bm-1 bm-2 bm-3

b5

b4

b3

b2

b1

Bit Map

An example is given in Figure 3, for mTRACK2=13, tTRACK2=2 and PUNATCTRACK2 =


031A, referring to position p10p9p5p4p2. Based on this, kTRACK2 equals 5 and nUN
equals 3.
Figure 3Example PUNATCTRACK2 = 031A
Discretionary Data
p8

p7

p6

p5

p4

p3

p2

p1

b9

b8

b7

b6

b5

b4

b3

b2

b1

p13 p12 p11 p10 p9


0

b16

b15

b14

b13 b12 b11 b10


3

Bit Map = 031A

Version 1.3 - September 2005

14

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Using this Manual


Transition Flow Diagrams

Transition Flow Diagrams


The following symbols are used in the transition flow diagrams:

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.

The decision symbol is used in a flow diagram, identified with number 2.

TEST
OK

NOK

An explanation of the check done in symbol 2 is given:


Symbol 2
An explanation of how the application checks that the condition is satisfied.

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

15

Using this Manual


Document Overview

Document Overview
This document is organized as follows:
Section

Description

Using this Manual

A description of the manuals purpose and its contents

Part I Introduction

Provides a high-level summary of the PayPass M/Chip


application.

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

Includes the behavioral specification of the PPSE and the


PayPass M/Chip 4 dual interface card application
proposed by MasterCard and conforming to the
requirements listed in Part II. The PayPass M/Chip 4
application is an extension of the M/Chip 4 contact-only
application specified in [M/CHIP4]. The card
implementation specification provides a definition of the
behavior of the PayPass M/Chip 4 application during
the operational phase of the card life cycle. The
principles and concepts proposed in this part do not have
to be followed in the actual implementation. However,
the implementation must behave in exactly the same way
as specified in this specification.

Annex A MAC Algorithm

Describes the MAC algorithm used by the PayPass


M/Chip 4 application.

Annex B PayPass Data


Groupings

Defines the structure of the data groupings that must be


used to personalize the PayPass M/Chip application
according to [M/CHIP4 CPS].

Version 1.3 - September 2005

16

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Using this Manual


Document Word Usage

Document Word Usage


The following words are used often in this manual and have a specific meaning:

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

17

Using this Manual


Document Word Usage

Version 1.3 - September 2005

18

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

PART I Introduction
This part includes an executive summary of the PayPass M/Chip application.

1 MasterCard Proximity Payment .............................................................21


2 M/Chip Profile and Mag Stripe Profile...................................................23
3 PayPass M/Chip .....................................................................................25
3.1
3.2

Interface Specification .................................................................................25


Transaction Flow .........................................................................................26

4 M/Chip 4 ....................................................................................................29

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

19

Introduction

Version 1.3 - September 2005

20

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Introduction
MasterCard Proximity Payment

1 MasterCard Proximity Payment


MasterCard International has initiated the development of a program intended to
allow consumers to make MasterCard payment transactions at point of sale using
contactless technology. The generic term contactless technology is used when the
point of interaction is between 1mm and 10 meters. Although the proximity payment
program covers multiple technologies and ranges, this document deals only with the
technical specifications of the MasterCard PayPass product built with a contactless
chip conforming to [PAYPASS ISO/IEC 14443] with a range from 1mm to 10cm.

 Note

In this document, the term PayPass interface will be used to mean PayPass
contactless interface.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

21

Introduction
MasterCard Proximity Payment

Version 1.3 - September 2005

22

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Introduction
M/Chip Profile and Mag Stripe Profile

2 M/Chip Profile and Mag Stripe


Profile
Within the MasterCard PayPass transactions we distinguish two different profiles:
M/Chip and Mag Stripe.
The PayPass Mag Stripe profile was developed to allow contactless payments using
authorization networks that presently support magnetic-stripe authorization for credit
or debit applications. A PayPass Mag Stripe card stores track 1 and track 2 data
with a discretionary data field that contains a dynamic CVC (Card Verification Code).
The dynamic CVC is generated by the PayPass Mag Stripe card using a secret key,
the Application Transaction Counter of the PayPass Mag Stripe card and an
unpredictable number generated by the terminal. The PayPass Mag Stripe card
with dynamic CVC provides better security than magnetic-stripe technology because
the dynamic CVC is used as authentication code by the issuer to authenticate the
PayPass Mag Stripe card during the online authorization processing.
The PayPass M/Chip profile was developed to allow contactless payments in a
market that is oriented towards offline acceptance. To manage the offline risk the
terminal must be capable of performing terminal risk management and offline
authentication of the card (e.g. static data authentication). The PayPass M/Chip
card must be capable of performing its own card risk management and of accepting or
declining the transaction offline.
Interoperability between the PayPass M/Chip profile and the PayPass Mag Stripe
profile is achieved by the requirement that the PayPass M/Chip card and terminal
also support the PayPass Mag Stripe profile. This means that a PayPass Mag
Stripe card will be accepted on a PayPass M/Chip terminal and that a PayPass
M/Chip card will be accepted on a PayPass Mag Stripe terminal.
This document deals with the technical specifications of the PayPass M/Chip card
and terminal.

 Note

In this document, the terms card and terminal will be used to mean
PayPass M/Chip card and PayPass M/Chip terminal.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

23

Introduction
M/Chip Profile and Mag Stripe Profile

Version 1.3 - September 2005

24

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

Script processing and issuer authentication do not have to be performed as this


supposes a response from the issuer while the card is still in the field. An online
capable terminal should not issue a 2nd GENERATE AC command after the card
has generated an ARQC in response to the 1st GENERATE AC. Instead the
terminal should use the Authorization Response Code included in the
authorization response message of the issuer to accept or decline the transaction
online. If the transaction is accepted, then the terminal uses the ARQC as
transaction certificate for the clearing process.
The PayPass card must not require a 2nd GENERATE AC after the generation of an
ARQC. It must however support the 2nd GENERATE AC command for the
exceptional case in which the terminal is able to hold the card within the field
until the response from the issuer is available.
A terminal that performs a 2nd GENERATE AC must do it according to the procedures specified in [EMV BOOK 3].

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

Version 1.3 - September 2005

26

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

27

Introduction
PayPass M/Chip

Figure 4PayPass Transaction Flow


PayPass C ard

P ayPass Term inal

(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

Version 1.3 - September 2005

28

(2 )
)
TA
A
D
D
R E LA TE

AM

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

29

Introduction
M/Chip 4

Version 1.3 - September 2005

30

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

PART II Interface Specification


PART II describes the interface between a PayPass card and terminal, in terms of
the:

Application selection mechanism

Definition of commands as they apply to the exchange of information


between the card and the terminal

Transaction flow (the sequence of events and the commands and responses
interchanged between the card and the terminal)

Interoperability requirements between the card and terminal

Data objects passed between the card and terminal

1 Application Selection ................................................................................35


1.1

SELECT PPSE ...............................................................................................35


1.1.1
1.1.2
1.1.3

1.2
1.3
1.4

Command Message .....................................................................................35


Data Field Returned in the Response Message............................................36
Status Bytes for SELECT Command.............................................................37

Building the Candidate List .........................................................................37


Final Selection .............................................................................................38
Matching Terminal AIDs to ICC AIDs........................................................38

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

GENERATE APPLICATION CRYPTOGRAM .....................................................43


2.3.1
2.3.2
2.3.3
2.3.4

2.4

Definition and Scope ...................................................................................43


Command Message .....................................................................................43
Data Field Returned in the Response Message............................................44
Status Bytes for GENERATE AC Command .................................................45

GET PROCESSING OPTIONS ..........................................................................45


2.4.1
2.4.2
2.4.3
2.4.4

2.5

Definition and Scope ...................................................................................41


Command Message .....................................................................................42
Data Field Returned in the Response Message............................................42
Status Bytes for COMPUTE CRYPTOGRAPHIC CHECKSUM Command ..........43

Definition and Scope ...................................................................................45


Command Message .....................................................................................45
Data Field Returned in the Response Message............................................46
Status Bytes for GET PROCESSING OPTIONS Command...............................46

READ RECORD..............................................................................................47
2.5.1
2.5.2
2.5.3

Definition and Scope ...................................................................................47


Command Message .....................................................................................47
Data Field Returned in the Response Message............................................47
Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

31

Interface Specification

2.5.4

2.6

Status Bytes for READ RECORD Command..................................................48

SELECT .........................................................................................................48
2.6.1
2.6.2
2.6.3
2.6.4

Definition and Scope ...................................................................................48


Command Message .....................................................................................48
Data Field Returned in the Response Message............................................48
Status Bytes for SELECT Command.............................................................49

3 Transaction Flow.......................................................................................51
3.1
3.2

Transaction Flow for Online Capable Terminal ..........................................51


Transaction Flow for Offline-Only Terminal ..............................................55

4 Terminal Interoperability Requirements ...............................................59


4.1
4.2
4.3

Transmission Protocol .................................................................................59


DOL Handling .............................................................................................59
Exception Processing ...................................................................................59
4.3.1
4.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

Data Objects ................................................................................................59


Status Bytes .................................................................................................60

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

5 Card Interoperability Requirements ......................................................71


5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13

Transmission Protocol .................................................................................71


DOL Handling .............................................................................................71
Exception Processing ...................................................................................71
Application Transaction Counter (ATC)......................................................71
SELECT PPSE Command Processing ...........................................................72
SELECT AID Command Processing .............................................................72
GET PROCESSING OPTIONS Command Processing ......................................72
READ RECORD Command Processing..........................................................73
COMPUTE CRYPTOGRAPHIC CHECKSUM Command Processing..................73
GENERATE AC Command Processing..........................................................74
VERIFY Command Processing .....................................................................75
Offline Data Authentication.........................................................................75
Card Personalization Requirements .............................................................75
5.13.1 File Organization.........................................................................................75
5.13.2 AFL..............................................................................................................77

Version 1.3 - September 2005

32

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification

5.13.3 AIP...............................................................................................................77

6 Data Objects ..............................................................................................79


6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18

Data Object Format......................................................................................79


Application Interchange Profile (AIP).........................................................80
CVC3TRACK1...................................................................................................80
CVC3TRACK2...................................................................................................80
Default Terminal UDOL ..............................................................................81
Mag Stripe Application Version Number (Card) .........................................81
Mag Stripe Application Version Number (Terminal)...................................81
Mag Stripe CVM List ...................................................................................82
Track 1 Bit Map for CVC3 (PCVC3TRACK1)..................................................83
Track 1 Bit Map for UN and ATC (PUNATCTRACK1)....................................83
Track 1 Data ................................................................................................83
Track 1 Number of ATC Digits (NATCTRACK1) .............................................84
Track 2 Bit Map for CVC3 (PCVC3TRACK2)..................................................84
Track 2 Bit Map for UN and ATC (PUNATCTRACK2)....................................84
Track 2 Data ................................................................................................85
Track 2 Number of ATC Digits (NATCTRACK2) .............................................85
Unpredictable Number Data Object List (UDOL).......................................85
Unpredictable Number (Numeric) ...............................................................86

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

33

Interface Specification

Version 1.3 - September 2005

34

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

1.1.1 Command Message


The SELECT command message is coded according to Table 1.
Table 1SELECT PPSE Command Message
Code

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

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

35

Interface Specification
Application Selection

1.1.2 Data Field Returned in the Response Message


The data field of the response message contains the FCI specific to the selected PPSE.
Additional tags returned in the FCI that are not described in this specification must be
ignored by the terminal.
Table 2 defines the FCI returned by a successful selection of the PPSE directory.
Table 2SELECT Response Message Data Field (FCI) of the PPSE
Tag

Value

Presence

6F

FCI Template

84

DF Name

A5

FCI Proprietary Template

BF0C

FCI Issuer Discretionary Data

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

ADF Name (AID)

87

Application Priority Indicator (see Table 5).

50

Application Label

Table 5Application Priority Indicator Format


b8

b7-b5

b4-b1

Definition
Application may be selected without confirmation of
cardholder

0
xxx

RFU
0000

No priority assigned

xxxx

Order in which the application is to be listed or selected,


ranging from 1-15, with 1 being the highest priority.

Version 1.3 - September 2005

36

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Application Selection

1.1.3 Status Bytes for SELECT Command


The status bytes for the SELECT command are listed in Table 6.
Table 6Status Bytes for SELECT PPSE Command

1.2

SW1

SW2

Meaning

62

83

Selected file invalidated

67

00

Wrong length

6A

81

Function not supported

6A

82

File not found

6A

86

Incorrect parameters P1-P2

90

00

Normal processing

Building the Candidate List


The steps the terminal takes to build the candidate list are as follows:
1.2.1.1

The terminal shall select the PayPass Payment Systems Environment


(PPSE) using the SELECT command as described in Section 1.1.1 of Part II.

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

If no directory entries that match applications supported by the terminal are


found, then the terminal shall use the list of applications method as
described in Section 12.3.3 of [EMV BOOK 1] to find a match.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

The terminal shall order the list of mutually supported applications


according to the following rules:
The highest priority application must be ordered first.
If all applications in the list have a priority indicator set to 0000b, then
the list shall be in the order in which the applications were encountered
in the card.
If some of the applications in the list have a priority indicator set to
0000b and other applications in the list have a priority indicator different
from 0000b, then those with no priority indicator shall come last and in
the order in which they were encountered in the card.
If there are duplicate priorities assigned to multiple applications, then
these applications shall be included in the list in the order in which they
were encountered in the card.

1.3.1.3

If the list of mutually supported applications is empty, then the terminal


shall terminate the transaction.

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.

Matching Terminal AIDs to ICC AIDs


The terminal determines which applications in the ICC are supported by comparing
the AIDs for applications in the terminal with AIDs for applications within the card.
In some cases, the terminal supports the card application only if the AID of the
terminal has the same length and value as the AID in the card. In other cases, the
terminal supports the card application if the AID in the card begins with the entire
AID kept within the terminal.
The terminal keeps for every AID an Application Selection Indicator (ASI). The ASI
indicates whether the AID in the terminal must match exactly (both in length and
value) or need only partially match the associated AID.

Version 1.3 - September 2005

38

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

39

Interface Specification
Application Selection

Version 1.3 - September 2005

40

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

COMPUTE CRYPTOGRAPHIC CHECKSUM

80

AE

GENERATE AC

80

A8

GET PROCESSING OPTIONS

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

Instruction code not supported or invalid

6E

00

Class not supported

6F

00

No precise diagnosis

COMPUTE CRYPTOGRAPHIC CHECKSUM


2.2.1 Definition and Scope
The COMPUTE CRYPTOGRAPHIC CHECKSUM initiates the computation of the dynamic
CVC3 on the card. The computation is based on the Unpredictable Number
(Numeric) (tag 9F6A) sent by the terminal, the ATC of the card and the relevant
secret key stored in the card.
The response of the card consists of returning the CVC3TRACK2, the CVC3TRACK1
(optional) and the ATC to the terminal.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

41

Interface Specification
Commands

2.2.2 Command Message


The COMPUTE CRYPTOGRAPHIC CHECKSUM command message is coded according to
Table 9.
Table 9COMPUTE CRYPTOGRAPHIC CHECKSUM Command Message
Code

Value

CLA

80

INS

2A

P1

8E

P2

80

Lc

var.

Data

UDOL related 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.

2.2.3 Data Field Returned in the Response Message


The data field of the response message is a constructed data object with tag 77. The
value field may include several BER-TLV coded data objects, but must always
include the CVC3TRACK2 (tag 9F61) and the ATC (tag 9F36). The value field may
also include the CVC3TRACK1 (tag 9F60).
Table 10COMPUTE CRYPTOGRAPHIC CHECKSUM Response Message Data
Field
Tag

Value

Presence

77

Response Message Template

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.

Version 1.3 - September 2005

42

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Commands

2.2.4 Status Bytes for COMPUTE CRYPTOGRAPHIC


CHECKSUM Command
The status bytes for the COMPUTE CRYPTOGRAPHIC CHECKSUM command are listed
in Table 11.
Table 11Status Bytes for COMPUTE CRYPTOGRAPHIC CHECKSUM
Command

2.3

SW1

SW2

Meaning

67

00

Wrong length

69

85

Conditions of use not satisfied

6A

86

Incorrect parameters P1-P2

90

00

Normal processing

GENERATE APPLICATION CRYPTOGRAM


2.3.1 Definition and Scope
The GENERATE AC command sends transaction-related data to the card, which
computes and returns an Application Cryptogram (AC). According to the risk
management in the card, the cryptogram returned by the card may differ from that
requested in the command message. The card may return an AAC (transaction
declined), an ARQC (online authorization request) or a TC (transaction approved).

2.3.2 Command Message


The GENERATE AC command message is coded according to Table 12.
Table 12GENERATE AC Command Message
Code

Value

CLA

80

INS

AE

P1

Reference Control Parameter (see Table 13)

P2

00

Lc

var.

Data

CDOL related data

Le

00

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

43

Interface Specification
Commands

Table 13GENERATE AC Reference Control Parameter


b8

b7

b6

b5

b4

b3

b2

b1

Meaning

AAC

TC

ARQC

RFU
x

RFU
0

Combined DDA/AC generation not


requested

Combined DDA/AC generation


requested
x

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.

2.3.3 Data Field Returned in the Response Message


In the case of combined DDA/AC generation the response message data field must be
coded according to format 2 as specified in Part II of [EMV BOOK 3] and must
contain at least the three mandatory data objects specified in Table 14, and optionally
the Issuer Application Data.
Table 14GENERATE AC Response Message Data Field for Combined
DDA/AC Generation
Tag

Value

Presence

77

Response Message Template

9F27

Cryptogram Information Data

9F36

Application Transaction Counter

9F4B

Signed Dynamic Application Data

9F10

Issuer Application Data

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

Response Message Template

9F27

Cryptogram Information Data

9F36

Application Transaction Counter

9F26

Application Cryptogram

9F10

Issuer Application Data

Version 1.3 - September 2005

44

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.3.4 Status Bytes for GENERATE AC Command


The status bytes for the GENERATE AC command are listed in Table 16.
Table 16Status Bytes for GENERATE AC Command

2.4

SW1

SW2

Meaning

67

00

Wrong length

69

85

Conditions of use not satisfied

6A

86

Incorrect parameters P1-P2

90

00

Normal processing

GET PROCESSING OPTIONS


2.4.1 Definition and Scope
The GET PROCESSING OPTIONS command initiates the transaction within the card.

2.4.2 Command Message


The GET PROCESSING OPTIONS command message is coded according to Table 17.
Table 17GET PROCESSING OPTIONS Command Message
Code

Value

CLA

80

INS

A8

P1

00

P2

00

Lc

var.

Data

PDOL related 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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

45

Interface Specification
Commands

2.4.3 Data Field Returned in the Response Message


The data field of the response message is a constructed data object with tag 77
(Response Message Template). The value field may include several BER-TLV coded
objects, but must always include the AIP (tag 82) and AFL (tag 94).
Table 18GET PROCESSING OPTIONS Response Message Data Field
Tag

Value

Presence

77

Response Message Template

82

Application Interchange Profile (AIP)

94

Application File Locator (AFL)

Additional data objects returned in the data field that are not described in this
specification must be ignored by the terminal.

2.4.4 Status Bytes for GET PROCESSING OPTIONS


Command
The status bytes for the GET PROCESSING OPTIONS command are listed in Table 19.
Table 19Status Bytes for GET PROCESSING OPTIONS Command
SW1

SW2

Meaning

67

00

Wrong length

69

85

Conditions of use not satisfied

6A

86

Incorrect parameters P1-P2

90

00

Normal processing

Version 1.3 - September 2005

46

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

2.5.2 Command Message


The READ RECORD command message is coded according to Table 20.
Table 20READ RECORD Command Message
Code

Value

CLA

00

INS

B2

P1

Record Number

P2

See Table 21

Lc

Not present

Data

Not present

Le

00

Table 21 specifies the coding of P2.


Table 21P2 of READ RECORD Command
b8

b7

b6

b5

b4

b3

b2

b1

Meaning
SFI

P1 is a record number

2.5.3 Data Field Returned in the Response Message


The data field of the response message contains the record read. For SFIs in the range
1-10, the record is a BER-TLV constructed data object with tag 70 as shown in
Table 22.
Table 22READ RECORD Response Message Data Field
70

Length

Record Template

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

47

Interface Specification
Commands

2.5.4 Status Bytes for READ RECORD Command


The status bytes for the READ RECORD command are listed in Table 23.
Table 23Status Bytes for READ RECORD Command

2.6

SW1

SW2

Meaning

6A

82

Incorrect parameters P1 P2; file not found

6A

83

Incorrect parameters P1 P2; record not found

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.

2.6.2 Command Message


The SELECT command message is coded according to Table 24.
Table 24SELECT Command Message
Code

Value

CLA

00

INS

A4

P1

04

P2

00: first occurrence


02: next occurrence

Lc

05 10

Data

AID

Le

00

The data field of the command message contains the AID of the PayPass application.

2.6.3 Data Field Returned in the Response Message


The data field of the response message contains the FCI specific to the selected ADF.
Additional tags returned in the FCI that are not described in this specification must be
ignored by the terminal.
Table 25 defines the FCI returned by a successful selection of an ADF.

Version 1.3 - September 2005

48

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Commands

Table 25SELECT Response Message Data Field (FCI) of an ADF


Tag

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

2.6.4 Status Bytes for SELECT Command


The status bytes for the SELECT command are listed in Table 26.
Table 26Status Bytes for SELECT Command
SW1

SW2

Meaning

62

83

Selected file invalidated

67

00

Wrong length

6A

81

Function not supported

6A

82

File not found

6A

86

Incorrect parameters P1-P2

90

00

Normal processing

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

49

Interface Specification
Commands

Version 1.3 - September 2005

50

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

Transaction Flow for Online Capable Terminal


The flowchart in Figure 5 gives an example of a transaction flow that may be used by
an online capable terminal. The remainder of this section explains the symbols used
in Figure 5.
Symbol 0 Application Selection
The card and terminal perform application selection as specified in Section 1 of
PART II.
Symbol 1 Initiate Application
The terminal issues the GET PROCESSING OPTIONS command. If there is no PDOL in
the ICC, 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.
The card returns the Application Interchange Profile (AIP) and the Application File
Locator (AFL).
Symbol 2 M/Chip profile?
The terminal verifies if the M/Chip profile is supported bit in the AIP is set. If this
is the case, then the terminal continues with reading the PayPass M/Chip
application data. If the bit is not set, then the terminal continues with reading the
PayPass Mag Stripe application data.
Symbol 3 Read Mag Stripe Application Data
The AFL has a fixed value indicating that all PayPass Mag Stripe data to be read by
the terminal are included in record 1 of the file with SFI 1. The terminal reads the
necessary data using one READ RECORD command as specified in Section 4.7 of
PART II.
Symbol 4 Mag Stripe Application Version Number Checking
The terminal verifies the compatibility of the PayPass Mag Stripe application in the
terminal with the PayPass Mag Stripe application in the card as specified in Section
4.8 of PART II.
Symbol 5 COMPUTE CRYPTOGRAPHIC CHECKSUM
The terminal continues with the COMPUTE CRYPTOGRAPHIC CHECKSUM command as
specified in Section 4.9 of PART II using a data field comprising the concatenated list
of data elements resulting from processing the UDOL.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

51

Interface Specification
Transaction Flow

The COMPUTE CRYPTOGRAPHIC CHECKSUM command initiates the computation of


the dynamic CVC3TRACK2 and CVC3TRACK1 (optional) in the PayPass card. The computation is based on the Unpredictable Number (UN) sent by the terminal, the
Application Transaction Counter (ATC) of the card (optional) and the relevant secret
key stored in the card.
The card responds with the dynamic CVC3TRACK2, the CVC3TRACK1 (optional) and the
ATC. The terminal converts the binary CVC3TRACK2 into BCD encoded digits and
copies the relevant digits in the discretionary data field of the Track 2 Data at the
places indicated by the Track 2 Bit Map for CVC3 (PCVC3TRACK2). The terminal
copies also the relevant digits of the Unpredictable Number (UN) into the discretionary data field of the Track 2 Data. The Track 2 Bit Map for UN and ATC
(PUNATCTRACK2) indicates where the terminal must copy the UN digits in the
discretionary data field of the Track 2 Data. If the number of ATC digits to be
included in the discretionary data field is not zero (indicated by NATCTRACK2), then the
terminal must convert the ATC into BCD encoded digits and copy the relevant ATC
digits into the discretionary data field of the Track 2 Data at the places indicated by
PUNATCTRACK2. After copying the CVC3TRACK2, UN and ATC digits, the terminal
copies the number of UN digits (nUN) in the least significant digit of the discretionary
data field. A similar procedure is repeated for Track 1 Data if the card also returned
Track 1 Data in the response to the READ RECORD command. For the Track 1 Data
the terminal converts the data returned by the card into ASCII encoded characters
before copying them into the discretionary data field of the Track 1 Data.
After the completion of the COMPUTE CRYPTOGRAPHIC CHECKSUM, the card may be
removed from the electromagnetic field.
Symbol 6 Mag Stripe Cardholder Verification
The terminal performs Mag Stripe cardholder verification. The cardholder verification function makes use of the Mag Stripe CVM List (tag 9F68) data element
returned by the PayPass Mag Stripe card in the response to the READ RECORD
command performed during Read Mag Stripe Application Data. The Mag Stripe
CVM List is coded as specified in [EMV BOOK 3] with the limitations specified in
Section 6.8 of PART II.
Symbol 7 Read M/Chip Application Data
The AFL has a fixed value as indicated in Section 5.13.2 of PART II. The terminal
reads the necessary data using READ RECORD commands as specified in Section 4.11
of PART II.
Symbol 8 Processing Restrictions
The terminal performs the processing restrictions function as specified in Section 4.12
of PART II. This includes application version number checking, application usage
control checking and application effective/expiry dates checking.
Symbol 9 Terminal Risk Management
The terminal performs the terminal risk management functions as specified in Section
4.13 of PART II. This includes floor limit checking, random transaction selection and
exception file checking.

Version 1.3 - September 2005

52

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Transaction Flow

Symbol 10 M/Chip Cardholder Verification


The terminal performs M/Chip cardholder verification. The cardholder verification
function makes use of the M/Chip CVM List (tag 8E) data element returned by the
PayPass M/Chip card during Read M/Chip Application Data. The M/Chip CVM
List is coded as specified in [EMV BOOK 3].
Symbol 11 Terminal Action Analysis
Once terminal risk management related to the transaction has been completed, the
terminal makes the decision as to whether the transaction should be approved offline,
declined offline, or transmitted online. The terminal makes this decision based upon
the content of the TVR, Issuer Action Codes and Terminal Action Codes as specified
in Section 4.17 of PART II.
Symbol 12 Card Action Analysis
The card action analysis process is performed when the terminal issues the GENERATE
AC command. During the card action analysis the card performs its own card risk
management to protect the issuer from fraud or excessive credit risk. As the result of
this risk management process, the card may decide to complete a transaction online,
offline or decline the transaction.
Symbol 13 Card Generated AAC/AAR?
If the card generated an AAC or AAR, then the terminal declines the transaction.
Symbol 14 Combined DDA/AC Generation?
If combined DDA/AC generation is performed, then the terminal continues with
retrieving the ICC Public Key and verifying the Signed Dynamic Application Data. If
no combined DDA/AC generation is performed, then the terminal continues with
verifying if the card generated an ARQC.
Symbol 15 Card Generated ARQC?
The terminal verifies if the card generated an ARQC. If this is the case, then the
terminal completes the transaction online. If this is not the case, then the terminal
continues with offline CAM by performing static data authentication.
Symbol 16 Static Data Authentication
The terminal performs static data authentication as specified in Section 4.15 of PART II.
Symbol 17 SDA OK?
If static data authentication failed, then the terminal declines the transaction.
Otherwise, the terminal accepts the transaction offline.
Symbol 18 Retrieve ICC Public Key and Verify SDAD
In the case of combined DDA/AC generation, the terminal retrieves the ICC Public
Key and verifies the Signed Dynamic Application Data generated by the card as
specified in Section 4.15 of PART II.
Symbol 19 SDAD Correct?
If the Signed Dynamic Application Data is not correct, then the terminal declines the
transaction.
Symbol 20 Card Generated ARQC?
If the card generated an ARQC, then the terminal completes the transaction online.
Otherwise, the transaction is accepted offline.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

53

Interface Specification
Transaction Flow

Figure 5Transaction Flow for Online Capable PayPass Terminals


0

APPLICATION SELECTION
1

INITIATE APPLICATION

NO

M/CHIP PROFILE ?

YES

READ MAG STRIPE


APPLICATION DATA

MAG STRIPE APPLICATION


VERSION NR CHECKING

READ M/CHIP
APPLICATION DATA

PROCESSING
RESTRICTIONS

COMPUTE CRYPTOGRAPHIC
CHECKSUM

TERMINAL RISK
MANAGEMENT

10

M/CHIP CARDHOLDER
VERIFICATION

MAG STRIPE CARDHOLDER


VERIFICATION

11

TERMINAL ACTION
ANALYSIS
12

CARD ACTION ANALYSIS

13
CARD
GENERATED
AAC/AAR?

YES

NO
14

COMBINED
DDA/AC
11
GENERATION?

NO

YES
18

15

CARD
GENERATED
ARQC?

RETRIEVE ICC PUBLIC KEY


AND VERIFY SDAD

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

Version 1.3 - September 2005

54

DECLINE

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Transaction Flow

3.2

Transaction Flow for Offline-Only Terminal


The flowchart in Figure 7 proposes an alternative transaction flow for a PayPass
M/Chip transaction on offline-only PayPass terminals. The offline-only transaction
flow minimizes the terminal processing while the card is in the field.
As the TVR is not used by the card risk management of the PayPass M/Chip 4 card
application, the terminal may postpone the terminal risk management functions until
the card is removed from the field. This way the terminal only needs to retrieve the
CDOL1 from the first record to be able to process the GENERATE AC command. All
other terminal processing is done after the GENERATE AC command.
Symbol 0 Application Selection
The card and terminal perform application selection as specified in Section 1 of
PART II.
Symbol 1 Initiate Application
The terminal issues the GET PROCESSING OPTIONS command. If there is no PDOL in
the ICC, 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.
The card returns the Application Interchange Profile (AIP) and the Application File
Locator (AFL).
Symbol 2 M/Chip profile?
The terminal verifies if the M/Chip profile is supported bit in the AIP is set. If this
is the case, then the terminal continues with reading the PayPass M/Chip
application data. If the bit is not set, then the terminal continues with a PayPass
Mag Stripe transaction.
Symbol 3 Perform PayPass Mag Stripe Transaction
The reader performs a PayPass Mag Stripe transaction. This includes the symbols
3, 4, 5 and 6 of Figure 5.
Symbol 4: Read M/Chip Application Data
The terminal reads all the data from the card as specified in Section 4.11 of PART II,
but retrieves only the CDOL1 from the response message. All other data is saved for
later use.
Symbol 5: Generate TC
The terminal always requests a TC.
Symbol 6: Card Generated AAC, AAR or ARQC
If the card generates an AAC, AAR or ARQC, then the terminal declines the
transaction without further processing.
Symbol 7 and 9: Combined DDA/AC Generation
If Combined DDA/AC Generation was requested, then the terminal retrieves the ICC
Public Key and verifies the Signed Dynamic Application Data generated by the card
as specified in Section 4.15 of PART II. If this verification fails, then the terminal
sets the appropriate bit in the TVR.
Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

55

Interface Specification
Transaction Flow

Symbol 8: Static Data Authentication


The terminal performs static data authentication as specified in Section 4.15 of PART
II. The terminal sets the appropriate bit in the TVR if the static data authentication
failed.
Symbol 10, 11: Processing Restrictions, Terminal Risk Management
The terminal performs processing restrictions and terminal risk management as
specified in Section 4.12 and 4.13 of PART II. The terminal sets the appropriate bits
in the TVR if one or more tests fail.
Symbol 12: M/Chip Cardholder Verification
The terminal performs M/Chip cardholder verification as specified in Section 4.14 of
PART II.
Symbol 13: Terminal Action Analysis
The terminal performs terminal action analysis as specified in 4.16 of PART II. If the
result is a TC request, then the terminal accepts the transaction. Otherwise the
transaction is declined.

 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.

Version 1.3 - September 2005

56

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Transaction Flow

Figure 6Transaction Flow for Offline Only PayPass Terminals


0

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

RETRIEVE ICC PUBLIC KEY


AND VERIFY SDAD

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

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

57

Interface Specification
Transaction Flow

Version 1.3 - September 2005

58

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Terminal Interoperability Requirements

4 Terminal Interoperability
Requirements
4.1

Transmission Protocol
4.1.1.1

4.2

A MasterCard PayPass terminal shall be compliant with [PAYPASS


ISO/IEC 14443].

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

DOL Handling shall be performed according to the rules specified in


Section 5.4 of [EMV BOOK 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

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

4.3.2 Status Bytes


4.3.2.1

 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.

A terminal supporting more than one application shall process the


application selection as specified in Section 1 of PART II.
A terminal that supports only one application (= AID) should immediately perform the SELECT command with the appropriate AID.

Final SELECT Command Processing


This section lists the terminal requirements related to the final SELECT command sent
by the terminal to select the PayPass application.
4.5.1.1

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.

Version 1.3 - September 2005

60

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

Initiate Application Processing


The initiate application processing is the first function performed after application
selection. The terminal issues the GET PROCESSING OPTIONS command to initiate the
transaction in the card.
4.6.1.1

The terminal sets all bits in the Transaction Status Information (TSI) and the
Terminal Verification Results (TVR) to 0b.

4.6.1.2

The terminal shall format the GET PROCESSING OPTIONS command as


specified in Section 2.4.2 of PART II.

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

If the card returns SW1-SW2=6985 in response to the GET PROCESSING


OPTIONS command, then the terminal shall return to application selection.
The terminal shall not allow the application to be selected again.

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

61

Interface Specification
Terminal Interoperability Requirements

4.7

Read Mag Stripe Application Data


If the M/Chip profile is supported bit in the AIP is not set (i.e. the card is a PayPass
Mag Stripe card), then the terminal continues with the Read Mag Stripe Application
Data processing. Data contained in files in the PayPass Mag Stripe card are
required by the terminal to complete the COMPUTE CRYPTOGRAPHIC CHECKSUM
command processing. The terminal reads the files and records indicated in the AFL
using the READ RECORD command.
4.7.1.1

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

If the terminal encounters more than one occurrence of a single primitive


data object during read application data processing, the transaction shall be
terminated.

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

Track 2 Bit Map for UN and ATC (PUNATCTRACK2)

9F65

Track 2 Bit Map for CVC3 (PCVC3TRACK2)

9F67

Track 2 Number of ATC Digits (NATCTRACK2)

Version 1.3 - September 2005

62

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Terminal Interoperability Requirements

4.8

Mag Stripe Application Version Number Checking


The application within both the card and the terminal maintain a Mag Stripe
Application Version Number assigned by the payment system. The terminal shall
verify the compatibility of the Mag Stripe Application Version Number (Terminal) in
the terminal with the Mag Stripe Application Version Number (Card) in the card.

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.

COMPUTE CRYPTOGRAPHIC CHECKSUM Command


Processing
The terminal issues the COMPUTE CRYPTOGRAPHIC CHECKSUM command to the card
to retrieve the CVC3TRACK2, the CVC3TRACK1 (optional) and the ATC from the card.
4.9.1.1

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

The terminal shall format the COMPUTE CRYPTOGRAPHIC CHECKSUM


command as specified in Section 2.2.2 of PART II.

4.9.1.10 The terminal shall generate an Unpredictable Number (Numeric) of 8 digits


in length of which the 8-nUN most significant digits are set equal to 0 (refer
to Section 6.18 of PART II).
4.9.1.11 If the UDOL is returned by the card during the Read Mag Stripe Application
Data processing, then the terminal shall create a concatenated list of data
elements without tags or lengths following the rules specified in Section 4.2
of PART II.
4.9.1.12 If the UDOL is not returned by the card during the Read Mag Stripe
Application Data processing, then the terminal shall use the Default
Terminal UDOL to construct the data field of the command message. Refer
to Section 6.5 of PART II for the definition of the Default Terminal UDOL.
4.9.1.13 If the terminal does not receive a valid response message from the card (i.e.
no response message or an invalid response message), then the terminal
shall wait 300 ms before processing is continued. If this is the second
consecutive transaction for which no valid response message from the card
for the COMPUTE CRYPTOGRAPHIC CHECKSUM command is received, then
the terminal shall wait 2 * 300 ms before processing is continued. In
general, if this is the nth (n= 1, 2, 3, ) consecutive transaction for which no
valid response message from the card for the COMPUTE CRYPTOGRAPHIC
CHECKSUM command is received, then the terminal shall wait 2m * 300 ms
(m being the minimum of n-1 and 5) before processing is continued.
4.9.1.14 The terminal shall verify if the response message of the COMPUTE
CRYPTOGRAPHIC CHECKSUM command is correctly formatted as specified
in Section 2.2.3 of Part II. If not, then the terminal shall terminate the
transaction as indicated in 4.9.1.13.
4.9.1.15 The terminal shall retrieve the CVC3TRACK2 (tag 9F61) and the ATC (tag
9F36) from the Response Message Template (tag 77). If one of these
data objects is not available, then the terminal shall terminate the transaction
as indicated in 4.9.1.13.
4.9.1.16 The terminal shall convert the binary encoded CVC3TRACK2 to the BCD
encoding of the corresponding number expressed in base 10. The terminal
shall copy the qTRACK2 least significant digits of the BCD encoded
CVC3TRACK2 in the eligible positions of the discretionary data field of Track
2 Data. The eligible positions are indicated by the qTRACK2 non-zero bits in
PCVC3TRACK2.

Version 1.3 - September 2005

64

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

65

Interface Specification
Terminal Interoperability Requirements

4.10 Mag Stripe Cardholder Verification


Cardholder verification is performed to ensure that the person presenting the PayPass
card is the person to whom the application in the card was issued. This section
specifies how the terminal must perform cardholder verification for a PayPass Mag
Stripe card. The cardholder verification function makes use of the Mag Stripe CVM
List (tag 9F68) data element returned by the PayPass Mag Stripe card in the
response to the READ RECORD command. Refer to EMV BOOK 3 and Section 6.8 of
PART II for the coding of the Mag Stripe CVM List.
The terminal performs cardholder verification as follows:
4.10.1.1 If the Mag Stripe CVM List is not present in the PayPass Mag Stripe card,
then the terminal may obtain cardholder verification by means of the
Cardholder Verification Method (CVM) as supported by the terminal.
4.10.1.2 If the CVM List is present in the PayPass Mag Stripe card, then the
terminal shall process each Cardholder Verification Rule (CVR) in the order
in which it appears in the list. Cardholder verification is completed when
any one CVM is successfully performed or when the list is exhausted.
4.10.1.3 If any of the following are true:
The conditions expressed in the second byte of a CVR are not satisfied,
or
The CVM condition code is outside the range of codes listed in Section
6.8 of PART II,
then the terminal shall bypass the rule and proceed to the next CVR in the
CVM List. If there are no more CVRs in the list, cardholder verification
failed.
4.10.1.4 If the conditions expressed in the second byte of a CVR are satisfied, then
the terminal shall attempt to perform the CVM if the CVM code is one of
those listed in Section 6.8 of PART II or is otherwise understood by the
terminal. If the conditions expressed in the second byte of a CVR are
satisfied, but the CVM is not among those listed and is not understood by
the terminal then this CVM fails.
4.10.1.5 If the CVM is performed successfully, cardholder verification is complete
and successful. Otherwise, the terminal shall examine b7 of byte 1 of the
CVM field. If b7 is set to 1b, processing continues with the next CVR, if
one is present. If b7 is set to 0b, or there are no more CVRs in the list,
cardholder verification failed.
If online PIN processing is the required CVM as determined by the above process, the
processing must be performed as follows:
4.10.1.6 The processing is not successfully performed for any one of the following
reasons:
The terminal does not support online PIN.
The terminal supports online PIN, but the PIN pad is malfunctioning.
The terminal bypassed PIN entry at the direction of either the merchant
or the cardholder.

Version 1.3 - September 2005

66

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Terminal Interoperability Requirements

4.10.1.7 If the online PIN is successfully entered, the cardholder verification is


considered successful and complete.
If signature is the required CVM as determined by the above process, the processing
must be performed as follows:
4.10.1.8 The terminal shall determine success based upon the terminals capability to
support the signature process. If the terminal is able to support signature,
the process is considered successful, and cardholder verification is
complete.
4.10.1.9 At the end of the transaction, the terminal shall print a receipt with a line for
cardholder signature.

4.11 Read M/Chip Application Data


If the M/Chip profile is supported bit in the AIP is set (i.e. the card is a PayPass
M/Chip card), then the terminal continues with the Read M/Chip Application Data
processing. Data contained in files in the card are required by the terminal to
complete the 1st GENERATE AC command and terminal risk management. The
terminal reads the files and records indicated in the AFL using the READ RECORD
command.
4.11.1.1 If the AFL is not one of those listed in Section 5.13.2 of PART II, then the
terminal read the files and records indicated in the AFL as specified in
Section 10.2 of [EMV BOOK 3]. Otherwise the terminal shall proceed with
4.11.1.2.
4.11.1.2 The terminal always reads record 1 included in the file with SFI 2.
4.11.1.3 If the card supports offline data authentication (static data authentication or
combined DDA/AC generation), then the terminal also reads record 1
included in the file with SFI 3.
4.11.1.4 If the card supports static data authentication and the card does not support
combined DDA/AC generation, then the terminal also reads record 2
included in the file with SFI 3.
4.11.1.5 If the card supports combined DDA/AC generation, then the terminal also
reads the record 1 and 2 included in the file with SFI 4.
4.11.1.6 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, but records containing such data objects may
still participate in their entirety in offline data authentication, depending
upon the coding of the AFL.
4.11.1.7 If the terminal encounters more than one occurrence of a single primitive
data object during read application data processing, the transaction shall be
terminated.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

Application Expiry Date

5A

Application Primary Account Number (PAN)

8C

Card Risk Management Data Object List 1 (CDOL1)

8D

Card Risk Management Data Object List 2 (CDOL2)

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.

4.12 Processing Restrictions


4.12.1.1 Processing restrictions checking shall be performed as specified in [EMV
BOOK 3] and [EMV BOOK 4]. It includes application version number
checking, application usage control checking and application
effective/expiry dates checking.

4.13 Terminal Risk Management


4.13.1.1 Terminal risk management shall be performed as specified in [EMV BOOK
3] and [EMV BOOK 4]. It may include floor limit checking, random
transaction selection and exception file checking. Velocity checking shall
not be performed.

4.14 M/Chip Cardholder Verification


Cardholder verification is performed as specified in [EMV BOOK 3] and [EMV
BOOK 4] taking into account the following restrictions:
4.14.1.1 The terminal shall not support offline PIN. This means that the terminal
does not support either offline plaintext PIN verification or offline
enciphered PIN verification.
4.14.1.2 If an offline PIN is the selected CVM as determined by the process specified
in [EMV BOOK 3], then the terminal shall set to 1 the PIN entry required
and PIN pad not present or not working bit in the TVR.

Version 1.3 - September 2005

68

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

4.15 Offline Data Authentication


Offline data authentication is performed as specified in Chapter 5 and 6 of [EMV
BOOK 2] and Section 10.3 of [EMV BOOK 3]. This section specifies how it is
determined whether offline data authentication will be performed, what kind of
authentication will be performed and when it will be performed.
4.15.1.1 The terminal shall support static data authentication and combined DDA/AC
generation1. The terminal may perform dynamic data authentication.
4.15.1.2 If the Application Interchange Profile (AIP) of the card indicates that the
card supports combined DDA/AC, then the terminal shall perform
combined DDA/AC generation. In this case the terminal shall not perform
static data authentication or dynamic data authentication.
4.15.1.3 If the AIP of the card indicates that the card supports dynamic data
authentication and that it does not support combined DDA/AC generation
and the terminal supports dynamic data authentication, then the terminal
shall perform dynamic data authentication. In this case the terminal shall
not perform static data authentication.
4.15.1.4 If the AIP of the card indicates that the card does not support combined
DDA/AC generation and that it supports dynamic data authentication and
static data authentication and the terminal does not support dynamic data
authentication, then the terminal shall perform static data authentication.
4.15.1.5 If the AIP of the card indicates that the card supports static data
authentication and that it does not support combined DDA/AC generation or
dynamic data authentication, then the terminal shall perform static data
authentication.
4.15.1.6 The terminal may perform static data authentication after the interaction
between card and terminal has been completed.

4.16 Terminal Action Analysis


With the terminal action analysis function the terminal makes the decision as to
whether the transaction should be approved offline, declined offline, or transmitted
online.
4.16.1.1 Terminal action analysis shall be performed as specified in [EMV BOOK 3].

Applicable for POS and CAT 1, 2 and 3 terminals.


Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

69

Interface Specification
Terminal Interoperability Requirements

4.17 GENERATE AC Processing


As a result of the terminal action analysis processing, the terminal requests the card to
generate an Application Cryptogram with the GENERATE AC command.
4.17.1.1 The terminal shall format the GENERATE AC command as specified in
Section 2.3.2 of PART II.
4.17.1.2 The terminal shall use the CDOL1 to create a concatenated list of data
elements without tags or lengths following the rules specified in Section 4.2
of PART II.
4.17.1.3 The terminal shall verify if the response message of the GENERATE AC
command is correctly formatted as specified in Section 2.3.3 of PART II. If
not, then the terminal shall terminate the transaction.
4.17.1.4 The terminal shall retrieve the Cryptogram Information Data (tag 9F27)
and the Application Transaction Counter (tag 9F36). If one of these data
objects is not available, then the terminal shall terminate the transaction.
4.17.1.5 The terminal shall verify in the Cryptogram Information Data if the card
generated an AAC or AAR. If this is the case, then the terminal shall
decline the transaction offline.
4.17.1.6 If combined DDA/AC generation was not requested, then the terminal shall
verify if the Application Cryptogram (tag9F26) is included in the
Response Message Template (tag 77). If this is not the case, then the
terminal shall terminate the transaction.
4.17.1.7 If combined DDA/AC generation was requested and the card did not
generate an AAC, then the terminal shall verify if the Signed Dynamic
Application Data (tag 9F4B) is included in the Response Message
Template (tag 77). If this is not the case, then the terminal shall decline
the transaction.
4.17.1.8 If combined DDA/AC generation was requested and the card did not
generate an AAC, then the terminal shall construct the ICC Public Key and
verify if the Signed Dynamic Application Data is correct as specified in
[EMV BOOK 2].
4.17.1.9 The terminal shall verify in the Cryptogram Information Data if the card
generated an ARQC.
If this is the case, then an online capable terminal shall complete the
transaction online. If the transaction is accepted online, then the online
capable terminal shall use the ARQC as transaction certificate for the
clearing process.
If the card generated an ARQC, then an offline-only terminal shall decline
the transaction offline.

Version 1.3 - September 2005

70

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Card Interoperability Requirements

5 Card Interoperability Requirements


5.1

Transmission Protocol
5.1.1.1

5.2

A MasterCard PayPass card shall be compliant with [PAYPASS ISO/IEC


14443].

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

If the card supports combined DDA/AC generation, then it shall always


include the Unpredictable Number (tag 9F37, 4 bytes, binary format) entry
in the CDOL1.

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.

Application Transaction Counter (ATC)


The card shall maintain an Application Transaction Counter (ATC).
5.4.1.1

The ATC shall be binary coded on two bytes.

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

71

Interface Specification
Card Interoperability Requirements

5.5

SELECT PPSE Command Processing


This section lists the requirements for the card related to the support of the PPSE.

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

If the card receives a SELECT PPSE command formatted as specified in


Section 1.1.1 of PART II, then it shall respond with an FCI indicating all the
PayPass applications supported by the card in the FCI Issuer Discretionary
Data as specified in Section 1.1.2 of PART II.

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

SELECT AID Command Processing


This section specifies the behavior of the PayPass application in the case where a
SELECT command, with the AID of the application, is received.

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.

GET PROCESSING OPTIONS Command Processing


5.7.1.1

If the card receives a GET PROCESSING OPTIONS command message, then


the card shall verify if the command message is correctly formatted as
specified in Section 2.4.2 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.

Version 1.3 - September 2005

72

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Card Interoperability Requirements

5.8

5.9

READ RECORD Command Processing


5.8.1.1

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

All records referenced in the AFL shall be readable without conditions by


the READ RECORD command coded as specified in Section 2.5.2 of PART
II.

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.

COMPUTE CRYPTOGRAPHIC CHECKSUM Command


Processing
5.9.1.1

A PayPass M/Chip card shall support the COMPUTE CRYPTOGRAPHIC


CHECKSUM command to allow the card to be used on a PayPass Mag
Stripe terminal.

5.9.1.2

If the card receives a COMPUTE CRYPTOGRAPHIC CHECKSUM command


message, then the card shall verify if the command message is correctly
formatted as specified in 2.2.2 of PART II.

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

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

5.10 GENERATE AC Command Processing


5.10.1.1 If the card receives a GENERATE AC command message, then the card shall
verify if the command message is correctly formatted as specified in 2.3.2
of PART II.
5.10.1.2 The card shall permit at most two GENERATE AC commands after a
successful GET PROCESSING OPTIONS command. If the terminal issues
more than two GENERATE AC commands, then the card shall return the
status bytes 6985 (Conditions of use not satisfied) for the third and all
subsequent GENERATE AC commands.
5.10.1.3 The card shall verify if the length of the command message data field is
equal to the length requested in the CDOL. If this is not the case, then the
card shall return the status bytes 6700 (Wrong length).
5.10.1.4 If the GENERATE AC command message requests the generation of a TC,
then the card shall reply with a TC, ARQC or AAC.
5.10.1.5 If the GENERATE AC command message requests the generation of an
ARQC, then the card shall reply with an ARQC or AAC.
5.10.1.6 If the GENERATE AC command message requests the generation of an AAC,
then the card shall reply with an AAC.
5.10.1.7 The card shall never return an AAR.
5.10.1.8 The card risk management performed during the processing of the
GENERATE AC command, shall not rely on the content of the Data
Authentication Code (tag 9F45). The Data Authentication Code is
retrieved by the terminal from the Signed Static Application Data during the
static data authentication process. As the static data authentication process
may be performed after the GENERATE AC command is issued, the terminal
may fill the corresponding field with hexadecimal zeroes if the Data
Authentication Code is requested by the card in the CDOL1.

 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.

Version 1.3 - September 2005

74

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Card Interoperability Requirements

5.11 VERIFY Command Processing


5.11.1.1 The card shall not support the VERIFY command. The card shall return the
status bytes 6D00 (Instruction code not supported) whenever the VERIFY
command is received.

 Note

Requirement 5.11.1.1 is independent of the personalization value of


the CVM List.

5.12 Offline Data Authentication


5.12.1.1 The card shall support static data authentication.
5.12.1.2 If the card supports dynamic data authentication, then it shall support
combined DDA/AC generation.

5.13 Card Personalization Requirements


This section lists the specific personalization requirements for a PayPass M/Chip
card.

5.13.1 File Organization


All data elements returned by the card during the read application data process have to
be organized in a way as specified in this section. This allows the terminal to retrieve
the data elements from the card with a minimum number of READ RECORD
commands.
5.13.1.1 The file with SFI 1 shall contain the data objects necessary to perform a
PayPass Mag Stripe transaction. This record includes at least the PayPass
Mag Stripe mandatory data objects as specified in Table 29.
Table 29SFI 1 Record 1
Tag

Description

Length

9F6B

Track 2 Data

var. up to 19

9F66

Track 2 Bit Map for UN and ATC (PUNATCTRACK2)

9F65

Track 2 Bit Map for CVC3 (PCVC3TRACK2)

9F67

Track 2 Number of ATC Digits (NATCTRACK2)

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

75

Interface Specification
Card Interoperability Requirements

Table 30SFI 2 Record 1


Tag

Description

Length

5F24

Application Expiry Date

5A

Application Primary Account Number (PAN)

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

SDA Tag List

var. up to 1

8F

Certification Authority Public Key Index

9F32

Issuer Public Key Exponent

var. up to 3

92

Issuer Public Key Remainder

NCA-NI+36

90

Issuer Public Key Certificate

NCA

Table 32SFI 3 Record 2


Tag

Description

Length

93

Signed Static Application Data

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

ICC Public Key Exponent

var. up to 3

9F48

ICC Public Key Remainder

NIC-NI+42

Table 34SFI 4 Record 2


Tag

Description

Length

9F46

ICC Public Key Certificate

NI

Version 1.3 - September 2005

76

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

77

Interface Specification
Card Interoperability Requirements

Version 1.3 - September 2005

78

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

Data Object Format


Data elements moved from the card to the terminal are encapsulated in TLV encoded
data objects. Data elements moved from the terminal to the card are identified by a
Data Object List (DOL) sent to the terminal by the card or by the definition of the
command message.
When data is moved from one entity to another (for example card to terminal), it shall
always be passed in decreasing order, regardless of how it is stored internally. The
leftmost byte (byte 1) is the most significant byte (MSB). The same rule applies
when concatenating data.
Data elements that have the numeric (n) format are BCD encoded, right justified with
leading hexadecimal zeroes. Data objects that have the compressed numeric (cn)
format are BCD encoded, left justified and padded with trailing Fs. Note that the
length indicator in the numeric format notation (e.g. n 4) specifies the number of
digits and not the number of bytes.
Data objects that have the alphanumeric (an) or alphanumeric special (ans) format are
ASCII encoded, left justified and padded with trailing hexadecimal zeroes.
Bytes or bits specified as Reserved for Future Use (RFU) shall be set to the value
indicated, or to zero if no value is given. An entity receiving data specified as RFU
must not examine or depend upon the coding of these bytes or bits.
Card data objects, specified as optional, do not have to be supported by the card.
However, the terminal must support all data objects listed in this chapter.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

79

Interface Specification
Data Objects

6.2

Application Interchange Profile (AIP)


Tag:

82

Source:

Card

Presence:

Mandatory

Format:

b, 2 bytes

Description:

The AIP indicates the capabilities of the card to support specific


functions in the application. The AIP is returned in the response
message of the GET PROCESSING OPTIONS and is defined in [EMV
BOOK 3]. This specification extends the definition by allocating the
RFU bit b8 in byte 2 to indicate the PayPass profile (M/Chip profile
or Mag Stripe profile). Table 35 specifies byte 2 of the Application
Interchange Profile for PayPass transactions. Byte 1 is coded as
specified in Annex C.1 of [EMV BOOK 3].
Table 35Byte 2 of the Application Interchange Profile
b8 b7 b6 b5 b4 b3 b2 b1
x

PayPass profile

M/Chip profile is supported

Only Mag Stripe profile


supported
0

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:

The CVC3TRACK1 is a 2 byte cryptogram returned by the card in the


response to the COMPUTE CRYPTOGRAPHIC CHECKSUM command.

CVC3TRACK2
Tag:

9F61

Source:

Card

Presence:

Mandatory

Format:

b, 2 bytes

Description:

The CVC3TRACK2 is a 2 byte cryptogram returned by the card in the


response to the COMPUTE CRYPTOGRAPHIC CHECKSUM command.

Version 1.3 - September 2005

80

Meaning

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Data Objects

6.5

6.6

6.7

Default Terminal UDOL


Tag:

--

Source:

Terminal

Presence:

Mandatory

Format:

b, 3 bytes

Description:

The Default Terminal UDOL is the UDOL to be used for constructing


the value field of the COMPUTE CRYPTOGRAPHIC CHECKSUM
command if the UDOL in the card is not present. The Default
Terminal UDOL must always be present and must contain as its only
entry the tag and length of the Unpredictable Number (Numeric).
The value of the Default Terminal UDOL is therefore: 9F 6A 04.

Mag Stripe Application Version Number (Card)


Tag:

9F6C

Source:

Card

Presence:

Optional

Format:

b, 2 bytes

Description:

The Mag Stripe Application Version Number (Card) is the version


number assigned by the payment system for the specific PayPass
Mag Stripe functionality in the card. If present, then the Application
Version Number (Card) must be present in the file read during Read
Mag Stripe Application Data.

Mag Stripe Application Version Number (Terminal)


Tag:

9F6D

Source:

Terminal

Presence:

Mandatory

Format:

b, 2 bytes

Description:

The Mag Stripe Application Version Number (Terminal) is the


version number assigned by the payment system for the specific
PayPass Mag Stripe functionality in the terminal.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

81

Interface Specification
Data Objects

6.8

Mag Stripe CVM List


Tag:

9F68

Source:

Card

Presence:

Optional

Format:

b, var up to 252 bytes

Description:

The Mag Stripe CVM List identifies a method of verification of the


cardholder supported by the card for a PayPass Mag Stripe
transaction. The Mag Stripe CVM List is coded as specified in [EMV
BOOK 3]. For the PayPass Mag Stripe transaction the supported
CVM codes and conditions are limited to those listed in Table 36 and
Table 37.
Table 36CVM Codes for PayPass Mag Stripe
b8 b7 b6 b5 b4 b3 b2 b1 Meaning
0

RFU
0

Fail cardholder verification if this


CVM is unsuccessful

Apply succeeding CVR if this


CVM is unsuccessful
0

Fail CVM processing

Enciphered PIN verified online

Signature (paper)

No CVM required

All other values

RFU

Reserved for use by the individual


payment systems

Values in the range 110000b


111110b are reserved for use by the
issuer

Not available for use

Table 37CVM Condition Codes for PayPass Mag Stripe


Value

Meaning

00

Always

01

If cash or cashback

02

If not cash or cashback

03

If terminal supports the CVM. (In the case of online PIN, this
means If online PIN pad present)

04 7F

RFU

80 FF

Reserved for use by individual payment systems

Version 1.3 - September 2005

82

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Data Objects

6.9

Track 1 Bit Map for CVC3 (PCVC3TRACK1)


Tag:

9F62

Source:

Card

Presence:

Conditional (If the Track 1 Data is present, then also PCVC3TRACK1


must be present).

Format:

b, 6 bytes

Description:

PCVC3TRACK1 indicates to the terminal the positions in the


discretionary data field of the Track 1 Data where the qTRACK1
CVC3TRACK1 digits have to be copied. If present, then the
PCVC3TRACK1 must be present in the file read during Read Mag Stripe
Application Data.

6.10 Track 1 Bit Map for UN and ATC (PUNATCTRACK1)


Tag:

9F63

Source:

Card

Presence:

Conditional (If the Track 1 Data is present, then also PUNATCTRACK1


must be present).

Format:

b, 6 bytes

Description:

PUNATCTRACK1 indicates to the terminal the positions in the


discretionary data field of the Track 1 Data where the nUN UN digits
and tTRACK1 ATC digits have to be copied. If present, then the
PUNATCTRACK1 must be present in the file read during Read Mag
Stripe Application Data.

6.11 Track 1 Data


Tag:

56

Source:

Card

Presence:

Optional

Format:

ans, variable length up to 76 bytes


The Track 1 Data contains the data elements of the track 1 according
to ISO/IEC 7813 Structure B, excluding start sentinel, end sentinel
and LRC.
Format Code (hex 42 (B))
1 byte
Identification Number (PAN)
var. up to 19 bytes
Field Separator (hex. 5E (^))
1 byte
Name (see ISO/IEC 7813)
2 to 26 bytes
Field Separator (hex. 5E (^))
1 byte
Expiry Date (YYMM)
4 bytes
Service Code
3 bytes
Discretionary Data
balance of available bytes

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

6.12 Track 1 Number of ATC Digits (NATCTRACK1)


Tag:

9F64

Source:

Card

Presence:

Conditional (If the Track 1 Data is present, then also NATCTRACK1


must be present).

Format:

b, 1 byte

Description:

The value of NATCTRACK1 represents the number of digits of the ATC


to be included in the discretionary data field of the Track 1 Data. If
present, then the NATCTRACK1 must be present in the file read during
Read Mag Stripe Application Data.

6.13 Track 2 Bit Map for CVC3 (PCVC3TRACK2)


Tag:

9F65

Source:

Card

Presence:

Mandatory

Format:

b, 2 bytes

Description:

PCVC3TRACK2 indicates to the terminal the positions in the


discretionary data field of the Track 2 Data where the qTRACK2
CVC3TRACK2 digits have to be copied. The PCVC3TRACK2 must be
present in the file read during Read Mag Stripe Application Data.

6.14 Track 2 Bit Map for UN and ATC (PUNATCTRACK2)


Tag:

9F66

Source:

Card

Presence:

Mandatory

Format:

b, 2 bytes

Description:

PUNATCTRACK2 indicates to the terminal the positions in the


discretionary data field of the Track 2 Data where the nUN UN digits
and tTRACK2 ATC digits have to be copied. The PUNATCTRACK2 must
be present in the file read during Read Mag Stripe Application Data.

Version 1.3 - September 2005

84

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Interface Specification
Data Objects

6.15 Track 2 Data


Tag:

9F6B

Source:

Card

Presence:

Mandatory

Format:

b, variable length up to 19 bytes


The Track 2 Data contains the data elements of the track 2 according
to [ISO/IEC 7813], excluding start sentinel, end sentinel and LRC, as
follows:
Identification Number (PAN)
n, var. up to 19 digits
Field Separator (hex. D)
b
Expiry Date (YYMM)
n 4
Service Code
n 3
Discretionary Data
n, balance of available digits
Padded with hex. F to ensure whole bytes.

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.

6.16 Track 2 Number of ATC Digits (NATCTRACK2)


Tag:

9F67

Source:

Card

Presence:

Mandatory

Format:

b, 1 byte

Description:

The value of NATCTRACK2 represents the number of digits of the ATC


to be included in the discretionary data field of the Track 2 Data.
The NATCTRACK2 must be present in the file read during Read Mag
Stripe Application Data.

6.17 Unpredictable Number Data Object List (UDOL)


Tag:

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

85

Interface Specification
Data Objects

6.18 Unpredictable Number (Numeric)


Tag:

9F6A

Source:

Terminal

Presence:

Mandatory

Format:

n 8 (the 8-nUN most significant digits must be set to zero)

Description:

Unpredictable number generated by the terminal. The Unpredictable


Number (Numeric) is passed to the card in the data field of the
COMPUTE CRYPTOGRAPHIC CHECKSUM command.

Version 1.3 - September 2005

86

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

PART III Card Specification


PART III includes the behavioral specification of the PPSE and the PayPass
M/Chip 4 dual interface card application proposed by MasterCard and conforming to the requirements listed in PART II.

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

3 PayPass M/Chip 4 Application .............................................................97


3.1

Introduction..................................................................................................97
3.1.1
3.1.2
3.1.3
3.1.4

3.2
3.3

Application State Machine...........................................................................98


C-APDU PRE-PROCESSING...................................................................100
3.3.1
3.3.2
3.3.3

3.4
3.5

Command Message ...................................................................................103


Data Field Returned in the Response Message..........................................103
Processing..................................................................................................104
Destination State........................................................................................105

GET DATA ..................................................................................................105


PUT DATA...................................................................................................106
Dynamic CVC3..........................................................................................106
3.8.1
3.8.2
3.8.3

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

ICC Derived Key for CVC3 Generation (KDCVC3) ....................................106


Dynamic CVC3 Generation.......................................................................107
IVCVC3 Generation...................................................................................107

Data Elements Dictionary ..........................................................................108


3.9.1
3.9.2
3.9.3

Application Control (PayPass)..................................................................108


Application File Locator (PayPass) ..........................................................108
Application Interchange Profile (PayPass)...............................................109

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

87

Card Specification

3.9.4
3.9.5
3.9.6
3.9.7
3.9.8

Card Issuer Action Codes (PayPass) Decline, Default, Online .............109


Static CVC3TRACK1 ......................................................................................109
Static CVC3TRACK2 ......................................................................................110
IVCVC3TRACK1 ............................................................................................110
IVCVC3TRACK2 ............................................................................................110

3.10 Data Elements Location .............................................................................110


3.10.1 Transient Data Elements that Span a Single C-APDU Processing............110
3.10.2 Additional Persistent Data Elements .........................................................110
3.10.3 Secret Keys................................................................................................111

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

Application Selection Data Elements ........................................................112


COMPUTE CRYPTOGRAPHIC CHECKSUM Data Objects...............................112
Persistent Data Referenced in the AFL (PayPass).....................................113
Application Interchange Profile (PayPass)...............................................116
Persistent Data Elements for Card Risk Management...............................116
Application File Locator (PayPass) ..........................................................116
Application Control (PayPass)..................................................................117
Triple DES Key .........................................................................................117

Version 1.3 - September 2005

88

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

functionality. The loop-back functionality facilitates the compliance testing of the


PayPass M/Chip card with [ISO/IEC 14443 PAYPASS].
The PayPass M/Chip 4 application is an extension of the M/Chip 4 contact-only

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

CHECKSUM command to assure acceptance on a PayPass Mag Stripe only


terminal.
The PayPass M/Chip 4 application does not support the PDOL.
The PayPass M/Chip 4 application does not support the UDOL.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

89

Card Specification
Introduction

The PayPass M/Chip 4 application always returns CVC3TRACK1 in the response

message of the COMPUTE CRYPTOGRAPHIC CHECKSUM. The CVC3TRACK1 will


only be taken into account by the terminal if the PayPass M/Chip 4 application
also returns the Track 1 Data in the response to the READ RECORD command.
The PayPass M/Chip 4 application provides support for static CVC3TRACK1 and

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

generation of CVC3TRACK1 and CVC3TRACK2. The inclusion of the ATC in the


cryptogram generation is indicated by the Application Control and defined during
the personalization process.

Version 1.3 - September 2005

90

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

Application State Machine


The behavior of the PPSE application is specified by its state machine. The
application states used in this description are given in Table 38.
Table 38Application States of the PPSE Application
State

Description

IDLE

Application is not currently selected

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

91

Card Specification
PPSE Application

Figure 7State Machine of 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.

2.3.1 C-APDU Recognition


C-APDU recognition is specified as a procedure that identifies the C-APDU
transmitted by the terminal to the PPSE application. The recognition is based on the
CLA and INS byte. Table 39 specifies the CLA and INS coding for the PPSE
application.
Table 39C-APDU Recognition of the PPSE Application
CLA

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.

Version 1.3 - September 2005

92

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Card Specification
PPSE Application

2.3.2 C-APDU Acceptance


C-APDU acceptance is specified as the procedure that accepts or rejects the C-APDU,
depending on the application state. Acceptance or rejection of a C-APDU by the
PPSE application is specified in Table 40.
Table 40Acceptance Matrix of the PPSE Application
IDLE

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.

2.3.3 SELECT PPSE


Command Message
The SELECT command message for the PPSE is coded as specified in Section 1.1.1 of
PART II.
Response Message
The data field of the response message contains the FCI and is coded as specified in
Section 1.1.2 of PART II.
Processing
Figure 8 specifies the processing of the SELECT PPSE command.
Symbol 0
If P1 04 and P2 00, then the C-APDU is rejected (SW1-SW2 = 6A86).
Symbol 1
If the AID in the command message data field is different from the PPSE directory
name (2PAY.SYS.DDF01), then the C-APDU is rejected (SW1-SW2 = 6A82).
Symbol 2
Build the response message as specified in Section 1.1.2 of Part II.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

93

Card Specification
PPSE Application

Figure 8SELECT PPSE processing

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

Version 1.3 - September 2005

94

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Card Specification
PPSE Application

2.3.4 LOOP BACK


The LOOP BACK command returns without any further action the content of the data
field of the C-APDU in the data field of the R-APDU.
Command Message
The LOOP BACK command message is coded according to Table 42.
Table 42LOOP BACK Command Message
Code

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

DATA FIELD RESPONSE =


DATA FIELD COMMAND

SW1-SW2='9000'

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

Version 1.3 - September 2005

96

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Card Specification
PayPass M/Chip 4 Application

3 PayPass M/Chip 4 Application


3.1

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.

It is possible to know on the application layer whether the card is communicating


via the contact or the PayPass interface.

3.1.2 Data Elements


The PayPass M/Chip 4 application and the M/Chip 4 contact-only application
support a different set of data elements. In addition to the PayPass Mag Stripe
specific data elements, the PayPass M/Chip 4 application also supports six new
instances of existing M/Chip 4 contact-only application data elements: Application
Interchange Profile (PayPass), Application File Locator (PayPass), Application
Control (PayPass) and Card Issuer Action Codes (PayPass). These data elements
can not be shared between the contact and PayPass interface and need to be
personalized with a specific value for the PayPass interface. All other existing
M/Chip 4 contact-only application data elements are shared between the contact and
the PayPass interface.

3.1.3 Offline Counters


The PayPass M/Chip 4 application shares the offline risk management counters
between the contact and the PayPass interface. Taking into account that during a
PayPass transaction the card is removed after the 1st GENERATE AC command, then
the offline counters will only be updated if the transaction is accepted offline. The
counters remain unchanged if a PayPass transaction is completed online. The
counters can only be reset during an online contact transaction.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

97

Card Specification
PayPass M/Chip 4 Application

3.1.4 Log of Transactions


The PayPass M/Chip 4 application stores transaction information in the Log of
Transactions whenever a TC is generated. Therefore, the issuer should notice that
online accepted PayPass transactions may not appear in the Log of Transactions.
This is the case when the PayPass M/Chip 4 application generates an ARQC and
the terminal does not send a second GENERATE AC command.

3.2

Application State Machine


When the application is in operational phase (i.e. personalized), its behavior can be
specified as a state machine.
The application states used in this description are the same as the states defined for
the M/Chip 4 contact-only application and are listed in Table 44.
Table 44Application states of the PayPass M/Chip 4 Application
State

Description

IDLE

Application is not currently selected

SELECTED

Application is selected

INITIATED

Transaction is initiated

ONLINE

Application expects a connection with the issuer

SCRIPT

Application is ready to accept a script command

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:

If the PayPass M/Chip 4 application is in the state INITIATED, then it goes


back to the state SELECTED after the successful processing of the COMPUTE
CRYPTOGRAPHIC CHECKSUM command.

Figure 10 illustrates the state machine of the PayPass M/Chip 4 application.

Version 1.3 - September 2005

98

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Card Specification
PayPass M/Chip 4 Application

Figure 10State Machine of the 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 ET CHALLENGE (M/Chip Select only)


G ET DATA
INTERNAL A UTHENTICATE (M/Chip Select only)
V ERIFY (Contact interface only)
READ RECORD

G ENERATE AC (ARQC)

ONLINE
G ENERATE AC (TC & AAC)

ELSE

G ENERATE AC (TC & AAC)

SCRIPT

SCRIPT COMMAND

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

COMPUTE CRYPTOGRAPHIC CHECKSUM

80

AE

GENERATE AC

00

84

GET CHALLENGEb

80

CA

GET DATA

80

A8

GET PROCESSING OPTIONS

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:

Consistency between Lc and the length of data sent

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

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

3.3.2 C-APDU Acceptance


C-APDU acceptance is specified as the procedure that accepts or rejects the C-APDU
in function of the application state. Acceptance or rejection of a C-APDU by the
PayPass M/Chip 4 application is specified in Table 46. The C-APDU acceptance
procedure takes as input the response of the C-APDU recognition procedure.
If the C-APDU is accepted in the current application state (P: processed), then the CAPDU is processed as specified in Section 3.4 of PART III.
If the C-APDU is rejected in the current state (R/CNS: rejected, conditions of use not
satisfied), then the processing is specified in the section Rejected C-APDU
processing.
Table 46Acceptance Matrix
SELECTED INITIATED

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

GET PROCESSING OPTIONS

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

3.3.3 Rejected C-APDU Processing


Two reasons may lead to C-APDU rejection:

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

101

Card Specification
PayPass M/Chip 4 Application

The C-APDU is supported by the PayPass M/Chip 4 application, but the


application is in a state where it is not accepted. In this case rejection happens
during the C-APDU Acceptance procedure.

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.

The GET PROCESSING OPTIONS command accessing the Application Interchange


Profile and Application File Locator for the contact interface and the Application
Interchange Profile (PayPass) and Application File Locator (PayPass) for the
PayPass interface.

Version 1.3 - September 2005

102

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Card Specification
PayPass M/Chip 4 Application

The COMPUTE CRYPTOGRAPHIC CHECKSUM command accessing the Application


Control (PayPass) for both the contact and PayPass interface.

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

COMPUTE CRYPTOGRAPHIC CHECKSUM


3.5.1 Command Message
The COMPUTE CRYPTOGRAPHIC CHECKSUM command message is coded according to
Table 47.
Table 47COMPUTE CRYPTOGRAPHIC CHECKSUM Command Message
Code

Value

CLA

80

INS

2A

P1

8E

P2

80

Lc

04

Data

Unpredictable Number (Numeric)

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.

3.5.2 Data Field Returned in the Response Message


The data field of the response message is a constructed data object with tag 77. The
value field of the constructed data object includes the CVC3TRACK1, the CVC3TRACK2
and the ATC.
Table 48COMPUTE CRYPTOGRAPHIC CHECKSUM Response Message
Data Element

Tag

Length

Response Message Template

77

15

CVC3TRACK2

9F61

CVC3TRACK1

9F60

ATC

9F36

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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?

CVC3TRACK1 = Static CVC3TRACK1


CVC3TRACK2 = Static CVC3TRACK2

GENERATE CVC3TRACK1 and


CVC3TRACK2

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

Version 1.3 - September 2005

104

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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.

3.5.4 Destination State


The destination states for the COMPUTE CRYPTOGRAPHIC CHECKSUM command are
listed in Table 49.
Table 49Destination State for COMPUTE CRYPTOGRAPHIC CHECKSUM
Command
SW1

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

Card Issuer Action Code (PayPass) Default

00CE

Card Issuer Action Code (PayPass) Online

00CF

Card Issuer Action Code (PayPass) Decline

00D7

Application Control (PayPass)

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

Card Issuer Action Code (PayPass) Default

00CE

Card Issuer Action Code (PayPass) Online

00CF

Card Issuer Action Code (PayPass) Decline

00D7

Application Control (PayPass)

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

3.8.1 ICC Derived Key for CVC3 Generation (KDCVC3)


This section specifies the key derivation method used to generate the ICC Derived
Key for CVC3 Generation (KDCVC3).
KDCVC3 is a 16-byte DES3 key derived from the Issuer Master Key for CVC3
Generation (IMKCVC3) as follows:
1. Concatenate from left to right the PAN (without any hex F padding) with the
PAN sequence number (if the PAN sequence number is not available, then it is
replaced by a 00 byte). If the result X is less than 16 digits long, pad it to the
left with hexadecimal zeros in order to obtain an eight-byte number Y in numeric
(n) format. If X is at least 16 digits long, then Y consists of the 16 rightmost
digits of X in numeric (n) format.

Version 1.3 - September 2005

106

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Card Specification
PayPass M/Chip 4 Application

2. Compute the two eight-byte numbers:


ZL := DES3(IMKCVC3)[Y]
ZR := DES3(IMKCVC3)[Y (FF||FF||FF||FF||FF||FF||FF||FF)]
and define:
Z := (ZL || ZR).
KDCVC3 is defined to be Z, with the exception of the least significant bit of each byte
of Z which is set to a value that ensures that each of the 16 bytes of KDCVC3 has an odd
number of nonzero bits (this is to conform with the odd parity requirements for DES
keys).

3.8.2 Dynamic CVC3 Generation


The CVC3TRACK1 is generated using DES3 encipherment as follows:
1. Concatenate the data listed in Table 52 in the order specified to obtain an 8 byte
data block (D):
Table 52Track 1 CVC3 Data Elements
Data Element

Length

IVCVC3TRACK1

2 bytes

Unpredictable Number
Application Transaction Counter
a

4 bytes
a

2 bytes

If Application Control[3][7] = 0b (do not include the ATC in dynamic CVC3


generation), then the 2 bytes are filled with hexadecimal zeroes (00 00).

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.

3.8.3 IVCVC3 Generation


The IVCVC3TRACK1 and IVCVC3TRACK2 are issuer proprietary static data elements that
are used as input for the generation of the CVC3TRACK1 and CVC3TRACK2 cryptograms.
IVCVC3TRACK1 is a MAC calculated over the static part of the Track 1 Data using the
ICC Derived Key for CVC3 Generation. IVCVC3TRACK2 is a MAC calculated over the
static part of the Track 2 Data also using the ICC Derived Key for CVC3 Generation.
The MAC is generated using DES encipherment as specified in Annex A using
KDCVC3 as the key. For the generation of IVCVC3TRACK1 the message M consists of the
static part of the Track 1 Data. For the generation of IVCVC3TRACK2 the message M
consists of the static part of the Track 2 Data. The two least significant bytes of the
MAC are the IVCVC3TRACK1 or IVCVC3TRACK2.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

107

Card Specification
PayPass M/Chip 4 Application

3.9

Data Elements Dictionary


The PayPass M/Chip 4 application supports all data elements supported by the
M/Chip 4 contact-only application as listed in the Data Elements Dictionary of
[M/CHIP4]. This section lists only the additional data elements that are supported by
the PayPass M/Chip 4 application and the extensions to existing M/Chip 4 contactonly data elements. This section complements the data elements listed in Chapter 6 of
PART II.

3.9.1 Application Control (PayPass)


Tag:

D7

Format:

b, 3 bytes

Description:

The Application Control (PayPass) activates or de-activates functions


in the application when the PayPass interface is used. The PayPass
M/Chip 4 application extends the definition of the Application
Control of the M/Chip 4 contact-only application with 1 byte. This
byte allows to activate or de-activate options for the generation of the
dynamic CVC3. Table 53 shows the coding of byte 3. Byte 1 and
byte 2 are coded as the Application Control (tag D5) specified in
[M/CHIP4].
Table 53Byte 3 of the Application Control (PayPass)
b8 b7 b6 b5 b4 b3 b2 b1 Description
x

Indicate if Static CVC3 must be


used:
0b: Do not use Static CVC3
1b: Use Static CVC3
x

Include ATC in CVC3 generation


0b: Do not include ATC
1b: Include ATC
RFU

3.9.2 Application File Locator (PayPass)


Tag:

D9

Format:

b, 12 or 16 bytes

Description:

The Application File Locator (AFL) (PayPass) indicates the location


(SFI and range of records) of the AEFs when the PayPass interface is
used.

 Note

The tag D9 of the AFL (PayPass) must only be used to identify


the data element for the PUT DATA command. When the AFL
(PayPass) is returned in the response message of the GET
PROCESSING OPTIONS command, then the EMV tag 94 must be
used.

Version 1.3 - September 2005

108

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Card Specification
PayPass M/Chip 4 Application

3.9.3 Application Interchange Profile (PayPass)


Tag:

D8

Format:

b, 2 bytes

Description:

The Application Interchange Profile (AIP) (PayPass) indicates the


capabilities of the card to support specific functions in the application
when the PayPass interface is used. The AIP (PayPass) is coded as
specified in Section 6.2 of PART II.

 Note

3.9.4

The tag D8 of the AIP (PayPass) must only be used to identify


the data element for the PUT DATA command. When the AIP
(PayPass) is returned in the response message of the GET
PROCESSING OPTIONS command, then the EMV tag 82 must be
used.

Card Issuer Action Codes (PayPass) Decline,


Default, Online

Tags:

Card Issuer Action Code (PayPass) Default: CD


Card Issuer Action Code (PayPass) Online: CE
Card Issuer Action Code (PayPass) Decline: CF

Format:

b, 3 bytes

Description:

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 command.
The Card Issuer Action Codes (PayPass) are formatted as the Card
Issuer Action Codes (tags C3, C4 and C5) specified in
[M/CHIP4].

3.9.5 Static CVC3TRACK1


Tag:

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

109

Card Specification
PayPass M/Chip 4 Application

3.9.6 Static CVC3TRACK2


Tag:

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:

The IVCVC3TRACK1 is an issuer proprietary static data element that is


used as input for the generation of the CVC3TRACK1 cryptogram. Refer
to Section 3.8.3 of PART III for a detailed description of the
generation of IVCVC3TRACK1.

3.9.8 IVCVC3TRACK2
Tag:

DD

Format:

b, 2 bytes

Description:

The IVCVC3TRACK2 is an issuer proprietary static data element that is


used as input for the generation of the CVC3TRACK2 cryptogram. Refer
to Section 3.8.3 of PART III for a detailed description of the
generation of IVCVC3TRACK2.

3.10 Data Elements Location


3.10.1 Transient Data Elements that Span a Single CAPDU Processing
Some transient data elements have a lifetime that spans a single C-APDU processing.
All these transient data elements are created during application selection and are listed
in [M/CHIP4].

3.10.2 Additional Persistent Data Elements


All the persistent data elements that are listed in [M/CHIP4] are supported by the
PayPass M/Chip 4 application. Table 54 lists the additional persistent data
elements of the PayPass M/Chip 4 application and their access conditions.

Version 1.3 - September 2005

110

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Card Specification
PayPass M/Chip 4 Application

Table 54Additional Persistent Data Elements


Tag

Name

read
record

update
record

internal internal get


read
update data

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

9F68 Mag Stripe CVM List

Yes

Yes

No

No

No

No

9F6B Track 2 Data

Yes

Yes

No

No

No

No

9F6C Mag Stripe Application Yes


Version Number (Card)

Yes

No

No

No

No

CD

Card Issuer Action Code No


(PayPass) Decline

No

Yes

No

Yes

Yes

CE

Card Issuer Action Code No


(PayPass) Default

No

Yes

No

Yes

Yes

CF

Card Issuer Action Code No


(PayPass) Online

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

3.10.3 Secret Keys


All the secret keys that are listed in [M/CHIP4] are supported by the PayPass
M/Chip 4 application. Table 55 defines the additional Triple DES key for CVC3
generation that must be supported by the PayPass M/Chip 4 application.
Table 55Triple DES Key for CVC3 Generation
Data Element

length

get
data

internal
update

put
data

ICC Derived Key for CVC3 Generation


(KDCVC3)

16

No

No

No

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

When the PayPass M/Chip 4 application is personalized according to the EMV


Card Personalization Specification as defined in [M/CHIP4 CPS], then the data
groupings for the PayPass specific data elements are listed in Annex B.

3.11.1 Application Selection Data Elements


Table 56 specifies the data elements used during the application selection process.
Table 56Data Elements for Application Selection
Name

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

MasterCard or MASTERCARD Maestro or MAESTRO

3.11.2 COMPUTE CRYPTOGRAPHIC CHECKSUM Data Objects


Table 58 lists the persistent card data elements used during the generation of
CVC3TRACK1 and CVC3TRACK2.
Table 58Data Elements for CVC3 Generation
Tag

Data Element

Length
(bytes)

Format

Value

--

Static CVC3TRACK1(1)

Binary

Refer to Section 3.9.4

--

CVC3TRACK2(1)

Binary

Refer to Section 3.9.6

Binary

Refer to Section 3.9.7

Binary

Refer to Section 3.9.8

Static

--

IVCVC3TRACK1

--

IVCVC3TRACK2

(1)

(1)

Mandatory, may be filled with hexadecimal zeros if not used.

Version 1.3 - September 2005

112

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Card Specification
PayPass M/Chip 4 Application

3.11.3 Persistent Data Referenced in the AFL (PayPass)


Data objects returned by the PayPass M/Chip 4 application during the read application data process when the PayPass interface is used, have to be organized in a way as
specified in Section 5.13.1 of PART II.
The data elements listed in Table 59 are the PayPass Mag Stripe specific data
elements and are included in record 1 of the record file with SFI 1.
Table 59SFI 1 Record 1
Length
(bytes)

Presence

9F6C Mag Stripe Application Version Number (Card)

9F62 Track 1 Bit Map for CVC3 (PCVC3TRACK1)

C(1)

9F63 Track 1 Bit Map for UN and ATC (PUNATCTRACK1)

C(1)

56

var up to 76

9F64 Track 1 Nr of ATC Digits (NATCTRACK1)

C(1)

9F65 Track 2 Bit Map for CVC3 (PCVC3TRACK2)

9F66 Track 2 Bit Map for UN and ATC (PUNATCTRACK2)

9F6B Track 2 Data

var up to 19

9F67 Track 2 Nr of ATC Digits (NATCTRACK2)

9F68 Mag Stripe CVM List

var up to 32

Tag

(1)

Name

Track 1 Data

This data element must be present if Track 1 Data is present.

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

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

113

Card Specification
PayPass M/Chip 4 Application

Table 61MasterCard Mag Stripe CVM List (Online PIN + Signature +


No CVM)
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

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

Track 2 Equivalent Data

var up to 19

5A

Application Primary Account Number (PAN)

var. up to 10

5F20

Cardholder Name

var. up to 26

5F24

Application Expiry Date

5F25

Application Effective Date

5F28

Issuer Country Code

5F34

PAN Sequence Number

8C

CDOL1

var (refer to [M/CHIP4])

8D

CDOL2

var (refer to [M/CHIP4])

8E

CVM List

var

9F07

Application Usage Control

9F08

Application Version Number

9F0D

Issuer Action Code Default

9F0E

Issuer Action Code Denial

9F0F

Issuer Action Code Online

9F42

Application Currency Code

Version 1.3 - September 2005

114

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

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

SDA Tag List

var. up to 1

8F

Certification Authority Public Key Index

9F32

Issuer Public Key Exponent

var. up to 3

92

Issuer Public Key Remainder

NI-NCA+36

90

Issuer Public Key Certificate

NCA

Table 65SFI 3 Record 2


Tag

Description

Length

93

Signed Static Application Data

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

ICC Public Key Exponent

var. up to 3

9F48

ICC Public Key Remainder

NIC-NI+42

Table 67SFI 4 Record 2

 Note

Tag

Description

Length

9F46

ICC Public Key Certificate

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.

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

115

Card Specification
PayPass M/Chip 4 Application

3.11.4 Application Interchange Profile (PayPass)


The AIP (PayPass) includes the M/Chip profile is supported bit and must be
personalized as specified in Table 68 and Table 69.
Table 68Byte 1 of the Application Interchange Profile (PayPass)
b8 b7 b6 b5 b4 b3 b2 b1 Meaning
0

RFU
1

Offline static data authentication supported


0

Offline dynamic data authentication supported


1

Cardholder verification supported


1

Terminal risk management to be performed


0

Issuer authentication supported


0

RFU
a

0/1 Combined DDA GENERATE AC supported


a

0b for M/Chip 4 Lite, 1b for M/Chip 4 Select.

Table 69Byte 2 of the Application Interchange Profile (PayPass)


b8 b7 b6 b5 b4 b3 b2 b1 Meaning
1

M/Chip profile is supported


0

RFU

3.11.5 Persistent Data Elements for Card Risk


Management
The data elements listed in Table 70 are the PayPass M/Chip 4 specific data
elements for card risk management.
Table 70Persistent Data Elements for Card Risk Management
Tag

Name

Length (bytes)

CD

Card Issuer Action Code (PayPass) Decline

CE

Card Issuer Action Code (PayPass) Default

CF

Card Issuer Action Code (PayPass) Online

3.11.6 Application File Locator (PayPass)


The AFL (PayPass) of the PayPass M/Chip 4 application must be personalized as
specified in Section 5.13.2 of PART II.

Version 1.3 - September 2005

116

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Card Specification
PayPass M/Chip 4 Application

3.11.7 Application Control (PayPass)


The Application Control data element activates or de-activates functions in the application. The first byte (leftmost) of the Application Control (PayPass) must be
personalized as specified in Table 71.
Table 71Byte 1 of the Application Control (PayPass)
b8

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

Key for offline encrypted PIN


0

Offline encrypted PIN not supported


0

Offline plaintext PIN not supported


Session key derivation (0b: EPI/MCI, 1b: EMV
2000)

0/1
0/1

Encrypt offline counters (0b: Do not encrypt,


1b: Encrypt)

No specific personalization requirements exist for byte 2 and byte 3 of the Application
Control (PayPass).

3.11.8 Triple DES Key


Table 72 lists the Triple DES key used for CVC3 generation.
Table 72Triple DES Key for CVC3 Generation
Data Element

Length

ICC Derived Key for CVC3 Generation (KDCVC3)

16

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

117

Card Specification
PayPass M/Chip 4 Application

Version 1.3 - September 2005

118

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

PART IV Annexes
PART IV includes the annexes of the PayPass M/Chip Technical Specifications.

Annex A : MAC Algorithm .........................................................................121


Annex B : PayPass Data Groupings ...........................................................123

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

119

Annexes

Version 1.3 - September 2005

120

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Annexes
MAC Algorithm

Annex A: MAC Algorithm


Data integrity of a message M is achieved by generating a MAC using a 16-byte key
K as follows:
1.

An initial vector is set to eight bytes of hexadecimal zeroes.

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

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

121

Annexes
MAC Algorithm

Version 1.3 - September 2005

122

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

Annexes
PayPass Data Groupings

Annex B: PayPass Data Groupings


This annex defines the structure of the data groupings that must be used to personalize
the PayPass specific data elements when personalizing the PayPass M/Chip 4
application according to the EMV Card Personalization Specification as defined in
[M/CHIP4 CPS].

DGI B002
Data Element

Length

Application Control (PayPass)

Static CVC3TRACK1

Static CVC3TRACK2

IVCVC3TRACK1

IVCVC3TRACK2

DGI B005
Data Element

Length

Application Interchange Profile (PayPass)

Application File Locator (PayPass)

var.

DGI 8400 Encrypted


Data Element

Length

ICC Derived Key for CVC3 Generation (KDCVC3)

16

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

123

Annexes
PayPass Data Groupings

Version 1.3 - September 2005

124

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

*** End of Document ***

Version 1.3 - September 2005

2005 MasterCard International Incorporated

PayPass M/Chip Technical Specifications


Proprietary and Confidential

125

You might also like