Mx800 Integration Guide

June 15, 2009 Version 1.3

Table of Contents What’s Included In This Guide ......................................................................................................... 3 Mx800 Introduction ......................................................................................................................... 4 Mx800 Hardware ................................................................................................................ 4 Mx800 Interface Options .................................................................................................... 4 Mx800 Integration Layers ................................................................................................... 5 Mx800 Screen Utilization .................................................................................................... 5 Additional Documentation ................................................................................................. 5 Getting Started with the Mx800 ...................................................................................................... 6 Required Elements .............................................................................................................. 6 Step 1: Connecting your Mx800.......................................................................................... 7 Step 2: Configuring FormAgent for Your Mx800 ................................................................ 8 Step 3: Loading your Mx800 ............................................................................................. 10 Step 4: Testing your Mx800 Connection ........................................................................... 10 Step 5: Next Steps ............................................................................................................. 12 Appendix A – Frequently Asked Questions .................................................................................... 13 Appendix B – Verifone Provided Tools .......................................................................................... 17 Configurator ...................................................................................................................... 17 Direct Download (DDL.exe)............................................................................................... 17 FormManager & EET Editor .............................................................................................. 19 Mx800Downloader ........................................................................................................... 19 Mx800VideoConverter...................................................................................................... 20 SocketListener................................................................................................................... 21 VeriTar............................................................................................................................... 23 Verifone Host Terminal Communications (VFHostTermCom.exe) ................................... 24 Appendix C – USB Driver Installation Instructions ......................................................................... 25 Appendix D – Ethernet Configuration Instructions........................................................................ 26 Appendix E – Standard Forms Definition ....................................................................................... 28 Appendix F – USB Memory Stick Download Proceedure ............................................................... 30

Verifone, Inc. Confidential

Page 2 of 30

What’s Included In This Guide This guide is intended to be a starting point to get you going in the right direction when first integrating to a device in the Mx800 Series of Verifone PINPad devices. This guide will provide you what you need to get your Mx800 connected, configured and communicating with your POS or development workstation. You will notice throughout this document that there are many references to other documents which will provide more details about a particular subject. If you cannot find the answers you are looking for please contact your Verifone Account Representative for further assistance. However, please be aware that by providing all documents in PDF format you will be able to search all PDFs in this toolkit at one time using Adobe Reader by clicking Edit -> Search (or alternatively Shift+Ctrl+F) and choosing the “All PDF Documents In” option while searching for a keyword. This toolkit includes the following: Documentation Folder, including General Documents FormAgent sub-folder w/ specific documents MultiPay sub-folder w/ specific documents OPOS sub-folder w/ specific documents MX Files Folder – contains files used on all Mx800 devices Utilities Folder – contains Verifone provided tools, drivers and utilities

Verifone, Inc. Confidential

Page 3 of 30

Mx800 Introduction The VeriFone Mx800 family of payment devices provides the hardware and software basis to integrate seamlessly to your point-of-sale environment.

Mx800 Hardware These POS integration interface options listed below are applicable to all Mx800 pin pad devices, including the Mx880, Mx870, Mx860, Mx850 and Mx830. For a complete product comparison chart of the entire Mx8xx family please review the MX Product Comparison Guide.

Mx800 Interface Options Verifone offers a number of different interface options to simplify the integration to your POS solution: FormAgent Direct – This is the “newest” interface from VeriFone that takes advantage of all the features of the Mx800 devices. This interface option enables the inclusion of typical payment elements (PIN entry, card swipe, signature capture, cash back, etc.) with the advanced features that include sound and video presentation, animation, data entry, scrolling text, line item display, etc. For this interface, refer to the additional detailed specification for FormAgent, VFI Mx800 Integration Guide for FormAgent. MultiPay Direct – VeriFone’s legacy interface commonly used for our previous integrated payment devices including the Everest and the Omni7000. This interface option enables current MultiPay users to simply load and configure the MX device and “replace” an Everest or Omni7000. While the solution can be enhanced with more in-depth attention, it is designed to be put in place with a minimum of effort for existing VeriFone MultiPay installations. For this interface, refer to the additional detailed specification for MultiPay, VFI Mx800 Integration Guide for MultiPay. OPOS API interface – This interface makes use of the OPOS Common objects utilities available to POS integrators. With the VeriFone OPOS driver installed in a Windows environment, this integration path enables OPOS commands to drive the interaction with the Mx800. For this interface, refer to the additional detailed specification for the OPOS integration, VFI Mx800 Integration Guide for OPOS. JavaPOS API interface – This interface makes use of the JavaPOS standard utilities available to POS integrators. With the VeriFone JavaPOS driver installed in a Windows environment, this integration path enables JavaPOS commands to drive the interaction with the Mx800. For this interface, refer to the additional detailed specification for JavaPOS, VFI Mx800 Integration Guide for JavaPOS.

Verifone, Inc. Confidential

Page 4 of 30

Mx800 Integration Layers For all four (4) interface options list above, the Mx800 environment includes a series of layers that work together: FormAgent software – this is the application loaded on the Mx800 device that provides all the functionality within the device; Configuration file– this is a control file that provides the configuration for communication to and interaction with the POS solution; Your POS solution – this application on the point-of-sale system must conform to the integration interface that you are planning to use, including any VeriFone pieces such as the OPOS Driver set or JavaPOS driver set, to communicate with the Mx800 device;

