# Introduction

The objective of this document is to guide integrators migrating from current Verifone XPI implementations (MX 9xx - XPI 5200/5300/5400, VX 6xx/8xx and e3xx series – XPI 12.08/12.11/13.10 versions) to XPI 19 or 20.xx on Verifone Engage devices and XPI 20.xx on Verifone Neo devices.

This document is intended for application developers and integrators who use the XPI API commands to develop POS solutions that communicate with the Verifone PINPads. It is assumed that developers already have a working knowledge of Verifone’s XPI application.

This migration guide is intended to be used in conjunction with the latest EPP Interface Functional Specification Guide.

### Using this Manual

As you use this manual, you may encounter the following text boxes. These are meant to draw your attention to certain concepts and are easily identifiable by their icons.

{% hint style="info" %}
NOTE: A note is important information that either helps to explain a concept or draws attention to ideas that should be kept in mind. We recommend that you carefully review the notes you encounter.
{% endhint %}

{% hint style="warning" %}
WARNING: We HIGHLY recommend that you read ALL warnings in the sections of the manual that you read. These warnings will help to prevent serious issues from occurring.
{% endhint %}

{% hint style="danger" %}
CAUTION: The caution symbol indicates possible hardware or software failure, or loss of data.
{% endhint %}

### Definition of Terms

This table lists the terms and abbreviations that are used throughout this document:

| Term         | Description                                                                                          |
| ------------ | ---------------------------------------------------------------------------------------------------- |
| ADK          | Application Development Kit                                                                          |
| CAM          | Card Acceptance Module – a part of XPI                                                               |
| CXPI         | Combined XPI – see also XPI                                                                          |
| ECR          | Electronic cash register                                                                             |
| EMV          | Europay, MasterCard, and Visa Chip cards                                                             |
| FP           | Forms Processor                                                                                      |
| json         | JavaScript Object Notation; a simple data interchange format                                         |
| MSR          | Magnetic strip reader                                                                                |
| NFC          | Near-field communication                                                                             |
| OS           | Operating system                                                                                     |
| POS          | Point of Sale -- a terminal or ECR                                                                   |
| QSR          | Quick Service Restaurant                                                                             |
| Smart Device | Any NFC-enabled device, such as a smartphone or smartwatch, used for payments and/or loyalty and VAS |
| VRK          | VeriShield Remote Key                                                                                |
| XPI          | External PIN Pad Interface                                                                           |

### Data Types

| Type | Description                                       | Min                                                                                                     | Max                                                                                                     |
| ---- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| B    | Boolean (such as 1, 0 TRUE, FALSE, T, F, YES, NO) | N/A                                                                                                     | N/A                                                                                                     |
| C    | Character (alphanumeric)                          | Minimum number of characters                                                                            | Maximum number of characters                                                                            |
| D    | Date (YYYY.MM.DD)                                 | N/A                                                                                                     | N/A                                                                                                     |
| E    | Base64 Encoded Data                               | N/A                                                                                                     | N/A                                                                                                     |
| F    | Floating point number (decimal)                   | Format: D(C) D - minimum number of digits left of decimal C - minimum number of digits right of decimal | Format: D(C) D - minimum number of digits left of decimal C - minimum number of digits right of decimal |
| L    | List (select from list of valid values            | N/A                                                                                                     | N/A                                                                                                     |
| N    | Numeric                                           | Minimum number of digits                                                                                | Maximum number of digits                                                                                |
| S    | Static value                                      | N/A                                                                                                     | N/A                                                                                                     |
| T    | Time (00:00:00)                                   | N/A                                                                                                     | N/A                                                                                                     |

### Data Rules

| Rule | Description                          |
| ---- | ------------------------------------ |
| R    | Required – required in all cases     |
| M    | Mandatory – required in all cases    |
| O    | Optional – required in no cases      |
| C    | Conditional – required in some cases |

### References

* EPP Interface Functional Specification Guide
* Mx Specification Guide for XPI
* Forms Processor Application Guide
* XPI Mobile Wallet-Google SmartTap 2.1 Setup 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/introduction.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.
