FAQ- Marshall flow/configurations

Vend result timeout (Timeout for Vend Success)###

This parameter sets how long the device would wait for a vend response ("Vend Approved"/"Vend Failure") from the peripheral once "Vend Approved" has been sent to the peripheral. The parameter's value in Nayax Core has a max value of 65535 seconds (18 hours 12 minutes and 15 seconds). Should you need a longer lap than that- you can use Multi-Session, in which the timeout for credit cards are 23 hours (can be up to 72 hours as of 2025), and for proprietary cards it's 72 hours.

Status command

Once the pairing process is completed, you'll get a "Status" command immediately sent by the device once the network communication is lost, in order to let the machine know about it. It would look something like this in the Java SDK (same look in C# and C):

[1760613771245+( 7476ms)] vmc_link: rx vmc_link :rx :0d:00:01:04:00:36:01:30:0b:15:01:00:08:37:92: [1760613771245+( 0ms)] vmc_link: tx vmc_link :tx :0a:00:00:04:01:30:00:36:00:00:4c:6b: [1760613771245+( 0ms)] vmc_vend_t: received status: 21 [1760613771251+( 6ms)] Main: device not available: in technician mode

[1760613771251+( 0ms)] vmc_socket_t: received status: 21

You can see that the status is 21 (0x15), which as the table below says, it means that the device is unavailable (and the following bytes afterwards tell you why is it unavailable).

Once the communication would be resumed and the device would go back to idle- a Status command of value 20 would be sent: [1759994336421(+7ms)] : rx: 0d:00:01:02:00:36:01:30:0b:14:01:00:00:34:16: [1759994336424(+3ms)] marshall_t: received status [1759994336426(+2ms)] : tx: 0a:00:00:02:01:30:00:36:00:00:69:ca: [1759994336431(+5ms)] vmc_vend_t: received status: 20 [1759994336431(+0ms)] APP: received status: 20 [1759994336433(+2ms)] APP: device available [1759994336434(+1ms)] vmc_socket_t: received status: 20

So to sum it up: The device lost communication with the outside world (SIM does not work/ETH connection is faulty etc.) -> peripheral sends "keep alive"s and the device responds to it -> device sends "Status" command with value of 21 [0x15])

The device resumes communication with the outside world -> peripheral sends "keep alive"s and the device responds to it -> device sends "Status" command with the value of 20 [0x14])