Mx800 Screen Utilization Device Type: MX880 MX870 MX860 MX850 MX830

Screen Resolution: 320 x 240 320 x 234 480 x 272 320 x 240 320 x 240

Additional Documentation This document is intended to provide the general information necessary to get your Mx800 device up and running. It contains the directions for setting the device up, attaching it to system, configuring it for interaction and loading software on it. Integration details for each of the 4 different integration options are contained in separate documents: MultiPay: VFI Mx800 Integration Guide - MultiPay FormAgent: VFI Mx800 Integration Guide - FormAgent OPOS: VFI Mx800 Integration Guide - OPOS JavaPOS: VFI Mx800 Integration Guide - JavaPOS In addition, there is significant supporting documentation supporting the Mx800 solution. These documents are included in the Integration Kit in the DOCUMENTATION folder: MX800 Series Form Manager Guide.pdf Mx800_Series_Installation_Guide.pdf Mx800_Series_Reference_Manual.pdf MX Product Comparison Guide.pdf VFI Mx800 Common Cable Guide.pdf

Verifone, Inc. Confidential

Page 5 of 30

Getting Started with the Mx800 Required Elements Mx800 Device

You may use any of the Mx800 devices for these interfaces, including Mx830, Mx850, Mx860, Mx870 or Mx880

Mx800 Power Supply

You will use the Mx800 power supply to power the Mx device; the only exception to this would be a powered-USB cable

Mx800 Cable

You may use any of the Mx800 cables for these interfaces; refer to the VFI Mx800 Cable Guide included in this Integration Guide

MX Software

FormAgent application, located in /MX Files/FormAgent

Verifone Provided Tools See Appendix B - Verifone Provided Tools for more information on these applications. Configurator – this application requires .NET Framework 3.0 or higher to run; it does NOT need to be installed. Mx800 Downloader – this application needs to be installed on your Windows workstation; VeriTar – this application needs to be installed on your Windows workstation; Windows drivers

The following optional drivers are available from Verifone: USB driver – see Appendix C – USB Driver Installation Instructions for more information. OPOS driver – see the Integration Guide for OPOS for more information. JavaPOS driver – see the Integration Guide for JavaPOS for more information.

Default Configuration The standard configuration that is included in this package presumes that you will be using RS232/serial communications. In this scenario your PC will be setup to use COM1 and the Mx800 device will be configured to use COM3 to communicate to the PC or POS solution. The default baud rate is 115,200 with a protocol of 8N1 (8 bits, no parity, 1 stop bit) [CP=3, BD=5, PROT=4]. Please see Step 2: Configuring FormAgent for Your Mx800 below for more information on changing the default values.

Standardized Form Deck Included in this Integration Guide, Verifone has included a standardized set of forms that cover the typical payment functions for each of the Mx800 devices and all of the possible interfaces. These forms are in the FormAgent Form Deck folder in the Kit under /MX Files/FormAgent. NOTE: when you load FormAgent, the standardized forms are already included in that load to the Mx800 device. You do not NEED to make changes to these forms to have your integration work; you can use the forms as they are and complete your integration and implement your solution. If you choose to change and/or customize the forms, you will need to install and use the FormManager tool and follow the instructions provided with it for making changes, generating a new form deck and putting that form deck on the Mx800 device with the FormAgent application. Verifone, Inc. Confidential

Page 6 of 30

Step 1: Connecting your Mx800 Note: For a detailed installation example including diagrams, please review the Mx800 Installation Guide included in this kit.

Cable connection 1. Attach the MX cable to your MX device on the bottom of the unit. 2. Attach the connection end to your PC or POS workstation. 3. Plug the power supply into an outlet and then plug the barrel connector into the multi-port block on the Mx800 cable. 4. The Mx800 will take up to 2 minutes to boot up (it uses a full Linux operating system).

RS232 If you are using an RS232/serial connection, be aware of the COM port used by your cable. The block may have up to 3 COM ports designated and within the MX device, the correct association must be made. The default configuration for FormAgent is COM3 (CP=3). RS232 cable options – green, brown, blue, white, red, purple or legacy (Everest/Omni7000) cable

USB If you are using USB serial connection on a Windows system, you must install the VeriFone USB driver for Windows (See Appendix C). This driver is intended for Windows 2000 or later. The instructions for installing this driver are included in Appendix C of this document. USB cable options – blue, white, yellow, brown (with a peripheral USB cable) or purple (with a peripheral USB cable)

Ethernet If you are using an Ethernet connection, you must configure the TCP/IP addressing on the Mx800. Instructions for configuring the Ethernet IP settings are included in Appendix D. Cable options – brown, green, purple, blue or white

Power connection External power – use a VeriFone MX 12v power supply (p/n CPS11212D-1B-R) and plug it into the barrel receptacle on the cable block (or possibly on the serial connector head for certain no-block cables) Internal power – certain cables carry power through serial pins or the USB connector; if you are using an Everest or Omni 7000 unit today and the power is already carried in the cable, you may keep the same cable and power configuration with your Mx800.

Verifone, Inc. Confidential

Page 7 of 30

