Skip to content
BEYWARE.
BEYWARE.
← All projects
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

  1. 01Monorepo with a shared protocol package (HMAC-signed commands, MQTT topics)
  2. 02Backend with an embedded MQTT broker, payment webhooks and reconciliation
  3. 03ESP32 firmware as a cashless peripheral on the vending bus
  4. 04Device simulator for end-to-end tests without hardware, operator dashboard with QR generation
  5. 05Two dispensing modes: credit (universal) and direct product selection

Contact

Which workflow is holding your team back?

Describe it in three sentences. Within 24 hours you get an honest assessment of whether and how we can help.