What is XPI?
XPI is an API that Verifone offers for development on most Engage devices. The API is designed to provide the functionality that is needed to securely perform Magnetic Stripe, Contactless (MSD & EMV), and Contact EMV transactions in a fully integrated POS environment. The API allows support for processing credit, debit, and loyalty or gift card transactions.
XPI is a command-driven application that allows a POS to securely collect card data and drive the user interface of the device to display prompts and messages for cardholder input or notification.
The Forms Processor User Interface (FPUI, or just FP) is an ADK-based GUI application that contains all the functionality required to send or receive commands, drives all terminal activity as packets are received from the PC/ECR, and send back data when events such as a press of a button occur on the terminal. The FP application is used with the XPI payment application for the Engage and UX devices and is the successor to the Form Agent application which is currently used with the MX product line.
Integrators who wish to interface with the XPI application can do so in the programming language of their choice since the integration is typically written on an external POS device. If a customer wishes to write a stand-beside application to interface with XPI, the customer would need to ensure that they are compliant with the ADK APIs. The XPI application is written primarily in C++.
Which devices support XPI?
|XPI-19.xx & XPI-20.xx||Engage & UX *exemptions may be applicable, see release notes for each version.|
|XPI-12.xx & XPI-13.1x||Verix *exemptions may be applicable, see release notes for each version.|
Is XPI available in all regions?
XPI is available in North America.
How do I get started?
For integrators to start developing with the XPI application, an integration project will be opened with Verifone. Once the integration project is opened, an assessment is done to determine what level of training is required. A Verifone integration engineer works with you to help with your specific setup and testing. To test your application you will need access to the physical device you are developing your application for.