Step 2: Configuring FormAgent for Your Mx800 Establishing your config.usr1 Config.usr1 is the application-level configuration control for the MX800 devices; this works similar to how config.sys works in Windows. The config.usr1 file establishes many control settings within the FormAgent application for communication, key management, interface controls, etc. NOTE: configuration parameters with an asterisk (*) in front of them reside in the [perm] (permament) section of the configuration; without an asterisk, parameters reside in the [reg] (regular) section of the configuration. When a FULL download occurs, current items in the [reg] section will be erased before adding any new items if they are included; current items in the [perm] section remain intact though they may be replaced by any new items if they are included. IMPORTANT: This is a Linux file and should NOT include CR/LF characters at each line end; Linux requires LF characters only at the end of each line. Using CR/LF characters may result in data recognition problems. There are specialized text editors available on the Internet for free; we commonly use Notepad++, which has a format switch in it that directly converts CR/LF to straight LF based on the type of system the file will be used on (VeriFone does not support this tool). Using the Configurator application (included in the Mx800 Integration Toolkit), you will be able to view or edit the default config.usr1 settings. 1. Run the Configurator application, located at \Configurator\ ConfigUsr1.exe; 2. Select the READ CURRENT button to load the config.usr1 included with your software (this will be in the same folder as the FormAgent TGZ file); 3. Confirm and adjust as appropriate the following configuration parameters; use the parameter definition in the lower window of the Configurator application to determine the correct settings. Configuration Parameter:

Communications Plan: Serial RS232

USB

ECR

TCP/IP

Commtype

RS232

USB

ECR

TCPIP

cp

Set to particular port that applies to your cable;

(ignored)

(ignored)

(ignored)

bd

Set to the baud rate for interaction with your PC or POS solution;

(ignored)

(ignored)

(ignored)

prot

Set to the communications protocol for interaction with your PC or POS solution;

(ignored)

(ignored)

(ignored)

*usbdevice

(ignored)

Must be set to 1

(ignored)

(ignored)

Verifone, Inc. Confidential

Page 8 of 30

*i4683

(ignored)

(ignored)

For serial, =R232 For tailgate, should be set to the tailgate protocol (2A23, 2A25, 2B23, 2B25) that matches your POS solution

(ignored)

*l4683

(ignored)

(ignored)

When i4683 = R232, set this to the serial communications settings (port, baud, protocol)

(ignored)

*dhcp







If dynamic IP = 1 If static IP = 0

*ifconfig

(ignored)

(ignored)

(ignored)

For static IP, set this according to the definition in the Configurator

*gateway

Needs defined only if using a Static IP

hostip

IP Address of POS or development machine if Mx is set to be a client (server=0)

hostprt

Port that POS or development machine is listening on if Mx is set to be a client (server=0)

termprt

Port that Mx800 is listening on if MX is set to be a server(server=1)

server

1=Mx as Server 0=Mx as Client

Additional parameters are available. By using the Configurator tool or the CONFIG_USR1 Parameter Descriptions.pdf you will be able to view the field descriptions. Verifone, Inc. Confidential

Page 9 of 30

4. Click the WRITE VALUES button in the Configurator application;

Step 3: Loading your Mx800 Mx800 Load Files The Mx800 device runs a full Linux operating system and primarily uses TGZ files for the loading of software. “TGZ” files are tar and g-zipped files that the Mx800 OS processes inherently after they are loaded, unzipping them and placing files according to their use. There are two ways to make loadable TGZ files that are certified by VeriFone: The VeriFone VeriTar application is a Windows interface specifically designed for compressing and uncompressing TGZ files for the VeriFone products. For more details regarding the use of VeriTar, please see Appendix B - Verifone Provided Tools. The VeriFone FormManager application (the Windows application used to customize forms for all the interface specifications) creates TGZ load files when the “generate” command is executed. For more details regarding the use of FormManager, please see Appendix B - Verifone Provided Tools.

Downloading to the Mx800 The Mx800 can be downloaded by a number of different means. Generally most downloads happen by one of the following methods: Mx800Downloader application. DDL.exe and a ‘download.bat’ file. USB Memory Stick (See Appendix F) Programmatically through method calls by the POS using the integration interface (i.e. FormAgent, MultiPay, OPOS or JavaPOS) For more details regarding the use of Mx800Downloader and DDL.exe, please see Appendix B - Verifone Provided Tools. Please reference the specific integration interface documentation for more details on downloading programmatically through the POS. Please note that you should always update your Mx800 to the latest Operating System and Service Pack level provided in the \MX Files\OS folder of this toolkit as a first step to downloading your Mx800. Once the Operating System has been updated, you can then load the Form Agent application and base form deck located in \MX Files\FormAgent.

Step 4: Testing your Mx800 Connection Execute the Host Terminal Communication program located in \Utilities\VFHostTermCom\obj\Release\. Experiment with the various options available with application. As you do each request, be sure to note the trace log panes showing the messages being sent to and from the Mx800. Use this step to educate yourself on the format of the messages and as an aid for your program development. Verifone, Inc. Confidential

Page 10 of 30

For more details regarding the use of VFHostTermCom, please see Appendix B - Verifone Provided Tools.

Verifone, Inc. Confidential

Page 11 of 30

Step 5: Next Steps By now, you should have your Mx800 connected and tested so that you can begin working on your specific integration. As previously mentioned, use the following guides depending upon which integration interface will be used: FormAgent interface – VFI Mx800 Integration Guide for FormAgent. MultiPay interface – VFI Mx800 Integration Guide for MultiPay. OPOS interface – VFI Mx800 Integration Guide for OPOS. JavaPOS interface – VFI Mx800 Integration Guide for JavaPOS.

