Multi Vend with Pre-Selection

A Multi-Vend flow contains multiple products that can be vented in a single transaction while the machine remains in an "Always Idle" state, waiting for selections. The customer selects multiple products before presenting their payment card. After the card is presented and authorization is approved, the vending machine dispenses the products. The session is then settled and completed with appropriate messages to the cardholder.

Multi Vend Flow

See the diagram below:

Where:

  1. Message to Card Holder: "Please Select a Product."
  2. Card Holder selects multiple products.
  3. Vending Machine SDK sends a Multi Vend Request vmc_vend_vend_request(vend_session_t *session) to the Nayax Device.
  4. Message to Card Holder: "Please Present Card."
  5. Card Holder presents payment card.
  6. Nayax Device sends an authorization request to the Nayax Server.
  7. Nayax Server forwards the authorization request to the Billing Provider.
  8. The billing Provider sends an authorization response (approved) to the Nayax Server.
  9. Nayax Server sends authorization response (approved) to the Nayax Device.
  10. Vending Machine SDK transfers transaction data.vmc_vend_event_handler_cb(vm_vend_event_on_transaction_info).
  11. SDK triggers vend-approved event handler vmc_vend_event_handler_cb(vm_vend_event_on_vend_approved).
  12. The vending machine dispenses the products.
  13. SDK reports multi vend success vmc_vend_vend_status(&session, __true) and completes the session vmc_vend_vend_session_complete_lowlevel().
  14. Message to Card Holder: "Please Take Product."
  15. Nayax Device sends settlement requests to Nayax Server.
  16. Nayax Server forwards settlement requests to the Billing Provider.
  17. The billing Provider sends a settlement response (OK) to Nayax Server.
  18. Nayax Server sends settlement response (OK) back to Nayax Device.
  19. Session ends.
  20. Message to Card Holder: "Thank you & Goodbye."