Table of Contents
- Overview
- Comm Type
- Port
- Baud Rate
- Model Name
- Serial Number
- VCOM/USB Drivers
- Configuring the Payment Device SDK Server config file
- Common Errors
- How To Access Maintenance Mode
Overview
The following article is to assist in setting up the Ingenico Self Series devices with NMI's Payment Device SDK, and how to fill in the various Payment Device SDK Server settings when connecting via serial or VCOM/USB.
Comm Type
The Self Series device can be set-up to connect via a number of connection methods, notably RS-232 (serial), and VCOM/USB. For a successful connection, the Self device will have to be set to the correct connection method, and can be carried out in the following manner:
RAM:
- Enter Maintenance Mode
- Select RA1
- Enter the Device Password
- Select Comms Method
- Select your Comm Type:
- RS-232 for Serial
- VCOM/USB for USB
UPP:
- Enter Maintenance Mode
- Select TDA
- Select Configuration
- Select Communication
- Select the Comm Type
- RS-232 for Serial
- VCOM/USB for USB
Communication type on the UPP Self Series devices can only be changed via the menu when running firmware version 7.83.19 and higher. If the device is running an older version the communication type can only be changed by editing and loading a Comm.ini file via LLT.
Additionally, a Comm.ini file must be used to update the comms type on the Self/3000. The default port on this device appears to be 12000 (rather than the more usual 8087). For any questions regarding the use of a Comm.ini file, please reach out to your device distributor.
After you have setup the device for the correct comm. method, you will then need to modify the Payment Device SDK Server config Protocol section to the following:<Protocol>serial<Protocol>
Port
To initiate a connection to the device via Serial, VCOM, or USB, you will need to specify what port the host machine has assigned to the device.
Serial:
VCOM/USB:
After you have confirmed what port the device has been assigned, you will need to modify the Payment Device SDK Server config Port section. In the example below, we're basing the COM10 port on the VCOM/USB connection above:<Port>COM10</Port>
Baud Rate
This is only relevant to serial connections, and not VCOM/USB. The baud rate of the device should be set to the highest recommended by the device distributor or manufacturer. Once confirmed, you can set the baud rate on the device in the following manner:
RAM on RS-232:
- Enter Maintenance Mode
- Select RA1
- Enter the Device Password
- Select the Serial Settings option
- Select the desired Comms Speed
Once the device Comms Speed has been set on the device, you will need to modify the Payment Device SDK Server config Baud section to match. As an example, if the device is set to 115200, you would set the Payment Device SDK config to the following:
<Baudrate>115200</Baudrate>
For the UPP devices, the Baudrate will need to be set within the Comm.ini file. We recommend reaching out to your device distributor for more information on configuring this file.
Model Name
NMI support two variants of the Ingenico Self Series:
- Ingenico Self/X000 RAM for European markets.
- Ingenico Self/X000 UPP for American markets.
If you are unsure which model of Ingenico Self Series you have, it is always best to check with your device distributor, who will be able to confirm the exact model you have received.
Once you have confirmed the Ingenico Self Series model you are using, you will need to modify the Payment Device SDK Server config Model section to one of the following:
<Model>Ingenico-Self–X000-RAM</Model><Model>Ingenico-Self–X000-UPP</Model>
Serial Number
Checking the serial number differs depending on the Self Series variant, and it must be obtained and set in the Payment Device SDK Server configuration before the device can successfully connect. The Device ID specified in the configuration file must exactly match the ID reported by the device firmware.
You can locate the serial number for each model in the following ways:
For the RAM variant of the Self Series, the serial number is printed on the underside of the device. Specifically, for Ingenico Self RAM PIN pads, the Device ID consists of the last eight digits of this printed serial number, with two zeros added as a prefix.
For example, if the serial number is 25471019, the corresponding entry in the configuration file would be:<Id>0025471019</Id>
The UPP variant of the Self Series devices has its serial number printed on the information sticker located on the underside of the device.
In the Payment Device SDK Server configuration file, the Id value must match the serial number used by the device firmware. For example:
<Id>3031078003256482</Id>.
Additional details by model:
Self UPP PIN pads: Use the last 16 digits of the serial number displayed in the pink box on the device.
Ingenico Self/7000-8000 UPP combination: Use the serial number found on the underside of the Self/7000 unit.
Alternatively, you can display the serial number on the device screen by pressing 0 four times.
VCOM/USB Drivers
If you are connecting the Self device via VCOM/USB on Windows, you will need to install the Ingenico USB device drivers. NMI cannot provide these drivers, and we would always recommend getting in contact with your device distributor or the device manufacturer to ensure you have the most recent and correct drivers for your device.
VCOM/USB support on Linux is heavily dependant on your chosen Linux distro's driver support, as Ingenico does not supply a Linux driver. It is typically recommended to use an RS-232 (serial) or Ethernet connection when using a Self device with Linux if driver support is unknown on your chosen distro.
Configuring the Payment Device SDK Server config file
Please take note of the following changes within the Payment Device SDK config file:
-
Modeltag needs to be updated to correctly reflect the Ingenico Self Series model in-use:Ingenico-Self–X000-RAMIngenico-Self–X000-UPP
- Add the
IDof the Ingenico Self device (serial number) as documented in the Integration Guide.- More information on how to locate the serial number can be found above.
-
Protocoltag needs to be set to serial. -
Porttag needs to be set to the value that matches the COM port assignment. -
Baudratetag needs to be set to the highest recommended value by the device manufacturer. -
Paritytag should be left as default unless otherwise instructed by NMI support. -
Stopbitstag should be left as default unless otherwise instructed by NMI support. -
Databitstag should be left as default unless otherwise instructed by NMI support. - If you are changing the config file over from Ethernet to Serial or VCOM/USB, the following tags are not needed:
Address. - Save the file.
Example config:
<?xml version="1.0" encoding="utf-8"?>
<ChipDnaServer version="1.0.0">
...
<Terminals>
<Terminal>
...
<PaymentDevices>
<PaymentDevice>
<Model>Ingenico-Self-X000-Model</Model>
<Id>3031078003256482</Id>
<Protocol>serial</Protocol>
<Port>COM10</Port>
<Baudrate>115200</Baudrate>
<Parity>none</Parity>
<Stopbits>1</Stopbits>
<Databits>8</Databits>
<StandbyMessage>ChipDNA</StandbyMessage>
</PaymentDevice>
</PaymentDevices>
</Terminal>
</Terminals>
...
</ChipDnaServer>
Common Errors
The following connection-related errors are normally an indicator that either the Ingenico Self device or the Payment Device SDK Server config file has not been setup correctly. If you see these errors within the Payment Device SDK Server console window or log files, please review your Payment Device SDK Server config and device settings, and if the issues persist, please get in contact with our support team.
Date Time INFO ChipDNA [Ingenico-Self-X000-Model, SerialNumber] [Disconnected] HeartBeatLoop Connection
Date Time INFO ChipDNA [Ingenico-Self-X000-Model, SerialNumber] [#ggb, #yk] Connecting
Date Time WARN ChipDNA [Ingenico-Self-X000-Model, SerialNumber] Connection Error: Error Code: UNABLE_TO_OPEN_CONNECTIONDate Time INFO ChipDNA [Ingenico-Self-X000-Model, SerialNumber] [DeviceIngenico, #yk] Connecting
Date Time INFO ChipDNA [Ingenico-Self-X000-Model, SerialNumber] [DeviceIngenico, #Fab] Sending command
Date Time INFO ChipDNA [Ingenico-Self-X000-Model, SerialNumber] [DeviceIngenico, #C9] Link setup required
Date Time WARN ChipDNA [Ingenico-Self-X000-Model, SerialNumber] [DeviceIngenico, #C9] Link setup NO ACK
Date Time WARN ChipDNA [Ingenico-Self-X000-Model, SerialNumber] [DeviceIngenico, #C9] Link setup NO ACK
Date Time WARN ChipDNA [Ingenico-Self-X000-Model, SerialNumber] [DeviceIngenico, #C9] Link setup NO ACK
Date Time WARN ChipDNA [Ingenico-Self-X000-Model, SerialNumber] [DeviceIngenico, #C9] Link setup timeoutDate Time INFO ChipDNA #lc.#kc: PaymentDeviceAvailabilityChangeEvent -> Parameters:
[ Key: PAYMENT_DEVICE_MODEL, Value: Ingenico-Self-X000-RAM ],
[ Key: PAYMENT_DEVICE_IDENTIFIER, Value: WrongSerialNumber ],
[ Key: IS_AVAILABLE, Value: False ],
[ Key: AVAILABILITY_ERROR, Value: DeviceIdMismatch ]