Thank you for choosing the Verifone Mx800 Series PINPad device. For additional information and assistance please contact your Verifone Account Representative.

Verifone, Inc. Confidential

Page 12 of 30

Appendix A – Frequently Asked Questions Q. A.

What is the LRC and how is it calculated? LRC is a character generated for each message, using the data in the message, and is verified by the receiving station to ensure that the message was received correctly. The LRC is generated by exclusive OR'ing (XOR) all characters in the message except the STX but including the ETX.

Q. A.

I cannot communicate to FormAgent. What could be the problem. The most common problem is specifying the correct COMM port, USB port, or TCPIP socket value for FormAgent. This is done within the config.usr1 file. The critical values to set are: COMMTYPE=RS232, USB, or TCPIP If COMMTYPE=RS232 then: CP=1, 2, or 3 – Depending on the cable you are using. BD=2,3,4,5,6,7, or 8 – Defines the baud rate PROT=0 or 4 – 0 is 7E1, and 4 is 8N1 If COMMTYPE=USB then you need to make sure the USB drivers have been installed on the POS, which creates a Virtual COMM Port on the PC. This COMM port is used by the POS application when trying to communicate to the Mx800.

Q.

My terminal no longer boots up into the Icons – it starts the FormAgent application. How can I get back to the Icons? In order to get into System Mode, with the application running, push a paper clip into the small recessed button near the top of the Magnetic Stripe Reader for no longer than 3 seconds. Once pressed, the 3 blue LEDs will light. Release the button. After several seconds, the system will prompt for the System Mode password. Enter the password on the keypad and press the ENTER key. The default System Mode password is . VeriFone recommends that you change this default password when you begin deploying terminals. If the password is entered correctly, the unit will display the System Mode idle display. If the password is not entered correctly, the system will restart the application.

A.

Q. A.

How can I tell what OS version my Mx800 is loaded with? First, place the Mx800 into System Mode. Tap the INFORMATION icon. Note the "Root File System" version. Tap the Packages button. Confirm the Service Pack (if any) version installed.

Q. A.

I add items to a List Box using the XALI but they don’t show up on the form. Why not? Any GUI update will not show on the Mx800 until the XSFM is issued. This allows you to make multiple form updates, but display them all at once with the ShowForm (XSFM) command.

Verifone, Inc. Confidential

Page 13 of 30

Q.

A.

Q. A.

I have an Animation control (or LineItem control, or Video control, or Image control) on my form and whenever it is tapped with the stylus or the finger it sends an Event to my POS. How can I prevent this? In Form Manager, open the Properties dialog for the Animation, Image, LineItem, or Video control. Under the OnTouch Properties you will see a Function Name. If you remove this function name, there will be no Event sent to the POS when this object is tapped. For the LineItem control, there is a function name for the OnSelect, OnUpArrow and OnDownArrow Properties. If you don’t want an event to be fired when a particular line in the control is selected, or if you don’t want an event to fire when the up-arrow or down-arrow is tapped, remove the appropriate function names. For a Video control, if there is a function name in the OnTouch Properties, an event will be fired each time the control is tapped, as well as each time the video completes playing. I have a Button control on a form and sometimes it returns multiple events when it is tapped. What can I do to prevent multiple events? The first option is to set the Stay Pressed attribute of the button control in the button properties in Form Manager. You can also instruct FormAgent to return only one event, then lock the form by issuing a 1 after the FormName when you issue the XIFM command.

Q. A.

I don’t want the FormAgent screen to display when the application starts. What can I do? Enter a valid Form Name (without the suffix) in the STARTUPFORM config.usr1 parameter. When FormAgent starts it will display that form after the initial screen displays.

Q. A.

How can I show a special effect when I display a form? When you issue the XSFM command, you can include a PresentationMode after the XIFM. The PresentationMode can be 1 for default, 2 for Slide in Left to Right, 3 for Slide in Right to Left, 4 for slide in Top down, 5 for slide in Bottom-up, and 6 for Fade in.

Q. A.

How do I specify what Tracks to read? The Q1 command is followed by a number indicating which tracks to read: 1=Track 1 2=Track 2 3=Track 1 & 2 4=Tracks 1-3 If the Mx800 is not able to read all the tracks specified, it will still return those that it was able to read.

Verifone, Inc. Confidential

Page 14 of 30

Q. A.

What signature formats can the Mx800 provide? The Mx800 supports a high-resolution touch/signature capture panel. The signature capture panel returns (x, y) coordinates with values from 0 to 2047 on the X axis and 0 to 1535 on the Y axis. The Mx800 samples 100 points per second during the signature capture process. During signature capture the application is not blocked, meaning that it is free to manage communication related events. Signature images can be retrieved in several formats, including VeriFone proprietary Raw, BMP, and compressed TIFF formats. Applications can access the raw signature data to build custom file formats. The S03 command specifies to FormAgent which format to use. The Mx800 Touch Screen Terminal supports the following format for signature data: Raw Binary Signature Format Byte Offset

Value

Definition

0-7

VFISIG00

Header defines a VeriFone Raw point file(ASCII).

8-9



Binary (16-bit) count of the number of points stored in the file (Big-endian).

