NEO IDG Quick Reference (Rev. 151)

1. Quick Reference

This section contains tables for looking up commands, status codes, and error codes. 


1.1. Command Tables

The tables in this section organize the commands by their names and by their command number.


1.1.1. Commands Sorted by Command Name

 

Table 2: Commands Sorted by Command Name

Command

C’less or C’less + MSR

LCD

Line

US

EMV

Protocol

CMD

SUB CMD

Notes

Activate Transaction Command

2

02

01


Activate Transaction Command

2

02

40


Add Entry to EMV Exception List

2

84

09


Add Entry to EMV Revocation List

2

84

04


Antenna Control

2

28

01


Boot up Notification

2

14

01


Buzzer Control Long

2

0B

02


Buzzer Control Short

2

0B

01


Buzzer On/Off Command



n/a

2

F0

FE

a

Cancel Transaction Command

2

05

01


Check DUKPT Key

2

81

04


Check DUKPT Keys

2

81

02


Clean Torn Transaction Log

2

84

0F


Clear White List

2

2C

52


Configure Buttons Command



2

F0

F4

a

Contact Apply Host Response



2

60

12


Contact Authenticate Transaction



2

60

11


Contact Get MSR Data Control (Reader send to Host)



2

61

03


Contact Get PIN Control (Reader send to Host)



2

61

02


Contact Get Reader Status



2

60

14


Contact LCD Display Control (Reader send to Host)



2

61

01


Contact Remove Application Data



2

60

02

b

Contact Remove CA Public Key



2

60

09

b

Contact Remove Certification Revocation List



2

60

0D

b

Contact Remove Terminal Data



2

60

05

b

Contact Retrieve AID List



2

60

07

b

Contact Retrieve Application Data



2

60

01

b

Contact Retrieve CA Public Key



2

60

0A

b

Contact Retrieve CA Public Key List



2

60

0B

Contact Retrieve Certification Revocation List



2

60

0C

b

Contact Retrieve Terminal Data



2

60

04

b

Contact Retrieve Transaction Result



2

60

13

b

Contact Set Application Data



2

60

03

b

Contact Set CA Public Key



2

60

0A

b

Contact Set Certification Revocation List



2

60

0E

b

Contact Set Terminal Data



2

60

06

b

Contact Start Transaction



2

60

10

b

Contact Get ICS Identification



2

60

15

b

Contact Remove Transaction Amount Log



2

60

0F

b

Contact Set ICS Identification



2

60

16

b

Control User Interface



2

01

02


Data Exchange Request






2

02

58


Data Exchange Response






2

02

09


Delete All CA Public Keys Protocol 1


1

24

03


Delete All CA Public Keys Protocol 2


2

D0

05


Delete All Entries for Single Index in EMV Revocation List


2

84

05


Delete All Entries from EMV Exception List


2

84

0B


Delete All Entries from EMV Revocation List


2

84

06


Delete CA Public Key Protocol 1


1

24

02


Delete CA Public Key Protocol 2


2

D0

04


Delete Configurable AID

2

04

04

c

Delete Configurable Group (DCG)

2

04

05

c

Delete Entry from EMV Exception List

2

84

0A


Disable Blue LED Sequence


2

F0

F6


Enable Blue LED Sequence Command



2

F0

F7

a

Enhanced Pass-Through Command

2

2C

0B


Enhanced Poll for Token

2

2C

0C


Exchange APDU Data






2C

13


Exchange Contactless Data

2

2C

03


Felica Commands

2

2C

41


Felica Lite/Lite-S Authentication

2

2C

42


Felica Lite/Lite-S Read/Write Blocks with MAC

2

2C

43


Flush Track Data

1

17

02


Get Data encryption Key Encryption Type

2

C7

33


Get All AIDs

2

03

05

c

Get All CA Public RIDs Protocol 2

2

D0

06


Get All Groups (GAG)

2

03

07

c

Get ALL Reader Variables

2

09

00


Get ATR






2C

12


Get Button Configuration Command



2

F0

F5

c

Get Cable Type

2

32

01


Get CA Public Key Hash Protocol 2

2

D0

02


Get CA Public Key Protocol 2

2

D0

01


Get Cash Transaction Reader Risk Parameters

2

03

0C


Get Cashback Transaction Reader Risk Parameters

2

03

0D


Get Configurable AID

2

03

04

c

Get Configurable Group

2

03

06

c

Get Configuration

2

03

02


Get Contact EMV L2 Kernel Checksum

2

29

08


Get Contact EMV L2 Kernel Version

2

29

06


Get Contact EMV L2 Kernel Version Detail

2

29

07


Get Contact EMV L2 Terminal Configuration Checksum

2

29

09


Get DRL Reader Risk Parameters

2

03

0E


Get DUKPT Key Serial Number (KSN)

2

81

0A


Get DUKPT Key Serial Number Extended

2

81

0B


Get EMV Exception List

2

84

0C


Get EMV Exception Log Status

2

84

08


Get EMV Revocation List

2

84

07


Get EMV Revocation Log Status

2

84

03


Get Encrypted PIN







62

01


Get Firmware Full Version

