How to Accept M-Pesa Payments for an Internet Service Provider in Kenya

Sep 22, 2026

A customer abandoning their cart on an online shop

ISPs in Kenya face a critical challenge: collecting subscription payments reliably from hundreds of customers. Manual methods waste time. Limited payment options frustrate customers. Late payments disrupt cash flow. This guide shows you exactly how to accept M-Pesa payments for internet subscriptions—from setup to payment confirmation to handling non-payment. You'll learn the differences between Paybill, Till, and STK Push, and discover which method works best for your ISP.

The ISP Payment Collection Problem

If you run an ISP with 200+ customers, you're spending 20+ hours monthly chasing payments. Some customers pay on time. Most delay. A few disappear. You manually track who paid and who didn't. By month's end, 8-12% haven't paid—that's KES 48K-120K in bad debt.

The cost isn't just unpaid accounts. It's also admin time, unpredictable cash flow, and customer frustration with complicated payment methods.

According to Safaricom's 2025 data, 30+ million Kenyans use M-Pesa actively. Communications Authority of Kenya data shows M-Pesa accounts for 80%+ of digital transactions. Yet most ISPs still rely on manual bank transfers or Paybill entry.

The solution? Accept M-Pesa correctly. When payment is easy, collection improves 60-80% and bad debt drops 60-80%.

Your M-Pesa Options: Paybill vs Till vs STK Push

You have three ways to accept M-Pesa. Each has different tradeoffs.

Paybill (Manual Entry)

Customer manually enters your Paybill number, amount, and PIN. 8 steps. High error rate.

Pros: Simple setup (register with Safaricom), low cost (1-2% fees)
Cons: Low success rate (60-75%), high admin burden, slow collection (10-14 days), high bad debt (8-12%)

Best for: Small ISPs (<50 customers) or backup payment method.

Till (In-Person)

Customer walks to your office and pays via Till code. Immediate payment, face-to-face.

Pros: Instant payment, no errors, builds relationships
Cons: Requires physical location, doesn't scale, only works for walk-in customers

Best for: ISPs with office locations where customers visit.

STK Push (Automatic Prompt)

Your system sends automatic payment prompt directly to customer's phone. Customer sees amount and enters PIN. Two steps. 90%+ success rate.

Pros: Highest success (90-95%), fast collection (1-3 days), automatic reconciliation, low bad debt (2-3%), minimal customer friction, scales effortlessly
Cons: Requires API integration, slightly higher fees (1-3%), one-time payment per billing cycle

Best for: ISPs with 100+ customers who want reliable, scalable collection.

How M-Pesa STK Push Works

STK Push sends an automatic payment prompt directly to the customer's phone. No customer action is needed to trigger it—the prompt appears automatically.

The customer experience:

  1. Your billing system sends STK Push on due date

  2. M-Pesa prompt appears on customer's phone automatically

  3. Customer sees amount (KES 3,000) and merchant name

  4. Customer enters PIN

  5. Payment settles instantly

  6. Customer receives confirmation

Total time for customer: 30 seconds.

Behind the scenes:

  • Your system initiates STK Push via payment gateway API

  • Safaricom delivers prompt to customer's M-Pesa app

  • Customer authorizes with PIN

  • Payment settles to your M-Pesa account (instant)

  • Payment gateway sends webhook to your system

  • Your billing system automatically matches payment to customer and marks invoice as paid

  • Customer receives M-Pesa receipt + SMS confirmation from you

Result: No manual reconciliation needed.

Paybill vs Till vs STK Push Comparison


Factor

Paybill

Till

STK Push

Success rate

60-75%

95%+

90-95%

Collection time

10-14 days

Immediate

1-3 days

Bad debt rate

8-12%

<1%

2-3%

Admin time/month

20+ hours

5-10 hours

2-3 hours

Scalability

Poor

Poor

Excellent

Customer friction

High (8 steps)

Low (in-person)

Minimal (2 steps)

Cost

1-2%

1-2%

1-3%

What Happens After Payment

Automatic Reconciliation

This is STK Push's superpower. Your system automatically knows:

  • Payment amount: KES 3,000

  • Customer: John Wanjiru (phone 0712345678)

  • Invoice: #12345

  • Timestamp: 30 May, 8:15 AM

  • Status: Successful

Your billing system automatically:

  1. Finds invoice #12345 for John Wanjiru

  2. Marks invoice as "Paid"

  3. Updates customer status to "Active"

  4. Extends service to next period

  5. Logs transaction for accounting

No manual work needed.

Customer Confirmations

Customer receives:

  1. M-Pesa receipt: "You have sent KES 3,000 to SafeNet ISP. Ref: 123ABC456"

  2. ISP confirmation: SMS or WhatsApp: "Thank you for your payment, John. Your service is active until 30 June 2026."

Both arrive instantly.

Handling Failed Payments & Non-Payment

When payments fail:

  • Insufficient balance

  • Disabled account

  • Network issue

  • Daily limit exceeded

Your system should:

  1. Log failure reason

  2. Don't suspend immediately

  3. Send retry reminder next day

  4. Retry STK Push automatically

When customers don't pay (escalation):

  • Day 30: STK Push sent

  • Day 31-35: Overdue. Send reminder, retry STK Push

  • Day 36-40: "Service will be suspended on [date]"

  • Day 41+: Suspend service

Your billing system should track overdue accounts and trigger automatic escalation.

Payment Reminders & Automation

Successful ISPs use this reminder schedule:

Day 25 (5 days before): WhatsApp reminder
"Your bill of KES 3,000 is due on 30th. You'll receive an automatic payment prompt."

Day 30 (Due date): STK Push (automatic)
Prompt appears on phone automatically.

Day 32 (2 days overdue): WhatsApp reminder
"Your payment is overdue. Please pay immediately: [link]"

Day 36 (6 days overdue): Final warning
"Service will be suspended on 1 June if payment isn't received."

Day 41 (11 days overdue): Suspend service

Your billing system automates all of this. No manual intervention needed.

Connecting M-Pesa to Your Billing System

Your billing system (MikroTik, UniFi, custom, or Shopify) must integrate with a payment gateway via API.

Integration flow:

  1. You send STK Push request to payment gateway

  2. Gateway delivers prompt to customer's phone

  3. Customer authorizes payment

  4. Payment settles to your account

  5. Gateway sends webhook to your billing system

  6. Your system receives confirmation and automatically updates customer/invoice status

Requirements:

  • Your billing system must have API capability

  • Ability to receive webhooks

  • Ability to store payment details

Compatibility:

  • MikroTik CHR: Yes (with API integration)

  • UniFi: Yes (via third-party plugin)

  • Custom systems: Yes (if API-capable)

  • Shopify: Yes (directly)

Integration time: 2-4 hours for technical setup.

Build It Yourself vs Use a Payment Provider

Build Yourself

Pros: Maximum control, deep customization
Cons: 100-200 development hours, ongoing maintenance, requires experienced developer, slow to add features

Timeline: 3-6 months
Best for: Large ISPs (1,000+ customers) with unique requirements

Use a Payment Provider (Recommended)

Pros: Ready-to-use, fast implementation (days), provider handles compliance/security, multiple payment methods, support team, detailed docs

Cons: Per-transaction fees (1-3%), some customization limits

Timeline: 1-2 weeks
Cost: Fees offset by reduced admin time and bad debt

Best for: Most ISPs (50-500 customers) where speed matters.

Security Considerations

M-Pesa security (Safaricom's responsibility):

Your responsibilities:

  1. Protect API keys: Store securely, rotate periodically

  2. Verify webhooks: Confirm payment notifications are authentic

  3. Encrypt customer data: Phone numbers, payment records

  4. Rate limiting: Limit STK Pushes per customer (prevents spam)

  5. Audit logging: Log all payment attempts for 12 months

  6. HTTPS only: Encrypt all communication

Real-World Impact: SafeNet ISP Example

Before STK Push:

  • 280 customers, KES 1M monthly revenue

  • Collection rate: 72% (200 paying, 80 late/non-payment)

  • Bad debt: KES 280K/month

  • Admin time: 22 hours/month

  • Cash flow: Unpredictable (day 5-20)

After STK Push (3 months):

  • Collection rate: 94%

  • Bad debt: KES 42K/month (85% reduction)

  • Admin time: 2.5 hours/month (88% reduction)

  • Cash flow: Consistent (day 2-3)

Monthly financial impact:

  • Reduced bad debt: KES 238K

  • Reduced admin time: KES 9.75K

  • IntaSend fees (1.5%): -KES 14.1K

  • Net benefit: KES 233K/month = KES 2.8M annually

Your Implementation Timeline

Week 1:

  • Audit current payment situation (collection rate, bad debt, admin time)

  • Evaluate billing system's API capability

  • Get quotes from payment providers

Week 2:

  • Choose build vs provider approach

  • If using provider: Complete KYC registration

Week 3-4:

  • Implement integration

  • Test with 20-30 customers

  • Monitor and optimize

After launch:

  • Track metrics: collection rate, days to collect, bad debt

  • Optimize reminders based on customer behavior

Getting Started with IntaSend

IntaSend is a payment gateway specifically designed for Kenyan businesses. For ISPs, it provides:

Core features:

  • M-Pesa STK Push (automatic payment prompts)

  • Multiple payment methods (M-Pesa, bank transfer, card)

  • Automatic reconciliation (webhook integration)

  • Real-time dashboard and reporting

  • PCI compliance and security

  • Developer-friendly API with documentation

Implementation with IntaSend:

  • Week 1: Sign up, complete KYC, get API keys

  • Week 2: Developer integrates with your billing system, test

  • Week 3: Pilot with 20-30 customers

  • Week 4: Full rollout

The Bottom Line

STK Push eliminates the ISP payment collection problem. Collection rate improves 60-80%. Bad debt drops 60-80%. Admin time drops 80-90%. Customers get effortless payment experience.

The only question: Will you implement it this month?

Accept M-Pesa Payments for Your ISP with IntaSend

Give your customers a simple way to pay their internet subscriptions through M-Pesa STK Push while making payment collection easier to manage.

Set Up M-Pesa for Your ISP

Explore ISP Payment Solutions

Pricing & Plans

Questions?

Related Resources

Start Collecting And Disbursing Payments Today

SISA Certified

All banking services are securely provided by our licensed banking partners who are members of deposit insurance schemes, ensuring the safety of your funds.

Start Collecting And Disbursing Payments Today

SISA Certified

All banking services are securely provided by our licensed banking partners who are members of deposit insurance schemes, ensuring the safety of your funds.

Start Collecting And Disbursing Payments Today

SISA Certified

All banking services are securely provided by our licensed banking partners who are members of deposit insurance schemes, ensuring the safety of your funds.

Phone: +254 711 082 947 | +254 114 114 644

© 2024 IntaSend. All rights reserved.