10-



Binary point. 16-bit value for x axis followed by



16-bit value for the y axis (big-endian). Possible values are 0 – 2047 (0x1000).for the X axis and 0 – 1535 for the Y axis. NOTE: An (x,y) point of (0xFFFF,0xFFFF) is used to signify a pen up condition

TIFF Format A good website for information on TIFF can be found at http://home.earthlink.net/~ritter/tiff/ BMP Format 3BA Format Q. A.

How do I decipher the PIN data returned when the device returns the PIN response? The last 16 bytes are the Encrypted PIN Block (EPB), and the bytes between the “73.00000” and the EPB are the KSN. The KSN can be between 10 and 20 bytes. You might have to Front-Pad the KSN with F’s to the specifications of the Processor.

Q. A.

My Mx800 displays a “Tamper Detected” message when it starts. What does that mean? Typically, this message reflects a “perceived attack” on the unit. The first attack scenario is that an attack occurred but was able to be handled and/or disrupted and subsequently cleared. The display will show: “**TAMPER DETECTED AND CLEARED!”. If the tamper was cleared, the operator may touch the display to continue.

Verifone, Inc. Confidential

Page 15 of 30

The second attack scenario is that an attack occurred and was NOT able to be cleared. The display will show: “**TAMPER DETECTED AND NOT CLEARED!” In this case, the unit must be repaired before it will operate further. NOTE: In BOTH cases, it is important to understand that the encryption keys within the device are no longer there (erased by the tamper-avoidance features of the Mx800 device), so debit PINs can no longer be encrypted by the Mx800. In order to begin processing debit transactions agin, your Mx800 must be re-injected with encryption keys. If an attack is registered, the display will also show a critical code that can be used to help diagnose the specific reason for a failure.

Verifone, Inc. Confidential

Page 16 of 30

Appendix B – Verifone Provided Tools Configurator The Configurator utility will provide a quick an easy way not only to update the values in a given config.usr1 file, but to also see the definition of parameters and applicable range of values. Start by selecting the Read Current button and using the popup window to choose your config.usr1 file. The file will be loaded into the Configurator, please note that any invalid parameters will automatically be removed. All parameters are categorized in order to make parameters more intuitive and easy to find. Simply click in the Value column for any given Parameter and the window at the bottom will provide a brief definition as well as range of values if applicable. For example, selecting the Value column on the Parameter “BD” results in the following display: This is the baud rate of the Mx800 for RS232 connectivity. Valid values are 8=115200, 7=38400, 6=19200, 5=9600, 4=4800, 3=2400, 2=1200. Valid Values: "8","7","6","5","4","3","2" After the needed changes are complete, click the Write Values button to save your changes. After modifying your config.usr1 file you will need to repackage your TGZ file using VeriTar and download to your Mx800.

Direct Download (DDL.exe) DDL is a command line application which allows for a MS-DOS style batch file to use serial communications to download files to the Mx800. You can find an example batch file in the FormAgent folder (\MX Files\FormAgent). Following is from DDL itself on usage and arguments available to DDL. Usage: DDL -p port -b baud -t timeout -d file -e file -i file -r [drive:][group/][name] -z -c [offset] -x password -f file file[@destination]... key=value... Example: DDL -p1 -c -t9 -ifa221c_cp3_090427.tgz This example would download the file “fa221c_cp3_090427.tgz” to the Mx800 on COM1, set the clock to match the host time and if the Mx800 didn’t respond to the download in 9 seconds DDL would abort the download attempt.

Verifone, Inc. Confidential

Page 17 of 30

Arguments: File

File to download. Equivalent to "-i" file. Use "file@destname" to specify different destination name.

key=value

Set configuration variable.

Options: -p

Port

Set host communication port. Default = 1 (COM1).

-b

Baud

Set baud rate. Values: 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200. Default = 115200.

-t

Time

Communication timeout, in seconds. Default = 1.

-d

File

Download file as a data file.

-e

File

Download file as a code file.

-i

File

Download file as code if it has a .OUT or .LIB extension, otherwise as data.

-r

Files

Remove file(s): [drive:][group/][file], where drive is drive letter or "*", group is group number, ".", "*", or empty.

-z

Coalesce Flash.

-c

[off]

Set terminal clock to host time plus optional offset of -23 to +23 hours.

-x

Password

Set terminal password.

-f

File

Read more arguments from file.

Verifone, Inc. Confidential

Page 18 of 30

FormManager & EET Editor For detailed information on installing and using FormManager.exe and the EET Editor, please refer to the MX800 Series Form Manager Guide.pdf. Please note that there are two versions of FormManager available, one for developers and one for integrators. The developer version provides full access to add, edit and delete forms, where the integrator version is more limited and intended for use by marketing/sales personnel where cosmetic changes can be made without concern of deleting or modifying a required element on a given form.

Mx800Downloader Installation Instructions To install the Mx800Downloader tool, simply double click the Setup file located in the toolkit \Utilities\Mx800Downloader. Follow the Install Wizard prompts to load shortcuts into the start menu, desktop or quick launch bar as needed.

