# What’s New?

#### New / Updated Functionality

Beginning with the implementation of ADK XPI (14.xx, 15.xx, 16.xx and 17.xx), new functionality was added to the XPI application to allow for easier EMV Quick Chip processing as well as adding functionality that allows all of the EMV configuration files to be updated via a single command.

#### D50 - Upload/Download Configuration File

Verifone has introduced new functionality to simplify EMV Contact and Contactless Configuration. In older versions of XPI (MX XPI5x00, VX XPI12.xx) configuration for EMV procession was handled using multiple D commands (e.g. D11, D12, D13, D14, etc.). The D50 command has been added to handle the configuration of all card schemes by providing a method to update the EMV configuration INI files in a single command.

D50 Request Format

D50

| Element | Description                         | Field Type   | Field Length | Additional Information                                                                                                                                                                                |
| ------- | ----------------------------------- | ------------ | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|         | Start of text                       | Hexadecimal  | 1            |                                                                                                                                                                                                       |
| D50     | Packet identifier/command           | Alphanumeric | 3            |                                                                                                                                                                                                       |
|         | Length of                           | Hexadecimal  | 2            | Maximum: 65,535 bytes                                                                                                                                                                                 |
|         | Parameters in TLV format            | Hexadecimal  |              | <p>These are the Custom Tags:<br>DFE001 – File Name DFE002 – File Operation DFE003 – File Checksum DFE004 – Size of data DFE005 – Total file size DFE006 – Data DFE007 – Apply File configuration</p> |
|         | End of text                         | Hexadecimal  | 1            |                                                                                                                                                                                                       |
|         | Longitudinal Redundancy Check digit | Hexadecimal  | 1            | = LRC OK = LRC incorrect                                                                                                                                                                              |

Custom Tags (Request)

* DFE001 – File Name. This can also include the path.

For example: /mnt/flash/EMVTABLES.INI

{% hint style="info" %}
NOTE: If a path is not specified when sending files, the file will be saved on the location where CAM-XPI is installed.
{% endhint %}

* DFE002 – File Operation
  * 01 – Create new file (overwrites existing file)
  * 02 – Append data
  * 03 – Read data

{% hint style="info" %}
NOTE: For VOS2, the File Operation 01 (Create new file) and 02 (Append data) are permitted only in files within the flash memory. File Operations 01 and 02 require Write permission; otherwise an error may occur. File Operation 03 (Read Data) is used to retrieve the file data from the device.
{% endhint %}

* DFE003 – File Checksum
  * 20-byte checksum calculated using SHA-1. This is to make sure that the file is a 1:1 copy
  * Checksum will be calculated on the final D50 request for File Operation 02
* DFE004 – Size of Data
  * For File Operations 01 or 02, this is the size of Input Data (Tag DFE006)
  * For File Operation 03, this is the total size of data received so far, which will indicate the file offset to start/continue reading data
* DFE005 – Total File Size (Only for File Operations 01 or 02)
* DFE006 – Input Data (Only for File Operations 01 or 02)
* DFE007 – Apply File Configuration. When enabled, this optional tag will cause the configuration data sent to the terminal to be applied to the ADK EMV framework. This tag is only applicable for the following files; otherwise, the tag is ignored.
  * EMVTABLES.INI
  * CTLSCONFIG.INI
  * CAPKDATA.INI
  * CTLSCAPKDATA.INI

D50 Response Format

The response is returned on the final D50 request for File Operation 02. The response is also returned on every D50 request for File Operation 03.

D50

| Element | Description                         | Field Type   | Field Length | Additional Information                                                                                                                                       |
| ------- | ----------------------------------- | ------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|         | Start of text                       | Hexadecimal  | 1            |                                                                                                                                                              |
| D50     | Packet Identifier/command           | Alphanumeric | 3            |                                                                                                                                                              |
|         | D50 response code                   | Alphanumeric | 2            | 00 - successful 01 - file operation failed 02 - invalid format 03 - file not found 04 - checksum error                                                       |
|         | Length of                           | Hexadecimal  | 2            | Maximum: 65,535 bytes Return on if File Operation - 3                                                                                                        |
|         | Parameters in TLV format            | Hexadecimal  |              | <p>Returned only if File Operation - 3 These are the Custom Tags:<br>DFE003 - File Checksum DFE004 - Size of data DFE005 - Total file size DFE006 - Data</p> |
|         | End of text                         | Hexadecimal  | 1            | N/A                                                                                                                                                          |
|         | Longitudinal Redundancy Check digit | Hexadecimal  | 1            | - LRC OK - LRC incorrect                                                                                                                                     |

