The Marshall Protocol is a proprietary communication protocol developed by Nayax that works over a RS232 connectivity. It is designed as a robust communication protocol that accommodates reliable transaction exchange between a machine controller and the VPOST, ONYX, VPOSM line of products.

As a proprietary protocol, it provides a very rich payment API to support the following transaction flows:

  • Pre-selection
  • Pre-authorization
  • Multi-session
  • Multi-vending
  • Always-idle

As well as other services such as:

  • Modem services (VPOS can serve as an external modem)
  • Display control (you can use the VPOS as a product selection device)
  • Time services

System overview

The Marshall SDK provides an easy and comprehensive facility for using the VPOS
device without the hassle of messing with bits and bytes of the Marshall protocol.

Follow the quick-start demo, and you will be up and running quickly.

📘

For your convenience, the SDK is provided in various common programming
languages:

  • C
  • C#
  • JAVA

The diagram below illustrates the Nayax system's transaction and communication flow:

Regarding the above diagram:

  • At the core is the Nayax device, which manages transactions. This device communicates with Nayax payment and monitoring servers for transaction processing, which, in turn, interact with banks or payment gateways to finalize payments.
  • The blue arrows indicate the primary transaction flow between the Nayax device server and banks.
  • The host machine communicates with the VPOS over marshall protocol.

What is next?

🚧

Terms of Service

Before getting started with the Marshall SDK please read the Terms of Service of our developer's zone.

To start the Marshall SDK integration, we suggest you check the following documentation pages:

  1. Vending Process: Learn about the complete vending process using the Nayax Marshall SDK.
  2. Integrate Nayax: This guide provides quick-start integration of the Nayax Marshall SDK.
  3. Create Payments: Learn how to set up and handle cashless transactions using the Nayax Marshall SDK.