Industrial & hardwareStatus: Prototype
Cashless payment at vending machines via QR
Challenge
Existing machines were to accept cashless payment without expensive proprietary card terminals. Payment happens in the smartphone browser; dispensing on the device has to be triggered tamper-proof.
Technology
- TypeScript
- Fastify
- Prisma
- MQTT
- React
- ESP32
- MDB-Bus
Requirements
- QR code opens a mobile web shop or a credit top-up
- Common mobile wallets and cards via a payment provider
- Signed, time-limited commands to the device
- Automatic refund if dispensing fails
- Compatible with the standard vending bus (MDB)
Approach
- 01Monorepo with a shared protocol package (HMAC-signed commands, MQTT topics)
- 02Backend with an embedded MQTT broker, payment webhooks and reconciliation
- 03ESP32 firmware as a cashless peripheral on the vending bus
- 04Device simulator for end-to-end tests without hardware, operator dashboard with QR generation
- 05Two dispensing modes: credit (universal) and direct product selection