Mx800Downloader Usage The following steps describe what needs to be done on both the Mx800 as well as on the PC running the Mx800 Downloader tool. Ensure the Mx800 is connected to the POS or development PC via Ethernet, Serial or USB cables. Put the Mx800 unit into a download receive state by: 1. Enter System Mode 2. Select File Transfer 3. Select Download 4. Select the Port, Baud Rate and Download Type and Press GO! For more information on downloading to a Mx800 device, refer to your VeriFone Mx800 Series Reference Manual. Once installed, run this program by double clicking on the installed Mx800Downloader.exe file. Installation of this program automatically adds itself to the shell context menu for easier access. Simply right-click on any file and you will see a shortcut for downloading to a Mx800 device: (serial) or (network). Once the program is open, you may select either the "Serial" tab or the "Network" tab, depending on your desired/available download method. Next, browse for a file to send, set the desired options, and click on Send. After the download is complete press the ‘Done’ button on the Mx800, then press the back arrow to return to the main System Mode screen. Select File Manager and then Run Application to initiate the Verifone, Inc. Confidential

Page 19 of 30

Mx800. For more details including command line options please refer to the ReadMe.txt file included with the Setup file.

Mx800VideoConverter Installation Instructions To install the Mx800VideoConverter tool, simply double click the Setup file located in the toolkit \Utilities\Mx800VideoConverter. Follow the Install Wizard prompts to load shortcuts into the start menu, desktop or quick launch bar as needed.

Mx800VideoConverter Usage This is the interactive (GUI) version of the MX800 Video Converter and can be run by clicking on the installed '.exe' or by right-clicking on the video file you wish to convert, and then select "MX800 Series Conversion". If the program is started via the installed ".exe", then a GUI will open allowing an input file and output filename to be selected. After selecting both, the "convert" button may be clicked to convert the input file into the output ".avi" filename. If the program was started by the context menu via "MX800 Series Conversion", an output video filename will be selected and the GUI will open. Same as the above process to convert. Before converting, the quality of the output video may be adjusted using the horizontal slider on the GUI. The output quality may need to be adjusted more or less depending on the quality and size of the input video. Test the output video on the MX800 unit to verify performance, then make quality adjustments as necessary. The output video size should be selected to fit the desired target device. Presets for the different Mx800 series terminals may be used, with an option to maintain video aspect ratio. A custom video output size may also be selected, but note that the width and height must be values that are divisible by four. The option to "Create Tar File" may also be selected prior to clicking on "Convert". This option allows a tar file to be created containing the output video file, which will replace the demo 'screensaver' upon being downloaded to an Mx800 series unit. While converting, the status of the video conversion process will be displayed on the status bar at the bottom of the GUI. The process may be cancelled at any time during the conversion by simply clicking on the "Cancel" button on the status window.

Verifone, Inc. Confidential

Page 20 of 30

SocketListener The following steps describe how to setup the environment to support SocketListener. Please note, SocketListener requires that an Ethernet connection be used by the Mx800 and that the Mx800 be on the same subnet as your development machine. 1. Install the SocketListener utility on the PC attached to the Mx870 using the setup file located in \Utilities\SocketListener. 2. Download FormAgentD.tgz located in the same directory with SocketListener to the Mx800 using Mx800Downloader or DDL.exe. 3. Set config.usr1 environment variables: *TELNET=1, *DHCP=1, *GO=frmAgentD.exe Use FormAgent Tester: XSETVAR*TELNET=1*DHCP=1*GO=frmAgentD.exe Or perform a partial download: ddl -p9 *TELNET=1 *DHCP=1 *GO=frmAgentD.exe Or add the variables directly to the [perm] section of config.usr1 using the editor in System Mode. 4. Attach a CAT5 cable to the Ethernet port on the multiport block and connect the other end of the CAT5 cable into your hub/router as described in the picture below.

5. Restart the Mx. 6. Determine the IP address assigned to the Mx. System Mode --> Configure --> Ethernet Port

Verifone, Inc. Confidential

Page 21 of 30

7. Determine the IP address of the PC running SocketListener.exe. 8. On the PC press StartRUN and type: telnet

(e.g., telnet 192.168.1.4)

9. Login as "usr1", with password "166831". 10. Use the 'vi' editor to modify the .profile parameters as described below: export DBGIP=192.168.1.2 export DBGPRT=5678 export DEBUG=2 export DEBUG_GUIMGR=2 export DEBUG_WIDGETS=0

