C# SDK Simulator

The Nayax Marshall SDK includes a simulator to help developers test and debug their device integration with the Nayax payment system. The simulator replicates the behaviour of the actual hardware and software interactions, allowing you to validate the vending process without needing physical hardware.

Simulator

When the C# SDK simulator is started on a terminal, its menu will look like this:

[0]: start session 0
[1]: close session 0
[2]: info session
[3]: cancel session
[4]: query sessions
[5]: reader state
[6]: cash sale
[7]: alert
[8]: transfer custom transaction_id
[9]: brand config
[10]: ftp socket test
[11]: screen control
[12]: link stats
[13]: quit

Where:

Command

Description

Start session 0

Starts a session (a transaction) with product code 0.

Close Session 0

Only relevant in multisession. Closes the session (settles it) at the end of a transaction.

Info Session

Retrieves card details (BIN, PAN-HASH, 4 digits) without charging the consumer or vending a product

Cancel Session

Cancels the transaction from the peripheral's end. Can be sent up until the consumer's card has been approved.

Query sessions

Gives information about which sessions are currently open. This option is relevant from 4.0.0.22 and above.

Reader state

Gives information about whether the reader is enabled (1)/disabled (0). This option is relevant from 4.0.0.22 and above.

Cash sale

Simulates cash sale.

Alert

Sends an alert to the DCS. It can be seen in Last Alerts.

transfer custom transaction_id

Allows the customer to send a custom transaction ID. Needs to be sent during an ongoing transaction process (before or after the authorization)

brand config

Relevant only for the Japanese market and firmware version. When selected prior to starting a transaction and then selecting a product, the desired brand selection would take place (without going into the brand selection screen). In order for the peripheral to know which brands are set on the device's end, the devices sends the brands information during the pairing process

FTP socket test

Allows the peripheral to use Nayax's modem for its own needs.

Screen control

Tests the Display Control feature. Needs configurations in the DCS.

Link stats

Provides information about the number of CRC errors, packet retransmissions, and communication losses.

Quit

Quits the simulator program.

Transaction Flow Examples

Below are examples of the flow for each transaction type:

  1. Regular Transaction (Single Session):
    1. Start a session: with [0]: Start session.
    2. Present card, wait for authorization and "Thank you" screen.
  2. Multi-Session Transaction:
    1. Start a session with [0]: Start session 0.
    2. Present card, wait for authorization and "Thank you" screen.
    3. Close the relevant session- in this case, use [1]: Close Session 0.

See Also