Skip to content
MALCOMv2.5.0, home

TRFC Ticketing

Mobile-money ticketing with instant QR verification at the gate.

CLIENT / VENTURE
TRFC
ROLE
Full-Stack Developer
TECHNOLOGIES
M-Pesa API, Paystack, QR Engine
DELIVERY
Deployed

The Problem

Event tickets were sold and checked by hand, which led to long gate queues, cash handling risk and duplicated or forged tickets. Fans needed to pay with mobile money and receive a ticket instantly, and gate staff needed a fast way to confirm each ticket was genuine and unused.

What I Built

I built a ticketing engine where buyers pay through an M-Pesa STK Push prompt or Paystack and receive a unique QR ticket as soon as the payment is confirmed. At the gate, staff scan tickets against a verification service that accepts each code once and logs every scan attempt.

Core Architecture

  • Payment-Driven Ticket Issuance

    Payment callbacks from M-Pesa and Paystack trigger ticket creation, so a ticket only exists once money has been received.

  • Dual-Domain API

    A CORS configuration serving the public sales site and the gate verification app from separate domains.

Key Challenges

  1. Anti-Replay Verification

    Signed, single-use QR codes with scan logs, so a screenshot or copied ticket cannot get a second person through the gate.

  2. Reliable Payment Callbacks

    Idempotent callback handling so repeated or delayed payment notifications never issue duplicate tickets.