(change to IP address of PC running SocketListener.exe) (listening port # configured in SocketListener.exe)

Just in case you aren't familiar with the Linux "vi" visual editor, after you telnet to the device: $ vi .profile [return] 1. Use down arrow to go to the line "export DBGIP=10.64...." 2. Use right arrow to place cursor on the first character of the value 3. Press x as many times necessary to delete the character pointed to by the cursor location 4. Press a to append text after cursor, enter the IP address of the PC, press [Esc] to stop Repeat steps 1-4 until all values have been set. When finished you'll need to close the file and write the updates, use :x [return]. $ exit [return] to exit telnet session 11. Launch the SocketListener tool on the PC. Select the IP port associated with the PC from the drop down box under the Listen button. Press Listen.

12. Restart the Mx. System Mode --> File Manager --> RESTART. 13. Run the POS application or VFHostTermCom test utility and sent transactions as usual. 14. When complete press Stop Listen in the SocketListener application. Verifone, Inc. Confidential

Page 22 of 30

Press the 'Clear Display Log' on SocketListener to sweep all on-screen lines into the log file. 15. The log file can be found in the directory to where the Socket Listener was installed. i.e., C:\Program Files\VeriFone\SocketListener The file name will be called SOCTRACE.5678.LOG and will contain the debug information logged by the Mx800 including GUI statements as well as communication messages sent to/from the Mx800. 16. You'll need to reset *GO=frmAgent.exe once the debug testing is complete. FormAgentD.exe is a debug application only and should not be deployed to field units. If FormAgentD.exe is run without SocketListener running on your development machine it will severely impact the performance of the Mx800. Using VFHostTermCom: XSETVAR*GO=frmAgent.exe.

VeriTar This program is intended to prepare files/folders for use on VeriFone's MX800 series units. Once installed, run this program by double clicking on the installed VeriTar.exe file. Select the files/folders you wish to prepare for a Mx800 terminal and then click on the desired button. You may Set Permissions, convert a text file from Windows format to Unix (dos2unix), Create Tar File, or Extract Tar File. PLEASE NOTE: Setting permissions may not work without administrative privileges. To create a tar file for the selected files/folders, click on the "Create Tar File" button. The "Create Tar File" frame should now be visible, allowing you to select the output name and set any possible options. If creating a '.tar' archive, then an option to append the selected files to an existing tar archive will be available. An option to include the parent folder, or to just archive the contents in the folder, can also be selected. Upon creating a tar archive, you may set the Owner and Group of the files within the archive. It is recommended you set the permissions for all files you wish to archive prior to creating the tar file. Optionally, you may download a single file to an Mx800 series unit either through a serial com port or through an Ethernet IP address, if your unit is set up for it. Some options will display extra information/tips if the cursor is hovered above them. For more information/help, seek the Help->Content menu item in the VeriTar application.

Verifone, Inc. Confidential

Page 23 of 30

Verifone Host Terminal Communications (VFHostTermCom.exe) The VFHostTermCom application is intended to mimic the interaction between the POS and the Mx800. Developers can use this application to manually test a particular command being sent to the Mx800, to test how the Mx800 responds to particular commands or to ensure that the Mx800 responds similarly to the POS as it does to the VFHostTermCom in order to debug coding problems on the POS.

To run the Host Terminal Communication program, simply double click the executable file located in \Utilities\VFHostTermCom\obj\Release\. Communication Settings Select the appropriate configurations for your communication type between your POS and/or development machine and the Mx800. Serial RS-232 connections – Select the baud, parity, flow control and stop bits options from the pull down menus and then select the COM port to be used. USB connections – Use default baud (115200), parity (8), flow control (None) and stop bits (1) and select the COM port that was installed during the USB Driver installation (default is COM9). Ethernet connections – To use Ethernet, you will need to setup the following in your config.usr1 file within your Mx800 o SERVER=1 o TRMPORT=9001 Then set the Client port to 9001 under the “PC TCP/IP Socket” section of VFHostTermCom and set the Mx800’s IP address in the Remote IP box and choose the TCPIP radio button under Communication Settings. Please note that you will need to set the parameters for the connection before selecting the particular radio button under Communication Settings. To reset the parameters simply select a different COM port and then reselect the desired COM port. Usage Manual commands can be sent to the Mx800 using the “Send Command” button and text box. For example: XIFMSCRSAVER When you click the Send Command button it will automatically add the STX/ETX/LRC (assuming both check boxes are enabled in the Communication Settings) and send to the Mx800. You can also send a reset to the terminal by clicking the “72 Reset Terminal” button in the top right corner of VFHostTermCom. Below the Send Command button are four tabs; Form Agent, Signature, Credit/Debit and MultiPay. Each of these tabs enables the user to simply select a button with appropriate pull downs as a short cut to manually keying the command into the Send Command text box.

Verifone, Inc. Confidential

Page 24 of 30

Appendix C – USB Driver Installation Instructions File name: installvfi2.msi Located in the toolkit at \USB Drivers\Release_1.2\installvfi2.msi Note: Install the software before attaching the cable to the PC 1. Run the installvfi2.msi utility from a command prompt window to assign the USB a comm port as follows: installvfi.msi PORT=x Comm 9 is used.

/*where "x" is the port number you want to assign to the USB. Typically

2. Attach the blue Berg connector to the appropriate port on bottom of the Mx860. 3. Insert the USB connector into a USB port on the PC. 4. Insert the external power supply connector into the +12V receptacle on the multi-port cable block. 5. Plug the external power pack into an indoor electrical power outlet. 6. During boot up you will hear the confirmation tone that the USB was recognized. 7. Verify that the cable was assigned by going into Windows DEVICE MANAGER --> Ports (COM & LPT). You should see the Mx8xx cable listed as: Mx800 Family POS Terminal (COMx)

/* where "x" was the assigned comm port

NOTE: The COMM port will not be listed if the Mx800 devices is not connected. 8. The Mx860 should boot into a SYSTEM INFO screen. This is the main screen for FormAgent indicating that the device is ready for use.

Verifone, Inc. Confidential

Page 25 of 30

Appendix D – Ethernet Configuration Instructions This approach works with either a network crossover cable OR a network HUB, and the actual IP address you use can be your choice. On the workstation/POS solution, open the Windows Network Connections dialog box: a. Disable any wireless network connection (right-click on it and “disable” it); b. Right-click on the primary “Local Area Connection” and select to open the “Local Area Connection Properties” dialog box; c. For that connection, there is a setting for “Internet Protocol (TCP/IP)” – select it and click the “Properties” button to open the “Internet Protocol (TCP/IP) Properties” dialog box; d. Select “Use the following IP address” and input the following: IP address = 192.001.000.002 Subnet mask = 255.255.252.000 Default gateway = [leave blank] and click to close the “Internet Protocol (TCP/IP) Properties” dialog box; NOTE: if there are already values in these two fields, you must write them down to remember them, as you will have to come back to reset them after capturing the trace file(s). e. Click to close the “Local Area Connection” dialog box; f. Minimize the “Network Connections” dialog box NOTE: you may come back here to reset your Windows workstation back to its normal network settings; On the MX800 device, plug in the multiport cable and power the unit on. Connect the Ethernet cable to the Ethernet port on the multiport block and to either the workstation (with a crossover cable) or the hub/switch (with a regular Ethernet cable). a. Load a config.usr1 file with the following parameter values – this should be a partial load on the MX device. The following example is assuming you are assigning a static IP address, if you want to use DHCP simply set the *DHCP parameter to 1 and skip ‘step b’ below: COMMTYPE=TCPIP SERVER=1 TERMPRT=9001 *DHCP=0 b. Navigate in System Mode to CONFIGURE / NETWORK and do the following: Check “Ethernet” Push the “Ethernet” button Check “Static” Push the “Address” button Input “192001000004” and press ENTER Push the “Netmask” button Input “255255252000” and press ENTER Push the LEFT ARROW button Verifone, Inc. Confidential

Page 26 of 30

Push the “Apply” button The device will now show you the Ethernet configuration setting, include a “LINK>>UP” notation. c. Reboot the device (don’t just reload the application), using the FILE MANAGER / RESTART icons in System Mode. When the unit is nearing boot-up completion, it will splash something like “establishing network” and you should see verification of that in your Windows System Tray. On the workstation/POS solution, try to PING the MX device; you should now have a successful connection. To test your IP connection, you can use the VFHostTermCom application on the workstation/POS solution. You are ready to interact with the MX800 using IP!

Verifone, Inc. Confidential

Page 27 of 30

Appendix E – Standard Forms Definition The FormAgent software provided with this Integration Kit includes a generic set of workable forms, covering all the potential aspects of payment acceptance and processing at the user interface with the paying customer. These forms are designed to be generic and functional. The outline below is included to give you a topical overview of what is included, how it functions, and when it might show up during your payment processing flow. The FORM NAME in column one shows the name of the form for the Mx870; for the other MX devices, the form name would be preceded by “830_” or “850_” or “860_”. Form Name

Purpose

FA_INFO

Displays basic System Information

FA_WELC

Generic home page, can be modified to use custom graphic.

FA_SLDCD

Prompts user to slide card, includes sample card swipe animation.

FA_PINE

Prompts user to enter PIN

FA_PROC

POS defined messages, used for “Processing Please Wait” messages.

FA_CBYN

Cashback Yes/No form.

FA_CB

Cashback Preset amounts form, amounts defined by POS

FA_TRANS

Prompts user to select tender type

FA_SIGN

Prompts user for Signature

FA_LINEITEM

Allows POS to add line items to Mx800 display as they’re being scanned on the POS

Following is a generic flow where these forms would be used.

Verifone, Inc. Confidential

Page 28 of 30

Verifone, Inc. Confidential

Page 29 of 30

Appendix F – USB Memory Stick Download Proceedure You can optionally download your Mx800 device via a USB memory stick via the following series of steps. Please note that using this method to download requires the use of an Mx cable that supports USB host, such as the GREEN or RED cables. 1. Power Mx800 device on with a cable that has a “USB Host” port on the block; 2. Copy the TGZ load file(s) from your system to a USB thumb drive (root folder of the drive); 3. Anytime after the Mx800 screen is lit (throughout the 2 minute bootup process), insert this USB thumb drive into the USB Host port on the cable block [NOTE: it is recommended that you do NOT insert the thumb drive BEFORE you power on the device, else you may damage the USB drive]; 4. Once the Mx800 boot up is complete: a. If the Mx800 is in System Mode (6 icons on the screen), skip to step 5 b. If the Mx800 started an application, i. Insert a paper-clip in to the RESET hole (located near the top/leading edge of the magnetic stripe reader) until the 3 blue LEDS light up then remove the paper-clip; ii. When the password entry screen appears, input the System Mode password (default is 166831); 5. Select 6. Select 7. Select the file you wish to load from the list, PageUp and PageDown as necessary to locate the file; 8. Select 9. If you get a “USB Device Not Found” message, the operating system may not have had time to sense and initialize that device. Wait 15 seconds, backup to step 5 and try again. 10. Select or FULL = complete replacement of whatever application was already on the device (replacement); PARTIAL = “overlay” of the new load on top of the application that is already on the device (update); 11. Once the download is complete, touch to return to the previous menu [NOTE: if your TGZ load file contained any OS files, the Mx800 will automatically reboot and return to the System Mode menu; skip to step 12] 12. Select to return to the main System Mode menu 13. Back on the System Mode menu: a. If you have another file to transfer, skip back to step 5 b. If you have no more files to load, select 14. Select this will restart the application (NOT reboot the Mx800)

Verifone, Inc. Confidential

Page 30 of 30