Mctaba Labs logo
BootcampData ScienceThe WhiteboardProjectsEventsMasterclassesWebinarsLearn
Book CallApply

500+ developers already in the community

Get answers, find accountability partners, and stay ahead

Join Discord →
Mctaba Labs logo

Educating 1 million students in tech by 2030.

Programs

  • Coding Bootcamp in Nairobi
  • Data Science to AI Engineering
  • HighSchool Graduates Launchpad
  • AI & Business Automation
  • Corporate Training
  • Kids & Teens
  • McTaba Story & Mission
  • Full-Stack Curriculum
  • Course Pricing & Plans
  • Frequently Asked Questions

Resources

  • Join Discord Community
  • Tech Events in Nairobi
  • Masterclasses
  • Free Resources
  • Learn
  • Data Science Guides
  • African Payments Reference
  • Campus
  • Africa Tech Talent Report
  • Partner With Us
  • Start a Project
  • Software & AI Studio
  • Our Work
  • Outcomes

Contact Us

  • 124 Manyani East Road, Lavington, Nairobi
  • +254727795603
  • Book a Discovery Call

Office Hours:

Mon-Fri: 9am - 2pm EAT

Sat: 10am - 12pm EAT

© 2026 Mctaba Labs - A product of Edtech Industries. All rights reserved.

Privacy PolicyTerms of ServiceRefund Policy
  1. Learn
  2. Guides for Business Owners Who Need Software Built
  3. What It Costs a Business to Integrate M-Pesa, Start to Live
Bonaventure OgetoBy Bonaventure Ogeto|Updated November 3, 2026

Last checked 3 November 2026

What It Costs a Business to Integrate M-Pesa, Start to Live

An M-Pesa integration costs developer time to build and test, a shortcode you apply for, a fee on every sale, and upkeep when Safaricom changes something. Safaricom charges you per collection. Paystack charges 1.5 percent on M-Pesa and takes weeks off the build. Choose by sales volume and by how much developer time you have.

In this article

  1. 1. The four costs of putting M-Pesa in your app
  2. 2. Paybill or till: pick before you write code
  3. 3. The fee on each sale
  4. 4. Daraja go-live: what the steps look like
  5. 5. Developer time: how to estimate it
  6. 6. The Paystack route: when it saves you time
  7. 7. Upkeep, and a first-year checklist
  8. 8. Get an M-Pesa quote you can compare

The four costs of putting M-Pesa in your app

Picture a hardware shop in Eldoret that asks customers to pay by M-Pesa on the website. Behind that one button sit four separate costs.

  • The shortcode: the paybill or till number that receives the money.
  • The developer time to connect, test and go live.
  • The fee on each sale, which runs as long as you trade.
  • The upkeep when a callback fails, a rule changes or reconciliation needs a fix.

This guide is part of our series for business owners. The overall budget for an app is in how much it costs to build an app in Kenya. Here we stay on M-Pesa alone.

Paybill or till: pick before you write code

A till (Buy Goods) is the number a customer types when paying a shop. A paybill is the business number plus an account number, such as an invoice or a student admission number. Both can be used by an app.

Till (Buy Goods)Paybill
Typical useShops, restaurants, services paid at the counter or onlineRent, school fees, utilities, subscriptions, loan repayments
What the customer entersTill number and amountPaybill, account number and amount
Matching money to a customerBy phone number or order reference in your systemBy the account number the customer typed
Fee structurePublished bandsAgreed with Safaricom for your business

The choice changes how you match each payment to a customer. A paybill carries an account number you can use as the match. A till depends on the reference your app creates and the phone number the payment came from.

If you already know your shortcode type and want a developer to take it live, you can talk to Mctaba Labs about a payments integration.

Get weekly developer tips

Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.

No spam. Unsubscribe anytime.

The fee on each sale

Fees are the cost that never ends. Work them out per month, not per sale.

