Payment Flows

The Nayax Marshall SDK supports various payment flows, each catering to specific operational needs. These dictate how the system handles vending sessions, payment authorizations, and transaction processing.

The supported flows are:

The sections below will describe each one in more detail.

Single Session

The single-session payment flow in Nayax allows only one transaction to be processed at a time. Unlike the multi-session flow, where multiple transactions can run concurrently, the system handles a single-user payment session before resetting. See the diagram below:

Where:

  1. The user selects an item from the vending machine, creating a new session for the chosen product in which the device requests the item details from the VMC.

  2. The device communicates with Nayax’s backend, sending a payment request, which the backend either approves or declines.

  3. If the transaction is approved, the vending machine dispenses the item.

Learn how to implement this flow in your SDK on the page below.

Multi-Vend

The multi-vend payment flow allows users to select multiple products before making a single payment. This is useful for vending machines or self-checkout kiosks where customers may want to bundle multiple purchases into one transaction. See the diagram below:

Where:

  1. The user selects multiple products, creating a new session with all the selected products. In this session, the device requests all the details of the items from the VMC.

  2. The device requests a single payment to Nayax's backend, which either approves or declines the transaction.

  3. If a transaction is successful, the vending machine dispenses all the items. An error message is shown if it is unsuccessful and the session is terminated.

Learn how to implement this flow in your SDK on the page below.

Multi-session

The multi-session payment flow in Nayax allows multiple concurrent transactions. This is useful when numerous payment interactions must be processed independently, such as in self-service kiosks with multiple users operating simultaneously. See the diagram below:

Where:

  1. Users 1 and 2 select a product, creating a session for each product separately. The device will request the item details for each session to the VMC.

  2. The device sends a payment request for each session to the Nayax back-end, which will approve or decline each one.

  3. If a transaction is successful, the vending machine dispenses the item. An error message is shown if it is unsuccessful and the session is terminated.

Learn how to implement this flow in your SDK on the page below.

Always Idle

The Always Idle payment flow ensures the payment terminal remains on standby until a transaction is initiated. This flow is helpful for vending machines and unattended payment systems where user interaction triggers the payment process.

Where:

  1. The device remains idle, waiting for a user to initiate a transaction. This can be triggered via card tap, mobile payment, or other supported methods.

  2. Once a payment request is detected, the system retrieves the requested item. It communicates with the vending machine and Nayax's backend to authorize the transaction.

  3. If the payment is successful, the vending machine dispenses the item. If it is unsuccessful, an error is displayed, and the system returns to idle.

  4. After a transaction (successful or failed), the system resets and waits for the next transaction.

Learn how to implement this flow in your SDK on the page below.