2026
REDEFINING
THE DIGITAL�LANDSCAPE.
WORDCAMP LIRA 2026
29–30 AUGUST 2026�LIRA TOWN COLLEGE • LIRA CITY
ANDREW - WORDPRESS DEVELOPMENT
#WCLira2026
01
WORDCAMP LIRA
2026
SPEAKER
MOBILE MONEY & PAYMENTS ON WORDPRESS IN UG
#WCLira2026
02
Andrew Ssanya
WordPress Development
29–30�AUGUST
W
WORDCAMP LIRA
2026
01 / THE HOOK
Open This On Your Phone. Right Now.
#WCLira2026
02
momo.mtn.com/api RUNS ON WORDPRESS
Look at any image URL on that page: wp-content. MTN's own API front door is built on the CMS you already use.
WORDCAMP LIRA
2026
02 / WARM-UP
Everyone Stand Up.
#WCLira2026
03
01
STAY STANDING IF
You have paid with MoMo this week.
02
STAY STANDING IF
You have paid on a Ugandan website with MoMo.
03
STAY STANDING IF
The site confirmed it instantly - no screenshot, no WhatsApp.
WORDCAMP LIRA
2026
03 / EVIDENCE
This Is Not A Niche Payment Method.
#WCLira2026
04
326T
UGX, E-MONEY VALUE
E-money value in the year to June 2025, up 28.6%. Person-to-business alone: UGX 59.2 trillion.
Source: Bank of Uganda, Integrated Annual Report to 30 June 2025
WORDCAMP LIRA
2026
04 / THE PROBLEM
The Screenshot Economy
#WCLira2026
05
01
HOW IT WORKS
Customer sends money manually and WhatsApps a screenshot.
02
WHY IT BREAKS
Screenshots are easy to fake. No audit trail. One human bottleneck.
03
WHAT IT COSTS
Breaks past ~30 orders a day. Abandoned carts stay silent.
WORDCAMP LIRA
2026
05 / OPTIONS
Four Ways To Take MoMo On A Site
#WCLira2026
06
01
Aggregator
Flutterwave, Pesapal, Xente. Easiest start, ~2-4%.
02
Collection
MTN's API. You ask, they approve on their phone.
03
QR Widget
Customer scans a code. The least code to write.
04
Payouts
MTN Disbursement. Refunds and supplier payments.
WORDCAMP LIRA
2026
06 / UNDER THE HOOD
What Actually Happens On “Pay Now”
#WCLira2026
07
01
Request
Your server POSTs requesttopay with a UUID.
02
202 Accepted
Empty body. Request received. Nothing more.
03
The Human
A PIN prompt reaches their phone. Maybe 3 minutes.
04
Verify
Callback or poll. Confirm server-side, then release.
WORDCAMP LIRA
2026
07 / BIG IDEA
If You Remember One Thing
#WCLira2026
08
202 ACCEPTED IS NOT PAYMENT.
No money has moved. The customer has not touched their phone. The response body is empty.
WORDCAMP LIRA
2026
08 / STATES
Four Outcomes, Not Two
#WCLira2026
09
01
Pending
Unanswered on their phone. The normal state here.
02
Successful
Money moved. The only state that releases goods.
03
Failed
Wrong PIN, no balance, rejected, timed out.
04
Silence
The callback never arrives. You must handle it.
W
WORDCAMP LIRA
2026
09 / YOUR TURN
MTN Said 'Got It.' We Said 'Paid.
#WCLira2026
10
$code = wp_remote_retrieve_response_code( $res );��if ( 202 === $code ) { // MTN said "got it"� $order->payment_complete(); // we say "paid"� wp_redirect( $thank_you_url );�}
60 SECONDS • Turn to the person next to you. There are four things wrong here.
WORDCAMP LIRA
2026
10 / THE FIX
Three Rules That Fix All Four
#WCLira2026
11
01
ONE UUID PER ATTEMPT
Store it on the order. Your X-Reference-Id is your idempotency key, so a retry can never become a second debit.
02
NEVER TRUST THE INBOUND
Anyone can POST to your callback URL. Check the reference, the amount, and whether it is already processed — then act.
03
POLL AS A FALLBACK
Callbacks get lost. Check status by reference on a schedule, and expire stuck payments with a message, never silence.
WORDCAMP LIRA
2026
12 / ACTION
Three Things To Do On Monday
#WCLira2026
13
01
AUDIT ONE INTEGRATION
Find where it decides an order is paid. Fix it.
02
WATCH THE SIX VIDEOS
MTN filmed one per step. Free, on momo.mtn.com/api.
03
CONTRIBUTE IT BACK
No great free MoMo gateway exists in the repo yet.
WORDCAMP LIRA
2026
THANK YOU ☺
Pending your feedback.
Andrew — WordPress Developer
https://andrewssanya.bio �Learn the API: momodeveloper.mtn.com, https://developers.airtel.ug/user/login
WORDCAMP LIRA 2026�29–30 AUGUST • LIRA TOWN COLLEGE
#WCLira2026
15