How to Integrate M-Pesa Into Your Tanzanian Business
A practical, step-by-step guide to applying for Lipa Na M-Pesa, configuring API credentials, and accepting M-Pesa at the till, online, and in your invoicing system.
- Time to live: 5โ10 business days (mostly Vodacom approval) + 30 minutes config.
- Required: business registration, TIN, VRN, director ID, settlement bank account.
- Cost: 0.5%โ1.5% per transaction. No monthly fee.
- Settles: real time. Customer pays, your business wallet credits within seconds.
- Tawala built-in: 30-minute config; included in every plan from TZS 75,000/month.
Why M-Pesa first
Tanzania has 55.8 million mobile-money accounts processing 5.3 billion transactions per year. Vodacom's M-Pesa is the largest network with roughly 37% market share. If you only integrate one mobile-money system, M-Pesa gives you the broadest customer reach.
That said, you should aim to support all three (M-Pesa, Tigo Pesa, Airtel Money) within your first 4 weeks โ together they cover 89% of mobile money usage. Read our complete payment-integrations guide for the full picture.
Lipa Na M-Pesa vs M-Pesa Business โ what's the difference?
Vodacom offers two products for businesses, and you'll likely need both:
- Lipa Na M-Pesa โ consumer-facing "pay merchant" flow. Customers enter your till number or paybill, type the amount, confirm. You receive funds. This is what most retailers, restaurants, hotels, and clinics use.
- M-Pesa Business โ adds B2B (business-to-business sends), B2C (bulk payouts to customers, staff, contractors), and full API access. Required if you want to PAY money out via M-Pesa, not just receive it.
Till number vs paybill โ which one?
Till number is the right choice for retail and restaurants. Customer enters: till number, amount, confirm. Used at point of sale.
Paybill is for utilities, schools, landlords โ any business that bills with an account reference. Customer enters: paybill number, account reference (e.g., student ID), amount, confirm.
Most established businesses end up with both: till number for walk-in retail, paybill for invoiced services.
Step 1 โ Apply for Lipa Na M-Pesa
Visit a Vodacom Business shop or apply online via the Vodacom Business portal. Bring:
- Business registration certificate (BRELA)
- TIN, and VRN if VAT-registered
- Director's national ID, KYC docs, signature samples
- Bank account details (NMB / CRDB / NBC / Stanbic โ for settlement)
- Shop photos + lease agreement (for retail till applications)
Approval typically takes 5โ10 business days. Vodacom may visit your premises for verification. Once approved, you receive: shortcode (till or paybill), consumer key, consumer secret, and a portal login.
Step 2 โ Configure M-Pesa in Tawala
- Login to Tawala. Go to Settings โ Payments โ M-Pesa โ Add Account.
- Enter your Organization Shortcode (your till number or paybill).
- Paste your Consumer Key and Consumer Secret from the Vodacom Business portal.
- Tawala generates a callback URL โ copy it back into the Vodacom portal.
- Save.
Total time: about 10 minutes if you have the credentials in front of you.
Step 3 โ Run a real test transaction
Don't go live without testing. Issue a test invoice for TZS 100 to your own phone. The customer (you) taps "Pay with M-Pesa" on the invoice email/SMS, confirms with PIN, and pays. Within 30 seconds, Tawala shows the payment as confirmed and the invoice as paid.
If the test works, you're production-ready. If it doesn't:
- Double-check shortcode (no leading/trailing spaces).
- Confirm the consumer key/secret were copied correctly.
- Verify the callback URL is reachable (Tawala shows a test ping result).
- Check the Vodacom portal "API Test" section.
Step 4 โ Enable for invoicing, POS, and online checkout
Once your M-Pesa is live in Tawala:
- Invoices automatically include a "Pay with M-Pesa" button. Customers tap, enter PIN, pay. Invoice auto-reconciles.
- POS shows M-Pesa as a tender option. Cashier selects, enters amount, customer pays from phone. Receipt prints with TRA VFD QR code in <5 seconds.
- Online checkout (if you have a web shop integrated) can use the same credentials.
Step 5 โ Enable B2C for staff payouts
If you want to PAY money OUT via M-Pesa (salaries, contractor invoices, refunds), apply for M-Pesa Business B2C from Vodacom. Same documents as Lipa Na, plus a separate B2C agreement.
Once approved, configure in Settings โ Payments โ M-Pesa โ B2C. From the next payroll cycle, your bulk payment file goes to M-Pesa B2C and staff receive funds in seconds.
Fees โ what to expect
Vodacom charges merchants per transaction. Indicative 2026 rates:
- Lipa Na M-Pesa: 0.5%โ1.5% per incoming payment, depending on tier.
- B2C payout: 0.3%โ1% per outgoing transaction, with a small minimum.
- No monthly fee โ you only pay when you transact.
- Tawala adds zero platform fees โ what Vodacom charges is what you pay.
Use the Mobile Money Fee Calculator for specific transaction costs.
After M-Pesa: add Tigo Pesa and Airtel Money
Once M-Pesa is live, repeat the same process for Tigo Pesa (Yas) and Airtel Money. Each network adds 5โ15% more customers who couldn't pay before. Tawala wraps all three under one POS tender flow โ your cashier doesn't have to remember which network is which.
Common gotchas
- Shortcode mismatch โ paybill numbers and till numbers look similar; copy carefully.
- Consumer-key rotation โ Vodacom occasionally rotates keys; if M-Pesa stops working overnight, regenerate the key in the portal.
- Callback URL not reachable โ your firewall / hosting must allow Vodacom's IPs to POST to your callback. Tawala's hosted callback handles this for you.
- Daily transaction limits โ new merchants start with conservative daily limits. Vodacom raises them after ~30 days of clean transaction history.