1

29

00


Get Full Track Data

1

17

CD


Get Hardware Information

2

09

14


Get Data Encryption Enable Flag


2

C7

37


Get Data Encryption Key Variant Type


2

C7

30


Get DUKPT Key Serial Number (KSN)

2

81

0A


Get Merchant Record

2

03

11


Get Module Version Information

2

09

20


Get Main Firmware Version

2

09

03

a

Get MSR Secure Parameters





2

C7

39

a

Get PCD and PICC Parameters

2

2C

05


Get Processor Type

2

09

02


Get Product Type

2

09

01

a

Get Remote Key Injection Timeout

2

C7

2E


Get Serial Number



2

12

01


Get Transaction Result

2

03

00


Get Transaction Result

2

03

40


Get UID of MCU

2

29

17


Get USB Boot Loader Version

2

29

04

e

Get White List

2

2C

51


High Level Halt Command

2

2C

09


LCD Display Clear Command



n/a

2

F0

F9

a

LCD Display Line 1 Message Command



n/a

2

F0

FC

a

LCD Display Line 2 Message Command



n/a

2

F0

FD

a

LED Control

2

0A

02


List CA Public Key IDs or RID Protocol 2

2

D0

07


Mifare Authenticate Block

2

2C

06


Mifare ePurse Command

2

2C

0A


Mifare Read Blocks

2

2C

07


Mifare Write Blocks

2

2C

08


NFC Commands

2

2C

40


Pass-through Mode Start/Stop

2

2C

01


PCD Single Command Exchange

2

2C

04


PCD Single Command Exchange (2C-0F) with SAM Card

2

2C

0F


Peer To Peer Send A Message

2

C7

9A


Peer To Peer Receive A Message

2

C7

9B


Reset Torn Transaction Log

2

84

0E


RTC Get Date


1

25

04

d

RTC Get Time


1

25

02

d

RTC Set Date


1

25

03

d

RTC Set Time


1

25

01

d

Set Data encryption Key Encryption Type

2

C7

32


Set Baud Rate

2

30

01


Set CA Public Key Protocol 1


1

24

01


Set CA Public key Protocol 2


2

D0

03


Set Cash Transaction Reader Risk Parameters

2

04

0C


Set Cashback Transaction Reader Risk Parameters

2

04

0D


Set Cable Type

2

32

02


Set Configurable AID

2

04

02

c

Set Configurable Group

2

04

03

c

Set Configuration

2

04

00


Set Configuration Defaults and Keep Encryption Key

2

04

0A


Set DRL Reader Risk Parameters

2

04

0E


Set Data Encryption Enable Flag

2

C7

36


Set Data Encryption Key Variant Type

2

C7

2F


Set Merchant Record

2

04

11


Set MSR Secure Parameters





2

C7

38

a

Set Parameter Defaults






2

04

09


Set Poll Mode

2

01

01


Set Remote Key Injection Timeout

2

C7

2D


Set RF Error Reporting

1

17

03


Set Serial Number



2

12

02


Set/Get Source for RTC/LCD/Buzzer/LED

2

01

05


Set Temporary Baud Rate

2

30

02


Set White List

2

2C

50


Stop Transaction

2

05

02


Turn Off Yellow LED Command



n/a

2

F0

FA

a

Turn On Yellow LED Command



n/a

2

F0

FB

a

Update Balance Command


2

03

03


a ViVOpay Vendi reader only

b Contact EMV products only

c Not in Global Reader Lite (GRL)

d Real Time Clock only

e Only applies to devices with USB


1.1.2. Commands Sorted by Command Number

All commands in the following table use Protocol 2 formats (see Protocol 2 Formats) except for Get Full Track Data, Set RF Error Reporting, and Get ViVOpay Firmware Version.


Table 3: Commands Sorted by Command Number

CMD

SUB CMD

Command

C’less or C’less + MSR

LCD

Line

US

EMV

Protocol

Notes

01

01

Set Poll Mode

2


01

02

Control User Interface



2


01

05

Set/Get Source for RTC/LCD/Buzzer/LED

2


02

01

Activate Transaction Command

2


02

09

Data Exchange Response






2


02

40

Activate Transaction Command

2


02

58

Data Exhange Request






2


03

00

Get Transaction Result

2


03

40

Get Transaction Result

2


03

02

Get Configuration

2


03

03

Update Balance Command


2


03

04

Get Configurable AID

2

c

03

05

Get All AIDs

2

c

03

06

Get Configurable Group

2

c

03

07

Get All Groups

2

c

03

0C

Get Cash Transaction Reader Risk Parameters

2


03

0D

Get Cashback Transaction Reader Risk Parameters

2


03

0E

Get DRL Reader Risk Parameters

2


03

11

Get Merchant Record

2


03

40

Get Transaction Result

2


04

00

Set Configuration

2


04

02

Set Configurable AID

2

c

04

03

Set Configurable Group

2

c

04

04

Delete Configurable AID

2

c

04

05

Delete Configurable Group

2

c

04

09

Set Parameter Defaults






2


04

0A

Set Configuration Defaults and Keep Encryption Key

2


04