For a till, reporting on Safaricom's August 2026 change lists Buy Goods collections up to KES 500 as free, 0.55 percent from KES 501, and a flat KES 200 above KES 36,363 (Tech-ish report on the Buy Goods tariff, checked on 3 November 2026). Safaricom did not let us read its own tariff page today, so confirm these against your merchant agreement.

For a paybill, there is no single published rate we can point to. The charge depends on the tariff model Safaricom gives your business. Ask your account manager for the written rate card before you plan around any figure.

Through Paystack, the Kenya price is 1.5 percent per M-Pesa transaction with no setup or monthly fee, and funds settle two working days after payment (Paystack Kenya pricing, checked on 3 November 2026).

For example, imagine a shop collecting KES 1,000,000 in a month through Paystack. At 1.5 percent that is KES 15,000 in fees. The same shop on a till pays 0.55 percent on each sale above KES 500, which is a lower figure on larger baskets. The gap is what the extra developer work buys you.

Also ask who pays the fee. You can absorb it or add it to the price. Check that your price list and your terms say which.

Daraja go-live: what the steps look like

Daraja is Safaricom's developer platform for M-Pesa. You build and test in a sandbox, then ask Safaricom to move your app to production against your real shortcode. The platform documentation sits at the Safaricom Daraja portal.

  1. Have a live shortcode. Your paybill or till must already exist and be active.
  2. Build against the sandbox. The test environment uses a shared test shortcode and fake phone numbers.
  3. Choose the products you need. A customer prompt on their phone is STK Push. Incoming-payment notices come through C2B. Payouts use B2C.
  4. Register your callback URLs. These are web addresses on your server where Safaricom reports each result. They must be public, secure and quick to reply.
  5. Request go-live. You apply through the portal for your production credentials, then switch your keys.
  6. Run real small payments. Pay yourself a few shillings, check the callback, check the reconciliation and keep the receipts.

Our developer notes cover the detail: Daraja from sandbox to production, M-Pesa callback URLs and STK Push explained.

Where time goes

Writing the payment call is the short part. Most hours go on the callback that arrives late or twice, the customer who closes the prompt, and matching each payment to an order. A developer who has done this before saves you the waiting.

Developer time: how to estimate it

We do not publish studio prices. You can still estimate the work by counting what the payment flow must handle.

Piece of workAsk the developer
Customer pays on the phone promptWhat if they enter the wrong PIN or ignore it?
Result arrivesWhat if the callback comes twice, or never?
Match payment to orderWhat if the customer pays the wrong amount?
Refunds and reversalsWho triggers them, and how are they recorded?
Daily reconciliationDoes the finance team get a report that matches Safaricom's statement?
SecurityHow do you check a callback is really from Safaricom?

A quote that covers only "STK Push" has left out most of the table. Read our notes on M-Pesa payment reconciliation and securing payment webhooks to see what a complete job includes.

The amount is stored as an integer in cents in many systems, because decimals in money cause bugs. Our note on handling money in code explains why.

The Paystack route: when it saves you time

Paystack is a payment company that already holds the connections. You integrate once with Paystack, and it handles M-Pesa and cards for you. Its documentation is at Paystack docs.

All of mctaba.com's own M-Pesa payments run through Paystack. We chose that route for our own site because it cut build time and gave one dashboard for cards and mobile money.

When it fits

  • You want to accept both M-Pesa and cards on one page.
  • Your monthly volume is modest and the percentage fee costs less than a month of developer time.
  • You want to launch in weeks, not months.

When a direct Daraja link fits

  • Your volume is high and the percentage fee is a large monthly line.
  • You need a paybill with your own account numbers, such as admission numbers or member numbers.
  • You need payouts to many phone numbers, such as wages or commissions.

Many businesses start on an aggregator and move to direct rails when volume justifies it. That path works only if your first build keeps payments behind one clean boundary in the code, so the swap touches one part. Ask your developer how they will do that.

If you later sell outside Kenya, the answer widens. See one checkout for M-Pesa, MoMo and cards across Africa.

Upkeep, and a first-year checklist

