Jonathan W.
Payment & API Integration Developer | Laravel, WooCommerce, M-Pesa
I build, fix and look after the code that moves your money: M-Pesa and other mobile money, card and bank gateways, webhooks, payouts and reconciliation. I work in Laravel, Vue.js and WordPress/WooCommerce. By day I'm a developer at Pesapal, a Kenyan payments company. I work on Ticketsasa, an event ticketing platform handling 10,000+ ticket purchases a day with M-Pesa and card payments, and Reserveport, a hotel booking engine used by 2,000+ hotels at 99.99% uptime. What I've built for Upwork clients: • Utility payments in Tanzania (Jetcode Innovations). A Laravel + Flutter platform where 1,400+ customers buy electricity tokens with mobile money and receive them instantly by SMS. I built NMB bank payments through the Selcom switch, LUKU direct integration, and the retry and requery logic that makes sure tokens still arrive when a provider times out. Bulk meter registration went from 7 hours to 20 minutes. • A Laravel + Vue.js POS with M-Pesa payments and receipt printing, in daily production for over 2 years. • Fastwira, a Laravel API + Nuxt 3 freelancing marketplace that grew to 3,000+ daily active users. • WordPress and WooCommerce: custom plugins, checkout fixes and ongoing monthly maintenance. A repeat client called me "efficient, reliable, regularly updated". Two ways to work with me: 1) A fixed-price project ✅ Integrating a payment provider that has an API but no plugin (Laravel, WooCommerce or a mobile app backend) ✅ Payments stuck on "pending" or missing: callbacks, webhooks, reconciliation and retries ✅ Taking over and stabilising a Laravel or WordPress codebase you've inherited ✅ Booking, ticketing and POS features 2) Your ongoing payments engineer Most payment problems show up after go-live: a provider changes its API, callbacks fail at peak, totals stop matching the bank statement. I can stay on part-time (10 to 20 hours a week, hourly) to watch failed and pending transactions, reconcile against provider statements, handle provider changes and ship new features, so you always have someone who knows the payment code. Right fit if you're a fintech, SaaS, booking or e-commerce business that wants one reliable engineer to own the payment layer long-term. How I work: a short written scope before I write code, progress updates at least twice a week, tested code and handover notes. Based in Nairobi (UTC+3): full overlap with the European working day and US mornings. I usually reply within a few hours. Top Rated Plus · 48 jobs · 23 reviews. Send me the provider's API docs, or a description of what's failing, and I'll reply with how I'd approach it. Jonathan
Earnings and projects
Last 6 months ÷ 6
Last 6 months: $26k
Billed in all: $44,249$44k
$2.9k in the last 6 months
Across 48 contracts
Earnings, last 30 days
Skill rankings: Top 1% in Booking Management System
Ranked by MRR among everyone on Upwork with the skill.
- #5Booking Management System424 freelancers · 🇰🇪 #1Top 1%🇰🇪#1 of 5
- #5Payment Gateway379 freelancers · 🇰🇪 #1Top 1%🇰🇪#1 of 2
- #5Point of Sale & Payment Systems187 freelancers · 🇰🇪 #1Top 3%🇰🇪#1 of 3
- #12Third-Party Integration415 freelancers · 🇰🇪 #1Top 3%🇰🇪#1 of 3
- #20Payment Processing834 freelancers · 🇰🇪 #1Top 2%🇰🇪#1 of 4
- #22Website Maintenance1,684 freelancers · 🇰🇪 #1Top 1%🇰🇪#1 of 3
- #27FinTech802 freelancers · 🇰🇪 #1Top 3%🇰🇪#1 of 12
- #30WordPress Bug Fix2,262 freelancers · 🇰🇪 #1Top 1%🇰🇪#1 of 6