Skip to main content
This page will explore the essential components and configurations needed to establish and manage the connection between your application and Nayax’s payment devices using the Marshall SDK. This includes:
  • Handling events through the vmc_link_events_t interface.
  • Understanding the structure of vpos_config_t class.
Refer to the following sections for more information. The vmc_link_events_t Interface defines the events related to the communication link between the vending machine controller (VMC) and Nayax devices. Implementing this interface enables your application to respond to critical events that occur during the device’s operation. The following code block presents how to add the interface:

Interface Methods

The table below describes the available methods of the interface.

VPOS Configuration Class

The vpos_config_t class encapsulates the configuration settings for the VPOS, which are communicated between the VMC and the device. The following code block lists all available configurations:

Class Parameters

The table below provides a detailed description of the parameters.

Callback function

To register the callback events for link operations, use the following method:
By understanding and implementing these configurations and methods, you can effectively manage the communication link and event handling for Nayax payment devices, ensuring reliable and efficient vending operations.

Communication Loss

The Marshall protocol answers every command with an ACK. When your peripheral sends a command to the device it gets an ACK back, and the same happens in the other direction. The ACK is the receiver telling the sender that the command arrived. When no ACK comes back, the command is transmitted twice more. If none of the three attempts is acknowledged, the SDK stops sending keep-alive commands and the device sends a reset command to start the pairing process again. What happens to a transaction that was in progress when the ACKs stopped depends on the stage it had reached. See Create Payments.