TixFlow

A ticketing platform for Kenyan events, from M-Pesa checkout to the gate.

System architecture, running: from checkout to the gate · simulated data
  1. The buyer pays by M-Pesa STK Push or card
  2. Pending orders are confirmed directly with Safaricom, never trusted blindly
  3. The ticket goes out by email, WhatsApp or SMS
  4. Gate scans work with no signal and sync in order later
  5. Copied tickets are detected and turned away

The problem

Selling tickets is the easy part. The hard part is being sure every payment landed, getting money to the organiser safely, and stopping copied tickets at a crowded gate with patchy signal.

M-Pesa callbacks do not always arrive. A system that trusts them blindly either loses sales or issues tickets nobody paid for.

What we built

A complete ticketing platform for organisers and buyers.

Payments that reconcile themselves

  • M-Pesa STK Push and card payments (Visa, Mastercard, Apple Pay, Google Pay)
  • A reconciliation job asks Safaricom directly about any order still pending, so no payment is lost and no unpaid ticket is issued
  • Card webhooks are never trusted on their own; every payment is re-checked with the provider

Money out, safely

  • Organiser payouts to M-Pesa or a bank, through Daraja B2C and B2B
  • Every payout needs an emailed confirmation code and administrator approval
  • Refunds, promoter commission and platform fees all settle through the same safeguards

A gate that works offline

  • Scans with handheld scanners or a phone camera
  • With no signal, scans are decided on the device, queued and synced in order later
  • Copied tickets are detected and re-entry rules are enforced

Everything an event needs

  • Lipa Pole Pole instalment plans, promo codes and tracked promoter links
  • A box office that prints receipts, and tickets by email, WhatsApp and SMS
  • Live polls and Q&A, attendance certificates and a lead scanner for sponsors

How it holds up

TixFlow is designed for the moment that matters: a queue at the gate. Payments are checked against the source, money only moves with approval, and scanning keeps working when the network does not.