Multi-Session

The Marhall Multi-session payment flow enables you to process multiple concurrent transactions. This flow is applicable in scenarios such as self-service kiosks, where several users operate simultaneously and require independent payment processing.

Payment Flow

The diagram below illustrates the sequence of events within the multi-session payment flow.

Below is a breakdown of the diagram:

  1. Card Holder presents the card to the Nayax Device.
  2. Nayax Device sends an authorization request to the Nayax Server.
  3. Nayax Server forwards the authorization request to the Billing Provider.
  4. The billing Provider sends an authorization response (approved) to the Nayax Server.
  5. Nayax Server sends the authorization response (approved) back to the Nayax Device.
  6. Vending Machine SDK begins the session and triggers the session begin event handler (vmc_vend_event_handler_cb(vm_vend_event_on_session_begin)).
  7. Message to Card Holder: "Please Select Product."
  8. The cardholder selects a product.
  9. Vending Machine SDK sends a vending request vmc_vend_vend_request(vend_session_t *session) to the Nayax Device.
  10. Vending Machine SDK transfers data internally and triggers the transaction info event handler vmc_vend_event_handler_cb(vm_vend_event_on_transaction_info).
  11. SDK triggers the vend approved event handler vmc_vend_event_handler_cb(vm_vend_event_on_vend_approved).
  12. Vending machine starts dispensing the product.
  13. SDK reports vend success vmc_vend_vend_status(&session, __true) and completes the vend session vmc_vend_vend_session_complete_lowlevel().
  14. Session ends.

  1. The machine stops dispensing the product.
  2. Vending machine SDK closes the session vmc_vend_session_close(session).
  3. Nayax Device sends a close session message.
  4. Nayax Device sends a settlement request to the Nayax Server.
  5. Nayax Server forwards the settlement request to the Billing Provider.
  6. The billing Provider sends a settlement response (OK) to the Nayax Server.
  7. Nayax Server returns the settlement response (OK) to the Nayax Device.
  8. Vending machine SDK receives status and triggers settlement event handler vmc_vend_event_handler_cb(vm_vend_event_on_settlement).
  9. Vending machine SDK transfers data and triggers transaction info event handler vmc_vend_event_handler_cb(vm_vend_event_on_transaction_info).
  10. Message to Card Holder: "Thank you & Goodbye."

See also