Custom Tags (Response)

* DFE003 - File Checksum of config file (Only for File Operation 03)
  * 20-byte checksum calculated using SHA-1
  * Returned if DFE006 contains the final chunk of data
* DFE004 - Size of Data (Only for File Operation 03)
  * This is the size of output Data
  * For File Operation 03, this is the total size of data received so far, which will indicate the file offset to start/continue reading data
* DFE005 - Total File Size (Only for File Operation 03)
* DFE006 - Output Data (Only for File Operation 03)

D50 Request / Response Format Example

Refer to **Appendix F(Command Packets)** in \_EPP Interface Functional Specification Guide,\_for the sample provided on D50 Write and Read request.

#### F30 - EMV Quick Chip Command

The F30 command is an EMV card read command for XPI that can be used for both QuickChip and non-QuickChip transactions. This command combines the traditional C30, C32, C34, C36, I02, E07 commands.

As part of the F30 transaction request, the POS can send Custom Tag <9F><40> to change the transaction prompt. This eliminates the need for sending the D30 command prior to sending the card prompt as it is done with the C30 command.

The F30 command will also return the encrypted blob data that traditionally requires an additional command interaction with the E06/E07 commands. This further reduces the number of commands exchanged between the POS and the PIN Pad.

F30 Request Format

F30<\<Tag\_n\_>>

| Element  | Description                         | Field Type   | Field Length | Additional Information |
| -------- | ----------------------------------- | ------------ | ------------ | ---------------------- |
|          | Start of text                       | Hexadecimal  | 1            |                        |
| F30      | Packet identifier/command           | Alphanumeric | 3            |                        |
| \<Tag 1> | Tag 1                               | Hexadecimal  | Variable     |                        |
| \<Tag 2> | Tag 2                               | Hexadecimal  | Variable     |                        |
|          | Tag *n*                             | Hexadecimal  | Variable     |                        |
|          | End of text                         | Hexadecimal  | 1            |                        |
|          | Longitudinal Redundancy Check digit | Hexadecimal  | 1            |                        |

Request Format Tags

**Mandatory Tags**

| Tag Name | Description                                                  |
| -------- | ------------------------------------------------------------ |
| <9F><02> | Amount If this tag is missing, the response code will be 01. |

**Optional Tags**

| Tag Name | Description                                                                                                                                                                                              |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <9C>     | Transaction Type This tag is used to indicate the transaction type for both contact and contactless transactions. If a transaction type is not specified, 0x00 is taken as the default transaction type. |
| <9F><33> | Terminal Capabilities This tag can be used to override the terminal capability, no matter what AID is finally selected. This is done before GPO.                                                         |
| <9F><03> | Amount Other This tag is used to indicate the cash back amount when cash back has been pre-selected.                                                                                                     |

{% hint style="info" %}
NOTE: The maximum total amount supported by the F30 command is 9,999,999.99.
{% endhint %}

**Custom Tags**

| Tag Name | Description                                                                                                                        |
| -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| <9F><30> | Timeout Default value is infinite timeout for EMV Contact. If EMV Contactless is enabled, the command timeout will be 256 seconds. |

For additional on Custom Tags definition, refer to **Custom Tags** table of F30 - Response Format tags section in *EPP Interface Functional Specification Guide.*

F30 Response Format

F30\<Tag\_n\_>>

| Element  | Description                      | Field Type   | Field Length | Additional Information                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| -------- | -------------------------------- | ------------ | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|          | Start of text                    | Hexadecimal  | 1            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| F30      | Packet Identifier/command        | Alphanumeric | 3            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|          | F30 command response             | Alphanumeric | 2            | <p>00 - Success 01 - Invalid command code/data format 02 - N/A: Timeout 03 - Cancelled 04 - N/A: Non-ISO Card (MSR/MSD CTLS) 05 - Chip error 06 - Card removed 07 - N/A: Candidate list empty 08 - Card blocked 09 - CTLS error with extra codes<br>(ex: C3131 Mx) 10 - Previous step missing 11 - Response has more packets 51 - VAS and Payment; both happen 52 - VAS or payment; VAS happens 56 - VAS fail 70 - N/A: WIC Card inserted 79 - For EMV contact transaction when PIN is entered and there is no DUKPT keys in the terminal 88 - More data expected (VAS), response is split into multiple data packets 91 - Issuer authentication failed, or card is in an error state (EMV Status Code = 0x6985) 92 - Bad Swipe 99 - Failure/busy</p> |
| \<Tag 1> | Tag 1                            | Hexadecimal  | Variable     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| \<Tag 2> | Tag 2                            | Hexadecimal  | Variable     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|          | Tag *n*                          | Hexadecimal  | Variable     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|          | End of text                      | Hexadecimal  | 1            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|          | Longitudinal Redundancy response | Hexadecimal  | 1            | - OK - LRC Incorrect                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