0C

Set Cash Transaction Reader Risk Parameters

2


04

0D

Set Cashback Transaction Reader Risk Parameters

2


04

0E

Set DRL Reader Risk Parameters

2


04

11

Set Merchant Record

2


05

01

Cancel Transaction Command

2


05

02

Stop Transaction

2


09

00

Get ALL Reader Variables

2


09

01

Get Product Type

2


09

02

Get Processor Type

2


09

03

Get Main Firmware Version

2


09

14

Get Hardware Information

2


09

20

Get Module Version Information

2


0A

02

LED Control

2


0B

01

Buzzer Control Short

2


0B

02

Buzzer Control Long

2


12

01

Get Serial Number

2


12

02

Set Serial Number

2


14

01

Boot up Notification

2


18

01

Ping

2


25

01

RTC Set Time


1

d

25

02

RTC Get Time


1

d

25

03

RTC Set Date


1

d

25

04

RTC Get Date


1

d

28

01

Antenna Control

2


29

00

Get Version Protocol 2

2


29

00

Get Firmware Full Version

1


29

04

Get USB Boot Loader Version

2

e

29

06

Get Contact EMV L2 Kernel Version




2


29

07

Get Contact EMV L2 Kernel Version Detail




2


29

08

Get Contact EMV L2 Kernel Checksum




2


29

09

Get Contact EMV L2 Terminal Configuration Checksum




2


29

17

Get UID of MCU




2


29

18

Get Firmware Library Version








32

01

Get Cable Type

2


32

02

Set Cable Type

2


2C

01

Pass-Through Mode Start/Stop

2


2C

02

Poll for Token

2


2C

03

Exchange Contactless Data

2


2C

04

PCD Single Command Exchange

2


2C

05

Get PCD and PICC Parameters

2


2C

06

Mifare Authenticate Block

2


2C

07

Mifare Read Blocks

2


2C

08

Mifare Write Blocks

2


2C

09

High Level Halt Command

2


2C

0A

Mifare ePurse Command

2


2C

0B

Enhanced Pass-Through Command

2


2C

0C

Enhanced Poll for Token

2


2C

0F

PCD Single Command Exchange (2C-0F) with SAM Card

2


2C

12

Get ATR





2


2C

13

Exchange APDU Data





2


2C

18

Contact Power Off








2C

40

NFC Commands





2


2C

41

Felica Commands





2


2C

42

Felica Lite/Lite-S Authentication





2


2C

43

Felica Lite/Lite-S Read/Write Blocks with MAC





2


2C

50

Set White List

2


2C

51

Get White List

2


2C

52

Clear White List

2


30

01

Set Baud Rate

2


30

02

Set Temporary Baud Rate

2


60

01

Contact Retrieve Application Data



2


60

02

Contact Remove Application Data



2


60

03

Contact Set Application Data



2


60

04

Contact Retrieve Terminal Data



2


60

05

Contact Remove Terminal Data



2


60

06

Contact Set Terminal Data



2


60

07

Contact Retrieve AID List



2


60

08

Contact Retrieve CA Public Key



2


60

09

Contact Remove CA Public Key



2


60

0A

Contact Set CA Public Key



2


60

0B

Contact Retrieve CA Public Key List



2


60

0C

Contact Retrieve Certification Revocation List



2


60

0D

Contact Remove Certification Revocation List



2


60

0E

Contact Set Certification Revocation List



2


60

0F

Contact Remove Transaction Amount Log



2


60

10

Contact Start Transaction



2


60

11

Contact Authenticate Transaction



2


60

12

Contact Apply Host Response



2


60

13

Contact Retrieve Transaction Result



2


60

14

Get Contact Reader Status



2


60

15

Contact Get ICS Identification



2


60

16

Contact Set ICS Identification



2


61

01

Contact LCD Display Control (Reader send to Host)



2


61

02

Contact Get PIN Control (Reader send to Host)



2


61

03

Contact Get MSR Data Control (Reader send to Host)



2


62

00

Cancel PIN or Key Entry








62

01

Display Message and Get Encrypted PIN  (Host send to Reader)








62

02

Get Function Key  (Host send to Reader)








62

03

Display Message and Get Numeric Key  (Host send to Reader)








62

04

Display Message and Get Amount  (Host send to Reader)








77

81

Set Bluetooth Parameters






2


80

00

Load Plaintext KPK Component Request








80

01

Replace KPK Request








81

00

Load Initial DUKPT Key








81

02

Check DUKPT Keys

2


81

04

Check DUKPT Key

2


81

0A

Get DUKPT Key Serial Number (KSN)

2


81

0B

Get DUKPT Key Serial Number Extended








81

40

Get and Set MAC Verification Option (for data output)








83

00

Erase All Keys








84

03

Get EMV Revocation Log Status

2


84

04

Add Entry to EMV Revocation List

2


84

05

Delete All Entries for Single Index in EMV Revocation List

2


84

06

Delete All Entries from EMV Revocation List

2


84

07

Get EMV Revocation List

2


84

08

Get EMV Exception Log Status

2


84

09

Add Entry to EMV Exception List

2


84

0A

