# EMVL2 CLSS Library (/global/en/docs/Terminal/EMVL2/EMV-API/EMVL2-CLSS-Library)

---

## Preface

### Audience

This is the Library Programmers Manual for NEWLAND EMV CLSS L2 Library. This document describes the EMV CLSS L2 Library function calls to perform an EMV CLSS transaction. This Document uses NEWLAND NAPI.

This document is intended for application developers who use EMV CLSS L2 Library to develop EMV chip-based payment applications. It is assumed that applications are being developed in the C programming environment.

### Conventions

presents acronyms and their definitions.

| Acronym   | Definition                                       |   |
| :-------- | :----------------------------------------------- | - |
| **AAC**   | Application Authentication Cryptogram            |   |
| **AAR**   | Application Authorization Referral               |   |
| **AC**    | Application Cryptogram                           |   |
| **AFL**   | Application File Locator                         |   |
| **AID**   | Application Identifier                           |   |
| **AIP**   | Application Interchange Profile                  |   |
| **API**   | Application Programming Interface                |   |
| **ARPC**  | Authorization Response Cryptogram                |   |
| **ARQC**  | Authorization Request Cryptogram                 |   |
| **ATC**   | Application Transaction Counter                  |   |
| **ATR**   | Answer To Reset                                  |   |
| **ARC**   | Authorization Response Code                      |   |
| **AVN**   | Application Version Numbers                      |   |
| **CAPK**  | Certification Authority Public Key               |   |
| **CDA**   | Combined dynamic Data Authentication/Generate AC |   |
| **CID**   | Cryptogram Information Data                      |   |
| **CSN**   | Certificate Serial Number                        |   |
| **CVM**   | Cardholder Verification Method                   |   |
| **CVR**   | Card Verification Results                        |   |
| **DDA**   | Dynamic Data Authentication                      |   |
| **DDOL**  | Dynamic data authentication Data Object List     |   |
| **EMV**   | EuroPay, MasterCard, VISA                        |   |
| **ICC**   | Integrated Circuit Card                          |   |
| **IFD**   | Interface Device                                 |   |
| **LOATC** | Last Online Application Transaction Counter      |   |
| **PAN**   | Primary Account Number                           |   |
| **PDOL**  | Processing options Data Object List              |   |
| **PIN**   | Personal Identification Number                   |   |
| **POS**   | Point Of Service or Sale                         |   |
| **PSE**   | Payment System Environment                       |   |
| **RID**   | Registered application provider IDentifier       |   |
| **SDA**   | Static Data Authentication                       |   |
| **SFI**   | Short File Index                                 |   |
| **TAC**   | Terminal Action Code(s)                          |   |
| **TC**    | Transaction Certificate                          |   |
| **TDOL**  | Transaction certificate Data Object List         |   |
| **TLV**   | Tag Length Value                                 |   |
| **TSI**   | Transaction Status Information                   |   |
| **TVR**   | Terminal Verification Results                    |   |

---

## Initialization

Use the function `NAPI_CLL2_SetCallbackFunction` to set the callback function. To set the `NAPI_CLL2_EntryPointSetEmvConfig` to initialize the terminal configuration parameter, and then use the `NAPI_CLL2_EntryPointInitialize` Initialize the file path, use `NAPI_CLL2_EntryPointSetTerminalAid` to input the terminal aid parameter.

### NAPI\_CLL2\_SetCallbackFunction:

|                 |                                                                                           |   |
| :-------------- | :---------------------------------------------------------------------------------------- | - |
| **Function**    | `Void NAPI_CLL2_SetCallbackFunction(unsigned int callbackFuncId, void *callbackFunction)` |   |
| **Description** | Callback function setup.                                                                  |   |
| **Parameter**   | `callbackFuncId` In  `*callbackFunction` In                                               |   |
| **Return**      | NULL                                                                                      |   |

### NAPI\_CLL2\_EntryPointSetEmvConfig:

|                 |                                                              |   |
| :-------------- | :----------------------------------------------------------- | - |
| **Function**    | `Void NAPI_CLL2_EntryPointSetEmvConfig(STCONFIG *pstConfig)` |   |
| **Description** | set terminal config data                                     |   |
| **Parameter**   | `*pstConfig` In                                              |   |
| **Return**      | NULL                                                         |   |

### NAPI\_CLL2\_EntryPointInitialize:

|                 |                                                                |   |
| :-------------- | :------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_EntryPointInitialize(char *path)`               |   |
| **Description** | Incoming the file path, the related file path of the libs need |   |
| **Parameter**   | `*path` In                                                     |   |
| **Return**      | `0`  `<0`                                                      |   |

### NAPI\_CLL2\_EntryPointSetTerminalAid:

|                 |                                                                                    |   |
| :-------------- | :--------------------------------------------------------------------------------- | - |
| **Function**    | `Void NAPI_CLL2_EntryPointSetTerminalAid(STTERMINALAID *pstTermAids, int nAidAmt)` |   |
| **Description** | set terminal configuration data                                                    |   |
| **Parameter**   | `*pstTermAids` In  `nAidAmt` In                                                    |   |
| **Return**      | NULL                                                                               |   |

### NAPI\_CLL2\_SetCustomerTagList:

|                 |                                                                                |   |
| :-------------- | :----------------------------------------------------------------------------- | - |
| **Function**    | `Int NAPI_CLL2_SetCustomerTagList(unsigned int *punCustomerTag, int nTagCont)` |   |
| **Description** | set Customer Tag List data                                                     |   |
| **Parameter**   | `*punCustomerTag` In  `nTagCont` In                                            |   |
| **Return**      | Int                                                                            |   |

---

## Transaction

The npt supports a variety of contactless transaction. Include paypass, paywave, expresspay, jcb, unionpay, d-pas, interac, rupay, mir, multibanco, pure. This chapter mainly introduces the transacion execution interface.

### Entrypoint

#### NAPI\_CLL2\_EntryPointProcess:

|                 |                                                                                                                                                                                                                                                                                                              |   |
| :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_EntryPointProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                                                               |   |
| **Description** | 1. Non-contact trading pre-processing function. Call this function first, carries on the pre-processing.  2. Call this function second, the function returns successfully, then according to the return of the corresponding kernel ID activation related transactions continue to complete the transaction. |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                                                                      |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_ACTIVECARD`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_ACTIVE_KERNEL`                                                                                                                                                                                                |   |

#### NAPI\_CLL2\_EntryPointSuspend:

|                 |                                                    |   |
| :-------------- | :------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_EntryPointSuspend(int trans_final)` |   |
| **Description** | Finish a contactless transaction                   |   |
| **Parameter**   | `trans_final` in                                   |   |
| **Return**      | `0`                                                |   |

### Paypass

#### NAPI\_CLL2\_PayPassProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_PayPassProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                      |   |
| **Description** | Process a Paypass transaction                                                                                                                                                                                                                                    |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_PayPassSuspend:

|                 |                                                 |   |
| :-------------- | :---------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_PayPassSuspend(int trans_final)` |   |
| **Description** | Finish a PayPass transaction                    |   |
| **Parameter**   | `trans_final` in                                |   |
| **Return**      | `0`                                             |   |

### Paywave

#### NAPI\_CLL2\_PayWaveProcess:

|                 |                                                                                                                                                                                                                                                                                         |   |
| :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_PayWaveProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                                             |   |
| **Description** | Process a Paywave transaction                                                                                                                                                                                                                                                           |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                                                 |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_DOWN_CARD`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_PayWaveSuspend:

|                 |                                                 |   |
| :-------------- | :---------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_PayWaveSuspend(int trans_final)` |   |
| **Description** | Finish a PayWave transaction                    |   |
| **Parameter**   | `trans_final` in                                |   |
| **Return**      | `0`                                             |   |

### Expresspay

#### NAPI\_CLL2\_ExpressPayProcess:

|                 |                                                                                                                                                                                                                                                                                                     |   |
| :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_ExpressPayProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                                                      |   |
| **Description** | Process a ExpressPay transaction                                                                                                                                                                                                                                                                    |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                                                             |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_CONTACTLESS_NOTPER`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_ExpressPaySuspend:

|                 |                                                    |   |
| :-------------- | :------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_ExpressPaySuspend(int trans_final)` |   |
| **Description** | Finish a ExpressPay transaction                    |   |
| **Parameter**   | `trans_final` in                                   |   |
| **Return**      | `0`                                                |   |

### Qpboc/Quics

#### NAPI\_CLL2\_QpbocProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_QpbocProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                        |   |
| **Description** | Process a Qpboc transaction                                                                                                                                                                                                                                      |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_QpbocSuspend:

|                 |                                               |   |
| :-------------- | :-------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_QpbocSuspend(int trans_final)` |   |
| **Description** | Finish a Qpboc transaction                    |   |
| **Parameter**   | `trans_final` in                              |   |
| **Return**      | `0`                                           |   |

### Dpas(Discover/Diners)

#### NAPI\_CLL2\_DiscoverPayProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_DiscoverPayProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                  |   |
| **Description** | Process a D-pas transaction                                                                                                                                                                                                                                      |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_DiscoverPaySuspend:

|                 |                                                     |   |
| :-------------- | :-------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_DiscoverPaySuspend(int trans_final)` |   |
| **Description** | Finish a D-pas transaction                          |   |
| **Parameter**   | `trans_final` in                                    |   |
| **Return**      | `0`                                                 |   |

### Pure(MCCS/Mada)

#### NAPI\_CLL2\_PureProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_PureProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                         |   |
| **Description** | Process a Pure transaction                                                                                                                                                                                                                                       |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_PureSuspend:

|                 |                                              |   |
| :-------------- | :------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_PureSuspend(int trans_final)` |   |
| **Description** | Finish a Pure transaction                    |   |
| **Parameter**   | `trans_final` in                             |   |
| **Return**      | `0`                                          |   |

### JCB

#### NAPI\_CLL2\_JCBProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_JCBProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                          |   |
| **Description** | Process a JCB transaction                                                                                                                                                                                                                                        |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_JCBSuspend:

|                 |                                             |   |
| :-------------- | :------------------------------------------ | - |
| **Function**    | `int NAPI_CLL2_JCBSuspend(int trans_final)` |   |
| **Description** | Finish a JCB transaction                    |   |
| **Parameter**   | `trans_final` in                            |   |
| **Return**      | `0`                                         |   |

### Interac

#### NAPI\_CLL2\_InteracProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_InteracProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                      |   |
| **Description** | Process an Interac transaction                                                                                                                                                                                                                                   |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_InteracSuspend:

|                 |                                                 |   |
| :-------------- | :---------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_InteracSuspend(int trans_final)` |   |
| **Description** | Finish an Interac transaction                   |   |
| **Parameter**   | `trans_final` in                                |   |
| **Return**      | `0`                                             |   |

### Rupay

#### NAPI\_CLL2\_RupayProcess:

|                 |                                                                                                                                                                                                                                                                                                                                                  |   |
| :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_RupayProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                                                                                                        |   |
| **Description** | Process a Rupay transaction                                                                                                                                                                                                                                                                                                                      |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MCHIP_GOONLINE_LONGTAP`  `EMV_TRANS_RF_MCHIP_GOONLINE_ONLINETAP`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_RupaySuspend:

|                 |                                               |   |
| :-------------- | :-------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_RupaySuspend(int trans_final)` |   |
| **Description** | Finish a Rupay transaction                    |   |
| **Parameter**   | `trans_final` in                              |   |
| **Return**      | `0`                                           |   |

### MIR

#### NAPI\_CLL2\_MIRProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_MIRProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                          |   |
| **Description** | Process a MIR transaction                                                                                                                                                                                                                                        |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_MIRSuspend:

|                 |                                             |   |
| :-------------- | :------------------------------------------ | - |
| **Function**    | `int NAPI_CLL2_MIRSuspend(int trans_final)` |   |
| **Description** | Finish a MIR transaction                    |   |
| **Parameter**   | `trans_final` in                            |   |
| **Return**      | `0`                                         |   |

### Multibanco

#### NAPI\_CLL2\_MultibancoProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_MultibancoProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                   |   |
| **Description** | Process a Multibanco transaction                                                                                                                                                                                                                                 |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_MultibancoSuspend:

|                 |                                                    |   |
| :-------------- | :------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_MultibancoSuspend(int trans_final)` |   |
| **Description** | Finish a Multibanco transaction                    |   |
| **Parameter**   | `trans_final` in                                   |   |
| **Return**      | `0`                                                |   |

### Cpace

#### NAPI\_CLL2\_CpaceProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_CpaceProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                        |   |
| **Description** | Process a Cpace transaction                                                                                                                                                                                                                                      |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_CpaceSuspend:

|                 |                                               |   |
| :-------------- | :-------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_CpaceSuspend(int trans_final)` |   |
| **Description** | Finish a Cpace transaction                    |   |
| **Parameter**   | `trans_final` in                              |   |
| **Return**      | `0`                                           |   |

### Bancomat

#### NAPI\_CLL2\_BancomatProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_BancomatProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                     |   |
| **Description** | Process a Bancomat transaction                                                                                                                                                                                                                                   |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_BancomatSuspend:

|                 |                                                  |   |
| :-------------- | :----------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_BancomatSuspend(int trans_final)` |   |
| **Description** | Finish a Bancomat transaction                    |   |
| **Parameter**   | `trans_final` in                                 |   |
| **Return**      | `0`                                              |   |

### Eftpos

#### NAPI\_CLL2\_EftposProcess:

|                 |                                                                                                                                                                                                                                                                  |   |
| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_EftposProcess(entry_point_opt *popt, TRF_transData *pdata)`                                                                                                                                                                                       |   |
| **Description** | Process an Eftpos transaction                                                                                                                                                                                                                                    |   |
| **Parameter**   | `*popt` In  `*pdata` In                                                                                                                                                                                                                                          |   |
| **Return**      | `EMV_TRANS_RF_TERMINATE`  `EMV_TRANS_RF_MCHIP_ACCEPT`  `EMV_TRANS_RF_MCHIP_DENIAL`  `EMV_TRANS_RF_MCHIP_GOONLINE`  `EMV_TRANS_RF_MAG_GOONLINE`  `EMV_TRANS_RF_MAG_ACCEPT`  `EMV_TRANS_RF_TRYOTHERINT`  `EMV_TRANS_RF_SELECT_NEXT_AID`  `EMV_TRANS_RF_MAG_DENIAL` |   |

#### NAPI\_CLL2\_EftposSuspend:

|                 |                                                |   |
| :-------------- | :--------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_EftposSuspend(int trans_final)` |   |
| **Description** | Finish an Eftpos transaction                   |   |
| **Parameter**   | `trans_final` in                               |   |
| **Return**      | `0`                                            |   |

---

## Function

### Get Version

#### NAPI\_CLL2\_EntryPointGetVersion:

|                 |                                                     |   |
| :-------------- | :-------------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_EntryPointGetVersion(void)` |   |
| **Description** | Get Entrypoint Version                              |   |
| **Parameter**   | NULL                                                |   |
| **Return**      | Entrypoint Version                                  |   |

#### NAPI\_CLL2\_PaypassGetVersion:

|                 |                                                  |   |
| :-------------- | :----------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_PaypassGetVersion(void)` |   |
| **Description** | Get Paypass Version                              |   |
| **Parameter**   | NULL                                             |   |
| **Return**      | Paypass Version                                  |   |

#### NAPI\_CLL2\_PaywaveGetVersion:

|                 |                                                  |   |
| :-------------- | :----------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_PaywaveGetVersion(void)` |   |
| **Description** | Get Paywave Version                              |   |
| **Parameter**   | NULL                                             |   |
| **Return**      | Paywave Version                                  |   |

#### NAPI\_CLL2\_QpbocGetVersion:

|                 |                                                |   |
| :-------------- | :--------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_QpbocGetVersion(void)` |   |
| **Description** | Get Qpboc Version                              |   |
| **Parameter**   | NULL                                           |   |
| **Return**      | Qpboc Version                                  |   |

#### NAPI\_CLL2\_ExpresspayGetVersion:

|                 |                                                     |   |
| :-------------- | :-------------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_ExpresspayGetVersion(void)` |   |
| **Description** | Get Expresspay Version                              |   |
| **Parameter**   | NULL                                                |   |
| **Return**      | Expresspay Version                                  |   |

#### NAPI\_CLL2\_DiscoverpayGetVersion:

|                 |                                                      |   |
| :-------------- | :--------------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_DiscoverpayGetVersion(void)` |   |
| **Description** | Get D-pas Version                                    |   |
| **Parameter**   | NULL                                                 |   |
| **Return**      | D-pas Version                                        |   |

#### NAPI\_CLL2\_PureGetVersion:

|                 |                                               |   |
| :-------------- | :-------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_PureGetVersion(void)` |   |
| **Description** | Get Pure Version                              |   |
| **Parameter**   | NULL                                          |   |
| **Return**      | Pure Version                                  |   |

#### NAPI\_CLL2\_JCBGetVersion:

|                 |                                              |   |
| :-------------- | :------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_JCBGetVersion(void)` |   |
| **Description** | Get JCB Version                              |   |
| **Parameter**   | NULL                                         |   |
| **Return**      | JCB Version                                  |   |

#### NAPI\_CLL2\_InteracGetVersion:

|                 |                                                  |   |
| :-------------- | :----------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_InteracGetVersion(void)` |   |
| **Description** | Get Interac Version                              |   |
| **Parameter**   | NULL                                             |   |
| **Return**      | Interac Version                                  |   |

#### NAPI\_CLL2\_RupayGetVersion:

|                 |                                                |   |
| :-------------- | :--------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_RupayGetVersion(void)` |   |
| **Description** | Get Rupay Version                              |   |
| **Parameter**   | NULL                                           |   |
| **Return**      | Rupay Version                                  |   |

#### NAPI\_CLL2\_MIRGetVersion:

|                 |                                              |   |
| :-------------- | :------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_MIRGetVersion(void)` |   |
| **Description** | Get MIR Version                              |   |
| **Parameter**   | NULL                                         |   |
| **Return**      | MIR Version                                  |   |

#### NAPI\_CLL2\_MultibancoGetVersion:

|                 |                                                     |   |
| :-------------- | :-------------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_MultibancoGetVersion(void)` |   |
| **Description** | Get Multibanco Version                              |   |
| **Parameter**   | NULL                                                |   |
| **Return**      | Multibanco Version                                  |   |

#### NAPI\_CLL2\_CpaceGetVersion:

|                 |                                                |   |
| :-------------- | :--------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_CpaceGetVersion(void)` |   |
| **Description** | Get Cpace Version                              |   |
| **Parameter**   | NULL                                           |   |
| **Return**      | Cpace Version                                  |   |

#### NAPI\_CLL2\_BancomatGetVersion:

|                 |                                                   |   |
| :-------------- | :------------------------------------------------ | - |
| **Function**    | `const char * NAPI_CLL2_BancomatGetVersion(void)` |   |
| **Description** | Get Bancomat Version                              |   |
| **Parameter**   | NULL                                              |   |
| **Return**      | Bancomat Version                                  |   |

#### NAPI\_CLL2\_EftposGetVersion:

|                 |                                                 |   |
| :-------------- | :---------------------------------------------- | - |
| **Function**    | `const char * NAPI_CLL2_EftposGetVersion(void)` |   |
| **Description** | Get Eftpos Version                              |   |
| **Parameter**   | NULL                                            |   |
| **Return**      | Eftpos Version                                  |   |

### Checksum

#### NAPI\_EntryPointGetKernelChecksum:

|                 |                                                                                    |   |
| :-------------- | :--------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_EntryPointGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                            |   |
| **Parameter**   | `*checksum` out  `size` in                                                         |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                         |   |

#### NAPI\_PaypassGetKernelChecksum:

|                 |                                                                                 |   |
| :-------------- | :------------------------------------------------------------------------------ | - |
| **Function**    | `int NAPI_PaypassGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                         |   |
| **Parameter**   | `*checksum` out  `size` in                                                      |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                      |   |

#### NAPI\_PaywaveGetKernelChecksum:

|                 |                                                                                 |   |
| :-------------- | :------------------------------------------------------------------------------ | - |
| **Function**    | `int NAPI_PaywaveGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                         |   |
| **Parameter**   | `*checksum` out  `size` in                                                      |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                      |   |

#### NAPI\_ExpresspayGetKernelChecksum:

|                 |                                                                                    |   |
| :-------------- | :--------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_ExpresspayGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                            |   |
| **Parameter**   | `*checksum` out  `size` in                                                         |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                         |   |

#### NAPI\_DiscoverpayGetKernelChecksum:

|                 |                                                                                     |   |
| :-------------- | :---------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_DiscoverpayGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                             |   |
| **Parameter**   | `*checksum` out  `size` in                                                          |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                          |   |

#### NAPI\_InteracGetKernelChecksum:

|                 |                                                                                 |   |
| :-------------- | :------------------------------------------------------------------------------ | - |
| **Function**    | `int NAPI_InteracGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                         |   |
| **Parameter**   | `*checksum` out  `size` in                                                      |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                      |   |

#### NAPI\_JCBGetKernelChecksum:

|                 |                                                                             |   |
| :-------------- | :-------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_JCBGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                     |   |
| **Parameter**   | `*checksum` out  `size` in                                                  |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                  |   |

#### NAPI\_PureGetKernelChecksum:

|                 |                                                                              |   |
| :-------------- | :--------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_PureGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                      |   |
| **Parameter**   | `*checksum` out  `size` in                                                   |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                   |   |

#### NAPI\_RupayGetKernelChecksum:

|                 |                                                                               |   |
| :-------------- | :---------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_RupayGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                       |   |
| **Parameter**   | `*checksum` out  `size` in                                                    |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                    |   |

#### NAPI\_QpbocGetKernelChecksum:

|                 |                                                                               |   |
| :-------------- | :---------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_QpbocGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                       |   |
| **Parameter**   | `*checksum` out  `size` in                                                    |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                    |   |

#### NAPI\_MIRGetKernelChecksum:

|                 |                                                                             |   |
| :-------------- | :-------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_MIRGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                     |   |
| **Parameter**   | `*checksum` out  `size` in                                                  |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                  |   |

#### NAPI\_MultibancoGetKernelChecksum:

|                 |                                                                                    |   |
| :-------------- | :--------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_MultibancoGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                            |   |
| **Parameter**   | `*checksum` out  `size` in                                                         |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                         |   |

#### NAPI\_CpaceGetKernelChecksum:

|                 |                                                                               |   |
| :-------------- | :---------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CpaceGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                       |   |
| **Parameter**   | `*checksum` out  `size` in                                                    |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                    |   |

#### NAPI\_BancomatGetKernelChecksum:

|                 |                                                                                  |   |
| :-------------- | :------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_BancomatGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                          |   |
| **Parameter**   | `*checksum` out  `size` in                                                       |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                       |   |

#### NAPI\_EftposGetKernelChecksum:

|                 |                                                                                |   |
| :-------------- | :----------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_EftposGetKernelChecksum(unsigned char *checksum, unsigned int size)` |   |
| **Description** | Get the kernel checksum                                                        |   |
| **Parameter**   | `*checksum` out  `size` in                                                     |   |
| **Return**      | `EMVL2_ERR_NONE`  `0`  `EMVL2_ERR_PARAM`  `EMVL2_ERR_FAIL`                     |   |

### CallBack Function

The callback fucntion id:

| id                               | value | function               |   |
| :------------------------------- | :---- | :--------------------- | - |
| EMVL2\_CALLBACK\_GET\_AIDTLVLIST | 0x0A  | FUNCGetAidTlvList      |   |
| EMVL2\_CALLBACK\_FINDINCARDBLK   | 0x0B  | FUNCCheckExceptionList |   |
| EMVL2\_CALLBACK\_EXCHANGE\_APDU  | 0x10  | FUNCExchangeAPDU       |   |
| EMVL2\_CALLBACK\_GET\_CAPK       | 0x11  | FUNCExternalCAPK       |   |
| EMVL2\_CALLBACK\_CHECK\_CRL      | 0x12  | FUNCCheckCRL           |   |
| EMVL2\_CALLBACK\_CANDIDATESEL    | 0x14  | FUNCCandidate          |   |
| EMVL2\_CALLBACK\_ICCRFPOWERDOWN  | 0x15  | FUNCPowerDown          |   |
| EMVL2\_CALLBACK\_SEND\_MESSAGE   | 0x16  | FUNCSendMessage        |   |
| EMVL2\_CALLBACK\_DEKDET          | 0x17  | FUNCDekDet             |   |
| EMVL2\_CALLBACK\_GET\_PIN        | 0x01  | FUNCGetPIN             |   |
| EMVL2\_CALLBACK\_DEBUG           | 0x09  | FUNCEmvDebug           |   |
| EMVL2\_CALLBACK\_PRINT\_APDU     | OxFF  | FUNCPrintApdu          |   |

#### FUNCGetAidTlvList:

|                 |                                                                                                         |   |
| :-------------- | :------------------------------------------------------------------------------------------------------ | - |
| **Definition**  | `void (*FUNCGetAidTlvList)(STTERMINALAID *pstTerminalAid, unsigned char *pusAidList, int *nAidListLen)` |   |
| **Description** | Get Aid configuration                                                                                   |   |
| **Parameters**  | `*pstTerminalAid` in  `*pData` out  `*pLen` out                                                         |   |
| **Returns**     | None                                                                                                    |   |

#### FUNCCheckExceptionList:

|                 |                                                                                                                      |   |
| :-------------- | :------------------------------------------------------------------------------------------------------------------- | - |
| **Definition**  | `void (*FUNCCheckExceptionList)(unsigned char *pusPan, int nLen, unsigned char *pusPanSn, unsigned char cPanSnFlag)` |   |
| **Description** | Check the card in the exception list                                                                                 |   |
| **Parameters**  | `*pusPan` in  `nLen` in  `*pusPanSn` in  `cPanSnFlag` in                                                             |   |
| **Returns**     | `1`  `0`                                                                                                             |   |

#### FUNCExchangeAPDU:

|                 |                                                                                                                      |   |
| :-------------- | :------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int (*FUNCExchangeAPDU)(unsigned char *rAPDU, unsigned int *rAPDULen, unsigned char *cAPDU, unsigned int cAPDULen)` |   |
| **Description** | IC card read and write                                                                                               |   |
| **Parameter**   | `*rAPDU` out  `*rAPDULen` out  `*cAPDU` in  `cAPDULen` in                                                            |   |
| **Return**      | `succ` 0  `fail` `<0`                                                                                                |   |

#### FUNCExternalCAPK:

|                 |                                                                                 |   |
| :-------------- | :------------------------------------------------------------------------------ | - |
| **Definition**  | `void (*FUNCExternalCAPK)(capk *capk, unsigned char *rid, unsigned char index)` |   |
| **Description** | Get the capk                                                                    |   |
| **Parameters**  | `*rid` in  `Index` in  `*capk` out                                              |   |
| **Returns**     | None                                                                            |   |

#### FUNCCheckCRL:

|                 |                                      |   |
| :-------------- | :----------------------------------- | - |
| **Function**    | `int (*FUNCCheckCRL)(CRLEntry *crl)` |   |
| **Description** | Certificate Revocation list          |   |
| **Parameter**   | `*crl` in                            |   |
| **Return**      | `1`  `0`                             |   |

#### FUNCCandidate:

|                 |                                                                    |   |
| :-------------- | :----------------------------------------------------------------- | - |
| **Function**    | `int (*FUNCCandidate)(candidate *pcan, int amt, int times)`        |   |
| **Description** | Display the AID the candidate list, and let the user choose an AID |   |
| **Parameter**   | `*pcan` in  `amt` in  `times` in                                   |   |
| **Return**      | `>= 0`  `-1`                                                       |   |

#### FUNCPowerDown:

|                 |                                    |   |
| :-------------- | :--------------------------------- | - |
| **Function**    | `int (*FUNCPowerDown)(int cardno)` |   |
| **Description** | IC card power down                 |   |
| **Parameter**   | `cardno` in                        |   |
| **Return**      | `0`  `<0`                          |   |

#### FUNCSendMessage:

|                 |                                               |   |
| :-------------- | :-------------------------------------------- | - |
| **Function**    | `int (*FUNCSendMessage)(STENTRYPOINTOPT opt)` |   |
| **Description** | Send the data to simulator host               |   |
| **Parameter**   | `opt` in                                      |   |
| **Return**      | `0`  `-1`                                     |   |

#### FUNCDekDet:

|                 |                                                                                          |   |
| :-------------- | :--------------------------------------------------------------------------------------- | - |
| **Function**    | `int (*FUNCDekDet)(unsigned char ucMesType, unsigned char *pusBufOut, int *pnBufOutLen)` |   |
| **Description** | Use in Paypass dek and det                                                               |   |
| **Parameter**   | `ucMesType` in  `*pusBufOut` in/out  `*pnBufOutLen` in/out                               |   |
| **Return**      | `0`  `-1`                                                                                |   |

#### FUNCGetPIN:

|                 |                                                                          |   |
| :-------------- | :----------------------------------------------------------------------- | - |
| **Function**    | `int (*FUNCGetPIN)(int type, const publickey *pstPINPK, char* pinentry)` |   |
| **Description** | Requires the user to enter the password, and save the input password     |   |
| **Parameter**   | `Type` in  `*pstPINPK` in  `*pinentry` out                               |   |
| **Return**      | `-1`  `-2`  `-3`  `>0`                                                   |   |

#### FUNCEmvDebug:

|                 |                                                  |   |
| :-------------- | :----------------------------------------------- | - |
| **Definition**  | `void (*FUNCEmvDebug)(const char *log, int len)` |   |
| **Description** | Output EMV Debug log                             |   |
| **Parameters**  | `log` in  `len` in                               |   |
| **Returns**     | None                                             |   |

#### FUNCPrintApdu:

|                 |                                                   |   |
| :-------------- | :------------------------------------------------ | - |
| **Definition**  | `void (*FUNCPrintApdu)(const char *log, int len)` |   |
| **Description** | Paypass data exchange print the apdu data         |   |
| **Parameters**  | `*pData` in  `len` in                             |   |
| **Returns**     | None                                              |   |

### TLV

#### NAPI\_CLL2\_EntryPointGetData:

|                 |                                                                                                   |   |
| :-------------- | :------------------------------------------------------------------------------------------------ | - |
| **Function**    | `int NAPI_CLL2_EntryPointGetData(unsigned int unTagName, unsigned char *pusData, int nDataLimit)` |   |
| **Description** | Get the TLV value of the tag tagname                                                              |   |
| **Parameter**   | `unTagName` in  `*pusData` out  `nDataLimit` in                                                   |   |
| **Return**      | `Failure` 0  `Failure` -1  `SUCC` >0                                                              |   |

#### NAPI\_CLL2\_EntryPointSetData:

|                 |                                                                                                 |   |
| :-------------- | :---------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_EntryPointSetData(unsigned int unTagName, unsigned char *pusData, int nDataLen)` |   |
| **Description** | Set the tagname value                                                                           |   |
| **Parameter**   | `unTagName` in  `*pusData` out  `nDataLen` in                                                   |   |
| **Return**      | `SUCC` 0  `Fail` -1  `Fail` others                                                              |   |

#### NAPI\_CLL2\_EntryPointFetchData:

|                 |                                                                                                                             |   |
| :-------------- | :-------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_EntryPointFetchData(unsigned int *pnTagName, int nCount, uchar *pusObuf, int nOlen, int nIsZeroLenTagAllow)` |   |
| **Description** | Pack tag data to tlv format list. If the tag is not exist, pack none to the tlv buffer and continue the next tag.           |   |
| **Parameter**   | `*pusObuf` out  `nOlen` in  `*pnTagName` in  `nCount` in  `nIsZeroLenTagAllow` in                                           |   |
| **Return**      | `>0`  `<0`                                                                                                                  |   |

#### NAPI\_EMVL2PackTLV:

|                 |                                                                                                                                                       |   |
| :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_EMVL2PackTLV(unsigned char *tlvBuf, unsigned int *bufLen, unsigned int tag, unsigned int len, const unsigned char *val, unsigned int type)` |   |
| **Description** | Pack data by EMV TLV struct conventions.                                                                                                              |   |
| **Parameter**   | `*tlvBuf` out  `*bufLen` out  `tag` in  `len` in  `*val` in  `type` in                                                                                |   |
| **Return**      | `0`  `-1`                                                                                                                                             |   |

### Others Function

#### NAPI\_CLL2\_GetErrorCode:

|                 |                                    |   |
| :-------------- | :--------------------------------- | - |
| **Function**    | `int NAPI_CLL2_GetErrorCode(void)` |   |
| **Description** | Get the CLSS Error Code            |   |
| **Parameter**   | NULL                               |   |
| **Return**      | Return the Error Code              |   |

#### NAPI\_CLL2\_EntryPointGetCLL2Status:

|                 |                                                          |   |
| :-------------- | :------------------------------------------------------- | - |
| **Function**    | `unsigned char* NAPI_CLL2_EntryPointGetCLL2Status(void)` |   |
| **Description** | Get the Contactless level2 Status                        |   |
| **Parameter**   | NULL                                                     |   |
| **Return**      | Return Contactless level2 Status                         |   |

#### NAPI\_CLL2\_EntryPointSetRunToFinalSel:

|                 |                                                                     |   |
| :-------------- | :------------------------------------------------------------------ | - |
| **Function**    | `void NAPI_CLL2_EntryPointSetRunToFinalSel(int nFlag)`              |   |
| **Description** | Return to the application after the final select and before the GPO |   |
| **Parameter**   | `nFlag` in                                                          |   |
| **Return**      | Void                                                                |   |

#### NAPI\_EMVL2SetDebugMode:

|                 |                                              |   |
| :-------------- | :------------------------------------------- | - |
| **Function**    | `void NAPI_EMVL2SetDebugMode(char cDebuglv)` |   |
| **Description** | Set Kernel Debug Mode                        |   |
| **Parameter**   | `cDebuglv` in                                |   |
| **Return**      | Void                                         |   |

#### NAPI\_CLL2\_EntryPointGetDataByTagName:

|                 |                                                                                                          |   |
| :-------------- | :------------------------------------------------------------------------------------------------------- | - |
| **Function**    | `int NAPI_CLL2_EntryPointGetDataByTagName(unsigned int unTagName, unsigned char *pusOut, int *pnOutLen)` |   |
| **Description** | Use GET DATA Command to get value of the Tag                                                             |   |
| **Parameter**   | `unTagName` in  `*pusOut` out  `*pnOutLen` out                                                           |   |
| **Return**      | `0`  `-1`                                                                                                |   |

---

## Param Configuration

### Terminal Configuration

The Newland Reader maintains two separate Terminal configurations, one each for contactless interfaces. A terminal configuration for a card interface applies to all card applications (AIDs) supported by the Reader for that card interface. The terminal configurations are retained over power cycles.

When the Reader powers up for the first time, it will have no terminal configurations. In this case the Reader will itself set a default terminal configuration for each card interface based on the defaults. Once the initial default terminal configurations are set for each card interface, the Reader will not automatically set or change the terminal configuration at the next power up.

#### Terminal Configuration Data Items for the Contactless Interface

| Configuration Item                | Tag                                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |   |
| :-------------------------------- | :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `_EMVPARAM_5F2A_TRANSCODE`        | Tag: `5F2A`  Length: 2  Format: n3     | **Transaction Currency Code.**  Indicates the currency code of the transaction according to ISO 4217.  For CLSS this is supposed to be an AID item but adding it here since it is defined as a Terminal parameter by some CT EMV Kernels and makes better sense.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |   |
| `_EMVPARAM_5F36_TRANSCEXP`        | Tag: `5F36`  Length: 1  Format: n1     | **Transaction Currency Exponent.**  Indicates the implied position of the decimal point from the right of the transaction amount represented according to ISO 4217.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |   |
| `_EMVPARAM_9F1A_TERMCCODE`        | Tag: `9F1A`  Length: 2  Format: n3     | **Terminal Country Code**  Indicates the country of the terminal, represented according to ISO 3166.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |   |
| `_EMVPARAM_9F35_TYPE`             | Tag: `9F35`  Length: 1  Format: n2     | **Terminal Type**  Indicates the environment of the terminal, its communications capability, and its operational control. ![](https://docs.newlandnpt.us/assets/_shared/e3b630fa5b23/lib-1.png)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |   |
| `_EMVPARAM_9F1B_FLOORLIMIT`       | Tag: `9F1B`  Length: 4  Format: b      | **Terminal Floor Limit**  Indicates the floor limit in the terminal in conjunction with the AID (Mir Floor Limit tag `DF51` also use this tag, Length: 6, Format: b).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |   |
| `_EMVPARAM_9F1C_TERMID`           | Tag: `9F1C`  Length: 8  Format: an8    | **Terminal Identification**  Designates the unique location of a terminal at a merchant.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |   |
| `_EMVPARAM_9F1D_TRMDATA`          | Tag: `9F1D`  Length: 1-8  Format: b    | **Terminal Risk Management Data**  Application-specific value used by the card for risk management purposes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |   |
| `_EMVPARAM_9F1E_IFDSERNUM`        | Tag: `9F1E`  Length: 8  Format: an8    | **Interface Device (IFD) Serial Number**  Unique and permanent serial number assigned to the IFD by the manufacturer.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |   |
| `_EMVPARAM_9F33_CAP`              | Tag: `9F33`  Length: 3  Format: b      | **Terminal Capabilities**  Indicates the card data input, CVM, and security capabilities of the terminal. ![](https://docs.newlandnpt.us/assets/_shared/c6d40fe0fdf8/lib-2.png)![](https://docs.newlandnpt.us/assets/_shared/ba11a4edfcc4/lib-3.png)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |   |
| `_EMVPARAM_9F40_ADDCAP`           | Tag: `9F40`  Length: 5  Format: b      | **Additional Terminal Capabilities**  Indicates the data input and output capabilities of the terminal. ![](https://docs.newlandnpt.us/assets/_shared/a31085f380cc/lib-4.png)![](https://docs.newlandnpt.us/assets/_shared/e1f1a45097a7/lib-5.png)![](https://docs.newlandnpt.us/assets/_shared/b42314701605/lib-6.png)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |   |
| `_EMVPARAM_9F01_ACQID`            | Tag: `9F01`  Length: 6  Format: n 6-11 | **Acquirer Identifier**  Uniquely identifies the acquirer within each payment system.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |   |
| `_EMVPARAM_9F15_MERCACODE`        | Tag: `9F15`  Length: 2  Format: n 4    | **Merchant Category Code**  Classifies the type of business being done by the merchant, represented according to ISO 8583:1993 for Card Acceptor Business Code.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |   |
| `_EMVPARAM_9F16_MERCHID`          | Tag: `9F16`  Length: 15  Format: ans15 | **Merchant Identifier**  When concatenated with the Acquirer Identifier, uniquely identifies a given merchant.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   |
| `_EMVPARAM_9F3C_TRANSREFCCODE`    | Tag: `9F3C`  Length: 2  Format: n 3    | **Transaction Reference Currency Code**  Code defining the common currency used by the terminal in case the Transaction Currency Code is different from the Application Currency Code.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |   |
| `_EMVPARAM_9F4E_MERCNAME`         | Tag: `9F4E`  Length: var  Format: ans  | **Merchant Name and Location**  Indicates the name and location of the merchant.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |   |
| `_EMVPARAM_DF44_DEDDOL`           | Tag: `DF44`  Length: var  Format: b    | **Default Dynamic Data Authentication Data Object List (DDOL)**  DDOL to be used for constructing the INTERNAL AUTHENTICATE command if the DDOL in the card is not present.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |   |
| `_EMVPARAM_DF45_DETDOL`           | Tag: `DF45`  Length: var  Format: b    | **Default Transaction Certificate Data Object List (TDOL)**  TDOL to be used for generating the TC Hash Value if the TDOL in the card is not present.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |   |
| `_EMVPARAM_DF15_THRESHOLDVA`      | Tag: `DF15`  Length: 4  Format: n 4    | **Threshold Value for Biased Random Selection**  Value used in terminal risk management for random transaction selection.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |   |
| `_EMVPARAM_DF16_MAXTARPER`        | Tag: `DF16`  Length: 1  Format: n 1    | **Maximum Target Percentage to be used for Biased Random Selection**  Value used in terminal risk management for random transaction selection.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   |
| `_EMVPARAM_DF17_TARGETPER`        | Tag: `DF17`  Length: 1  Format: n 1    | **Target Percentage to be Used for Random Selection**  Value used in terminal risk management for random transaction selection.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |   |
| `_EMVPARAM_DF24_ICS`              | Tag: `DF24`  Length: 7  Format: b      | **Implementation Conformance Statement**  **Byte 1 Application Selection**  - bit 8: Support PSE selection method  - bit 7: Support Cardholder confirmation  - bit 6: Have a preferred order of displaying applications  - bit 5: Does the terminal perform partial AID selection  - bit 4: Does the terminal support multiple language selection  - bit 3: Common Character Set("Annex B table 20 Book 4")  - bit 2-bit 1: Rfu  **Byte 2 Data Authentication**  - bit 8: Revocation of Issuer Public Key Certificate  - bit 7: Does the terminal contain a default DDOL  - bit 6: Manual action when loading CAPK fails  - bit 5: CAPK verified with CAPK checksum  - bit 4 - bit 1: Rfu  **Byte 3 Cardholder Verification**  - bit 8: Terminal supports bypass PIN entry  - bit 7: Terminal supports subsequent bypass PIN entry  - bit 6: Terminal supports Get Data for PIN Try Counter  - bit 5: Terminal supports Fail CVM  - bit 4: Amount known before CVM processing  - bit 3 - bit 1: Rfu  **Byte 4 Terminal Risk Management**  - bit 8: Floor Limit Checking  - bit 7: Random Transaction Selections  - bit 6: Velocity checking  - bit 5: Transaction Log  - bit 4: Exception File  - bit 3: Terminal Risk Management irrespective of AIP setting  - bit 2: Transaction Log mode (1-EMV, 0-PBOC)  - bit 1: Rfu  **Byte 5 Terminal Action Analysis**  - bit 8: Terminal Action Codes supported  - bit 7: process TAC-default prior to first GenAC  - bit 6: process TAC-default after first GenAC  - bit 5: Rfu  - bit 4: TAC/IAC-Default process when unable to go online  - bit 3-bit 1: Rfu  **Byte 6 Completion Process**  - bit 8: Rfu  - bit 7: Rfu  - bit 6: Rfu  - bit 5: Issuer Referrals  - bit 4-bit1: Rfu  **Byte 7 Others**  - bit 8: support account type selection  - bit 7: Rfu  - bit 6: Rfu  - bit 5: support default UDOL (used for Paypass only)  - bit 4-bit1: Rfu |   |
| `_EMVPARAM_DF22_TRANSCONV`        | Tag: `DF22`  Length: 4  Format: n 8    | **Transaction Reference Currency Conversion**  Factor used in the conversion from the Transaction Currency Code to the Transaction Reference Currency Code.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |   |
| `_EMVPARAM_DF01_APPSELIND`        | Tag: `DF01`  Length: 1  Format: b      | **Application Selection Indicator**  For an application in the ICC to be supported by an application in the terminal, the Application Selection Indicator indicates whether the associated AID in the terminal must match the AID in the card exactly, including the length of the AID, or only up to the length of the AID in the Terminal. There is only one Application Selection Indicator per AID supported by the terminal.  0x01-partial matching                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |   |
| `_EMVPARAM_DF20_CLLIMMIT`         | Tag: `DF20`  Length: 6  Format: n12    | **Reader Contactless Transaction Limit (No On-device CVM) - 'DF8124'**  Indicates the transaction amount above which the transaction is not allowed, when on device cardholder verification is not supported.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |   |
| `_EMVPARAM_DF21_CVMLIMT`          | Tag: `DF21`  Length: 6  Format: n12    | **Reader CVM Required Limit - 'DF8126'**  Indicates the transaction amount above which the Kernel instantiates the CVM capabilities field in Terminal Capabilities with CVM Capability – CVM Required.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |   |
| `_EMVPARAM_DF19_CLOFFLIMIT`       | Tag: `DF19`  Length: 6  Format: n12    | **Reader Contactless Floor Limit- 'DF8123'**  Indicates the transaction amount above which transactions must be authorized online.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |   |
| `_EMVPARAM_DF27_LIMITEXIST`       | Tag: `DF27`  Length: 1  Format: b      | **Indicate whether using the Limit Amount.**  - bit 8: Rfu  - bit 7: Rfu  - bit 6: Rfu  - bit 5: Rfu  - bit 4: contactless CVM required limit supported  - bit 3: contactless floor limit supported  - bit 2: contactless terminal limit supported  - bit 1: Rfu                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |   |
| `_EMVPARAM_DF39_STATUSCHECK`      | Tag: `DF39`  Length: 1  Format: b      | **Status check supported**  0x01: supported  0x00: Not supported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |   |
| `_EMVPARAM_DF3A_ZEROALLOW`        | Tag: `DF3A`  Length: 1  Format: b      | **Zero Amount Allowed**  0x01: Zero amount transactions are supported.  0x00: Zero amount transactions are not supported.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |   |
| `_EMVPARAM_DF63_IOOPTION`         | Tag: `DF63`  Length: 1  Format: b      | **Contactless POS Implementation Options**  Used for PURE kernel  **Byte 1**  - bit 8: IO Options 1  - bit 7: IO Options 2  - bit 6: IO Options 3  - bit 5: IO Options 4  - bit 4: IO Options 5  - bit3-1: Rfu                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   |
| `_EMVPARAM_DF64_TERMINALAIDVALUE` | Tag: `DF64`  Length: 5-16  Format: b   | **Terminal AID values**  Used for PURE kernel                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |   |
| `_EMVPARAM_1F8102_PPSEAIDSEL`     | Tag: `1F8102`  Length: 1  Format: b    | **Select by AID supported(Select via List of AIDs supported?)**  For some contactless kernel, such as Amex, if PPSE failed, will try to select by AID.  0x00: Select by AID is not supported (Default).  0x01: Select by AID is supported.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |   |

### AID Configuration

Every configuration item defined in Terminal configuration, you can setup again in AID configuration. The value of the TLV defined in the AID configuration will override the value in the Terminal configuration when it is loaded

#### Contactless Visa AIDs (Kernel 3)

Data Items Specific to Contactless Visa AIDs

| Configuration Item         | Tag                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |   |
| :------------------------- | :----------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `_EMVPARAM_9F06_AID`       | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   |
| `_EMVPARAM_DF37_KERNELID`  | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\x03\x00\x00\x00\x00\x00\x00\x00"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |   |
| `_EMVPARAM_9F66_TRANSPROP` | Tag: `9F66`  Length: 4  Format: b 32 | **Terminal Transaction Qualifiers (TTQ)**  Indicates reader capabilities, requirements, and preferences to the card.  TTQ byte 2 bits 8-7 are transient values, and reset to zero at the beginning of the transaction. All other TTQ bits are static values, and not modified based on transaction conditions.  TTQ byte 3 bit 7 shall be set by the acquirer-merchant to 1b.  Values:  **Byte 1**  - bit 8: 1 = MSD supported  - bit 7: RFU (0)  - bit 6: 1 = qVSDC supported  - bit 5: 1 = EMV contact chip supported  - bit 4: 1 = Offline-only reader  - bit 3: 1 = Online PIN supported  - bit 2: 1 = Signature supported  - bit 1: 1 = Offline Data Authentication (ODA) for Online Authorizations supported.  \*Note: Readers compliant to this specification set TTQ byte 1 bit 1 to 0b.\*  **Byte 2**  - bit 8: 1 = Online cryptogram required  - bit 7: 1 = CVM required  - bit 6: 1 = (Contact Chip) Offline PIN supported  - bits 5-1: RFU (00000)  **Byte 3**  - bit 8: 1 = Issuer Update Processing supported  - bit 7: 1 = Mobile functionality supported (Consumer Device CVM)  - bits 6-1: RFU (000000)  **Byte 4**  RFU ('00') |   |
| `_EMVPARAM_DF34_PWCONFIG`  | Tag: `DF34`  Length: 2  Format: b    | **byte1**  - Processing Restrictions Cash Enable  - Processing Restrictions Cashback Enable  - RFU  - RFU  - Domestic Transactions Only  - Active/Deactive Amount Zero Check  - RFU  - Amount Zero Action Option1/2  **byte2**  - RFU  - Support MSI  - Support dCVV  - Display offline Funds set  - Support Issuer Update Processing  - Support JCB Wave3  - Support JCB Wave2(Should support)  - Support JCB Wave1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |   |
| `_EMVPARAM_DF3D_DRLSTATUS` | Tag: `DF3D`  Length: 1  Format: b    | **DRL Support Status**  0x01: Support DRL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |   |
| `_EMVPARAM_DF3F_DRLDATA`   | Tag: `DF3F`  Length: var  Format: b  | **DRL Data**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   |

#### Contactless MasterCard AIDs (Kernel 2)

Data Items Specific to Contactless Mastercard Paypass AIDs

| Configuration Item                 | Tag                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |   |
| :--------------------------------- | :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - |
| `_EMVPARAM_9F06_AID`               | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |   |
| `_EMVPARAM_DF37_KERNELID`          | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\x02\x00\x00\x00\x00\x00\x00\x00"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |   |
| `_EMVPARAM_9F33_CAP`               | Tag: `9F33`  Length: 3  Format: b    | **Byte 1: Card Data Input Capability - 'DF8117'**  Indicates the card data input capability of the Terminal and Reader. The Card Data Input Capability is coded according to Annex A.2 of \[EMV Book 4]. ![](https://docs.newlandnpt.us/assets/_shared/c213046ddfdc/lib-7.png) \*\*Byte 2: CVM Capability – CVM Required - 'DF8118'**&#x20; Indicates the CVM capability of the Terminal and Reader when the transaction amount is greater than the Reader CVM Required Limit. ![](https://docs.newlandnpt.us/assets/_shared/ac96b2515bb4/lib-8.png) \*\*Byte 3: Security Capability - 'DF811F'**  Indicates the security capability of the Kernel. ![](https://docs.newlandnpt.us/assets/_shared/1a17e99782ea/lib-9.png) |   |
| `_EMVPARAM_DF48_CAPNOCVM`          | Tag: `DF48`  Length: 1  Format: b    | **CVM Capability – No CVM Required - 'DF8119'**  Indicates the CVM capability of the Terminal and Reader when the transaction amount is less than or equal to the Reader CVM Required Limit. ![](https://docs.newlandnpt.us/assets/_shared/70b61be5536f/lib-10.png)                                                                                                                                                                                                                                                                                                                                                                                                   |   |
| `_EMVPARAM_DF42_MAGSCVM`           | Tag: `DF42`  Length: 1  Format: b    | **Mag-stripe CVM Capability – CVM Required - 'DF811E'**  Indicates the CVM capability of the Terminal/Reader in the case of a mag-stripe mode transaction when the Amount, Authorized (Numeric) is greater than the Reader CVM Required Limit. ![](https://docs.newlandnpt.us/assets/_shared/7d57356f427f/lib-11.png)                                                                                                                                                                                                                                                                                                                                                 |   |
| `_EMVPARAM_DF47_MAGSNOCVM`         | Tag: `DF47`  Length: 1  Format: b    | **Mag-stripe CVM Capability – No CVM Required - 'DF812C'**  Indicates the CVM capability of the Terminal/Reader in the case of a mag-stripe mode transaction when the Amount, Authorized (Numeric) is less than or equal to the Reader CVM Required Limit. ![](https://docs.newlandnpt.us/assets/_shared/3b4df7fa078b/lib-12.png)                                                                                                                                                                                                                                                                                                                                     |   |
| `_EMVPARAM_DF2F_KERNELCONF`        | Tag: `DF2F`  Length: 1  Format: b    | **Kernel Configuration - 'DF811B'** ![](https://docs.newlandnpt.us/assets/_shared/8fe3c9b27d49/lib-13.png)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |   |
| `_EMVPARAM_DF2B_DEUDOL`            | Tag: `DF2B`  Length: 3  Format: b    | **Default UDOL - 'DF811A'**  The Default 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 UDOL must contain as its only entry the tag and length of the Unpredictable Number (Numeric) and has the value: '9F6A04'.                                                                                                                                                                                                                                                                                                           |   |
| `_EMVPARAM_DF46_MOSUPPIND`         | Tag: `DF46`  Length: 1  Format: b    | **Mobile Support Indicator - '9F7E'**  The Mobile Support Indicator informs the Card that the Kernel supports extensions for mobile and requires on device cardholder verification. ![](https://docs.newlandnpt.us/assets/_shared/4aff9ff0af16/lib-14.png)                                                                                                                                                                                                                                                                                                                                                                                                            |   |
| `_EMVPARAM_9F7B_ECLIMIT`           | Tag: `9F7B`  Length: 6  Format: n12  | **Reader Contactless Transaction Limit (On-device CVM) - 'DF8125'**  Indicates the transaction amount above which the transaction is not allowed, when on device cardholder verification is supported.  \*Note: History reason, this tag is same as Contact PBOC EC transaction limit.\*                                                                                                                                                                                                                                                                                                                                                    |   |
| `_EMVPARAM_DF20_CLLIMMIT`          | Tag: `DF20`  Length: 6  Format: n12  | **Reader Contactless Transaction Limit (No On-device CVM) - 'DF8124'**  Indicates the transaction amount above which the transaction is not allowed, when on device cardholder verification is not supported.                                                                                                                                                                                                                                                                                                                                                                                                                               |   |
| `_EMVPARAM_DF21_CVMLIMT`           | Tag: `DF21`  Length: 6  Format: n12  | **Reader CVM Required Limit - 'DF8126'**  Indicates the transaction amount above which the Kernel instantiates the CVM capabilities field in Terminal Capabilities with CVM Capability – CVM Required.                                                                                                                                                                                                                                                                                                                                                                                                                                      |   |
| `_EMVPARAM_DF19_CLOFFLIMIT`        | Tag: `DF19`  Length: 6  Format: n12  | **Reader Contactless Floor Limit - 'DF8123'**  Indicates the transaction amount above which transactions must be authorized online.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |   |
| `_EMVPARAM_9F1D_TRMDATA`           | Tag: `9F1D`  Length: 1-8  Format: b  | **Terminal Risk Management Data**  Application-specific value used by the card for risk management purposes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |   |
| `_EMVPARAM_DF13_TACDENIAL`         | Tag: `DF13`  Length: 5  Format: b    | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |   |
| `_EMVPARAM_DF12_TACONLINE`         | Tag: `DF12`  Length: 5  Format: b    | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   |
| `_EMVPARAM_DF11_TACDEFAULT`        | Tag: `DF11`  Length: 5  Format: b    | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online.                                                                                                                                                                                                                                                                                                                                                                                                                          |   |
| `_EMVPARAM_DF54_MAXRRPGP`          | Tag: `DF54`  Length: 2  Format: b    | **Maximum Relay Resistance Grace Period - 'DF8133'**  The Minimum Relay Resistance Grace Period and Maximum Relay Resistance Grace Period represent how far outside the window defined by the Card that the measured time may be and yet still be considered acceptable. The Maximum Relay Resistance Grace Period is expressed in units of hundreds of microseconds.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                                                                                                                                             |   |
| `_EMVPARAM_DF55_MINRRPGP`          | Tag: `DF55`  Length: 2  Format: b    | **Minimum Relay Resistance Grace Period - 'DF8132'**  The Minimum Relay Resistance Grace Period and Maximum Relay Resistance Grace Period represent how far outside the window defined by the Card that the measured time may be and yet still be considered acceptable. The Minimum Relay Resistance Grace Period is expressed in units of hundreds of microseconds.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                                                                                                                                             |   |
| `_EMVPARAM_DF56_RRPAT`             | Tag: `DF56`  Length: 2  Format: b    | **Relay Resistance Accuracy Threshold - 'DF8136'**  Represents the threshold above which the Kernel considers the variation between Measured Relay Resistance Processing Time and Max Time For Processing Relay Resistance APDU no longer acceptable. The Relay Resistance Accuracy Threshold is expressed in units of hundreds of microseconds.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                                                                                                                                                                  |   |
| `_EMVPARAM_DF57_RRPTTMT`           | Tag: `DF57`  Length: 1  Format: b    | **Relay Resistance Transmission Time Mismatch Threshold - 'DF8137'**  Represents the threshold above which the Kernel considers the variation between Device Estimated Transmission Time For Relay Resistance R-APDU and Terminal Expected Transmission Time For Relay Resistance R-APDU no longer acceptable. The Relay Resistance Transmission Time Mismatch Threshold is a percentage and expressed as an integer.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                                                                                             |   |
| `_EMVPARAM_DF58_TETTFRRC`          | Tag: `DF58`  Length: 2  Format: b    | **Terminal Expected Transmission Time For Relay Resistance C-APDU - 'DF8134'**  Represents the time that the Kernel expects to need for transmitting the EXCHANGE RELAY RESISTANCE DATA command to the Card. The Terminal Expected Transmission Time For Relay Resistance C-APDU is expressed in units of hundreds of microseconds.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                                                                                                                                                                               |   |
| `_EMVPARAM_DF59_TETTFRRR`          | Tag: `DF59`  Length: 2  Format: b    | **Terminal Expected Transmission Time For Relay Resistance R-APDU - 'DF8135'**  Represents the time that the Kernel expects that the Card will need for transmitting the EXCHANGE RELAY RESISTANCE DATA R-APDU. The Terminal Expected Transmission Time For Relay Resistance R-APDU is expressed in units of hundreds of microseconds.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                                                                                                                                                                            |   |
| `_EMVPARAM_DF2E_DEXCHANGE`         | Tag: `DF2E`  Length: 1  Format: b    | **Indicate whether terminal supports Data Exchange function.**  Newland custom tag.  0x01-support                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |   |
| `_EMVPARAM_DF52_PPTLV`             | Tag: `DF52`  Length: Var  Format: b  | **Extern TLV string.**  You can setup other configuration into this item. Such as configuration for Data Exchange.  e.g.  DS Input (card) - 'DF60'  DS ODS Info - 'DF62'  DS Requested Operator ID - '9F5C'                                                                                                                                                                                                                                                                                                                                                                                                                                 |   |
| `_EMVPARAM_1F8101_TRANSTYPECKFLAG` | Tag: `1F8101`  Length: 1  Format: b  | **Indicate whether matching trans type when picking up this aid.**  Newland custom tag.  0x01-support                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |   |
| `_EMVPARAM_DF7D_TRANSTYPE`         | Tag: `DF7D`  Length: 1  Format: n2   | **Transaction type.**  the value of 9C (00/01/09/20)  when 1F8101==0x01, only this item is equal to the value of current transaction type (0x9C) then we select this aid.                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |   |

#### Contactless American Express AIDs (Kernel 4)

Data Items Specific to Contactless American Express AIDs

| Configuration Item          | Tag                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                           |   |
| :-------------------------- | :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `_EMVPARAM_9F06_AID`        | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                                                                                                                                                                                                                          |   |
| `_EMVPARAM_DF37_KERNELID`   | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\x04\x00\x00\x00\x00\x00\x00\x00"`                                                                                                                                                                                                                                                                                                                                                      |   |
| `_EMVPARAM_9F66_TRANSPROP`  | Tag: `9F66`  Length: 4  Format: b    | **Enhanced contactless reader capabilities - Tag '9F6E'** ![](https://docs.newlandnpt.us/assets/_shared/5572520e4c5e/lib-15.png) \*Note: The Terminal must always be capable of recognizing the CVM code for "No CVM Required". However, the inclusion of this CVM in the list of methods supported by the Terminal, constructed during CVM processing (Section 9.2.2), is based on the transaction amount and the Reader CVM required limit.\* |   |
| `_EMVPARAM_DF49_EXTERMCAP`  | Tag: `DF49`  Length: 1  Format: b    | **Contactless Reader Capabilities - Tag '9F6D'** ![](https://docs.newlandnpt.us/assets/_shared/ee4bc5c77be8/lib-16.png) '00' = Expresspay 1.0  '40' = Expresspay 2.0 Magstripe only  '48' = Expresspay 2.0 Magstripe – Mobile CVM Required  '80' = Expresspay 2.0 EMV and Magstripe  'C0' = ExpresspayMobile (XPM)  'C8' = ExpresspayMobile (XPM) – MobileCVM Required                                                                          |   |
| `_EMVPARAM_DF4A_EXRANDOM`   | Tag: `DF4A`  Length: 1  Format: b    | **Unpredictable Number Range**  Specifies the range in which the unpredictable number must be generated in for contactless mag-stripe mode.  \**Usage:*\* The default minimum range is 0 to 60. Note that the number range is inclusive, so a range of 0 to 60 should be capable of generating 61 integer numbers in the range 0 to 60.                                                                               |   |
| `_EMVPARAM_DF13_TACDENIAL`  | Tag: `DF13`  Length: 5  Format: b    | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                                                                                                                                                                                                                             |   |
| `_EMVPARAM_DF12_TACONLINE`  | Tag: `DF12`  Length: 5  Format: b    | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                                                                                                                                                                                                                               |   |
| `_EMVPARAM_DF11_TACDEFAULT` | Tag: `DF11`  Length: 5  Format: b    | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online.                                                                                                                                                                                                    |   |

#### Contactless Discover AIDs (Kernel 6)

Data Items Specific to Contactless Discover AIDs

| Configuration Item         | Tag                                  | Description                                                                                                                                                                                                                                                                                                                                                                                   |   |
| :------------------------- | :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `_EMVPARAM_9F06_AID`       | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                                                                                                                                                                                                  |   |
| `_EMVPARAM_DF37_KERNELID`  | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\x06\x00\x00\x00\x00\x00\x00\x00"`                                                                                                                                                                                                                                                                                                                              |   |
| `_EMVPARAM_9F66_TRANSPROP` | Tag: `9F66`  Length: 4  Format: b 32 | **Terminal Transaction Qualifiers (TTQ)**  Indicates reader capabilities, requirements, and preferences to the card. Terminal transaction Qualifiers are online and CVM processing options that are described in \[EMV CTL: BOOK B, v2.1]. These Qualifiers include options that may be supported by the Terminal during Entry Point processing. ![](https://docs.newlandnpt.us/assets/_shared/c79c904a6ffe/lib-17.png) |   |

#### Contactless JCB AIDs (Kernel 5)

Data Items Specific to Contactless JCB AIDs

| Configuration Item              | Tag                                  | Description                                                                                                                                                                                                        |   |
| :------------------------------ | :----------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `_EMVPARAM_9F06_AID`            | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                       |   |
| `_EMVPARAM_DF37_KERNELID`       | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\x05\x00\x00\x00\x00\x00\x00\x00"`                                                                                                                                                   |   |
| `_EMVPARAM_9F53_TIP`            | Tag: `9F53`  Length: 3  Format: b    | **Terminal Interchange Profile (static/dynamic)** ![](https://docs.newlandnpt.us/assets/_shared/62380d7eaae6/lib-18.png)                                                                                                                     |   |
| `_EMVPARAM_DF60_COMBINATIONOPT` | Tag: `DF60`  Length: 2  Format: b    | **Combination Options** ![](https://docs.newlandnpt.us/assets/_shared/2a02371c16a8/lib-19.png)                                                                                                                                               |   |
| `_EMVPARAM_DF13_TACDENIAL`      | Tag: `DF13`  Length: 5  Format: b    | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                          |   |
| `_EMVPARAM_DF12_TACONLINE`      | Tag: `DF12`  Length: 5  Format: b    | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                            |   |
| `_EMVPARAM_DF11_TACDEFAULT`     | Tag: `DF11`  Length: 5  Format: b    | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online. |   |

#### Contactless Unionpay AIDs (Kernel 7)

Data Items Specific to Contactless Unionpay AIDs

| Configuration Item          | Tag                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   |
| :-------------------------- | :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - |
| `_EMVPARAM_9F06_AID`        | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                                                                                                                                                                                                                                                                                    |   |
| `_EMVPARAM_DF37_KERNELID`   | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\x07\x00\x00\x00\x00\x00\x00\x00"`                                                                                                                                                                                                                                                                                                                                                                                                                |   |
| `_EMVPARAM_9F66_TRANSPROP`  | Tag: `9F66`  Length: 4  Format: b 32 | **Terminal Transaction Qualifiers (TTQ)**  Indicates reader capabilities, requirements, and preferences to the card.  TTQ byte 2 bits 8-7 are transient values, and reset to zero at the beginning of the transaction. All other TTQ bits are static values, and not modified based on transaction conditions.  TTQ byte 3 bit 7 shall be set by the acquirer-merchant to 1b.  Values: ![](https://docs.newlandnpt.us/assets/_shared/0162ad54e839/lib-20.png)![](https://docs.newlandnpt.us/assets/_shared/46348d0c0127/lib-21.png) |   |
| `_EMVPARAM_5F2A_TRANSCCODE` | Tag: `5F2A`  Length: 2  Format: n3   | **Transaction Currency Code.**  Indicates the currency code of the transaction according to ISO 4217.                                                                                                                                                                                                                                                                                                                                                                           |   |

#### Contactless Pure(MCCS/MADA) AIDs

Data Items Specific to Contactless Pure(MCCS/MADA) AIDs

| Configuration Item          | Tag                                  | Description                                                                                                                                                                                                        |   |
| :-------------------------- | :----------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `_EMVPARAM_9F06_AID`        | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                       |   |
| `_EMVPARAM_DF37_KERNELID`   | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  MCCS: Valid Value: `"\x20\x00\x00\x00\x00\x00\x00\x00"`  MADA: Valid Value: `"\x2D\x00\x00\x00\x00\x00\x00\x00"`  BANCOMAT DIGITAL: Valid Value: `"\xCD\x50\x55\x00\x00\x00\x00\x00"`               |   |
| `_EMVPARAM_DF62_CONTAPPCAP` | Tag: `DF62`  Length: 5  Format: b    | **Contactless Application Capabilities** ![](https://docs.newlandnpt.us/assets/_shared/402f03e68d4a/lib-22.png)                                                                                                                              |   |
| `_EMVPARAM_DF13_TACDENIAL`  | Tag: `DF13`  Length: 5  Format: b    | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                          |   |
| `_EMVPARAM_DF12_TACONLINE`  | Tag: `DF12`  Length: 5  Format: b    | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                            |   |
| `_EMVPARAM_DF11_TACDEFAULT` | Tag: `DF11`  Length: 5  Format: b    | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online. |   |

#### Contactless Rupay AIDs

Data Items Specific to Contactless Rupay AIDs

| Configuration Item                               | Tag                                     | Description                                                                                                                                                                                                        |   |
| :----------------------------------------------- | :-------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `_EMVPARAM_9F06_AID`                             | Tag: `9F06`  Length: 5-16  Format: b    | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                       |   |
| `_EMVPARAM_DF37_KERNELID`                        | Tag: `DF37`  Length: 8  Format: b       | **Kernel ID**  Valid Value: `"\x0D\x00\x00\x00\x00\x00\x00\x00"`                                                                                                                                                   |   |
| `_EMVPARAM_DF13_TACDENIAL`                       | Tag: `DF13`  Length: 5  Format: b       | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                          |   |
| `_EMVPARAM_DF12_TACONLINE`                       | Tag: `DF12`  Length: 5  Format: b       | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                            |   |
| `_EMVPARAM_DF11_TACDEFAULT`                      | Tag: `DF11`  Length: 5  Format: b       | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online. |   |
| `_EMVPARAM_9F09_APPVER`                          | Tag: `9F09`  Length: 2  Format: b       | **Application Version Number**  Version number assigned by the payment system for the application. Rupay need to set 0002.                                                                                         |   |
| **Optional** `_EMVPARAM_1F8103_ADDTERCAP`        | Tag: `1F8103`  Length: 2  Format: b     | **Additional Terminal Capabilities Extension `DF3A`**  Byte2 bit7 ![](https://docs.newlandnpt.us/assets/_shared/c7eb5eab6d40/lib-23.png)                                                                                                     |   |
| **Optional** `_EMVPARAM_1F8104_SERVICEID`        | Tag: `1F8104`  Length: 2  Format: b     | **Service ID `DF16`**                                                                                                                                                                                              |   |
| **Optional** `_EMVPARAM_1F8105_SERVICEQUA`       | Tag: `1F8105`  Length: 5  Format: b     | **Service Qualifier**                                                                                                                                                                                              |   |
| **Optional** `_EMVPARAM_1F8106_SERVICEDATA`      | Tag: `1F8106`  Length: max96  Format: b | **Service Data `DF45`**                                                                                                                                                                                            |   |
| **Optional** `_EMVPARAM_1F8107_SERVICEPRMISS`    | Tag: `1F8107`  Length: 16               | **Service PRMiss `DF47`**                                                                                                                                                                                          |   |
| **Optional** `_EMVPARAM_1F8108_SERVICEPRMACQKEY` | Tag: `1F8108`  Length: 24  Format: b    | **Service PRMacq Key Value `1F8108`**   /\**PRMacq key*/  typedef struct \{    uchar ucServiceID;    uchar ucPRMacqKeyIndex;    uchar ucPRMacq;    uchar ucKCV;    uchar ucRfu;  } STPRMACQKEY;                    |   |

#### Contactless Interac AIDs

Data Items Specific to Contactless Interac AIDs

| Configuration Item          | Tag                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                 |   |
| :-------------------------- | :----------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `_EMVPARAM_9F06_AID`        | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                                                                                                                                                                                                                |   |
| `_EMVPARAM_DF37_KERNELID`   | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\x21\x00\x00\x00\x00\x00\x00\x00"`                                                                                                                                                                                                                                                                                                                                            |   |
| `_EMVPARAM_DF13_TACDENIAL`  | Tag: `DF13`  Length: 5  Format: b    | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                                                                                                                                                                                                                   |   |
| `_EMVPARAM_DF12_TACONLINE`  | Tag: `DF12`  Length: 5  Format: b    | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                                                                                                                                                                                                                     |   |
| `_EMVPARAM_DF11_TACDEFAULT` | Tag: `DF11`  Length: 5  Format: b    | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online.                                                                                                                                                                                          |   |
| `_EMVPARAM_9F59_TTI`        | Tag: `9F59`  Length: 3  Format: b    | **Terminal Transaction Information**  **byte1**  - Reader with display capability  - Interac Contact application available  - Interac Contact application at other Terminal  - CDA supported  - Offline Capable terminal  - Online PIN supported  - 2-1 RFU  **byte2**  - 8-7 Read Card Mode  - 6-4 RFU  - Mobile NFC Device  - Contactless Card  - Indicates acceptance data present  **byte3**  - 8-1 RFU |   |
| `_EMVPARAM_9F5E_TOS`        | Tag: `9F5E`  Length: 2  Format: b    | **Terminal Option Status**  **byte1**  - Use other Interface if Different Currency  - Use other Interface if Different Country Code  - Use other Interface if Domestic transaction with different currency  - 5-1 RFU  **byte2**  - 8-1 RFU                                                                                                                                                                 |   |
| `_EMVPARAM_9F58_MTI`        | Tag: `9F58`  Length: 1  Format: b    | **Merchant Type Indicator**                                                                                                                                                                                                                                                                                                                                                                                 |   |

#### Contactless MIR AIDs

Data Items Specific to Contactless MIR AIDs

| Configuration Item                          | Tag                                  | Description                                                                                                                                                                                                                                                                                 |   |
| :------------------------------------------ | :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - |
| `_EMVPARAM_9F06_AID`                        | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                                                                                                |   |
| `_EMVPARAM_DF37_KERNELID`                   | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\x81\x06\x43\x00\x00\x00\x00\x00"`                                                                                                                                                                                                                            |   |
| `_EMVPARAM_DF13_TACDENIAL`                  | Tag: `DF13`  Length: 5  Format: b    | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                                                                                                   |   |
| `_EMVPARAM_DF12_TACONLINE`                  | Tag: `DF12`  Length: 5  Format: b    | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                                                                                                     |   |
| `_EMVPARAM_DF11_TACDEFAULT`                 | Tag: `DF11`  Length: 5  Format: b    | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online.                                                                          |   |
| `_EMVPARAM_1F811A_NOCVMLIMIT`               | Tag: `1F811A`  Length: 6  Format: b  | **Terminal No Cvm Limit `DF52`**                                                                                                                                                                                                                                                            |   |
| `_EMVPARAM_1F811B_CONTACTLESSLIMIT_NOCDCVM` | Tag: `1F811B`  Length: 6  Format: b  | **Terminal Contactless Limit NOCDCVM `DF53`**                                                                                                                                                                                                                                               |   |
| `_EMVPARAM_1F811C_CONTACTLESSLIMIT_CDCVM`   | Tag: `1F811C`  Length: 6  Format: b  | **Terminal Contactless Limit CDCVM `DF54`**                                                                                                                                                                                                                                                 |   |
| `_EMVPARAM_1F811D_TERTPM_CAP`               | Tag: `1F811D`  Length: 2  Format: b  | **Terminal TMP Cap `DF55`**  **byte1**  - Online PIN indicator (CVM)  - Signature indicator (CVM)  - CD-CVM indicator (CVM)  - RFU  - EMV contact mode indicator  - Offline-only terminal indicator  - Delayed Authorization  - ATM indicator  **byte2**  - Second tap indicator  - 7-1 RFU |   |

#### Contactless Multibanco AIDs

Data Items Specific to Contactless Multibanco AIDs

| Configuration Item                        | Tag                                  | Description                                                                                                                                                                                                        |   |
| :---------------------------------------- | :----------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `_EMVPARAM_9F06_AID`                      | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                       |   |
| `_EMVPARAM_DF37_KERNELID`                 | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\xC1\x4D\x42\x00\x00\x00\x00\x00"`                                                                                                                                                   |   |
| `_EMVPARAM_DF13_TACDENIAL`                | Tag: `DF13`  Length: 5  Format: b    | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                          |   |
| `_EMVPARAM_DF12_TACONLINE`                | Tag: `DF12`  Length: 5  Format: b    | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                            |   |
| `_EMVPARAM_DF11_TACDEFAULT`               | Tag: `DF11`  Length: 5  Format: b    | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online. |   |
| `_EMVPARAM_DF8118_CVMCAP_ABOVEEQUALLIMIT` | Tag: `DF8118`  Length: 1  Format: b  | **CVM Cap-Above CVM required `DF8118`**                                                                                                                                                                            |   |
| `_EMVPARAM_DF8119_CVMCAP_BELOWLIMIT`      | Tag: `DF8119`  Length: 1  Format: b  | **CVM Cap-Below CVM required `DF8119`**                                                                                                                                                                            |   |

#### Contactless Cpace AIDs

Data Items Specific to Cpace AIDs

| Configuration Item                          | Tag                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   |
| :------------------------------------------ | :------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `_EMVPARAM_9F06_AID`                        | Tag: `9F06`  Length: 5-16  Format: b  | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                                                                                                                                                                                                                                                                                                                    |   |
| `_EMVPARAM_DF37_KERNELID`                   | Tag: `DF37`  Length: 8  Format: b     | **Kernel ID**  Valid Value: `"\x2E\x00\x00\x00\x00\x00\x00\x00"`                                                                                                                                                                                                                                                                                                                                                                                                                                                |   |
| `_EMVPARAM_DF8118_CVMCAP_ABOVEEQUALLIMIT`   | Tag: `DF8118`  Length: 1  Format: b   | **CVM Capability – CVM Required - 'DF8118'**  Indicates the CVM capability of the Terminal and Reader when the transaction amount is greater than the Reader CVM Required Limit. ![](https://docs.newlandnpt.us/assets/_shared/ac96b2515bb4/lib-8.png)                                                                                                                                                                                                                                                                                    |   |
| `_EMVPARAM_DF8119_CVMCAP_BELOWLIMIT`        | Tag: `DF8119`  Length: 1  Format: b   | **CVM Capability – No CVM Required - 'DF8119'**  Indicates the CVM capability of the Terminal and Reader when the transaction amount is less than or equal to the Reader CVM Required Limit. ![](https://docs.newlandnpt.us/assets/_shared/70b61be5536f/lib-10.png)                                                                                                                                                                                                                                                                       |   |
| `_EMVPARAM_DF2F_KERNELCONF`                 | Tag: `DF2F`  Length: 1  Format: b     | **Kernel Configuration - 'DF811B'** ![](https://docs.newlandnpt.us/assets/_shared/8fe3c9b27d49/lib-13.png)                                                                                                                                                                                                                                                                                                                                                                                                                                |   |
| `_EMVPARAM_1F811C_CONTACTLESSLIMIT_CDCVM`   | Tag: `1F811C`  Length: 6  Format: n12 | **Reader Contactless Transaction Limit (On-device CVM) - '1F811C'**  Indicates the transaction amount above which the transaction is not allowed, when on device cardholder verification is supported.  \*Note: History reason, this tag is same as Contact PBOC EC transaction limit.\*                                                                                                                                                                                                                        |   |
| `_EMVPARAM_1F811B_CONTACTLESSLIMIT_NOCDCVM` | Tag: `1F811B`  Length: 6  Format: n12 | **Reader Contactless Transaction Limit (No On-device CVM) - '1F811B'**  Indicates the transaction amount above which the transaction is not allowed, when on device cardholder verification is not supported.                                                                                                                                                                                                                                                                                                   |   |
| `_EMVPARAM_DF21_CVMLIMT`                    | Tag: `DF21`  Length: 6  Format: n12   | **Reader CVM Required Limit - 'DF8126'**  Indicates the transaction amount above which the Kernel instantiates the CVM capabilities field in Terminal Capabilities with CVM Capability - CVM Required.                                                                                                                                                                                                                                                                                                          |   |
| `_EMVPARAM_DF19_CLOFFLIMIT`                 | Tag: `DF19`  Length: 6  Format: n12   | **Reader Contactless Floor Limit - 'DF8123'**  Indicates the transaction amount above which transactions must be authorized online.                                                                                                                                                                                                                                                                                                                                                                             |   |
| `_EMVPARAM_9F1D_TRMDATA`                    | Tag: `9F1D`  Length: 1-8  Format: b   | **Terminal Risk Management Data**  Application-specific value used by the card for risk management purposes.                                                                                                                                                                                                                                                                                                                                                                                                    |   |
| `_EMVPARAM_DF13_TACDENIAL`                  | Tag: `DF13`  Length: 5  Format: b     | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                                                                                                                                                                                                                                                                                                                       |   |
| `_EMVPARAM_DF12_TACONLINE`                  | Tag: `DF12`  Length: 5  Format: b     | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                                                                                                                                                                                                                                                                                                                         |   |
| `_EMVPARAM_DF11_TACDEFAULT`                 | Tag: `DF11`  Length: 5  Format: b     | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online.                                                                                                                                                                                                                                                                                              |   |
| `DF8133`                                    | Tag: `DF8133`  Length: 2  Format: b   | **Maximum Relay Resistance Grace Period - 'DF8133'**  The Minimum Relay Resistance Grace Period and Maximum Relay Resistance Grace Period represent how far outside the window defined by the Card that the measured time may be and yet still be considered acceptable. The Maximum Relay Resistance Grace Period is expressed in units of hundreds of microseconds.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                 |   |
| `DF8132`                                    | Tag: `DF8132`  Length: 2  Format: b   | **Minimum Relay Resistance Grace Period - 'DF8132'**  The Minimum Relay Resistance Grace Period and Maximum Relay Resistance Grace Period represent how far outside the window defined by the Card that the measured time may be and yet still be considered acceptable. The Minimum Relay Resistance Grace Period is expressed in units of hundreds of microseconds.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                 |   |
| `DF8136`                                    | Tag: `DF8136`  Length: 2  Format: b   | **Relay Resistance Accuracy Threshold - 'DF8136'**  Represents the threshold above which the Kernel considers the variation between Measured Relay Resistance Processing Time and Max Time For Processing Relay Resistance APDU no longer acceptable. The Relay Resistance Accuracy Threshold is expressed in units of hundreds of microseconds.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                                      |   |
| `DF8137`                                    | Tag: `DF8137`  Length: 1  Format: b   | **Relay Resistance Transmission Time Mismatch Threshold - 'DF8137'**  Represents the threshold above which the Kernel considers the variation between Device Estimated Transmission Time For Relay Resistance R-APDU and Terminal Expected Transmission Time For Relay Resistance R-APDU no longer acceptable. The Relay Resistance Transmission Time Mismatch Threshold is a percentage and expressed as an integer.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\* |   |
| `DF8134`                                    | Tag: `DF8134`  Length: 2  Format: b   | **Terminal Expected Transmission Time For Relay Resistance C-APDU - 'DF8134'**  Represents the time that the Kernel expects to need for transmitting the EXCHANGE RELAY RESISTANCE DATA command to the Card. The Terminal Expected Transmission Time For Relay Resistance C-APDU is expressed in units of hundreds of microseconds.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                                                   |   |
| `DF8135`                                    | Tag: `DF8135`  Length: 2  Format: b   | **Terminal Expected Transmission Time For Relay Resistance R-APDU - 'DF8135'**  Represents the time that the Kernel expects that the Card will need for transmitting the EXCHANGE RELAY RESISTANCE DATA R-APDU. The Terminal Expected Transmission Time For Relay Resistance R-APDU is expressed in units of hundreds of microseconds.  \*Note: this tag is mandatory for 'RRP' (if kernel configuration(DF2F) support 'RRP').\*                                                                                |   |
| `_EMVPARAM_DF52_PPTLV`                      | Tag: `DF52`  Length: Var  Format: b   | **Extern TLV string.**  You can setup other configuration into this item. Such as configuration for Data Exchange.  e.g.  DS Input (card) - 'DF60'  DS ODS Info - 'DF62'  DS Requested Operator ID - '9F5C'                                                                                                                                                                                                                                                                                                     |   |
| `_EMVPARAM_1F8101_TRANSTYPECKFLAG`          | Tag: `1F8101`  Length: 1  Format: b   | **Indicate whether matching trans type when picking up this aid.**  Newland custom tag.  0x01-support                                                                                                                                                                                                                                                                                                                                                                                                           |   |
| `_EMVPARAM_DF7D_TRANSTYPE`                  | Tag: `DF7D`  Length: 1  Format: n2    | **Transaction type.**  the value of 9C (00/01/09/20)  when 1F8101==0x01, only this item is equal to the value of current transaction type (0x9C) then we select this aid.                                                                                                                                                                                                                                                                                                                                       |   |

#### Contactless Bancomat AIDs

Data Items Specific to Bancomat AIDs

| Configuration Item          | Tag                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   |
| :-------------------------- | :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - |
| `_EMVPARAM_9F06_AID`        | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                                                                                                                                                                                                                                                                                    |   |
| `_EMVPARAM_DF37_KERNELID`   | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\x3D\x00\x00\x00\x00\x00\x00\x00"`                                                                                                                                                                                                                                                                                                                                                                                                                |   |
| `_EMVPARAM_DF13_TACDENIAL`  | Tag: `DF13`  Length: 5  Format: b    | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                                                                                                                                                                                                                                                                                       |   |
| `_EMVPARAM_DF12_TACONLINE`  | Tag: `DF12`  Length: 5  Format: b    | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                                                                                                                                                                                                                                                                                         |   |
| `_EMVPARAM_DF11_TACDEFAULT` | Tag: `DF11`  Length: 5  Format: b    | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online.                                                                                                                                                                                                                                                              |   |
| `_Bancomat_DF8011_legacy`   | Tag: `DF8011`  Length: 10  Format: b | **Terminal Action Code-Switch**                                                                                                                                                                                                                                                                                                                                                                                                                                                 |   |
| `_EMVPARAM_9F66_TRANSPROP`  | Tag: `9F66`  Length: 4  Format: b 32 | **Terminal Transaction Qualifiers (TTQ)**  Indicates reader capabilities, requirements, and preferences to the card.  TTQ byte 2 bits 8-7 are transient values, and reset to zero at the beginning of the transaction. All other TTQ bits are static values, and not modified based on transaction conditions.  TTQ byte 3 bit 7 shall be set by the acquirer-merchant to 1b.  Values: ![](https://docs.newlandnpt.us/assets/_shared/0162ad54e839/lib-20.png)![](https://docs.newlandnpt.us/assets/_shared/46348d0c0127/lib-21.png) |   |

#### Contactless Eftpos AIDs

Data Items Specific to Eftpos AIDs

| Configuration Item          | Tag                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   |
| :-------------------------- | :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - |
| `_EMVPARAM_9F06_AID`        | Tag: `9F06`  Length: 5-16  Format: b | **Application Identifier (AID)**  Identifies the application as described in ISO/IEC 7816-5.                                                                                                                                                                                                                                                                                                                                                                                    |   |
| `_EMVPARAM_DF37_KERNELID`   | Tag: `DF37`  Length: 8  Format: b    | **Kernel ID**  Valid Value: `"\x81\x07\x44\x00\x00\x00\x00\x00"`                                                                                                                                                                                                                                                                                                                                                                                                                |   |
| `_EMVPARAM_DF13_TACDENIAL`  | Tag: `DF13`  Length: 5  Format: b    | **Terminal Action Code-Denial**  Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.                                                                                                                                                                                                                                                                                                                                       |   |
| `_EMVPARAM_DF12_TACONLINE`  | Tag: `DF12`  Length: 5  Format: b    | **Terminal Action Code-Online**  Specifies the acquirer's conditions that cause a transaction to be transmitted online.                                                                                                                                                                                                                                                                                                                                                         |   |
| `_EMVPARAM_DF11_TACDEFAULT` | Tag: `DF11`  Length: 5  Format: b    | **Terminal Action Code-Default**  Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online.                                                                                                                                                                                                                                                              |   |
| `_Bancomat_DF8011_legacy`   | Tag: `DF8011`  Length: 10  Format: b | **Terminal Action Code-Switch**                                                                                                                                                                                                                                                                                                                                                                                                                                                 |   |
| `_EMVPARAM_9F66_TRANSPROP`  | Tag: `9F66`  Length: 4  Format: b 32 | **Terminal Transaction Qualifiers (TTQ)**  Indicates reader capabilities, requirements, and preferences to the card.  TTQ byte 2 bits 8-7 are transient values, and reset to zero at the beginning of the transaction. All other TTQ bits are static values, and not modified based on transaction conditions.  TTQ byte 3 bit 7 shall be set by the acquirer-merchant to 1b.  Values: ![](https://docs.newlandnpt.us/assets/_shared/0162ad54e839/lib-20.png)![](https://docs.newlandnpt.us/assets/_shared/46348d0c0127/lib-21.png) |   |

---

## The Appendix

### Appendix A.1 Kernel ID

| Name               | ID         |   |
| :----------------- | :--------- | - |
| KERNEL\_MASTERCARD | (0x02)     |   |
| KERNEL\_VISA       | (0x03)     |   |
| KERNEL\_AMEX       | (0x04)     |   |
| KERNEL\_JCB        | (0x05)     |   |
| KERNEL\_DISCOVER   | (0x06)     |   |
| KERNEL\_UNIONPAY   | (0x07)     |   |
| KERNEL\_RUPAY      | (0x0D)     |   |
| KERNEL\_MCCS       | (0x20)     |   |
| KERNEL\_INTERAC    | (0x21)     |   |
| KERNEL\_MADA       | (0x2D)     |   |
| KERNEL\_BANCOMAT   | (0x3D)     |   |
| KERNEL\_CPACE      | (0x2E)     |   |
| KERNEL\_MIR        | (0x810643) |   |
| KERNEL\_EFTPOS     | (0X810744) |   |
| KERNEL\_MULTIBANCO | (0xC14D42) |   |

### Appendix A.2 NPT EMV Configuration TAG List

As the follow, Newland user-defined some tags.
Here are a few rules.

1. When you use the function `SDK_EP_SetData`, you should preferred to use the emv tag, if there doesn't have emv tag, you should the newland user-defined tag.
2. Our aid configuration preferred to use the newland user-defined tag. If you use the function to operate the aid configuration you should use the newland user-defined tag. Such as: `SDK_EP_OperAIDTlvData`, `SDK_EP_OperAIDV4`.
3. When you use the entrypoint structure filed "pptlv" to write the filed which doesn't defined in the entrypoint structure, you should use the emv tag.

| Name                                                        | format | length        | newland tag | emv tag  | Struct field               |   |
| :---------------------------------------------------------- | :----- | :------------ | :---------- | :------- | :------------------------- | - |
| Terminal Action Code-Default                                | b      | 5             | `DF11`      |          | `usTacDefault`             |   |
| Terminal Action Code-Denial                                 | b      | 5             | `DF13`      |          | `usTacDenial`              |   |
| Terminal Action Code-Online                                 | b      | 5             | `DF12`      |          | `usTacOnline`              |   |
| Target Percentage                                           | n2     | 1             | `DF17`      |          | `ucTargetPercent`          |   |
| Maximum Target Percentage                                   | n2     | 1             | `DF16`      |          | `ucMaxTargetPercent`       |   |
| Threshold Value                                             | n      | 4             | `DF15`      |          | `usThresholdValue`         |   |
| Transaction Reference Currency Convert                      | n      | 4             | `DF22`      |          | `usTransRefConv`           |   |
| Script Length Limit                                         | n1     | 1             | `DF23`      |          | `ucScriptDevLimit`         |   |
| ICS                                                         | b      | 7             | `DF24`      |          | `usIcs`                    |   |
| EMV Select Kernel                                           | b      | 1             | `DF25`      |          | `ucStatus`                 |   |
| EC Indicator Support                                        | n1     | 1             | `9F7A`      | `9F7A`   | `ucEcIndicator`            |   |
| Terminal Type                                               | n2     | 1             | `9F35`      | `9F35`   | `ucType`                   |   |
| Terminal Capabilities                                       | b      | 3             | `9F33`      | `9F33`   | `usCap`                    |   |
| Additional Terminal Capabilities                            | b      | 5             | `9F40`      | `9F40`   | `usAddCap`                 |   |
| Application Identifier (AID)                                | b      | var.up 5to16  | `9F06`      | `9F06`   | `usAid`                    |   |
| Application Version                                         | b      | 2             | `9F09`      | `9F09`   | `usAppVer`                 |   |
| POS Entry Mode                                              | n2     | 1             | `9F39`      | `9F39`   | `ucPosEntry`               |   |
| Floor Limit                                                 | b      | 4             | `9F1B`      | `9F1B`   | `usFloorlimit`             |   |
| Acquirer Identifier                                         | n6-11  | 6             | `9F01`      | `9F01`   | `usAcqId`                  |   |
| Merchant Category Code                                      | n4     | 2             | `9F15`      | `9F15`   | `usMerCategoryCode`        |   |
| Merchant Identifier                                         | ans    | 15            | `9F16`      | `9F16`   | `usMerchantId`             |   |
| Transaction Currency Code                                   | n3     | 2             | `5F2A`      | `5F2A`   | `usTransCurrCode`          |   |
| Transaction Currency Exponent                               | n1     | 1             | `5F36`      | `5F36`   | `ucTransCurrExp`           |   |
| Reference Currency Code                                     | n3     | 2             | `9F3C`      | `9F3C`   | `usTransRefCurrCode`       |   |
| Reference Currency Exponent                                 | n1     | 1             | `9F3D`      | `9F3D`   | `ucTransRefCurrExp`        |   |
| Terminal Country Code                                       | n3     | 2             | `9F1A`      | `9F1A`   | `usTermCountryCode`        |   |
| Interface Device Serial Number                              | an     | 8             | `9F1E`      | `9F1E`   | `usIfdSerialNum`           |   |
| Terminal Identification                                     | an     | 8             | `9F1C`      | `9F1C`   | `usTerminalId`             |   |
| Default DDOL                                                | b      | var.up to 252 | `DF44`      |          | `usDefaultDdol`            |   |
| Default TDOL                                                | b      | var.up to 252 | `DF45`      |          | `usDefaultTdol`            |   |
| Terminal Risk Manage Data                                   | b      | Var.up to 8   | `9F1D`      | `9F1D`   | `usRiskManaData`           |   |
| Application Selection Indicator                             | n1     | 1             | `DF01`      |          | `ucAppSelIndicator`        |   |
| Fallback POS Entry Mode                                     | n2     | 1             | `DF26`      |          | `ucFallBackPosentry`       |   |
| Limit Exist                                                 | b      | 1             | `DF27`      |          | `ucLimitExist`             |   |
| EC Terminal Transaction Limit                               | n12    | 6             | `9F7B`      | `9F7B`   | `usEcLimit`                |   |
| Contactless Transaction limit                               | n12    | 6             | `DF20`      |          | `usClLimit`                |   |
| Contactless Offline Floor limit                             | n12    | 6             | `DF19`      |          | `usClOfflineLimit`         |   |
| CVM Required limit                                          | n12    | 6             | `DF21`      |          | `usCvmLimit`               |   |
| Terminal Transaction Qualifiers                             | b      | 4             | `9F66`      | `9F66`   | `usTransProp`              |   |
| Status Check Support(for old version qpboc)                 | n1     | 1             | `DF29`      |          | `ucStatusCheck`            |   |
| Application ID                                              | b      | 1             | `DF2A`      |          | `ucAppId`                  |   |
| Merchant Name                                               | ans    | 20            | `9F4E`      | `9F4E`   | `usMerchantName`           |   |
| TLV Buffer value                                            | b      | 55            | `DF52`      |          | `usPPTlv`                  |   |
| Kernel ID                                                   | b      | 8             | `DF37`      | `9F2A`   | `usKernelId`               |   |
| Status Check Support                                        | n1     | 1             | `DF39`      |          | `ucStatusCheckSupport`     |   |
| Zero Amount Allow                                           | n1     | 1             | `DF3A`      |          | `ucZeroAmountAllow`        |   |
| Extend AID support                                          | n1     | 1             | `DF3B`      |          | `ucExtendAidSupport`       |   |
| Terminal Priority                                           | b      | 1             | `DF65`      |          | `ucTerminalPriority`       |   |
| Select by AID list                                          | n1     | 1             | `1F8102`    |          |                            |   |
| **For EMV**                                                 |        |               |             |          |                            |   |
| Verify Track Data                                           | b      | 1             | `1F8118`    |          |                            |   |
| Apply a zero value floor limit for cashback transactions    | b      | 1             | `1F8119`    |          |                            |   |
| **For paywave**                                             |        |               |             |          |                            |   |
| PayWave Config                                              | b      | 2             | `DF34`      |          | `usPwConfig`               |   |
| DRL Support Status                                          | n1     | 1             | `DF3D`      |          | `ucDrlStatus`              |   |
| paywave DRL APP                                             | b      | 0or280        | `DF3F`      |          | `usDrlData`                |   |
| **For paypass**                                             |        |               |             |          |                            |   |
| Default UDOL                                                | b      | var.up to 252 | `DF2B`      | `DF811A` | `usDefaultUdol`            |   |
| Mag Stripe Applicaiton Version(Terminal)                    | b      | 2             | `DF2D`      | `9F6D`   | `usMagAppVer`              |   |
| Data Exchang support                                        | n1     | 1             | `DF2E`      |          | `ucDataExchangeSupport`    |   |
| Kernel Configuration                                        | b      | 1             | `DF2F`      | `DF811B` | `ucKernelConfig`           |   |
| Tron Log Max number                                         | n2     | 1             | `DF32`      |          | `ucMaxNumTornLog`          |   |
| Mag-stripe CVM Capability-CVM Required                      | b      | 1             | `DF42`      | `DF811E` | `ucMagStripeCvm`           |   |
| Tron Log Max LifeTime                                       | b      | 2             | `DF43`      |          | `usMaxLifetimeTornLog`     |   |
| Mobile Support Indicator                                    | b      | 1             | `DF46`      | `9F7E`   | `ucMobileSupportIndicator` |   |
| Mag-stripe CVM Capability-No CVM Required                   | b      | 1             | `DF47`      | `DF812C` | `ucMagStripeNoCvm`         |   |
| CVM Capability-No CVM Required                              | b      | 1             | `DF48`      | `DF8119` | `ucCapNoCvm`               |   |
| Maximum Relay Resistance Grace Period                       | b      | 2             | `DF54`      | `DF8133` |                            |   |
| Minimum Relay Resistance Grace Period                       | b      | 2             | `DF55`      | `DF8132` |                            |   |
| Relay Resistance Accuracy Threshold                         | b      | 2             | `DF56`      | `DF8136` |                            |   |
| Relay Resistance Transmission Time Mismatch Threshold       | b      | 1             | `DF57`      | `DF8137` |                            |   |
| Terminal Transmission Time For RRP C-APDU                   | b      | 2             | `DF58`      | `DF8134` |                            |   |
| Terminal Transmission Time For RRP R-APDU                   | b      | 2             | `DF59`      | `DF8135` |                            |   |
| Trans Type Check Flag                                       | n1     | 1             | `1F8101`    |          |                            |   |
| Transaction Type for Application Authentication Transaction | n2     | 1             | `DF7D`      |          |                            |   |
| **For AMEX**                                                |        |               |             |          |                            |   |
| Enhanced Contactless Reader Capabilities                    | b      | 4             | `9F66`      | `9F6E`   | `usTransProp`              |   |
| Contactless Reader Capabilities                             | b      | 1             | `DF49`      | `9F6D`   | `ucEXTerminalCap`          |   |
| Expresspay Rand Scope                                       | b      | 1             | `DF4A`      |          | `ucEXRandomScope`          |   |
| Expresspay Time Limit                                       | b      | 1             | `DF4B`      |          | `ucEXTimeExpire`           |   |
| Expresspay DRL APP                                          | b      | 0or408        | `DF53`      |          |                            |   |
| **For JCB**                                                 |        |               |             |          |                            |   |
| Combination Options                                         | b      | 2             | `DF60`      |          |                            |   |
| Terminal Interchange Profile(static)                        | b      | 3             | `9F53`      | `9F53`   |                            |   |
| Default MDOL                                                | b      | var.up to 252 | `DF61`      |          |                            |   |
| **For Pure**                                                |        |               |             |          |                            |   |
| Contactless Application Capabilities                        | b      | 5             | `DF62`      |          |                            |   |
| Contactless POS Implementation Options                      | b      | 1             | `DF63`      |          |                            |   |
| Memory Slot Read Template                                   | b      | var.up to 252 | `BF71`      | `BF71`   |                            |   |
| Terminal Aid Value                                          | b      | var.up to 16  | `DF64`      |          |                            |   |
| Terminal Transaction Data                                   | b      | var.up to 252 | `9F76`      | `9F76`   |                            |   |
| Mandatory Tag Object List                                   | b      | var.up to 50  | `DF66`      |          |                            |   |
| Authentication Transaction Data Tag Object List             | b      | var.up to 40  | `DF79`      |          |                            |   |
| POS TimeOut(Transaction Result)                             | n4     | 2             | `DF7A`      |          |                            |   |
| AUTO RUN                                                    | n1     | 1             | `DF7B`      |          |                            |   |
| POS TimeOut(LongTap)                                        | n4     | 2             | `DF7C`      |          |                            |   |
| Additional Tag Object List                                  | b      | 40            | `DF7E`      |          |                            |   |
| **For Interac**                                             |        |               |             |          |                            |   |
| Terminal Transaction Information                            | b      | 3             | `9F59`      | `9F59`   |                            |   |
| Terminal Option Status                                      | b      | 2             | `9F5E`      | `9F5E`   |                            |   |
| Merchant Type Indicator                                     | n2     | 1             | `9F58`      | `9F58`   |                            |   |
| Terminal Contactless Receipt Required Limit                 | n12    | 6             | `9F5D`      | `9F5D`   |                            |   |
| Terminal Transaction Type                                   | b      | 1             | `9F5A`      | `9F5A`   |                            |   |
| **For Rupay**                                               |        |               |             |          |                            |   |
| Rupay Additional Terminal Capabilities Extension            | b      | 5             | `1F8103`    | `DF3A`   |                            |   |
| Rupay service id                                            | b      | 2             | `1F8104`    | `DF16`   |                            |   |
| Rupay Service Qualifier                                     | b      | 5             | `1F8105`    |          |                            |   |
| Rupay Service Data                                          | b      | Var max96     | `1F8106`    | `DF45`   |                            |   |
| Rupay Service PRMiss                                        | b      | 16            | `1F8107`    | `DF47`   |                            |   |
| Rupay Service PRMacq Key value                              | b      | 24\*n max240  | `1F8108`    |          |                            |   |
| **For MIR**                                                 |        |               |             |          |                            |   |
| Terminal No Cvm Limit                                       | n12    | 6             | `1F811A`    | `DF52`   |                            |   |
| Terminal Contactless Limit (Non CD-CVM)                     | n12    | 6             | `1F811B`    | `DF53`   |                            |   |
| Terminal Contactless Limit (CD-CVM)                         | n12    | 6             | `1F811C`    | `DF54`   |                            |   |
| Terminal TPM Capabilities                                   | b      | 2             | `1F811D`    | `DF55`   |                            |   |
| Data Exchange Tag List                                      | b      | 50            | `1F811E`    |          |                            |   |
| **For Multibanco**                                          |        |               |             |          |                            |   |
| CVM Cap-Above CVM required                                  | b      | 1             | `DF8118`    |          |                            |   |
| CVM Cap-Below CVM required                                  | b      | 1             | `DF8119`    |          |                            |   |

### Appendix A.3 Entrypoint Struct

| Data type         | Name                               | Parameter in or out | description                                                            |   |
| :---------------- | :--------------------------------- | :------------------ | :--------------------------------------------------------------------- | - |
| `unsigned char`   | `ucTransType`                      | in                  | transaction type                                                       |   |
| `emv_seq`         | `emSeqTo`                          | in                  | kernel control when to terminate the session                           |   |
| `entry_point_seq` | `emSeqStart`                       | in                  | Entry Point control start from the process                             |   |
| `int`             | `nRequestAmt`                      | in                  | whether to request the amount                                          |   |
| `unsigned char`   | `ucCardNo`                         | in                  | which card type for transaction, RF use `EMV_CARD_RFIC`= 0xA1          |   |
| `unsigned char`   | `ucRestart`                        | in                  | restart again                                                          |   |
| `int`             | `nForceOnlineEnable`               | in                  | whether the force online option opened                                 |   |
| `int`             | `nAccountTypeEnable`               | in                  | whether the account type selection opened                              |   |
| `unsigned char *` | `pusOnlinePin`                     | out                 | no use                                                                 |   |
| `unsigned char *` | `pusIssScriptRes`                  | out                 | if issuer script result exists                                         |   |
| `int`             | `nIssSresLen`                      | out                 | Issuer script length                                                   |   |
| `int`             | `nAdviceReq`                       | out                 | if advice is required                                                  |   |
| `int`             | `nForceAcceptSupported`            | out                 | Force accept a transaction                                             |   |
| `int`             | `nSignatureReq`                    | out                 | if the CVM finally request a signature                                 |   |
| `unsigned char *` | `pusAuthRespCode`                  | in                  | 8A from the host                                                       |   |
| `unsigned char *` | `pusField55`                       | in                  | field55 or tlv decoded data from the host                              |   |
| `int`             | `nField55Len`                      | in                  | Field length                                                           |   |
| `int`             | `nOnlineResult`                    | in                  | the online result                                                      |   |
| `int`             | `nTransRet`                        | out                 | The transaction result                                                 |   |
| `unsigned char`   | `ucUIMessageId`                    | out                 | UI Message Id                                                          |   |
| `unsigned char`   | `ucUIStatus`                       | out                 | UI Status                                                              |   |
| `unsigned char`   | `usUIHoldTime[3]`                  | out                 | UI Hold Time                                                           |   |
| `unsigned char`   | `ucUILanguageLen`                  | out                 | UI Language Length                                                     |   |
| `unsigned char`   | `usUILanguagePreference[8]`        | out                 | UI Language Preference                                                 |   |
| `unsigned char`   | `ucUIValueQualifier`               | out                 | UI Value Qualifier                                                     |   |
| `unsigned char`   | `ucUIValue[6]`                     | out                 | UI Value                                                               |   |
| `unsigned char`   | `usUICurrencyCode[2]`              | out                 | UI Currency Code                                                       |   |
| `unsigned char`   | `ucOPStatus`                       | out                 | OP Status                                                              |   |
| `unsigned char`   | `ucOPStart`                        | out                 | OP Start                                                               |   |
| `unsigned char`   | `ucOPOnlineResponseData`           | out                 | OP Online Response Data                                                |   |
| `unsigned char`   | `ucOPCvm`                          | out                 | OP Cvm                                                                 |   |
| `unsigned char`   | `ucOPUIRequestOnOutcomePresent`    | out                 | OP UI Request On Outcome Present                                       |   |
| `unsigned char`   | `ucOPUIRequestOnRestartPresent`    | out                 | OP UI Request On Restart Present                                       |   |
| `unsigned char`   | `ucOPDataRecordPresent`            | out                 | OP Data Record Present                                                 |   |
| `unsigned char`   | `ucOPDiscretionaryDataPresent`     | out                 | OP Discretionary Data Present                                          |   |
| `unsigned char`   | `ucOPReceipt`                      | out                 | OP Receipt                                                             |   |
| `unsigned char`   | `ucOPAlternateInterfacePreference` | out                 | OP Alternate Interface Preference                                      |   |
| `unsigned char`   | `ucOPFieldOffRequest`              | out                 | OP Field Off Request                                                   |   |
| `unsigned char`   | `ucOPRemovalTimeout`               | out                 | OP Removal Timeout                                                     |   |
| `unsigned char`   | `ucERL1Indication`                 | out                 | Error L1 Indication                                                    |   |
| `unsigned char`   | `ucERL2Indication`                 | out                 | Error L2 Indication                                                    |   |
| `unsigned char`   | `ucERL3Indication`                 | out                 | Error L3 Indication                                                    |   |
| `unsigned char`   | `ucERSW1`                          | out                 | Error SW1                                                              |   |
| `unsigned char`   | `ucERSW2`                          | out                 | Error SW2                                                              |   |
| `unsigned char`   | `ucERMSGONERROR`                   | out                 | Error MSG ON ERROR                                                     |   |
| `unsigned char`   | `ucRefundRequestAc`                | in                  | paywave for refund transaction request AAC. TC-0X40 ARQC-0X80 AC-OTHER |   |
| `unsigned char`   | `ucCtrl`                           | in                  | control bits                                                           |   |
| `unsigned char`   | `ucForceBypssPinEnable`            | in                  | whether the force online option opened                                 |   |
| `unsigned char`   | `ucRupayTerEnviron`                | in                  | for retail 0x01 Transit for rail 0x02 Transit for bus                  |   |
| `unsigned char`   | `Rfu[3]`                           | —                   |                                                                        |   |

### Appendix A.4 RF transaction data structure

| Data type            | Name                       | Parameter in or out | description                                                                   |   |
| :------------------- | :------------------------- | :------------------ | :---------------------------------------------------------------------------- | - |
| `Unsigned long long` | `nAmount`                  | in                  | Trans amount                                                                  |   |
| `Unsigned long long` | `nAmountOther`             | in                  | Trans amount Other                                                            |   |
| `unsigned char`      | `usDate[7]`                | in                  | date: yyyy,mm,dd,hh,mm,ss                                                     |   |
| `unsigned char`      | `usAid[16]`                | out                 | AID                                                                           |   |
| `unsigned char`      | `ucAidLen`                 | out                 | AID length                                                                    |   |
| `unsigned char`      | `usKernelId[8]`            | out                 | Kernel id                                                                     |   |
| `Unsigned int`       | `unFileOffset`             | out                 | kernel config file offset                                                     |   |
| `unsigned char *`    | `pusFinalAidFci`           | out                 | FCI received from select aid final,Application must assign one buffer pointer |   |
| `unsigned int`       | `nFciLen`                  | out                 | the length of FCI                                                             |   |
| `unsigned char`      | `usSW12[2]`                | out                 | SW1 SW2 received from select aid                                              |   |
| `unsigned char *`    | `pusPreProcessIndicator`   | out                 | Application must assign one STEPDATA buffer pointer                           |   |
| `unsigned char`      | `ucPreProcessIndicatorLen` | out                 | The length of PreProcessIndicator                                             |   |
| `unsigned char`      | `ucNoAmount`               | out                 | paypass test. Not save amount                                                 |   |
| `unsigned char`      | `usResv[4]`                | —                   | RFU                                                                           |   |

### Appendix A.5 STTERMINALAID(Terminal Aid) structure

| Field                                | Description                            |   |
| :----------------------------------- | :------------------------------------- | - |
| `unsigned char usAid[16]`            | The Buffer Of The Aid                  |   |
| `unsigned char ucAidLen`             | The Length Of The Aid                  |   |
| `unsigned char ucPartialMatch`       | Is Support The Partial Match           |   |
| `unsigned char usKernelld[8]`        | Kernel ID                              |   |
| `unsigned char ucExtendAidSupport`   | Is Support Extend Aid                  |   |
| `unsigned char ucTerminalPriority`   | 0 to 255; 255 is the greatest priority |   |
| `unsigned char ucKernelConfig`       | Paypass Kernel Config                  |   |
| `unsigned char ucTransType`          | Use For Paypass                        |   |
| `unsigned char ucTransTypeCheckFlag` | Use For Paypass                        |   |
| `unsigned char ucZeroAmtFlag`        | Zero Amount Flag                       |   |
| `unsigned char ucLimitExist`         | Limit Exist                            |   |
| `unsigned char usDF20_CLlimit`       | Contactless limit                      |   |
| `unsigned char ucRfu`                | Use for feature                        |   |

### Appendix A.6 STCONFIG(Terminal Configuration) structure

| Field                                 | Description                                |   |
| :------------------------------------ | :----------------------------------------- | - |
| `unsigned char usTacDefault[5]`       | default Terminal Action Code               |   |
| `unsigned char usTacDenial[5]`        | denial Terminal Action Code                |   |
| `unsigned char usTacOnline[5]`        | online Terminal Action Code                |   |
| `unsigned char ucTargetPercent`       | target percent                             |   |
| `unsigned char ucMaxTargetPercent`    | max target percent                         |   |
| `unsigned char usThresholdValue[4]`   | threshold value                            |   |
| `unsigned char usTransRefConv[4]`     | transaction reference currency             |   |
| `unsigned char ucScriptDevLimit`      | script length limit                        |   |
| `unsigned char uslcs[7]`              | ICS (Implementation Conformance Statement) |   |
| `unsigned char ucStatus`              | Test type indicator                        |   |
| `unsigned char ucEcIndicator`         | EC Indicator                               |   |
| `unsigned char ucTransMod`            | Card Status                                |   |
| `unsigned char ucCardNo`              | Card Type contactless or contact           |   |
| `unsigned char ucTransBranch`         | Transaction Branch                         |   |
| `unsigned char ucDataExchangeSupport` | Paypass data exchange                      |   |
| `unsigned char ucKernelConfig`        | Paypass kernel configuration DF2F          |   |
| `unsigned char ucMaxNumTornLog`       | Paypass Torn Log MaxNum                    |   |
| `unsigned char ucBalanceReadFlag`     | Payapss balance read flag no use           |   |
| `unsigned char ucDrlStatus`           | Paywave Drl Status                         |   |
| `unsigned char uclOOption`            | Pure IO option                             |   |
| `unsigned char usTerminalAid[16]`     | Pure Terminal Aid                          |   |
| `unsigned char ucTerminalAidLen`      | Pure Terminal Aid length                   |   |
| `unsigned char usQpbocTTQ[4]`         | Qpboc TTQ                                  |   |
| `unsigned char ucQpbocTTQSetFlag`     | Qpboc Set Flag                             |   |
| `unsigned char ucSelectAidListFlag`   | Select aid list flag                       |   |
| `unsigned char usReserve[10]`         | Use for feature                            |   |

### Appendix A.7 Transaction result

| Transaction Result                      | Value | Description                                                                                                                                                                 |   |
| :-------------------------------------- | :---- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `EMV_TRANS_RF_TERMINATE`                | -1    | Transaction terminate                                                                                                                                                       |   |
| `EMV_TRANS_RF_MCHIP_ACCEPT`             | 11    | Clss M/CHIP transaction offline approve                                                                                                                                     |   |
| `EMV_TRANS_RF_MCHIP_DENIAL`             | 12    | Clss M/CHIP transaction denial                                                                                                                                              |   |
| `EMV_TRANS_RF_MCHIP_GOONLINE`           | 13    | Clss M/CHIP transaction online request                                                                                                                                      |   |
| `EMV_TRANS_RF_MAG_GOONLINE`             | 14    | Clss Mag Stripe transaction online request                                                                                                                                  |   |
| `EMV_TRANS_RF_MAG_ACCEPT`               | 15    | Clss Mag Stripe transaction approve                                                                                                                                         |   |
| `EMV_TRANS_RF_ACTIVE_CARD`              | 16    | Please activate card, external application can open the pick up card.(when activated success of the card, need to call this function to the subsequent transaction process) |   |
| `EMV_TRANS_RF_TRYOTHERINT`              | 17    | try another interface                                                                                                                                                       |   |
| `EMV_TRANS_RF_ACTIVE_KERNEL`            | 18    | Complete Application selection, and please select kernel to continue                                                                                                        |   |
| `EMV_TRANS_RF_SELECT_NEXT_AID`          | 19    | select next aid                                                                                                                                                             |   |
| `EMV_TRANS_RF_MAG_DENIAL`               | 20    | Clss Mag Stripe transaction denial                                                                                                                                          |   |
| `EMV_TRANS_RF_CONTACTLESS_NOTPER`       | 21    | Transaction denial                                                                                                                                                          |   |
| `EMV_TRANS_RF_MCHIP_GOONLINE_LONGTAP`   | 22    | CLSS M.CHIP Online Request legacy card                                                                                                                                      |   |
| `EMV_TRANS_RF_MCHIP_GOONLINE_ONLINETAP` | 23    | CLSS M.CHIP Online Request no legacy card                                                                                                                                   |   |
| `EMV_TRANS_RF_GOONLINE_Hold`            | 24    | Transaction go online, present and Hold                                                                                                                                     |   |
| `EMV_TRANS_RF_GOONLINE_2Present`        | 25    | Transaction go online, Two Present                                                                                                                                          |   |
| `EMV_TRANS_RF_ENDAPP_ONDEVCVM`          | 26    | End Application with restart, on-device CVM                                                                                                                                 |   |
| `EMV_TRANS_RF_ENDAPP_COMMERR`           | 27    | End Application with restart, communication errors                                                                                                                          |   |
| `EMV_TRANS_RF_1GAC_AAC`                 | 29    | First Generate AC return AAC                                                                                                                                                |   |
| `EMV_TRANS_RF_ONLINETAP_ONLINEFAIL`     | 29    | OnlineTap OnlineFail                                                                                                                                                        |   |
| `EMV_TRANS_DOWNCARD`                    | -15   | GPO, SW=6986, use for paywave, cdcvm, see phone                                                                                                                             |   |

### Appendix A.8 Transaction Mode

Newland use the tag `DF1F` to mark a contactless transaction. What the card? What the transaction mode.

| Mode name                              | value | Card             |   |
| :------------------------------------- | :---- | :--------------- | - |
| `TRANS_MODE_UNIONPAY_QPBOC`            | 0x06  | Unionpay         |   |
| `define TRANS_MODE_UNIONPAY_PBOC`      | 0x07  | Unionpay         |   |
| `TRANS_MODE_UNIONPAY_MSD`              | 0x08  | Unionpay         |   |
| `TRANS_MODE_PAYWAVE_QVSDC`             | 0x0B  | paywave          |   |
| `TRANS_MODE_PAYWAVE_VSDC`              | 0x0C  | paywave          |   |
| `TRANS_MODE_PAYWAVE_WAVE2`             | 0x0D  | paywave          |   |
| `TRANS_MODE_PAYWAVE_MSD`               | 0x0E  | paywave          |   |
| `TRANS_MODE_PAYWAVE_MSD_LEGACY`        | 0x0F  | paywave          |   |
| `TRANS_MODE_PAYPASS_MCHIP`             | 0x10  | paypass          |   |
| `TRANS_MODE_PAYPASS_MSTRIPE`           | 0x11  | paypass          |   |
| `TRANS_MODE_DPAS_EMV`                  | 0x15  | Discover/diners  |   |
| `TRANS_MODE_DPAS_MSTRIPE`              | 0x16  | Discover/diners  |   |
| `TRANS_MODE_DPAS_ZIP`                  | 0x17  | Discover/diners  |   |
| `TRANS_MODE_EXPRESSPAY_EMV`            | 0x1A  | American Express |   |
| `TRANS_MODE_EXPRESSPAY_MSTRIPE`        | 0x1B  | American Express |   |
| `TRANS_MODE_EXPRESSPAY_MOBLIE_EMV`     | 0x1C  | American Express |   |
| `TRANS_MODE_EXPRESSPAY_MOBLIE_MSTRIPE` | 0x1D  | American Express |   |
| `TRANS_MODE_JCB_EMV`                   | 0x1F  | JCB              |   |
| `TRANS_MODE_JCB_MSTRIPE`               | 0x20  | JCB              |   |
| `TRANS_MODE_JCB_LEGACY`                | 0x21  | JCB              |   |
| `TRANS_MODE_PURE_EMV`                  | 0x24  | Gemalto Pure     |   |
| `TRANS_MODE_INTERAC_EMV`               | 0x29  | Interac          |   |
| `TRANS_MODE_RUPAY_EMV`                 | 0x2E  | Rupay            |   |
| `TRANS_MODE_MIR_EMV_PROTOCOL01`        | 0x33  | Mir              |   |
| `TRANS_MODE_MIR_EMV_PROTOCOL02`        | 0x34  | Mir              |   |
| `TRANS_MODE_MULTIBANCO_EMV`            | 0x38  | Multibanco       |   |

### Appendix B.1 Message ID

| Message ID name                    | value |   |
| :--------------------------------- | :---- | - |
| `UI_MSGID_APPROVED`                | 0x03  |   |
| `UI_MSGID_CARDERROR`               | 0x06  |   |
| `UI_MSGID_DECLINED`                | 0x07  |   |
| `UI_MSGID_PLEASE_ENTER_YOURE_PIN`  | 0x09  |   |
| `UI_MSGID_PROCESSING_ERROR`        | 0x0F  |   |
| `UI_MSGID_REMOVE_CARD`             | 0x10  |   |
| `UI_MSGID_TRY_AGAIN`               | 0x11  |   |
| `UI_MSGID_WELCOME`                 | 0x14  |   |
| `UI_MSGID_PRESENT_CARD`            | 0x15  |   |
| `UI_MSGID_PROCESSING`              | 0x16  |   |
| `UI_MSGID_CARD_READ_OK`            | 0x17  |   |
| `UI_MSGID_INSERT_OR_SWIPE_CARD`    | 0x18  |   |
| `UI_MSGID_PRESENT_ONE_CARD_ONLY`   | 0x19  |   |
| `UI_MSGID_APPROVED_SIGN`           | 0x1A  |   |
| `UI_MSGID_AUTHORISING_PLEASE_WAIT` | 0x1B  |   |
| `UI_MSGID_ERROR_OTHER_CARD`        | 0x1C  |   |
| `UI_MSGID_INSERT_CARD`             | 0x1D  |   |
| `UI_MSGID_CLEAR_DISPLAY`           | 0x1E  |   |
| `UI_MSGID_SEE_PHONE`               | 0x20  |   |
| `UI_MSGID_PRESENT_CARD_AGAIN`      | 0x21  |   |

### Appendix B.2 Status

| Status name                                  | value |   |
| :------------------------------------------- | :---- | - |
| `UI_STATUS_NOT_READY`                        | 0x00  |   |
| `UI_STATUS_IDLE`                             | 0x01  |   |
| `UI_STATUS_READY_TO_READ`                    | 0x02  |   |
| `UI_STATUS_PROCESSING`                       | 0x03  |   |
| `UI_STATUS_CARD_READ_SUCCESSFULLY`           | 0x04  |   |
| `UI_STATUS_PROCESSING_ERROR`                 | 0x05  |   |
| `UI_STATUS_STATUS_NA`                        | 0xFF  |   |
| `UI_STATUS_GAC_NOANSWER`                     | 0x06  |   |
| `UI_STATUS_GAC_BADANSWER`                    | 0x07  |   |
| `UI_STATUS_GAC_BADCID`                       | 0x08  |   |
| `UI_STATUS_PERFORM_RECOVERY_NOSUPPORT`       | 0x10  |   |
| `UI_STATUS_PERFORM_RECOVERY_LIMITEXCEED`     | 0x11  |   |
| `UI_STATUS_PERFORM_BADSW`                    | 0x12  |   |
| `UI_STATUS_COMPLETE_RECOVERY_NOSUPPORT`      | 0x20  |   |
| `UI_STATUS_COMPLETE_RECOVERY_LIMITEXCEED`    | 0x21  |   |
| `UI_STATUS_COMPLETE_BADSW`                   | 0x22  |   |
| `UI_STATUS_READ_RECORD_RECOVERY_NOSUPPORT`   | 0x30  |   |
| `UI_STATUS_READ_RECORD_RECOVERY_LIMITEXCEED` | 0x31  |   |

### Appendix B.3 Error Indication

| Error Indication name           | value |   |
| :------------------------------ | :---- | - |
| `ER_L1_OK`                      | 0x00  |   |
| `ER_L1_TIMEOUT`                 | 0x01  |   |
| `ER_L1_TRANSMISSION`            | 0x02  |   |
| `ER_L1_PROTOCOL`                | 0x03  |   |
| `ER_L2_OK`                      | 0x00  |   |
| `ER_L2_CARD_DATA_MISSING`       | 0x01  |   |
| `ER_L2_CAM_FAILD`               | 0x02  |   |
| `ER_L2_STATUS_BYTES`            | 0x03  |   |
| `ER_L2_PARSING_ERROR`           | 0x04  |   |
| `ER_L2_MAX_LIMIT_EXCEEDED`      | 0x05  |   |
| `ER_L2_CARD_DATA_ERROR`         | 0x06  |   |
| `ER_L2_MAGSTRIPE_NOT_SUPPORTED` | 0x07  |   |
| `ER_L2_NO_PPSE`                 | 0x08  |   |
| `ER_L2_PPSE_FAULT`              | 0x09  |   |
| `ER_L2_EMPTY_CANDIDATE_LIST`    | 0x0A  |   |
| `ER_L2_IDS_READ_ERROR`          | 0x0B  |   |
| `ER_L2_IDS_WRITE_ERROR`         | 0x0C  |   |
| `ER_L2_IDS_DATA_ERROR`          | 0x0D  |   |
| `ER_L2_IDS_NO_MATCHING_AC`      | 0x0E  |   |
| `ER_L2_TERMINAL_DATA_ERROR`     | 0x0F  |   |
| `ER_L3_OK`                      | 0x00  |   |
| `ER_L3_TIME_OUT`                | 0x01  |   |
| `ER_L3_STOP`                    | 0x02  |   |
| `ER_L3_AMOUNT_NOT_PRESENT`      | 0x03  |   |

### Appendix B.4 Outcome Parameter

| Outcome Parameter                    | value | In entrypoint structure  |   |
| :----------------------------------- | :---- | :----------------------- | - |
| `OP_STATUS_APPROVED`                 | 0x10  | `ucOPStatus`             |   |
| `OP_STATUS_DECLINED`                 | 0x20  | `ucOPStatus`             |   |
| `OP_STATUS_ONLINE_REQUEST`           | 0x30  | `ucOPStatus`             |   |
| `OP_STATUS_END_APPLICATION`          | 0x40  | `ucOPStatus`             |   |
| `OP_STATUS_SELECT_NEXT`              | 0x50  | `ucOPStatus`             |   |
| `OP_STATUS_TRY_ANOTHER_INTERFACE`    | 0x60  | `ucOPStatus`             |   |
| `OP_STATUS_TRY_AGAIN`                | 0x70  | `ucOPStatus`             |   |
| `OP_STATUS_NA`                       | 0xF0  | `ucOPStatus`             |   |
| `OP_START_A`                         | 0x00  | `ucOPStart`              |   |
| `OP_START_B`                         | 0x10  | `ucOPStart`              |   |
| `OP_START_C`                         | 0x20  | `ucOPStart`              |   |
| `OP_START_D`                         | 0x30  | `ucOPStart`              |   |
| `OP_START_NA`                        | 0xF0  | `ucOPStart`              |   |
| `OP_ONLINE_RESPONSE_DATA_NA`         | 0xF0  | `ucOPOnlineResponseData` |   |
| `OP_ONLINE_TIME_EXPIRE`              | 0xFF  | `ucOPOnlineResponseData` |   |
| `OP_NO_CVM`                          | 0x00  | `ucOPCvm`                |   |
| `OP_OBTAIN_SIGNATURE`                | 0x10  | `ucOPCvm`                |   |
| `OP_ONLINE_PIN`                      | 0x20  | `ucOPCvm`                |   |
| `OP_CONFIRMATION_CODE_VERIFIED`      | 0x30  | `ucOPCvm`                |   |
| `OP_CVM_NA`                          | 0xF0  | `ucOPCvm`                |   |
| `OP_UI_REQUEST_ON_OUTCOME_PRESENT`   | 0x80  |                          |   |
| `OP_UI_REQUEST_ON_RESTART_PRESENT`   | 0x40  |                          |   |
| `OP_DATA_RECORD_PRESENT`             | 0x20  |                          |   |
| `OP_DISCRETIONARY_DATA_PRESENT`      | 0x10  |                          |   |
| `OP_RECEIPT`                         | 0x40  |                          |   |
| `OP_ALTERNATE_INTERFACE_PREFERENCE`  | 0xF0  |                          |   |
| `OP_ALTERNATE_INTERFACE_CONTACTCHIP` | 0x01  |                          |   |
| `OP_ALTERNATE_INTERFACE_MAGSTRIP`    | 0x02  |                          |   |
| `OP_FIELD_OFF_REQUEST`               | 0xFF  |                          |   |
| `OP_REMOVAL_TIMOUT`                  | 0xFF  |                          |   |

### Appendix B.5 CLL2 Status

| CLL2 Status                                       | Value  | byte   | description                                                                                                                                                                                         |   |
| :------------------------------------------------ | :----- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `CLL2_STATUS_ICCSW1`                              | 0x00FF | Byte1  | Values present are standard ISO/EMV smart card status word values.                                                                                                                                  |   |
| `CLL2_STATUS_ICCSW2`                              | 0x01FF | Byte2  | Values present are standard ISO/EMV smart card status word values.                                                                                                                                  |   |
| `CLL2_STATUS_L1EXIT`                              | 0x0201 | Byte3  | This byte contains the return value of the EMV Level 1 interface with zero indicating normal processing. For decoding of non zero values, refer to the documentation for the level 1 driver in use. |   |
| `CLL2_STATUS_KEXIT`                               | 0x03FF | Byte4  | This byte contains the terminating status of the kernel in use.                                                                                                                                     |   |
| `CLL2_STATUS_PROG_COMP_ONLINE`                    | 0x0401 | Byte5  | Complete online transaction has been attempted.                                                                                                                                                     |   |
| `CLL2_STATUS_PROG_ACT_ANALY`                      | 0x0402 | Byte5  | Action analysis has been attempted.                                                                                                                                                                 |   |
| `CLL2_STATUS_PROG_VALIDATE`                       | 0x0404 | Byte5  | Validate transaction has been attempted.                                                                                                                                                            |   |
| `CLL2_STATUS_PROG_CARD_VERIFY`                    | 0x0408 | Byte5  | Cardholder verification has been attempted.                                                                                                                                                         |   |
| `CLL2_STATUS_PROG_DATA_AUTH`                      | 0x0410 | Byte5  | Data authentication has been attempted.                                                                                                                                                             |   |
| `CLL2_STATUS_PROG_FINAL_APP_SEL`                  | 0x0420 | Byte5  | Final application selection has been attempted.                                                                                                                                                     |   |
| `CLL2_STATUS_PROG_LOA_PROC`                       | 0x0440 | Byte5  | List Of AID processing has been attempted.                                                                                                                                                          |   |
| `CLL2_STATUS_PROG_PSE_PROC`                       | 0x0480 | Byte5  | PSE processing has been attempted.                                                                                                                                                                  |   |
| `CLL2_STATUS_CRYPT_MODE_SDA`                      | 0x0501 | Byte6  | SDA attempted.                                                                                                                                                                                      |   |
| `CLL2_STATUS_CRYPT_MODE_DDA`                      | 0x0502 | Byte6  | DDA attempted.                                                                                                                                                                                      |   |
| `CLL2_STATUS_CRYPT_MODE_CDA`                      | 0x0503 | Byte6  | Combined GenAC/DDA attempted.                                                                                                                                                                       |   |
| `CLL2_STATUS_CRYPT_DDA_GAC2`                      | 0x0504 | Byte6  | recovered, Signed dynamic data (DDA/GenAC2).                                                                                                                                                        |   |
| `CLL2_STATUS_CRYPT_DDA_GAC1`                      | 0x0508 | Byte6  | recovered, Signed dynamic data (DDA/GenAC1).                                                                                                                                                        |   |
| `CLL2_STATUS_CRYPT_PIN_ENPK`                      | 0x0510 | Byte6  | PIN encryption public key recovered.                                                                                                                                                                |   |
| `CLL2_STATUS_CRYPT_ICCPK`                         | 0x0520 | Byte6  | ICC public key recovered.                                                                                                                                                                           |   |
| `CLL2_STATUS_CRYPT_SIG_STATIC_DATA`               | 0x0540 | Byte6  | Signed static data recovered.                                                                                                                                                                       |   |
| `CLL2_STATUS_CRYPT_ISSPK`                         | 0x0580 | Byte6  | Issuer public key recovered.                                                                                                                                                                        |   |
| `CLL2_STATUS_CVM_NO_CVM`                          | 0x0601 | Byte7  | No CVM Required.                                                                                                                                                                                    |   |
| `CLL2_STATUS_CVM_FAIL_CVM`                        | 0x0602 | Byte7  | Fail CVM Always.                                                                                                                                                                                    |   |
| `CLL2_STATUS_CVM_SIG`                             | 0x0604 | Byte7  | Signature.                                                                                                                                                                                          |   |
| `CLL2_STATUS_CVM_OFF_PLAIN_PIN`                   | 0x0608 | Byte7  | Offline Plain text PIN.                                                                                                                                                                             |   |
| `CLL2_STATUS_CVM_OFF_EN_PIN`                      | 0x0610 | Byte7  | Offline encrypted PIN.                                                                                                                                                                              |   |
| `CLL2_STATUS_CVM_ONL_EN`                          | 0x0620 | Byte7  | Online encrypted requested.                                                                                                                                                                         |   |
| `CLL2_STATUS_CVM_CONSUMER_DEVICE`                 | 0x0640 | Byte7  | Consumer Device CVM requested.                                                                                                                                                                      |   |
| `CLL2_STATUS_CVM_PIN_ENKEY`                       | 0x0680 | Byte7  | PIN encryption key identified and successfully recovered.                                                                                                                                           |   |
| `CLL2_STATUS_SCRIPT_TYPE71_REC`                   | 0x0701 | Byte8  | Type 71 script received.                                                                                                                                                                            |   |
| `CLL2_STATUS_SCRIPT_TYPE72_REC`                   | 0x0702 | Byte8  | Type 72 script received.                                                                                                                                                                            |   |
| `CLL2_STATUS_SCRIPT_TYPE71_PARS_ER`               | 0x0704 | Byte8  | Type 71 script parsing error.                                                                                                                                                                       |   |
| `CLL2_STATUS_SCRIPT_TYPE72_PARS_ER`               | 0x0708 | Byte8  | Type 72 script parsing error.                                                                                                                                                                       |   |
| `CLL2_STATUS_SCRIPT_TYPE71_RUN`                   | 0x0710 | Byte8  | Type 71 script run.                                                                                                                                                                                 |   |
| `CLL2_STATUS_SCRIPT_TYPE72_RUN`                   | 0x0720 | Byte8  | Type 72 script run.                                                                                                                                                                                 |   |
| `CLL2_STATUS_SCRIPT_TYPE71_RUN_ER`                | 0x0740 | Byte8  | Type 71 script run error.                                                                                                                                                                           |   |
| `CLL2_STATUS_SCRIPT_TYPE72_RUN_ER`                | 0x0780 | Byte8  | Type 72 script run error.                                                                                                                                                                           |   |
| `CLL2_STATUS_GAC1REQ_AAC`                         | 0x08FF | Byte9  | AAC.                                                                                                                                                                                                |   |
| `CLL2_STATUS_GAC1REQ_CDA`                         | 0x0810 | Byte9  | CDA.                                                                                                                                                                                                |   |
| `CLL2_STATUS_GAC1REQ_TC`                          | 0x0840 | Byte9  | TC.                                                                                                                                                                                                 |   |
| `CLL2_STATUS_GAC1REQ_ARQC`                        | 0x0880 | Byte9  | ARQC.                                                                                                                                                                                               |   |
| `CLL2_STATUS_GAC1RSP_AAC`                         | 0x09FF | Byte10 | AAC.                                                                                                                                                                                                |   |
| `CLL2_STATUS_GAC1RSP_TC`                          | 0x0940 | Byte10 | TC.                                                                                                                                                                                                 |   |
| `CLL2_STATUS_GAC1RSP_ARQC`                        | 0x0980 | Byte10 | ARQC.                                                                                                                                                                                               |   |
| `CLL2_STATUS_GAC2REQ_AAC`                         | 0x0AFF | Byte11 | AAC.                                                                                                                                                                                                |   |
| `CLL2_STATUS_GAC2REQ_TC`                          | 0x0A40 | Byte11 | TC.                                                                                                                                                                                                 |   |
| `CLL2_STATUS_GAC2REQ_CDA`                         | 0x0A10 | Byte11 | CDA.                                                                                                                                                                                                |   |
| `CLL2_STATUS_GAC2RSP_AAC`                         | 0x0BFF | Byte12 | AAC.                                                                                                                                                                                                |   |
| `CLL2_STATUS_GAC2RSP_TC`                          | 0x0B40 | Byte12 | TC.                                                                                                                                                                                                 |   |
| `CLL2_STATUS_AUX1_CAPK_NOT_FOUND`                 | 0x0C01 | Byte13 | CA public key not found.                                                                                                                                                                            |   |
| `CLL2_STATUS_AUX1_CERT_PK_EX`                     | 0x0C02 | Byte13 | Cert auth PK expired.                                                                                                                                                                               |   |
| `CLL2_STATUS_AUX1_CERT_PK_INCOR_HASH`             | 0x0C04 | Byte13 | Cert auth PK has incorrect hash value.                                                                                                                                                              |   |
| `CLL2_STATUS_AUX1_ISSPK_REVOKED`                  | 0x0C08 | Byte13 | Issuer public key certificate revoked.                                                                                                                                                              |   |
| `CLL2_STATUS_AUX1_TAG_NO70`                       | 0x0C10 | Byte13 | Record nominated for data authentication found in incorrect tag.                                                                                                                                    |   |
| `CLL2_STATUS_AUX1_HASH_OVER`                      | 0x0C20 | Byte13 | Hash input data memory overflow.                                                                                                                                                                    |   |
| `CLL2_STATUS_AUX1_TDH_HASH_OVER`                  | 0x0C40 | Byte13 | TDH Hash input buffer overflow.                                                                                                                                                                     |   |
| `CLL2_STATUS_AUX1_CDA_EN_CERTTYPE_NOT_MATCH`      | 0x0C80 | Byte13 | CDA encrypted and clear certificate types do not match.                                                                                                                                             |   |
| `CLL2_STATUS_CSTAGE`                              | 0x0DFF | Byte14 | Cryptography operation.                                                                                                                                                                             |   |
| `CLL2_STATUS_CSTAT1`                              | 0x0EFF | Byte15 | Cryptography outcome (Data Authentication).                                                                                                                                                         |   |
| `CLL2_STATUS_ZKASTEP1`                            | 0x0F01 | Byte16 | ZKA debug "Step" data Reserved.                                                                                                                                                                     |   |
| `CLL2_STATUS_ZKASTEP2`                            | 0x1001 | Byte17 | ZKA debug "Sub-step" data Reserved.                                                                                                                                                                 |   |
| `CLL2_STATUS_AUX2_STORE`                          | 0x1101 | Byte18 | Insufficient memory to format additional tag store.                                                                                                                                                 |   |
| `CLL2_STATUS_AUX2_MUL_TAG`                        | 0x1102 | Byte18 | Multiple tag definition detected.                                                                                                                                                                   |   |
| `CLL2_STATUS_AUX2_ADD_TAG_ER`                     | 0x1104 | Byte18 | Additional tag definition error.                                                                                                                                                                    |   |
| `CLL2_STATUS_AUX2_SCRIPT_FULL`                    | 0x1108 | Byte18 | Script processing results memory full.                                                                                                                                                              |   |
| `CLL2_STATUS_AUX2_CVM_MISS`                       | 0x1110 | Byte18 | CVM list missing or contains only X and Y values.                                                                                                                                                   |   |
| `CLL2_STATUS_AUX2_CVM_FORMAT_ER`                  | 0x1120 | Byte18 | CVM list contains format error.                                                                                                                                                                     |   |
| `CLL2_STATUS_AUX2_RAND_NOT_DOL`                   | 0x1140 | Byte18 | Random number not present in DOI list.                                                                                                                                                              |   |
| `CLL2_STATUS_AUX2_CVMLIST_NOCVM`                  | 0x1180 | Byte18 | CVM list contains NO CVM REQUIRED method.                                                                                                                                                           |   |
| `CLL2_STATUS_KERNID_ENTRY_POINT`                  | 0x12FF | Byte19 | Entry Point.                                                                                                                                                                                        |   |
| `CLL2_STATUS_KERNID_JCB`                          | 0x1201 | Byte19 | JCB kernel.                                                                                                                                                                                         |   |
| `CLL2_STATUS_KERNID_MASTER`                       | 0x1202 | Byte19 | Mastercard kernel.                                                                                                                                                                                  |   |
| `CLL2_STATUS_KERNID_VISA`                         | 0x1203 | Byte19 | Visa kernel.                                                                                                                                                                                        |   |
| `CLL2_STATUS_KERNID_AMER`                         | 0x1204 | Byte19 | American Express kernel.                                                                                                                                                                            |   |
| `CLL2_STATUS_TXNDAT_CLSS_MSD`                     | 0x1301 | Byte20 | Contactless MSD transaction has been performed.                                                                                                                                                     |   |
| `CLL2_STATUS_TXNDAT_CLSS_EMV`                     | 0x1302 | Byte20 | Contactless Partial EMV transaction has been performed.                                                                                                                                             |   |
| `CLL2_STATUS_TXNDAT_MOBILE`                       | 0x1304 | Byte20 | Mobile device used.                                                                                                                                                                                 |   |
| `CLL2_STATUS_TXNDAT_DECLINE`                      | 0x1308 | Byte20 | Decline requested by reader.                                                                                                                                                                        |   |
| `CLL2_STATUS_TXNDAT_CVM_SUCC`                     | 0x1310 | Byte20 | CVM Process successful.                                                                                                                                                                             |   |
| `CLL2_STATUS_TXNDAT_CVM_NOT_AIP`                  | 0x1320 | Byte20 | CVM Processing not supported in AIP.                                                                                                                                                                |   |
| `CLL2_STATUS_PCB1_STATUS_CHECK`                   | 0x1401 | Byte21 | Status check (amount = 1) is to be performed.                                                                                                                                                       |   |
| `CLL2_STATUS_PCB1_STATUS_CHECK_TYPE`              | 0x1402 | Byte21 | 1 = Status check transaction type is permitted.                                                                                                                                                     |   |
| `CLL2_STATUS_PCB1_ZERO_CHECK`                     | 0x1404 | Byte21 | Zero check (amount = 0) is to be performed.                                                                                                                                                         |   |
| `CLL2_STATUS_PCB1_ZERO_CHECK_TYPE`                | 0x1408 | Byte21 | 1 = Zero amount transaction type is permitted.                                                                                                                                                      |   |
| `CLL2_STATUS_PCB1_ONLINE_OR_APP_NOT`              | 0x1410 | Byte21 | 0 = Option 1 (Online cryptogram required), 1 = Option 2 (App not allowed).                                                                                                                          |   |
| `CLL2_STATUS_PCB1_CLSS_FLOOR_LIMIT`               | 0x1420 | Byte21 | Contactless floor limit check is to be performed.                                                                                                                                                   |   |
| `CLL2_STATUS_PCB1_CLSS_TRANS_LIMIT`               | 0x1440 | Byte21 | Contactless transaction limit check is to be performed.                                                                                                                                             |   |
| `CLL2_STATUS_PCB1_CLSS_CVM_LIMIT`                 | 0x1480 | Byte21 | Contactless cardholder verification floor limit check is to be performed.                                                                                                                           |   |
| `CLL2_STATUS_PCB2_CLSS_EMV`                       | 0x1501 | Byte22 | Contactless EMV processing supported.                                                                                                                                                               |   |
| `CLL2_STATUS_PCB2_CLSS_MSD`                       | 0x1502 | Byte22 | Contactless MSD processing supported.                                                                                                                                                               |   |
| `CLL2_STATUS_PCB2_EXTEND_AID`                     | 0x1504 | Byte22 | Extended application selection supported.                                                                                                                                                           |   |
| `CLL2_STATUS_PCB2_RFU`                            | 0x1508 | Byte22 | RFU.                                                                                                                                                                                                |   |
| `CLL2_STATUS_PCB2_TERM_FLOOR_LIMIT`               | 0x1510 | Byte22 | Terminal floor limit (9F1B) is present.                                                                                                                                                             |   |
| `CLL2_STATUS_PCB2_SPEC_KERNEL`                    | 0x1520 | Byte22 | 0 = Specified kernel is default, 1 = Specified kernel is mandatory.                                                                                                                                 |   |
| `CLL2_STATUS_PCB2_PART_AID_MATCH`                 | 0x1540 | Byte22 | 0 = Partial AID match required, 1 = Exact AID match required.                                                                                                                                       |   |
| `CLL2_STATUS_PCB2_OMIT_NOT_ALLOW_APPS`            | 0x1580 | Byte22 | Omit ""Not Allowed"" apps from supported list.                                                                                                                                                      |   |
| `CLL2_STATUS_PCB3_VISA_TTQ`                       | 0x1601 | Byte23 | Visa Terminal Transaction Qualifier bitmap is present.                                                                                                                                              |   |
| `CLL2_STATUS_PCB3_VISA_PRE_RPOC`                  | 0x1604 | Byte23 | Visa pre-processing is required.                                                                                                                                                                    |   |
| `CLL2_STATUS_PCB3_REBOOT_AFTER_GPO6986`           | 0x1608 | Byte23 | Reboot after GPO supported '69 86' (mobile phones).                                                                                                                                                 |   |
| `CLL2_STATUS_PCB3_CARDHOLDER_NOT_PERMIT`          | 0x1610 | Byte23 | Cardholder confirmation apps not permitted.                                                                                                                                                         |   |
| `CLL2_STATUS_PCB3_RFU`                            | 0x1620 | Byte23 | RFU.                                                                                                                                                                                                |   |
| `CLL2_STATUS_PCB3_LOA_PROC`                       | 0x1640 | Byte23 | LOA processing permitted for this AID.                                                                                                                                                              |   |
| `CLL2_STATUS_PCB3_MASTER_PROC`                    | 0x1680 | Byte23 | Mastercard processing is required.                                                                                                                                                                  |   |
| `CLL2_STATUS_PRB1_AMOUNT1_PRESENT`                | 0x1701 | Byte24 | Status transaction amount '1' is present.                                                                                                                                                           |   |
| `CLL2_STATUS_PRB1_AMOUNT0_PRESENT`                | 0x1702 | Byte24 | Zero transaction amount '0' is present.                                                                                                                                                             |   |
| `CLL2_STATUS_PRB1_CLSS_FLOOR_LIMIT_EX`            | 0x1704 | Byte24 | Contactless floor limit exceeded.                                                                                                                                                                   |   |
| `CLL2_STATUS_PRB1_CLSS_TRANS_LIMIT_EX`            | 0x1708 | Byte24 | Contactless transaction limit exceeded.                                                                                                                                                             |   |
| `CLL2_STATUS_PRB1_CLSS_CVM_LIMIT_EX`              | 0x1710 | Byte24 | Contactless cardholder verification limit exceeded.                                                                                                                                                 |   |
| `CLL2_STATUS_PRB1_CLSS_APP_NOT_ALLOW`             | 0x1720 | Byte24 | Contactless application not allowed.                                                                                                                                                                |   |
| `CLL2_STATUS_PRB1_DRL_USE_PRE_PROC`               | 0x1740 | Byte24 | Dynamic Reader Limits used for pre-processing.                                                                                                                                                      |   |
| `CLL2_STATUS_PRB1_RFU`                            | 0x1780 | Byte24 | RFU.                                                                                                                                                                                                |   |
| `CLL2_STATUS_PRB2_CLSS_EMV_PROC_SUPPORT`          | 0x1801 | Byte25 | Contactless EMV processing supported.                                                                                                                                                               |   |
| `CLL2_STATUS_PRB2_CLSS_MSD_PROC_SUPPORT`          | 0x1802 | Byte25 | Contactless MSD processing supported.                                                                                                                                                               |   |
| `CLL2_STATUS_PRB2_EXTEND_APP_SEL_SUPPORT`         | 0x1804 | Byte25 | Extended application selection supported.                                                                                                                                                           |   |
| `CLL2_STATUS_PRB3_VISA_TTQ_PRESENT`               | 0x1901 | Byte26 | Visa Terminal Transaction Qualifier (TTQ) bitmap is present.                                                                                                                                        |   |
| `CLL2_STATUS_PRB3_VISA_PRE_RPOC`                  | 0x1904 | Byte26 | Visa pre-processing is required.                                                                                                                                                                    |   |
| `CLL2_STATUS_PRB3_ROBOOT_AFTER_GPO6986`           | 0x1908 | Byte26 | Reboot after GPO '69 86' (mobile phones).                                                                                                                                                           |   |
| `CLL2_STATUS_PRB3_VISA_CLSS_CV_LIMIT_NOT`         | 0x1910 | Byte26 | Contactless cardholder verification limit not defined.                                                                                                                                              |   |
| `CLL2_STATUS_PRB3_VISA_GPO_RETRUN6984`            | 0x1920 | Byte26 | Command GPO return 6984.                                                                                                                                                                            |   |
| `CLL2_STATUS_PRB3_VISA_CTQ`                       | 0x1940 | Byte26 | Visa Card Transaction Qualifier (CTQ) bitmap is present.                                                                                                                                            |   |
| `CLL2_STATUS_PRB3_MASTER_PROC`                    | 0x1980 | Byte26 | Mastercard processing is required.                                                                                                                                                                  |   |
| `CLL2_STATUS_KCONFIG`                             | 0x1AFF | Byte27 | kernel configuration bitmap, implementation specific.                                                                                                                                               |   |
| `CLL2_STATUS_OFFLINE_AUTH1_PERFORMED`             | 0x1B01 | Byte28 | Offline authentication was performed.                                                                                                                                                               |   |
| `CLL2_STATUS_OFFLINE_AUTH1_FAILED`                | 0x1B02 | Byte28 | Offline authentication failed.                                                                                                                                                                      |   |
| `CLL2_STATUS_OFFLINE_AUTH1_FAILED_DECLINE`        | 0x1B04 | Byte28 | (Paypass or Expresspay) Offline authentication failed: Decline.                                                                                                                                     |   |
| `CLL2_STATUS_OFFLINE_AUTH1_FDDA_FAIL_DECLINE`     | 0x1B08 | Byte28 | fDDA fail and CTQ does not indicates online or other interface: Decline.                                                                                                                            |   |
| `CLL2_STATUS_OFFLINE_AUTH1_FDDA_FAIL_TRY_ANOTHER` | 0x1B10 | Byte28 | fDDA fail and CTQ indicates try another interface.                                                                                                                                                  |   |
| `CLL2_STATUS_OFFLINE_AUTH1_FDDA_FAIL_GO_ONLINE`   | 0x1B20 | Byte28 | fDDA fail and CTQ indicates go online.                                                                                                                                                              |   |
| `CLL2_STATUS_OTHERS1_MAND_DATA_MISS`              | 0x1C01 | Byte29 | Mandatory data are missing.                                                                                                                                                                         |   |
| `CLL2_STATUS_OTHERS1_TTQ_MISS_PDOL`               | 0x1C02 | Byte29 | TTQ missing in PDOL.                                                                                                                                                                                |   |
| `CLL2_STATUS_OTHERS1_PDOL_MISS`                   | 0x1C04 | Byte29 | Missing PDOL list.                                                                                                                                                                                  |   |
| `CLL2_STATUS_OTHERS1_MOBILE`                      | 0x1C08 | Byte29 | Mobile device.                                                                                                                                                                                      |   |
| `CLL2_STATUS_OTHERS1_MSD_NOT_SUPPORT`             | 0x1C10 | Byte29 | MSD not supported and AIP indicates MSD.                                                                                                                                                            |   |
| `CLL2_STATUS_OTHERS1_CARD_READ_FAIL`              | 0x1C20 | Byte29 | Card read failed.                                                                                                                                                                                   |   |
| `CLL2_STATUS_OTHERS1_COMM_APP_NOT_FOUND`          | 0x1C40 | Byte29 | Common application are not found.                                                                                                                                                                   |   |
| `CLL2_STATUS_OTHERS2_ATC_DIFF`                    | 0x1D04 | Byte30 | ATC from GetData different to ATC from Generate AC.                                                                                                                                                 |   |
| `CLL2_STATUS_OTHERS2_REMOVED_CARD`                | 0x1D08 | Byte30 | Removed Card.                                                                                                                                                                                       |   |
| `CLL2_STATUS_OTHERS2_EXPIRED_CARD`                | 0x1D10 | Byte30 | Expired card.                                                                                                                                                                                       |   |
| `CLL2_STATUS_OTHERS2_DUPL_DATA`                   | 0x1D80 | Byte30 | Duplicate data.                                                                                                                                                                                     |   |

### Appendix C.1 STENTRYPOINTOPT.ucCtrl

| Name                                | value | description                                       |   |
| :---------------------------------- | :---- | :------------------------------------------------ | - |
| `EMV_EP_CTRL_CK_DF61`               | 0x01  | Support France CB card                            |   |
| `EMV_EP_CTRL_CK_TERMINAL_PRIORITY`  | 0x02  | Support the terminal priority when select the aid |   |
| `EMV_EP_CTRL_CK_CANDIDATE_LIST`     | 0x04  | Support CardHolder Confirm and the aid amount > 1 |   |
| `EMV_EP_CTRL_CK_CANDIDATE_LIST_ALL` | 0x08  | Support CardHolder Confirm and the aid amount > 0 |   |

### Appendix C.2 Some Useful Custom Tags

| Name              | Tag      | description                                                                                                                                                                                              |   |
| :---------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `TRACK1_DD`       | `0xDF71` | Expresspay, paypass and d-pas magstripe mode. Discretionary data of the track 1 from the card.                                                                                                           |   |
| `TRACK2_DD`       | `0xDF72` | Expresspay, paypass and d-pas magstripe mode and paywave. Discretionary data of the track 2 from the card.                                                                                               |   |
| `READCARD_RESULT` | `0xDF78` | The transaction read card result and whether the last command returned successfully, to determine how to turn on the light and beep. The value 0x01 is read card succ, the value 0x00 is read card fail. |   |

---