Skip to main content
The Nayax EMV Core SDK supports a wide range of Linux-based platforms. Each delivery includes optimized binaries for specific CPU architectures and library versions.
The following table has all supported Linux platforms:

Package Contents

Each platform folder contains four primary components:
  • otiKiosk: The primary EMV Core service executable.
  • otiKioskDemo: The client Test Application executable.
  • kiosk-client-library-xxx.zip: Eclipse project containing the C source code and sample app.
  • otikiosk-xxx.zip: Package for remote updates via TMS (using the CON_PROG command).
The package is organized as follows:

Installation

The EMV Core SDK for Linux provides a set of APIs to control payment processes over Unix domain sockets or TCP. It supports multiple architectures, including x86_64 and various ARM platforms.

Prerequisites and Environment

Verify these requirements before deploying the SDK:
  • System Dependencies: Requires libcurl for secured internet access with TLS 1.2 or higher.
  • Permissions: The user running the service must have read/write access to the executable folder and the reader device (e.g., /dev/hidrawX for USB or /dev/ttyXXX for Serial).
  • Architecture: Ensure you are using the correct binary for your target platform (e.g., Ubuntu x86_64, armhf, or armv8a).

Installation Steps

  1. Copy the EMV Core binary (otiKiosk) to the target device. Note that the file must not be renamed.
  2. Build the sample application:
    • Install build essentials: sudo apt-get install build-essential automake.
    • Extract the source code zip file (e.g., Emv-Core-client-x86_64-1.4-97.zip).
    • Run the following commands in the source folder:
  3. Run the applications:
    • Terminal 1: Start the EMV Core service with sudo ./otiKiosk.
    • Terminal 2: Start the test application with sudo ./otiKioskDemo.
Communication ConfigurationBy default, the SDK uses Internal (Unix domain) sockets, creating socket_cmd and socket_events in the application’s /var folder.If you prefer TCP communication, set the configuration option KIOSK_USE_TCP_SOCKETS=1. This will use ports 10000 for commands and 10001 for events.