Delete Entry from EMV Exception List

2


84

0B

Delete All Entries from EMV Exception List

2


84

0C

Get EMV Exception List

2


84

0D

Delete an Entry from EMV Revocation List

2


84

0E

Reset Torn Transaction Log

2


84

0F

Clean Torn Transaction Log

2


C7

2D

Set Remote Key Injection Timeout

2


C7

2E

Get Remote Key Injection Timeout

2


C7

2F

Set Data Encryption Key Variant Type

2


C7

30

Get Data Encryption Key Variant Type

2


C7

32

Set Data encryption Key Encryption Type

2


C7

33

Get Data encryption Key Encryption Type

2


C7

36

Set Data Encryption Enable Flag

2


C7

37

Get Data Encryption Enable Flag

2


C7

38

Set MSR Secure Parameters





2


C7

39

Get MSR Secure Parameters





2


C7

3D

Read Log








C7

9A

Peer To Peer Send A Message

2


C7

9B

Peer To Peer Receive A Message

2


C7

A1

Get PIN Encryption Mode (TDES/AES)








D0

01

Get CA Public Key

2


D0

02

Get CA Public Key Hash

2


D0

03

Set CA Public Key

2


D0

04

Delete CA Public Key

2


D0

05

Delete All CA Public Keys

2


D0

06

Get All CA Public RIDs

2


D0

07

List CA Public Key IDs or RID Protocol 2

2


F0

00

Set PMC Status

2


F0

01

Get PMC Status

2


F0

02

Get Battery Level

2


F0

0F

Shut Off the Power

2


F0

F2

LCD Display Line1 (non-block)








F0

F3

LCD Display Line2 (non-block)








F0

F4

Configure Buttons Command



2

a

F0

F5

Get Button Configuration Command



2

a

F0

F6

Disable Blue LED Sequence



n/a

2

a

F0

F7

Enable Blue LED Sequence Command



n/a

2

a

F0

F9

LCD Display Clear Command



n/a

2

a

F0

FA

Turn Off Yellow LED Command



n/a

2

a

F0

FB

Turn On Yellow LED Command



n/a

2

a

F0

FC

LCD Display Line 1 Message Command



n/a

2

a

F0

FD

LCD Display Line 2 Message Command



n/a

2

a

F0

FE

Buzzer On/Off Command



n/a

2

a

a ViVOpay Vendi reader only

c Not in Global Reader Lite (GRL)

d Real Time Clock only

e Only applies to devices with USB



1.1.3. Pass-Through Command Table

All commands in the following table use Protocol 2 formats (see Protocol 2 Formats).


Table 4: Pass-Through Command Table

Command

C’less or C’less + MSR

LCD

Line

US

EMV

Protocol

CMD

SUB CMD

Antenna Control

2

28

01

Buzzer Control Long

2

0B

02

Buzzer Control Short

2

0B

01

Enhanced Pass-Through Command

2

2C

0B

Enhanced Poll for Token

2

2C

0C

Exchange Contactless Data

2

2C

03

Get PCD and PICC Parameters

2

2C

05

High Level Halt Command

2

2C

09

LED Control

2

0A

02

Mifare Authenticate Block

2

2C

06

Mifare ePurse Command

2

2C

0A

Mifare Read Blocks

2

2C

07

Mifare Write Blocks

2

2C

08

Pass-Through Mode Start/Stop

2

2C

01

PCD Single Command Exchange

2

2C

04

Poll for Token

2

2C

02

Felica Commands

2

2C

41

Felica Lite/Lite-S Authentication

2

2C

42

Felica Lite/Lite-S Read/Write Blocks with MAC

2

2C

43

Set White List

2

2C

50

Get White List

2

2C

51

Clear White List

2

2C

52


1.1.4. EMV Key Manager Command Tables

The preferred method of accessing the Certificate Authority public keys is to use the following commands in the Protocol 2 format: (see Protocol 2)


Table 5: EMV Key Management – Protocol 2

Command

C’less or C’less + MSR

LCD

Line

US

EMV

Protocol

CMD

SUB CMD

Notes

Get CA Public Key

 

2

D0

01


Get CA Public Key Hash

 

2

D0

02


Set CA Public Key

 

2

D0

03


Delete CA Public Key

 

2

D0

04


Delete All CA Public Keys

 

2

D0

05


Get All CA Public RIDs

 

2

D0

06


List CA Public Key IDs for RID

 

2

D0

07



1.2. Status Codes

The tables in this section define status codes for Protocol 1 and Protocol 2.


1.2.1. Status Codes for Protocol 1


Table 6: Protocol 1 Status Codes

Status Code

Status

00h

OK

01h

Incorrect Frame Tag

02h

Incorrect Frame Type

03h

Unknown Frame Type

04h

Unknown Command

05h

Unknown Sub-Command

06h

CRC Error

07h

Failed

08h

Timeout

0Ah

Incorrect Parameter

0Bh

Command Not Supported

0Ch

Sub-Command Not Supported

0Dh

Parameter Not Supported / Status Abort Command

0Eh

Command not Allowed

0Fh

Sub-Command Not Allowed

