Vending Sessions Examples
This section will provide several tutorials to use Qibixx' products for the most typical use cases.
Capital "C" messages are sent out to the MDB Interface/Pi Hat and are used to control Cashless Slave
Lower Case "c" messages are answers from the Cashless Slave on the MDB Interface/Pi Hat
Capital "D" messages are sent out to the MDB Interface/Pi Hat and are used to control Cashless Master
Lower Case "d" messages are answers from the Cashless Master on the MDB Interface/Pi Hat
"r,ACK" Messages are part of the Cashless Slave replies, meaning that the VMC (Cashless Master) sent some query to the Slave.
Selection First/Always Idle Mode
Master | Action | Slave |
---|---|---|
D,2 | Enable Master Mode - Selection First | |
d,STATUS,RESET | Master got "Just Reset" response from Reader | |
Enable Cashless Slave | C,1 | |
Cashless Slave is On, waiting for Cashless Master to query | c,STATUS,INACTIVE | |
c,1 | ||
c,STATUS,INACTIVE | ||
r,ACK | ||
Cashless Slave is disabled | c,STATUS,DISABLED | |
r,ACK | ||
r,ACK | ||
d,STATUS,INIT,1 | INIT,1 tells you that the reader IS always idle capable | |
D,READER,1 | Enable the Reader | |
d,STATUS,IDLE | Reader is in Idle mode | |
Reader has been enabled by the Cashless Master | c,STATUS,ENABLED | |
D,REQ,1,5 | Request 1€ for product 5 from Reader | |
d,STATUS,VEND | Terminal waiting for payment | |
Master requested 1€ Credit for product 5 | c,STATUS,VEND,1.00,5 | |
Give Credit to Master | C,VEND,1,5 | |
r,ACK | ||
d,STATUS,RESULT,1,1.00 | When card is presented and the transaction authorized, "RESULT,1,<value> | |
D,END | VEND SUCCESS | |
d,STATUS,IDLE | Cashless Master back to Idle mode | |
Successful VEND | c,VEND,SUCCESS | |
Cashless Slave back to Idle State | c,STATUS,IDLE | |
Cashless Slave back to Enabled State | c,STATUS,ENABLED | |
r,ACK |
Authorization First/Credit from Card
Master | Action | Slave |
---|---|---|
D,1 | Enable Master Mode - Authorization First | |
d,STATUS,RESET | Master got "Just Reset" response from Reader | |
Enable Cashless Slave | C,1 | |
Cashless Slave is On, waiting for Cashless Master to query | c,STATUS,INACTIVE | |
c,1 | ||
c,STATUS,INACTIVE | ||
r,ACK | ||
Cashless Slave is disabled | c,STATUS,DISABLED | |
r,ACK | ||
r,ACK | ||
d,STATUS,INIT,0 | INIT,0 tells you that the reader IS NOT always idle capable | |
D,READER,1 | Enable the Reader | |
d,STATUS,IDLE | Reader is in Idle mode | |
Reader has been enabled by the Cashless Master | c,STATUS,ENABLED | |
Give credit to the machine | C,START,1 | |
Ongoing Vending Session with 1 Credit | c,STATUS,IDLE,1 | |
r,ACK | ||
d,STATUS,CREDIT,1.00,-1 | 1 Euro have been authorized when card was swiped | |
D,REQ,1,5 | Request 1€ for product 5 from Reader | |
d,STATUS,VEND | Terminal waiting for payment | |
Master requested 1€ Credit for product 5 | c,STATUS,VEND,1.00,5 | |
Give Credit to Master | C,VEND,1 | |
r,ACK | ||
d,STATUS,RESULT,1,1.00 | When card is presented and the transaction authorized, "RESULT,1,<value> | |
D,END | VEND SUCCESS | |
d,STATUS,IDLE | Cashless Master back to Idle mode | |
Successful VEND | c,VEND,SUCCESS | |
Cashless Slave back to Idle State | c,STATUS,IDLE | |
Cashless Slave back to Enabled State | c,STATUS,ENABLED | |
r,ACK |
How to give credit to a machine on Authorization First/Always Idle
Commands sequence:
- D,1 or D,2
- C,1
- D,READER,1
- C,START,1 - run this command or swipe the card
MDB 4.3 Remote Product Selection
This is only possible if the vending machine is compliant with MDB 4.3
x
C,SEL,<Funds>,<PaymentID>,<ProductID>
Example:
C,SEL,1.00,FFFFFFFF,2 <!--Payment ID can be any number from 00000000 to FFFFFFFF, where FFFFFFFF means unknown payment ID-->
Always Idle
A,10 #Listen to address 10
S,C,1100,0103175601021e08 #Answer as level 3 machine, country code: 1756 ,scale factor: 01, decimal places: 02, max response time: 1s, Misc=08 (payment media supports cash sale subcommand)
S,C,1700,09514258333433303538333332323433514942495858204d44423030372000000161 #bit 5 = Always idle , bit 6 = Remote vend capable , bit 9 = Ask Begin session in Selection first
S,1
Q,12,14000affffffff000000000200000000 #Ask Begin Session (14H):funds available= 000a , ffffffff = unknown payment media ID,( Z8 = test media z9/z10 = 0 => payment data= 000000 ),item number=0002,options=00000000
VMC DATA :
r,17,005248563030303030303030303030303232323232323232323232321122,c
r,17,0400000020,a