After go-live, someone must watch the payments. A failed callback is a customer who paid and got nothing, which is the worst phone call a shop owner takes.

  1. Name who checks failed payments each morning.
  2. Keep the Safaricom statement and your system's report side by side every month.
  3. Keep credentials in your business's name, not the developer's.
  4. Agree who is called when Safaricom changes a rule.
  5. Budget a small monthly retainer or a block of hours.

If you run a till at a restaurant or shop, the receipt side matters too: see eTIMS integration for restaurants and shops for how M-Pesa and tax receipts fit together.

Our overview of the stack behind this is in the M-Pesa integration guide. If you are comparing builders, 12 questions to ask before you hire a software studio lists what to ask about payments in particular.

Get an M-Pesa quote you can compare

Bring your shortcode type, your monthly volume and the list of flows: pay, refund, payout, reconcile. With those four, any competent team can give you a fair estimate.

When you are ready, talk to Mctaba Labs about a payments integration. We will tell you honestly whether Paystack or a direct link fits, and why.

Key Takeaways

  • ✓M-Pesa has four costs: shortcode, developer time, per-sale fee and upkeep.
  • ✓Fees run for as long as you trade, so work them out per month.
  • ✓Most developer hours go on late callbacks, wrong amounts and reconciliation, not on the payment call.
  • ✓Paystack saves build time at 1.5 percent per M-Pesa payment; direct Daraja saves fees at higher volume.

Frequently Asked Questions

How much does it cost to integrate M-Pesa?
Four costs: the shortcode, developer time, a fee on every sale and upkeep. Fees are the only published numbers. Developer time depends on how many flows you need: pay, refund, payout and reconciliation.
Should I use a paybill or a till for my website?
Use a till for shop-style payments and a paybill when you need an account number to match payments, such as an invoice or admission number. Fees differ, so ask Safaricom for the written rate card.
Is Paystack cheaper than Daraja?
Paystack lists 1.5 percent per M-Pesa transaction in Kenya. A direct till can cost less per sale at higher volumes but needs more developer work. Compare monthly fees against build time.
How long does Daraja go-live take?
It depends on how ready your shortcode and callbacks are and on Safaricom approval time. Build and test in the sandbox first, then apply for production credentials and test small real payments.

Need payments live, not a tutorial?

Our studio integrates M-Pesa, Airtel Money, MTN MoMo and Paystack into your product, with reconciliation that holds up on busy days.

Book a scoping call

Want your own team to run it? See corporate training

Related guides

  • Custom Software or Off-the-Shelf POS? A Kenyan Business Owner's Guide
  • eTIMS Integration for Restaurants and Shops: What It Takes
  • Hire an In-House Developer or a Studio? The Real Cost Comparison

Keep reading

How Much Does It Cost to Build an App in Kenya (2026)?

An app quote is the sum of seven choices you make before anyone writes code. Here is each one, the team options, and how to get quotes you can compare.

Read more

One Checkout for M-Pesa, MoMo and Cards Across East and West Africa

Selling in Kenya and Ghana from one site means several payment rails. Here is how teams choose between aggregators and direct links, and handle failures.

Read more

M-Pesa Daraja API Integration Guide for Developers (2027)

A technical guide to integrating M-Pesa payments using the Daraja API, from sandbox setup to production deployment, with working code examples.

Read more

Explore related topics

The African Stack: Skills for This Market

The skills that make Kenyan developers hard to replace: M-Pesa, USSD, WhatsApp, fintech, and building for the African market.

M-Pesa & African Stack

M-Pesa Daraja API tutorials, USSD development, and WhatsApp Business API guides. The African Stack that global bootcamps do not teach.

Paystack for African Developers

Complete Paystack engineering resource. 653 articles covering every API, every error, and every integration pattern African developers actually need.

Bonaventure Ogeto

Bonaventure Ogeto

Founder and CEO, Mctaba Labs

Software engineer for 8+ years. He runs a Nairobi studio that ships products on M-Pesa, WhatsApp and AI, and teaches what the studio ships.

More about the author