57h

No payment occurred (VAS transaction)



1.2.2. Status Codes for Protocol 2

Table 7: Protocol 2 Status Codes

Status Code

Status

00h

OK

01h

Incorrect Header Tag

02h

Unknown Command

03h

Unknown Sub-Command

04h

CRC Error in Frame

05h

Incorrect Parameter

06h

Parameter Not Supported

07h

Mal-formatted Data

08h

Timeout

0Ah

Failed / NACK

0Bh

Command not Allowed

0Ch

Sub-Command not Allowed

0Dh

Buffer Overflow (Data Length too large for reader buffer)

0Eh

User Interface Event

10h

Need clear firmware (apply in boot loader only)

11h

Communication type not supported, VT-1, burst, etc.

Need encrypted firmware (apply in boot loader only)

12h

Secure interface is not functional or is in an intermediate state.

13h

Data field is not mod 8

14h

Pad 0x80 not found where expected

15h

Specified key type is invalid

16h

Could not retrieve key from the SAM (InitSecureComm)

17h

Hash code problem

18h

Could not store the key into the SAM (InstallKey)

19h

Frame is too large

1Ah

Unit powered up in authentication state but POS must resend the InitSecureComm command

1Bh

The EEPROM may not be initialized because SecCommInterface does not make sense

1CH

Problem encoding APDU

Module-Specific Status Codes[1]

20h

Unsupported Index (ILM)

SAM Transceiver error – problem communicating with the SAM (Key Mgr)

21h

Unexpected Sequence Counter in multiple frames for single bitmap (ILM)

Length error in data returned from the SAM (Key Mgr)

22h

Improper bit map (ILM)

23h

Request Online Authorization

24h

ViVOCard3 raw data read successful

25h

Message index not available (ILM)

ViVOcomm activate transaction card type (ViVOcomm)

26h

Version Information Mismatch (ILM)

27h

Not sending commands in correct index message index (ILM)

28h

Time out or next expected message not received (ILM)

29h

ILM languages not available for viewing (ILM)

2Ah

Other language not supported (ILM)

31h

Request Online PIN

41h – 4Fh

Module-specific errors for Key Manager

50h

Auto-Switch OK

51h

Auto-Switch failed

57h

No payment occurred (VAS transaction)

60h

Data not exist

61h

Data Full

62h

Write Flash Error

63h

Ok and have next command

70h

Antenna Error

Note for Kiosk III:

If antenna is disconnected when Activate Transaction(02-01) command is not received, reader will keep beeping until the antenna is connected correctly.

If Activate Transaction(02-01) command is received, and  during the polling time, antenna is disconnected, reader will waiting to the end of polling time, and return status code 08h(Time Out), then keep beeping until the antenna is connected correctly.

Reader will response 70h as status code once Activate Transaction(02-01) command is received when antenna is disconnected.  

80h

Use another card

81h

Insert or swipe card

90h

Data encryption Key does not exist

91h

Data encryption Key KSN exhausted


1.3. Error Codes


Table 8: Error Codes

Error Code

Description

Reason for Error and Suggested Error Handling

00h

No Error

None.

01h

Out of Sequence Command

Reader did not receive commands in the correct order. Correct the Terminal application to send serial commands in the correct sequence.

02h

Go to Contact  Interface

The contactless transaction failed.

 

If the reader supports a contact interface, advise the user to complete the transaction on the contact interface.

Previously, this error code was used if the reader supported another interface (beside the contact interface).  Integrators should use error code 04h Go to Other Interface instead.  The previous use has been deprecated.

03h

Transaction Amount is Zero

If the transaction amount is zero and the terminal is “an offline only terminal” then reader needs to terminate the transaction.

04h

Go To Other Interface

The transaction has failed.

 

If the reader supports another interface, advise the user to complete the transaction on the other interface.

05h

Go To Nearby Interface

The transaction has failed.

If there is another nearby contact interface, advise the user to complete the transaction on the nearby contact interface.  This situation might be a case where there are multiple pay stations, but only one of them has a contact interface.

06h

Go To MagStripe Interface

The transaction has failed.

If the reader has a MagStripe interface, advise the user to complete the transaction using the MagStripe interface.

08h

Transaction Timeout

The transaction timed out. Restart the transaction.

20h

Card returned Error Status

Card returned SW1SW2 not equal to 9000 hex. Value of the SW1SW2 bytes from the Card is returned in the Data portion of the Response Frame. Details of what the SW1SW2 codes mean for each RF State are Card dependent and are out of the scope of this document.

How the terminal handles this error depends on when the error occurs in the transaction flow. The RF State Code (see section on RF State Codes) indicates the transaction state when the error occurred. Suggested error handling for individual RF State Codes is given below:

 

RF State Code = PPSE:

If RF State Code = SELECT:

If RF State Code = GPO:

If RF State Code = READ RECORD:

If RF State Code = GET DATA (Ticket):

If RF State Code = GET DATA (Ticketing Profile):

If RF State Code = GET DATA (Balance):

If RF State Code = PUT DATA (Ticket):

The terminal can retry the transaction or abandon it.

If RF State Code = GEN AC:

For Credit transactions:

The terminal can retry the transaction or abandon it.

21h

Collision Error

There was more than one contactless card in the reader’s range.

22h

Amount Over Maximum Limit

The Transaction Amount is greater than Terminal Contactless Transaction Limit (FFF1).

23h

Request Online Authorization

If the Transaction Amount is greater than the Balance on the card but is less than the Terminal Contactless Transaction Limit (FFF1), the reader sends this error code back to the terminal along with other information needed by the acquirer to format an online authorization request.

24h

Card Communication Error

A communication error occurred while interacting with the card.  An example might be the card was removed from the field.

25h

Card Blocked

If the card is not supported by the reader according to the value of parameter Application Capability (FFF3) this error code is sent to the terminal.

26h

Card Expired

This error code is sent to the terminal if the current date of the reader is greater than the expiration date of the card. This status code is only valid for qVSDC cards.

27h

Unsupported Card

Card presented to the reader is of a type that is not supported by the reader. This could be due to presenting a card with an AID that is not recognized by the reader.

30h

Card did not respond

Card was removed from the field or there was a Communication Error preventing the card response from reaching the reader. How the terminal handles this error depends on when in the transaction the error occurred. The RF State Code (see section on RF State Codes) indicates the transaction state when the error occurred. Suggested error handling for each RF State Code is given below:

 

RF State Code = PPSE:

The terminal can retry the transaction or abandon it.

If RF State Code = SELECT:

The terminal can retry the transaction or abandon it.

If RF State Code = GPO:

The terminal can retry the transaction or abandon it.

If RF State Code = READ RECORD:

The terminal can retry the transaction or abandon it.

If RF State Code = GEN AC:

For Credit transactions:

The terminal can retry the transaction or abandon it.

If RF State Code = GET DATA (Ticket):

If RF State Code = GET DATA (Ticketing Profile):

If RF State Code = GET DATA (Balance):

If RF State Code = PUT DATA (Ticket):

40h

Unknown Data Element Error

The data element is unknown.

41h

Data Element Missing

A mandatory/required data element was missing from the card.

42h

Card Generated AAC

The card declined the transaction by sending an AAC instead of a TC.

43h

Card Generated ARQC

This error code would be returned if the card generated an ARQC and the terminal/reader was configured as “Offline Only”; therefore the card was DECLINED.

44h

SDA/DDA Failed (Not Supported by Card)

Card did not indicate support for the correct authentication method and date authentication failed. For Visa, when DDA is required, the card must indicate support for DDA in AIP. If this support is not indicated then the transaction fails and this error code is returned.

50h

SDA/DDA/CDDA Failed (CA Public Key)

Data Authentication failed due to missing CA Public Key.

Retrying the transaction does not correct the error until the missing CA Public Key problem is corrected via Key Management commands.

51h

SDA/DDA/CDDA Failed (Issuer Public Key)

Data Authentication failed due to a problem in recovering the Issuer Public Key from the card data. Data on the card may be incorrect or the reader has the wrong CA Public Key.
The transaction continues to fail until the Issuer Public Key and the CA Public Key are correct.

52h

SDA Failed (SSAD)

Data Authentication failed during SSAD. Retrying the transaction does not correct the error.

53h

DDA/CDDA Failed (ICC Public Key)

Data Authentication failed during attempted recovery of ICC Public Key. Retrying the transaction does not correct the error.

54h

DDA/CDDA Failed (Dynamic Signature Verification)

Data Authentication failed during Dynamic Signature Verification. Retrying the transaction does not correct the error:

At this point, the amount has been deducted from the Card Balance.

55h

Processing Restrictions Failed

The Processing Restrictions step as defined in EMV Specifications failed. This could be due to incorrectly set configuration. Retrying the transaction does not correct the error until the EMV configuration is corrected.

56h

Terminal Risk Management (TRM) Failed

The Terminal Risk Management step as defined in EMV Specifications failed. This could be due to incorrectly set configuration. Retrying the transaction does not correct the error until the EMV configuration is corrected.

57h

Cardholder Verification Failed

The Cardholder Verification step as defined in EMV Specifications failed. This could be due to incorrectly set configuration. Retrying the transaction does not correct the error until the EMV configuration is corrected.

58h

Terminal Action Analysis (TAA) Failed

The Terminal Action Analysis step as defined in EMV Specifications failed. This could be due to incorrectly set configuration. Retrying the transaction does not correct the error until the EMV configuration is corrected.

59h

Card Expired (Interac)

This error code is sent to the terminal if the current date of the reader is greater than the expiration date of the card. This status code is only valid for qVSDC cards. (Terminated)

5Ah

Cardholder Verification Failed

(Interac)

The Cardholder Verification step as defined in EMV Specifications failed. This could be due to incorrectly set configuration. Retrying the transaction does not correct the error until the EMV configuration is corrected. (Terminated)

61h

SD Memory Error

This error is reported only when trying to retrieve Transaction Logs. This error is never reported during a transaction.

62h

Generic Error

This is a generic / general error that is reported when a more specific reason for the error is not known.

63h

Card returned Data Element Error

