Replacing manual payment chasing with a self-serve billing & payment flow — dynamic enough to adapt to any merchant, without custom builds.
I ran on-site field research across African markets to understand how merchants actually get paid — not how we assumed they did. The pattern was everywhere and invisible in our analytics: getting paid was a human process, not a product one.
South African merchants rarely had a self-serve billing page. To recover outstanding payments they leaned on manual recovery — call-centre follow-ups, SMS nudges and WhatsApp/email reminders, often sending bank details or a reference and asking the customer to confirm once paid.
Without a self-serve billing page, merchants chased outstanding payments manually while customers paid with no confidence the payment landed. As Moment, we needed a scalable, self-serve billing product that adapts seamlessly across diverse merchant use cases — without custom builds — yet stays dynamic and scalable, meeting global standards while remaining intuitive for local users.

I mapped the jobs people perform in a Moment checkout across three altitudes — the sky-level emotional & social goals, the backbone of the core flow, and the fish-level tasks users repeat most. This kept the team anchored on user value, not screens.

Then I pressure-tested the flow with real users — first-time and repeat — to surface where trust broke and which decisions mattered most.

I consolidated the entire customer journey into a single architecture, then reduced it to a repeatable spine: EBP → Checkout → Payment details → Redirect → Status → Receipt, with failed/cancelled/expired routes folding back in.

From there I identified the common elements across every screen — branding, country, amount states, breakups, points, transaction details — so a single component set could power every merchant and every method.

To make "no custom builds" real, I built a scalable design system from scratch that maps directly to the common-element model — so product, engineering and business could compose any merchant experience from the same parts. I also integrated AI into the design workflow to move from spec to variations faster.

The bill page went through dozens of iterations — tuning hierarchy, the amount field, due-date framing, error guidance and trust cues until first-time users could pay without hesitation.

I made it responsive across breakpoints, with a desktop summary that exposes the full amount breakup — subtotal, discounts, previous advance and VAT — without overwhelming smaller screens.

The shipped product is a complete, self-serve flow that handles every local method — cards, Capitec Pay, bank transfers and vouchers — through to a shareable receipt.






From chasing payments to a self-serve flow any merchant can run.— The shift Unified Billing delivered
Unified Billing replaced manual recovery with a self-serve product that merchants can stand up themselves and customers trust — built once, scaled across brands, methods and markets.