Response Format Tags

**Default EMV Tags Returned**

| Tag Name | Description                           |
| -------- | ------------------------------------- |
| <4F>     | AID                                   |
| <9F><12> | Application Preferred Name            |
| <50>     | Application Label                     |
| <5F><30> | Service Code                          |
| <5F><20> | Cardholder Name                       |
| <57>     | Track 2                               |
| <5A>     | PAN                                   |
| <5F><24> | Expiry Date                           |
| <9F><33> | Terminal Capabilities                 |
| <5F><34> | PAN Sequence Number                   |
| <5F><25> | Application Effective Date            |
| <5F><28> | Issuer Country Code                   |
| <5F><2D> | Language Preference                   |
| <9F><39> | POS Entry Mode (Mandatorily returned) |
| <95>     | TVR                                   |
| <9B>     | TSI                                   |
| <9F><27> | CID                                   |
| <8A>     | Auth Response Code                    |
| <9F><26> | Application Cryptogram                |
| <9F><36> | ATC                                   |

{% hint style="info" %}
NOTE: The tags in the Default EMV Tags Returned table should not be included in the F30 request tag <9F><32>.
{% endhint %}

**Default Custom Tags**

| Tag Name | Description                                                                           |
| -------- | ------------------------------------------------------------------------------------- |
| <9F><50> | Configured Application Name Contains the application name of the selected application |

For additional Custom Tags definition, refer to **Custom Tags** table of F30 - Response Format tags section in *EPP Interface Functional Specification Guide.*

**Additional Notes**

The F30 command behaves exactly like the C30 for EMV CTLS. The extra input tags provided from the C32, C34, and I02 traditional commands in the F30 makes no difference to an EMV CTLS tap. The tags are ignored by XPI for an EMV CTLS tap.

#### F32 - Fast Payment / Quick Chip Command

The F32 command is for EMV Contact transactions only. The F32 command can be used in the following situations:

* Cashback is required and needs to be added to the final amount
* An AID is not eligible for Quick Chip support

F32 Request Format

F32<\<Tag\_n\_>>

| Element  | Description                         | Field Type   | Field Length | Additional Information |
| -------- | ----------------------------------- | ------------ | ------------ | ---------------------- |
|          | Start of text                       | Hexadecimal  | 1            |                        |
| F32      | Packet Identifier/command           | Alphanumeric | 3            |                        |
| \<Tag 1> | Tag 1                               | Hexadecimal  | Variable     |                        |
| \<Tag 2> | Tag 2                               | Hexadecimal  | Variable     |                        |
|          | Tag *n*                             | Hexadecimal  | Variable     |                        |
|          | End of text                         | Hexadecimal  | 1            |                        |
|          | Longitudinal Redundancy Check digit | Hexadecimal  | 1            |                        |

Request Format Tags

**Mandatory Tags**

| Tag Name | Description                                                    |
| -------- | -------------------------------------------------------------- |
| <9F><02> | Amount If this tag is missing, the response code will be 01.   |
| <9F><03> | Amount Other Cash back amount in case of partial amount update |

F32 Response Format

F32\<Tag\_n\_>>

| Element  | Description                      | Field Type   | Field Length | Additional Information                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| -------- | -------------------------------- | ------------ | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|          | Start of text                    | Hexadecimal  | 1            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| F32      | Packet identifier/command        | Alphanumeric | 3            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|          | F30 command response             | Alphanumeric | 2            | 00 - Success 01 - Invalid command code/data format 02 - Timeout 03 - Cancelled 04 - N/A: Non-ISO Card (MSR/MSD CTLS) 05 - Chip error 06 - Card removed 07 - Candidate list empty 08 - Card blocked 09 - N/A: CTLS error with extra codes 10 - Previous step missing 11 - Response has more packets 79 - For EMV contact transaction when PIN is entered and there is no DUKPT keys in the terminal 88 - More data expected (VAS), response is split into multiple data packets 91 - Issuer authentication failed, or card is in an error state (EMV Status Code - 0x6985) 92 - Bad Swipe 99 - Failure/busy |
| \<Tag 1> | Tag 1                            | Hexadecimal  | Variable     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| \<Tag 2> | Tag 2                            | Hexadecimal  | Variable     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|          | Tag *n*                          | Hexadecimal  | Variable     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|          | End of text                      | Hexadecimal  | 1            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|          | Longitudinal Redundancy response | Hexadecimal  | 1            | - OK - LRC Incorrect                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