Returned card data element is invalid.

73h

Torn Transaction Log Error

An error occurred while attempting to clean the torn transaction log.  This might occur if the reader could not read the time and date from the real time clock.

80h

No Merchants have been configured

This error usually occurred while MerchantID is empty.

81h

TLV Parse Failure

This error usually occurred while fail to TLV parsing card response data.

82h

Merchant Data Error

This error usually occurred while no merchant data returned from card.

83h

System Memory Error

This error usually occurred while fail to read or write system memory.

84h

Application Skip Error

This error usually occurred while configuration isn’t consistent on whether or not to skip payment application

85h

Application Version Error

This error usually occurred while application version number is incorrect.

88h

LTPK Error

This error code indicates the LTPK (long term private key) hasn’t been loaded.


If an error occurs during a transaction and the terminal determines that the reader must perform exception processing, then the terminal must retry the transaction until the transaction has been completed successfully or the terminal decides to abort it. The retries must be continued even if successive transactions fail with conditions that do not require exception processing. This must be done to allow the reader to complete exception processing (even if there are failures during exception processing).

Under certain conditions, such as when a customer walks away or there is a problem with the card, the terminal may want to abort the retries even if the reader has not been able to complete exception processing. How and when the terminal stops retrying is out of the scope of this document.


1.4. RF State Codes

For some Error Codes, the RF State Code indicates the exact Reader-Card command that failed. This helps determine the exact place where the failure occurred.


Table 9: RF State Codes

State Code

RF State

Description

00h

None

RF State Code not available

01h

PPSE

Error occurred during PPSE command

02h

SELECT

Error occurred during SELECT command

03h

GPO

Error occurred during GET PROCESSING OPTIONS command

04h

READ RECORD

Error occurred during READ RECORD command

05h

GEN AC

Error occurred during GEN AC command

06h

CCC

Error occurred during CCC command

07h

IA

Error occurred during IA command

08h

SDA

Error occurred during SDA processing

09h

DDA

Error occurred during DDA processing

0ah

CDA

Error occurred during CDA processing

0bh

TAA

Error occurred during TAA processing

0ch

UPDATE RECORD

Error occurred during UPDATE RECORD command

10h

GET DATA (Ticket)

Error occurred during GET DATA command to retrieve the Ticket

11h

GET DATA (Ticketing Prof)

Error occurred during GET DATA command to retrieve the Ticketing Profile

12h

GET DATA (Balance)

Error occurred during GET DATA command to retrieve the Balance

13h

GET DATA (All)

Error occurred during GET DATA command to retrieve all data

20h

PUT DATA (Ticket)

Error occurred during PUT DATA command to retrieve the Ticket

 

1.5. EMV Result Codes (Tag DFEE25)

For contact EMV transactions, a two-byte result code may be returned in DFEE25. Check the contents of tag DFEE25, when it occurs, and interpret the results as follows.


NOTE: The result code is always two bytes long. The bottom two bits of the first byte are flags. If the zero bit is set, it means there was "advice." If the 1 bit was set, it means there was a "reversal." For example, 0203 means there was a reversal (02) and the result was 03 (declined).


Table 10: EMV Result Codes

Message

Code

EMV_RESULT_CODE_APPROVED_OFFLINE

 0x0000

EMV_RESULT_CODE_DECLINED_OFFLINE

 0x0001

EMV_RESULT_CODE_APPROVED

 0x0002

EMV_RESULT_CODE_DECLINED

 0x0003

EMV_RESULT_CODE_GO_ONLINE

 0x0004

EMV_RESULT_CODE_CALL_YOUR_BANK

 0x0005

EMV_RESULT_CODE_NOT_ACCEPTED

 0x0006

EMV_RESULT_CODE_FALLBACK_TO_MSR

 0x0007

EMV_RESULT_CODE_TIMEOUT

 0x0008

EMV_RESULT_CODE_GO_ONLINE_CTLS

 0x0009*

EMV_RESULT_CODE_AUTHENTICATE_TRANSACTION   

 0x0010

EMV_RESULT_CODE_TRANSACTION_CANCELED

 0x0012*

EMV_RESULT_CODE_SWIPE_NON_ICC

 0x0011*

EMV_RESULT_CODE_CTLS_TWO_CARDS

 0x007A*

EMV_RESULT_CODE_CTLS_TERMINATE

 0x007E*

EMV_RESULT_CODE_CTLS_TERMINATE_TRY_ANOTHER

 0x007D*

EMV_RESULT_CODE_UNABLE_TO_REACH_HOST

 0x00FF*

EMV_RESULT_CODE_FILE_ARG_INVALID

 0x1001

EMV_RESULT_CODE_FILE_OPEN_FAILED

 0x1002

EMV_RESULT_CODE_FILE_OPERATION_FAILED

 0x1003

EMV_RESULT_CODE_MEMORY_NOT_ENOUGH

 0x2001

EMV_RESULT_CODE_SMARTCARD_OK

 0x3001

EMV_RESULT_CODE_SMARTCARD_FAIL

 0x3002

EMV_RESULT_CODE_SMARTCARD_INIT_FAILED

 0x3003

