Get Paid in Kenya: M-Pesa Bookings With Real Books Behind Them
Most booking software was never built for the way Kenya pays
If you run a lodge in Nairobi, a beach house on the coast, or a guesthouse in Nakuru, you already know the problem. The big international booking platforms don’t settle to Kenyan bank accounts in KES, and most of them don’t take M-Pesa at all — the way a huge share of your guests actually want to pay. So you end up stitching together a workaround: a card link that half your guests abandon, an M-Pesa till number on a WhatsApp message, and a spreadsheet to remember who paid what.
The payment is only half the pain. The other half is the books. A guest pays by M-Pesa, the money lands in your account, and then you’re typing it into Xero by hand later that week — if you remember the booking reference, and if the exchange rate hasn’t drifted.
Airflow closes both gaps at once. A guest books your property, pays the way Kenyans pay — M-Pesa, card, or bank transfer — through your own Paystack account, and the accounting draft and commission are handled automatically. This is live now, in KES, end to end.
You use your own Paystack account — not ours
This is the part to be precise about, because it’s the part that matters most for your money.
Airflow runs on a direct-merchant model. You connect your own Paystack account, with your own keys, and guest payments settle directly to you in your Kenyan bank account, in KES. Airflow never sits between your guest and your money. We don’t hold your funds, we don’t pay them out to you on a delay, and we don’t take a cut at the point of payment. The money is yours from the moment it lands.
Paystack is the right tool here for a simple reason: it supports Kenyan business onboarding, settles in KES to Kenyan banks, and natively handles the payment methods your guests reach for first — including M-Pesa mobile money. The international card-only processors simply can’t do that for a Kenyan merchant.
Connecting it is a one-time setup in your portal:
- Open the Payments tab on your connections page.
- Paste your Paystack secret keys (you can store both a test key and a live key, and toggle between them).
- Register the webhook URL Paystack asks for in your Paystack dashboard, so confirmations flow back automatically.
That’s it. From then on, every guest who books one of your properties pays through your Paystack account, and Airflow takes care of everything that happens after the money moves.
The guest pays the way they want to pay
When a guest books your property on your direct booking site, they’re sent to a Paystack checkout that offers the payment methods Kenyan guests expect:
- M-Pesa and other mobile money
- Card
- Bank transfer
No app to download, no foreign-currency surprise, no “this card isn’t supported in your region” wall. The guest pays in KES, the amount they see is the amount they pay, and the money goes straight to your account.
The moment that payment clears, Paystack sends a confirmation back to Airflow, and the booking is confirmed automatically. Your calendar updates, the dates are held, and the guest gets their confirmation email. You didn’t have to watch for the M-Pesa SMS or mark anything off by hand.
The books are already done
Here’s the part that usually gets left to a late-night data-entry session.
When the M-Pesa payment is confirmed, Airflow creates a draft invoice in your accounting software — in KES, with the exchange rate locked at the moment the invoice is generated, so the numbers trace cleanly back to the booking. If you keep your books in Xero, the draft is waiting for you there; you review it and approve it, rather than building it from scratch.
This solves the exact problem we wrote about in Why Your Airbnb Payouts Never Match Your Invoices: the gap between what a guest paid, what landed in your bank, and what your accounting says. Because Airflow records the payment as it happens and converts at a fresh, traceable rate, your draft reflects what actually occurred — not a number you reconstructed from memory three weeks later.
For hosts running properties across more than one country, the same booking is also converted to a standard currency (USD) behind the scenes for cross-property reporting, so your Kenyan lodge in KES sits alongside your other properties in one dashboard. The accounting draft stays in your accounting currency; the reporting view normalises so you can compare like with like.
Commission is billed separately — never skimmed off the top
Because you’re paid directly through your own Paystack account, Airflow’s commission isn’t taken out of the guest’s payment. Instead, the commission is billed separately to your Airflow billing account through Stripe, matched to the payment that came in. Your guest’s M-Pesa payment reaches you in full; the commission is handled on the side, on your existing billing relationship with Airflow.
And it’s billed on what you actually collected. We recently moved to charging commission proportionally, per payment, as the money lands — so a deposit now is charged on the deposit, and the balance later is charged on the balance. If a guest pays a deposit and never returns for the rest, the commission on the rest is simply never charged. The full reasoning is in Commission on What You Collect, Not What You Hope to Collect, and the deposit-then-balance lifecycle — which works through Paystack and M-Pesa too — is covered in Deposit Now, Balance Later.
What a single booking looks like, start to finish
To make it concrete, here’s the whole flow for one M-Pesa booking. (The figures are illustrative — your actual rate is whatever’s set on your account.)
- A guest finds your coastal cottage and books a KES 40,000 stay on your direct site.
- They pay via M-Pesa at the Paystack checkout. The KES 40,000 settles to your Kenyan bank account.
- Paystack confirms the charge; Airflow confirms the booking, holds the dates, and emails the guest.
- A draft invoice in KES appears in your accounting software, rate locked at generation time, ready for you to review.
- Airflow’s commission for that payment is billed to your Airflow account via Stripe — separately, never deducted from the guest’s money.
Five steps, and the only one you touch is the first conversation with the guest. The payment, the confirmation, the calendar, and the books take care of themselves.
Built for the way you already do business
| The old way | With Airflow + Paystack |
|---|---|
| Card link that M-Pesa guests abandon | M-Pesa, card, and bank transfer at checkout |
| Money held and paid out on a delay | Settles directly to your KES account |
| Commission skimmed off the top | Commission billed separately, on what you collected |
| Booking typed into Xero by hand later | Draft invoice created automatically in KES |
| Did this guest actually pay? | Booking confirms the moment payment clears |
This isn’t a bolt-on or a “coming soon.” It’s live now and proven on real bookings from Kenyan hosts. If your guests pay by M-Pesa and your bank is in Kenya, you no longer have to choose between getting paid the way your market pays and keeping clean books.
Get set up
If you’re a Kenyan or African host and you’ve been waiting for booking software that actually fits how you take payments, this is it. Connect your own Paystack account, start taking M-Pesa bookings on your direct site, and let the accounting draft and commission flow themselves.
See how Airflow handles direct bookings and payments, read more on keeping your books reconciled across currencies, or get started here.