Response Format Tags

**Additional Tags**

Additional tags returned in the F32 response will depend on the tags requested in the Verifone Custom tag <9F><32>. Some examples are included below.

| Tag Name | Description             |
| -------- | ----------------------- |
| <9F><05> | Online PIN data         |
| <9F><06> | CVM Results information |

For additional on Custom Tags definition, refer to **Request Format Tags** section of F32 Command in *EPP Interface Functional Specification Guide.*

#### F34 - EMV Non-Quick Chip Command

The F34 command can be used for Non Quick Chip for transaction completion after host communication. It has the same functionality as the C34 command but with new tag formats.

F34 Request Format

F34<\<Tag\_n\_>>

| Element  | Description                         | Field Type   | Field Length | Additional Information |
| -------- | ----------------------------------- | ------------ | ------------ | ---------------------- |
|          | Start of text                       | Hexadecimal  | 1            |                        |
| F34      | Packet Identifier/command           | Alphanumeric | 3            |                        |
| \<Tag 1> | Tag 1                               | Hexadecimal  | Variable     |                        |
| \<Tag 2> | Tag 2                               | Hexadecimal  | Variable     |                        |
|          | Tag *n*                             | Hexadecimal  | Variable     |                        |
|          | End of text                         | Hexadecimal  | 1            |                        |
|          | Longitudinal Redundancy Check digit | Hexadecimal  | 1            |                        |

Request Format Tags

**Mandatory Tags**

| Tag Name | Description        |
| -------- | ------------------ |
| 8A       | Auth Response Code |

F34 Response Format

F34\<Tag\_n\_>>

| Element  | Description                      | Field Type   | Field Length | Additional Information                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| -------- | -------------------------------- | ------------ | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|          | Start of text                    | Hexadecimal  | 1            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| F34      | Packet identifier/command        | Alphanumeric | 3            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|          | F30 command response             | Alphanumeric | 2            | 00 - Success 01 - Invalid command code/data format 02 - Timeout 03 - Cancelled 04 - N/A: Non-ISO Card (MSR/MSD CTLS) 05 - Chip error 06 - Card removed 07 - Candidate list empty 08 - Card blocked 09 - N/A: CTLS error with extra codes 10 - Previous step missing 11 - Response has more packets 79 - N/A: For EMV contact transaction when PIN is entered and there is no DUKPT keys in the terminal 91 - Issuer authentication failed, or card is in an error state (EMV Status Code - 0x6985) 92 - Bad Swipe 99 - Failure/busy |
| \<Tag 1> | Tag 1                            | Hexadecimal  | Variable     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| \<Tag 2> | Tag 2                            | Hexadecimal  | Variable     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|          | Tag *n*                          | Hexadecimal  | Variable     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|          | End of text                      | Hexadecimal  | 1            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|          | Longitudinal Redundancy response | Hexadecimal  | 1            | - OK - LRC Incorrect                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |

Response Format Tags

**Default Tags**

The following defaulted EMV tags are returned with a successful F34 00 response.

| Tag Name | Description                                                          |
| -------- | -------------------------------------------------------------------- |
| <95>     | TVR                                                                  |
| <9B>     | TSI                                                                  |
| <9F><26> | Application Cryptogram                                               |
| <9F><27> | CID                                                                  |
| <9F><36> | ATC                                                                  |
| <9F><10> | IAD                                                                  |
| <9F><50> | Script 1 response in 2-byte hex asci (if there was a script 1 input) |
| <9F><51> | Script 2 response in 2-byte hex asci (if there was a script 1 input) |
| <9F><52> | Script 3 response in 2-byte hex asci (if there was a script 1 input) |
| <9F><53> | Script 4 response in 2-byte hex asci (if there was a script 1 input) |
| <9F><54> | Script 5 response in 2-byte hex asci (if there was a script 1 input) |

For additional on Custom Tags definition, refer to **Request Format Tags** section of F34 Command in *EPP Interface Functional Specification Guide.*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.verifone.com/xpi/tbd-documentation/xpi-migration-guide/engage/whats-new.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