EMV_RESULT_CODE_FALLBACK_SITUATION

 0x3004

EMV_RESULT_CODE_SMARTCARD_ABSENT

 0x3005

EMV_RESULT_CODE_SMARTCARD_TIMEOUT

 0x3006

EMV_RESULT_CODE_MSR_CARD_ERROR

 0x3007

EMV_RESULT_CODE_TIMEOUT_FOR_WAITING_ICC_INSERT_OR_MSR_SWIPE_FALLBACK

 0x3013*

EMV_RESULT_CODE_PARSING_TAGS_FAILED

 0x5001

EMV_RESULT_CODE_CARD_DATA_ELEMENT_DUPLICATE

 0x5002

EMV_RESULT_CODE_DATA_FORMAT_INCORRECT

 0x5003

EMV_RESULT_CODE_APP_NO_TERM

 0x5004

EMV_RESULT_CODE_APP_NO_MATCHING

 0x5005

EMV_RESULT_CODE_MANDATORY_OBJECT_MISSING

 0x5006

EMV_RESULT_CODE_APP_SELECTION_RETRY

 0x5007

EMV_RESULT_CODE_AMOUNT_ERROR_GET

 0x5008

EMV_RESULT_CODE_CARD_REJECTED

 0x5009

EMV_RESULT_CODE_AIP_NOT_RECEIVED

 0x5010

EMV_RESULT_CODE_AFL_NOT_RECEIVED

 0x5011

EMV_RESULT_CODE_AFL_LEN_OUT_OF_RANGE

 0x5012

EMV_RESULT_CODE_SFI_OUT_OF_RANGE

 0x5013

EMV_RESULT_CODE_AFL_INCORRECT

 0x5014

EMV_RESULT_CODE_EXP_DATE_INCORRECT

 0x5015

EMV_RESULT_CODE_EFF_DATE_INCORRECT

 0x5016

EMV_RESULT_CODE_ISS_COD_TBL_OUT_OF_RANGE

 0x5017

EMV_RESULT_CODE_CRYPTOGRAM_TYPE_INCORRECT

 0x5018

EMV_RESULT_CODE_PSE_BY_CARD_NOT_SUPPORTED

 0x5019

EMV_RESULT_CODE_USER_LANGUAGE_SELECTED

 0x5020

EMV_RESULT_CODE_SERVICE_NOT_ALLOWED

 0x5021

EMV_RESULT_CODE_NO_TAG_FOUND

 0x5022

EMV_RESULT_CODE_CARD_BLOCKED

 0x5023

EMV_RESULT_CODE_LEN_INCORRECT

 0x5024

EMV_RESULT_CODE_CARD_COM_ERROR

 0x5025

EMV_RESULT_CODE_TSC_NOT_INCREASED

 0x5026

EMV_RESULT_CODE_HASH_INCORRECT

 0x5027

EMV_RESULT_CODE_ARC_NOT_PRESENCED

 0x5028

EMV_RESULT_CODE_ARC_INVALID

 0x5029

EMV_RESULT_CODE_COMM_NO_ONLINE

 0x5030

EMV_RESULT_CODE_TRAN_TYPE_INCORRECT

 0x5031

EMV_RESULT_CODE_APP_NO_SUPPORT

 0x5032

EMV_RESULT_CODE_APP_NOT_SELECT

 0x5033

EMV_RESULT_CODE_LANG_NOT_SELECT

 0x5034

EMV_RESULT_CODE_TERM_DATA_NOT_PRESENCED

 0x5035

EMV_RESULT_CODE_BLOCK_CARD_AID

 0x5036

EMV_RESULT_CODE_CVM_TYPE_UNKNOWN

 0x6001

EMV_RESULT_CODE_CVM_AIP_NOT_SUPPORTED

 0x6002

EMV_RESULT_CODE_CVM_TAG_8E_MISSING

 0x6003

EMV_RESULT_CODE_CVM_TAG_8E_FORMAT_ERROR

 0x6004

EMV_RESULT_CODE_CVM_CODE_IS_NOT_SUPPORTED

 0x6005

EMV_RESULT_CODE_CVM_COND_CODE_IS_NOT_SUPPORTED

 0x6006

EMV_RESULT_CODE_CVM_NO_MORE

 0x6007

EMV_RESULT_CODE_PIN_BYPASSED_BEFORE

 0x6008

EMV_RESULT_CODE_PK_BUFFER_SIZE_TOO_BIG

 0x7001

EMV_RESULT_CODE_PK_FILE_WRITE_ERROR

 0x7002

EMV_RESULT_CODE_PK_HASH_ERROR

 0x7003

EMV_RESULT_CODE_CARD_HOLDER_CONFIRMATION_NOT_PRESENCED

 0x8002

EMV_RESULT_CODE_ONLINE_PIN_GET

 0x8003

EMV_RESULT_CODE_UNKNOWN

 0xFFFF*

 

* This EMV result code is not supported by VP3300.


[1] Status codes in this range are “module-specific” so that their values can be re-used by different modules.  The meaning of these codes may depend on which command is being issued.  An exception is 23h, which is used generally.