Skip to main content

M-Pesa Deep Dive πŸ‡°πŸ‡ͺ

A comprehensive guide to understanding M-Pesa payment methods in Kenya, including Till numbers, PayBill numbers, Pochi la Biashara, and when to use each payment type.

Why a Store Uses Each Payment Method​

1. Till (Buy Goods) πŸͺ​

Best for: In-person retail (shop, bar, restaurant)

Why stores use it:

  • βœ… Fastest checkout experience
  • βœ… Usually simplest for customers (no account/reference needed)

Downside:

  • ⚠️ Reconciliation can be harder if you need to match payment to an invoice/customer
  • ⚠️ There's no mandatory "account number" field (it's basically "pay merchant X")

General distinctions widely described in business guides; Safaricom groups this under "Lipa na M-PESA / merchant payments".


2. PayBill πŸ’³β€‹

Best for: Bill/invoice-style payments (rent, school fees, utilities, subscriptions, loan repayments)

Why stores use it:

  • βœ… It supports an Account/Reference value (invoice number, customer ID, order ID)
  • βœ… Makes reconciliation much easier

Downside:

  • ⚠️ More steps for the payer (enter PayBill + account)

3. Pochi la Biashara πŸ“±β€‹

Best for: Micro-merchants who want business payments via phone number

Why stores use it:

  • βœ… Easy onboarding
  • βœ… Phone-number based
  • βœ… Good for informal sellers/freelancers

4. Agent Deposit / Store Deposit (Cash-In) πŸ’°β€‹

Important: This is NOT a merchant payment productβ€”it's a wallet top-up.

Stores use this when:

  • Customer wants cash β†’ M-Pesa (top-up), then can pay elsewhere
  • Business itself doesn't have Till/PayBill (or network/POS flow is simpler)
  • Staff are acting like "cash handlers" and the real transaction is just deposit to a phone number

Downside:

  • ⚠️ It doesn't automatically tag the payment as "this was for invoice #123"
  • ⚠️ It's just money arriving in a wallet

STK Push vs Paybill: Understanding M-Pesa Express​

M-Pesa "Express" (also called STK Push or Lipa na M-Pesa Online) and Paybill are two different ways customers can pay you, but they solve different problems and are used in different scenarios.

What is STK Push (M-Pesa Express)?​

STK Push (SIM Toolkit Push) is an API-driven payment method where your app or website triggers a payment prompt directly on the customer's phone. The customer doesn't manually navigate through M-Pesa menusβ€”instead, they receive a popup notification on their phone to confirm the payment.

How it works:

  1. Customer enters their phone number on your checkout page
  2. Your backend calls Safaricom's STK Push API with the amount, phone number, and your Paybill/Till number
  3. Safaricom sends a payment prompt (STK menu) directly to the customer's phone
  4. Customer enters their M-Pesa PIN to confirm
  5. Your system receives a callback from Safaricom confirming success or failure

Key characteristics:

  • βœ… No manual navigation - Customer doesn't need to open M-Pesa menu manually
  • βœ… One-click experience - Smooth checkout flow for web/mobile apps
  • βœ… Programmatic - Your system initiates the payment request
  • βœ… Still uses Paybill/Till - Under the hood, STK Push pays into your Paybill or Till number

What is Paybill?​

Paybill is a business ID (e.g., 123456) that customers enter manually in the M-Pesa menu. It's the traditional way businesses receive payments.

How it works:

  1. Customer opens M-Pesa menu (dial *234# or use M-Pesa app)
  2. Selects "Lipa na M-Pesa" β†’ "Paybill"
  3. Enters your Paybill number
  4. Enters an Account/Reference number (mandatory)
  5. Enters amount
  6. Confirms with PIN

Key characteristics:

  • βœ… Account/Reference support - Allows invoice numbers, customer IDs, order numbers
  • βœ… Manual entry - Customer navigates M-Pesa menu themselves
  • βœ… Better for reconciliation - Account numbers make it easier to match payments to invoices
  • βœ… Static instructions - You provide Paybill + Account Number, customer follows steps

When to Use STK Push vs Paybill​

Use STK Push (M-Pesa Express) when:​

  • βœ… Web/mobile checkout - You want a seamless online payment experience
  • βœ… One-click flows - Customers shouldn't need to navigate M-Pesa menus manually
  • βœ… E-commerce platforms - Online stores, delivery apps, subscription services
  • βœ… Real-time payments - When you need immediate payment confirmation via API callbacks
  • βœ… Reducing friction - You want to minimize steps for customers

Example use cases:

  • Online shopping checkout
  • Food delivery apps (Glovo, Uber Eats)
  • Ride-hailing payments (Uber, Bolt)
  • Subscription services
  • Mobile app purchases

Use Paybill when:​

  • βœ… Static invoices - You provide printed or emailed payment instructions
  • βœ… Utilities and bills - Rent, school fees, electricity, water bills
  • βœ… Reconciliation is critical - You need account numbers to match payments to specific invoices/customers
  • βœ… Offline or manual processes - When customers pay without using your app/website
  • βœ… B2B payments - Business-to-business transactions where account numbers are important

Example use cases:

  • School fee payments (Account = Student ID)
  • Rent payments (Account = Apartment Number)
  • Utility bills (Account = Meter Number)
  • Loan repayments (Account = Loan Reference)
  • Subscription renewals via SMS/email instructions

The Relationship: STK Push Uses Paybill or Till as Destination​

Important: STK Push doesn't replace Paybill or Tillβ€”it uses your Paybill or Till number as the destination, depending on the transaction type.

  • When you configure STK Push, you provide your BusinessShortCode (which is your Paybill or Till number)
  • The TransactionType parameter determines which:
    • CustomerPayBillOnline β†’ Uses your Paybill number as destination
    • CustomerBuyGoodsOnline β†’ Uses your Till number as destination
  • The STK Push API routes payments to that same Paybill/Till number
  • The difference is the user experience, not the underlying payment rail

You cannot "switch from STK Push to Paybill" at Safaricom's levelβ€”they're the same payment destination with different initiation methods:

  • Manual Paybill: Customer initiates by entering Paybill number in M-Pesa menu
  • STK Push with Paybill: Your system initiates via API using CustomerPayBillOnline, customer confirms on phone
  • STK Push with Till: Your system initiates via API using CustomerBuyGoodsOnline, customer confirms on phone

How Payment Gateways Support M-Pesa​

Most third-party payment gateways (Paystack, Flutterwave, Pesapal, IntaSend, etc.) abstract both STK Push and Paybill so you don't need to integrate directly with Safaricom:

Gateway-Hosted M-Pesa (STK Push Style)​

How it works:

  • Customer selects "Pay with M-Pesa" on checkout
  • Enters their Safaricom phone number
  • Receives payment prompt on their phone
  • Gateway handles the STK Push API calls behind the scenes

What you configure:

  • Enable M-Pesa as a payment channel in gateway dashboard
  • Set settlement destination (bank account or M-Pesa wallet)
  • Gateway uses their own Paybill/Till numbers (you don't manage these directly)

Examples: Paystack "Pay with M-Pesa", Flutterwave M-Pesa checkout

Direct Safaricom Integration (STK Push)​

How it works:

  • You apply for your own Paybill number and API credentials from Safaricom
  • Your backend calls Safaricom's STK Push API directly
  • You receive callbacks and handle reconciliation yourself

What you configure:

  • Paybill or Till number (from Safaricom)
  • API credentials (Consumer Key/Secret, Passkey)
  • Callback URLs for transaction status
  • Allowed IP addresses

When to use:

  • You want full control over the payment flow
  • Lower transaction fees (no gateway markup)
  • Custom integration requirements
  • High transaction volumes

Configuration Layers​

When setting up M-Pesa payments, think in three layers:

1. Safaricom Side (Direct Integration)​

If integrating directly with Safaricom, you need:

  • Paybill or Till number - Your business identifier
  • API credentials - Consumer Key, Consumer Secret, Shortcode, Passkey
  • Callback URL - Where Safaricom sends transaction status updates
  • Allowed IPs - Security configuration for API access

2. Gateway Side (Third-Party Integration)​

If using a gateway like Paystack or Flutterwave:

  • Enable M-Pesa channel - Toggle in gateway dashboard
  • Settlement configuration - Choose where funds go (bank account or M-Pesa wallet)
  • API keys - Gateway provides API keys for your integration
  • Webhook URLs - Where gateway sends payment notifications

3. Your Application Side​

In your app/backend, you decide:

  • Which channels to show - M-Pesa, cards, bank transfers, etc.
  • Checkout flow - Gateway-hosted checkout vs direct API integration
  • Payment initiation - When to trigger STK Push vs show Paybill instructions

Switching Between STK Push and Paybill​

As a merchant, you can offer both methods:

Option 1: Offer Both

  • Show STK Push for online/real-time payments
  • Provide Paybill instructions for offline/manual payments
  • Both methods pay into the same Paybill/Till

Option 2: STK Push Only

  • Use STK Push for all online payments
  • Still provide Paybill number for customers who prefer manual entry
  • Both routes to the same destination

Option 3: Paybill Only

  • Provide static Paybill + Account Number instructions
  • No API integration needed
  • Customers navigate M-Pesa menu manually

You cannot "override STK Push with Paybill" at Safaricom's API levelβ€”they're different ways to initiate payments to the same Paybill/Till. The choice is about user experience, not technical routing.

Common Gateway Patterns​

Most Kenyan payment gateways support both STK Push and Paybill:

GatewaySTK Push SupportDirect Paybill/Till ExposureBest For
PaystackYes (via "Pay with M-Pesa")No (gateway manages shortcodes)Multi-country merchants, modern web apps
FlutterwaveYes (M-Pesa channel)No (gateway manages shortcodes)Pan-African businesses, marketplaces
IntaSendYes (explicit STK Push API)Yes (B2B to Paybill/Till)Developer-focused, Kenya-only
Kopo KopoYes (MPESA STK endpoint)Yes (Buy Goods tills, Paybill)SMEs, POS systems, analytics
PesapalYes (STK prompts)Yes (deep Lipa na M-Pesa)Airlines, hotels, enterprise

Key insight: Most gateways that support STK Push also support Paybill/Till payments somewhere in their API, even if the merchant-facing UX only shows "phone number + prompt" flows.

Summary: Quick Decision Guide​

Choose STK Push if:

  • Building web/mobile checkout
  • Want one-click payment experience
  • Need real-time payment confirmation
  • Customers are paying through your app/website

Choose Paybill if:

  • Providing static payment instructions
  • Need account/reference numbers for reconciliation
  • Customers pay offline or manually
  • B2B or invoice-based payments

Use both if:

  • You want to offer flexibility
  • Some customers prefer manual entry
  • You have both online and offline payment flows

Remember: Both methods can pay into the same Paybill/Tillβ€”the difference is how the payment is initiated, not where the money goes.


Payment Method Comparison​

MethodAgent Needed?Where Money Goes
Buy Goods (Till)❌ NoMerchant Till
PayBill❌ NoMerchant PayBill
Send Money❌ NoPersonal wallet
Agent Depositβœ… YesWallet top-up

How Often Each Payment Type is Used (Real-World Frequency)​

This is very consistent across Kenya:

πŸ₯‡ Till (Buy Goods) - Most Frequent​

  • Used for daily retail
  • Shops, bars, supermarkets, fuel stations
  • Fast, no reference needed

β‰ˆ 50–60% of in-person merchant payments


πŸ₯ˆ PayBill​

  • Used for:
    • Rent
    • School fees
    • Utilities
    • Subscriptions
    • Loan repayments

β‰ˆ 25–35% of merchant payments


πŸ₯‰ STK Push (M-Pesa Express / Online PayBill / BuyGoods)​

  • Apps, websites, delivery platforms
  • Often layered on top of PayBill/Till
  • API-driven payment prompts sent directly to customer's phone

β‰ˆ 10–15%, growing fast

πŸ“š Want to learn more? See our detailed guide on STK Push vs Paybill above.


🟀 Pochi la Biashara​

  • Small/informal merchants
  • Freelancers

β‰ˆ 3–7%, niche but rising


βšͺ Agent Deposit​

  • Not a merchant payment
  • Used mainly for:
    • Cash β†’ wallet
    • Remittances
    • Salary cash-in

Do PayBills Require an Account Number / CSN / Name?​

βœ… PayBill REQUIRES an Account / Reference​

This is mandatory - you cannot complete a PayBill payment without entering an account/reference number.

Important Distinction​

❌ It does NOT require a name

  • You enter any text or number
  • Safaricom does not validate it against a name
  • It's just a reference string

Common References​

  • Invoice number
  • Student ID
  • Meter number
  • Phone number
  • Customer number

What If You Type the Wrong Name or Reference?​

πŸ”΄ M-Pesa Behavior​

  • βœ… Payment WILL GO THROUGH
  • βœ… Money reaches the merchant PayBill
  • βœ… Safaricom does not block or validate
  • ⚠️ Error becomes a reconciliation issue, not a payment failure

🧠 Who Fixes It?​

  • The merchant, not Safaricom
  • Merchant matches:
    • Amount
    • Time
    • Phone number
    • Receipt number

That's why merchants ask you to:

  • Keep SMS
  • Share transaction code
  • Provide phone number used

❌ When Money Is Truly "Lost"​

Only if:

  • ❌ You paid the wrong PayBill number
  • ❌ The PayBill belongs to another organization

Key distinction:

  • ❌ Wrong reference β‰  lost money (merchant can reconcile)
  • ❌ Wrong PayBill = serious problem (money went to wrong recipient)

Why Stores Choose Each System (Simple Rule)​

Store NeedUses
Fast checkoutTill
Invoice matchingPayBill
Online paymentsSTK Push
Informal sellingPochi
Cash handlingAgent deposit

Transaction Confirmation & Receipts​

M-Pesa provides multiple ways to confirm transactions, ensuring both senders and recipients have clear records of all payments.

SMS Confirmation (Primary Method)​

For Senders (Payer):

When you send money via M-Pesa, you receive an SMS confirmation immediately. Example SMS format:

MPESA Confirmed. You sent KES 1,500.00 to JOHN DOE on 15/12/2024 at 2:30 PM. 
New M-PESA balance is KES 8,500.00.
Transaction cost, KES 15.00.
Transaction ID: QHX8K9L2M3.

For Recipients:

When you receive money, you get an SMS notification:

You have received KES 1,500.00 from JANE SMITH +254712345678 on 15/12/2024 at 2:30 PM. 
New M-PESA balance is KES 3,200.00.
Transaction ID: QHX8K9L2M3.

For PayBill/Till Payments:

MPESA Confirmed. KES 5,000.00 paid to MERCHANT NAME. 
Account: INV-12345.
New M-PESA balance is KES 3,500.00.
Transaction ID: QHX8K9L2M3.

Key Information in SMS:

  • βœ… Amount: Exact amount sent/received
  • βœ… Payer/Recipient Name: Name registered with M-Pesa
  • βœ… Phone Number: Sender's phone number (for recipients)
  • βœ… Transaction ID: Unique identifier for tracking
  • βœ… Date & Time: Exact timestamp
  • βœ… New Balance: Updated wallet balance
  • βœ… Transaction Cost: Fees charged (for senders)
  • βœ… Account/Reference: For PayBill payments

M-Pesa App Notifications​

In-App Transaction History:

  1. Open M-Pesa App (or dial *234#)
  2. Select "M-Pesa Statement" or "Transaction History"
  3. View detailed transaction list with:
    • Transaction type (Send Money, PayBill, Till, etc.)
    • Amount
    • Recipient/Payer name and phone number
    • Date and time
    • Transaction ID
    • Status (Completed, Pending, Failed)

Push Notifications:

The M-Pesa app sends push notifications for:

  • Money received
  • Payment confirmations
  • Balance updates
  • Transaction failures

Receipt Details​

What Recipients See:

When receiving money via reply.cash or other services:

  • SMS: Shows sender's phone number and name (if registered)
  • Amount: Exact amount received
  • Transaction ID: For tracking and support
  • Balance: Updated wallet balance

What Merchants See (Till/PayBill):

Merchants receive notifications showing:

  • Amount: Payment amount
  • Payer Phone Number: Customer's M-Pesa number
  • Transaction ID: For reconciliation
  • Account/Reference: For PayBill payments (if provided)
  • Time: Transaction timestamp

Note: Merchants typically see the payer's phone number, not always the name, which is why they may ask for transaction details for reconciliation.

Practical Use Cases​

For Reconciliation:

If you enter the wrong reference number in PayBill:

  1. Keep the SMS receipt - Contains transaction ID, amount, time, and your phone number
  2. Share with merchant - They can locate the payment using:
    • Transaction ID
    • Amount
    • Time
    • Your phone number
  3. Merchant matches payment - They reconcile using these details

For Verification:

  • Check SMS immediately after transaction
  • Verify amount matches what you intended
  • Save transaction ID for support if needed
  • Check balance to confirm transaction completed

For Support:

If you need to contact Safaricom support:

  • Provide Transaction ID from SMS
  • Provide amount and time
  • Provide recipient phone number (if sending)
  • Provide your phone number

Other Fintech Apps Integration​

Banking Apps:

Many Kenyan banks integrate with M-Pesa and show M-Pesa transactions in their apps:

  • Equity Bank: Shows M-Pesa transactions in Equity Mobile App
  • KCB Bank: KCB M-Pesa integration shows transactions
  • Co-operative Bank: Co-op Bank app shows M-Pesa activity

Payment Aggregators:

Apps like:

  • Pesapal: Shows M-Pesa payment confirmations
  • iPay: Displays M-Pesa transaction details
  • JamboPay: Integrates M-Pesa confirmations

What These Apps Show:

  • Transaction amount
  • Payer/recipient information
  • Transaction status
  • M-Pesa transaction ID
  • Balance updates

Transaction Status​

Completed Transactions:

  • βœ… SMS received immediately
  • βœ… Balance updated
  • βœ… Transaction ID provided
  • βœ… App shows "Completed" status

Pending Transactions:

  • ⏳ May take a few seconds to process
  • ⏳ SMS may be delayed
  • ⏳ Check balance after a few minutes

Failed Transactions:

  • ❌ SMS shows failure reason
  • ❌ Money not deducted (or refunded)
  • ❌ Transaction ID still provided for support
  • ❌ Contact Safaricom if money deducted but transaction failed

Best Practices​

  • βœ… Always keep SMS receipts - Don't delete confirmation messages
  • βœ… Verify amount immediately - Check SMS matches intended amount
  • βœ… Save transaction ID - Screenshot or note down for records
  • βœ… Check balance - Confirm transaction completed successfully
  • βœ… Report issues quickly - Contact Safaricom immediately if problems

Additional Resources​


M-Pesa FAQ​

πŸ“‹ Click to expand M-Pesa FAQ

General Questions​

Q: What's the difference between Till and PayBill? A: Till (Buy Goods) is for fast, in-person payments without references. PayBill requires an account/reference number and is better for invoice-based payments.

Q: Do I need an agent for Till or PayBill payments? A: No, both Till and PayBill payments can be made directly from your M-Pesa menu without visiting an agent.

Q: Can I use PayBill without an account number? A: No, PayBill requires a mandatory account/reference number. You cannot complete the payment without it.

Q: What happens if I enter the wrong account number in PayBill? A: The payment will still go through, but you'll need to contact the merchant with your transaction details (amount, time, phone number, receipt number) for reconciliation.

Q: Is my money lost if I enter the wrong reference? A: No, your money is not lost. The merchant can reconcile the payment using the transaction details. Money is only truly lost if you pay the wrong PayBill number (belongs to a different organization).

Till (Buy Goods) Questions​

Q: When should I use Till number? A: Use Till for in-person retail transactions like shops, restaurants, bars, supermarkets, and fuel stations where you want fast checkout.

Q: Can I add a reference to a Till payment? A: No, Till payments don't support account/reference numbers. They're designed for simple, fast transactions.

Q: How do I find a merchant's Till number? A: Merchants usually display their Till number at the point of sale, on receipts, or on their website/social media.

Q: Why is Till the most popular payment method? A: Till is the most frequent (50-60% of in-person merchant payments) because it's the fastest checkout with no reference needed, making it ideal for daily retail transactions.

PayBill Questions​

Q: When should I use PayBill? A: Use PayBill for rent, school fees, utilities, subscriptions, loan repayments, or any payment where you need to reference an invoice or account.

Q: What format should the account number be? A: The format depends on what the merchant specifies. It could be an invoice number, student ID, meter number, phone number, customer number, or order ID.

Q: Does Safaricom validate the account number? A: No, Safaricom does not validate account numbers against names or databases. It's just a reference string for the merchant's reconciliation.

Q: Can I use my name as the account number? A: Yes, if the merchant accepts it. However, most merchants prefer specific formats like invoice numbers or customer IDs for easier reconciliation.

Q: What if I don't know the account number? A: Contact the merchant to get the correct account/reference number before making the payment. PayBill requires this field to complete the transaction.

Q: What happens if I enter the wrong PayBill number? A: If you pay the wrong PayBill number (belongs to a different organization), your money may be lost. Contact Safaricom customer service immediately if this happens.

Q: Why do merchants ask me to keep the SMS receipt? A: Merchants ask you to keep the SMS receipt so they can reconcile payments if you enter the wrong reference number. The receipt contains the transaction code, amount, time, and phone number needed for reconciliation.

Pochi la Biashara Questions​

Q: What is Pochi la Biashara? A: Pochi la Biashara is a phone-number based payment method for micro-merchants. Customers send money directly to the merchant's phone number.

Q: Do I need a Till or PayBill number for Pochi? A: No, Pochi uses the merchant's phone number directly, so no Till or PayBill number is needed.

Q: Who should use Pochi la Biashara? A: Small or informal merchants, freelancers, market vendors, and home-based businesses who want simple phone-number based payments.

Q: How popular is Pochi la Biashara? A: Pochi represents approximately 3-7% of merchant payments. It's niche but growing, especially among small and informal merchants.

Agent Deposit Questions​

Q: What is Agent Deposit? A: Agent Deposit is a cash-to-wallet top-up service, not a merchant payment method. You visit an M-Pesa agent to deposit cash into your M-Pesa wallet.

Q: Can I use Agent Deposit to pay a merchant? A: No, Agent Deposit only adds money to your wallet. After depositing, you would then use Till, PayBill, or Send Money to pay the merchant.

Q: When would I use Agent Deposit? A: Use Agent Deposit when you have cash and need to convert it to M-Pesa balance, or when receiving remittances or salary payments in cash.

Q: Why do stores use Agent Deposit? A: Stores use Agent Deposit when customers want cash β†’ M-Pesa (top-up), when the business doesn't have Till/PayBill, or when staff are acting as "cash handlers" for wallet top-ups.

Transaction Frequency & Usage​

Q: Which payment method is used most often? A: Till (Buy Goods) is the most frequent, representing approximately 50-60% of in-person merchant payments in Kenya.

Q: How often is PayBill used? A: PayBill represents approximately 25-35% of merchant payments, commonly used for rent, school fees, utilities, subscriptions, and loan repayments.

Q: What about STK Push? A: STK Push (Online PayBill/BuyGoods) represents approximately 10-15% of payments and is growing fast, especially for apps, websites, and delivery platforms.

Q: What is STK Push (M-Pesa Express)? A: STK Push is an API-driven payment method where your app or website triggers a payment prompt directly on the customer's phone. The customer receives a popup notification and enters their PIN to confirm, without manually navigating M-Pesa menus.

Q: What's the difference between STK Push and Paybill? A: STK Push is initiated programmatically by your system (customer just confirms on phone), while Paybill requires the customer to manually enter your PayBill number in the M-Pesa menu. Both methods can pay into the same PayBill/Till numberβ€”the difference is the user experience, not the payment destination.

Q: When should I use STK Push vs Paybill? A: Use STK Push for web/mobile checkout, e-commerce, and one-click payment flows. Use Paybill for static invoices, utilities, school fees, and situations where account/reference numbers are critical for reconciliation.

Q: Does STK Push use a Paybill number? A: Yes, STK Push still uses your Paybill or Till number as the destination. When configuring STK Push, you provide your BusinessShortCode (Paybill/Till), and payments route to that same number. STK Push is just a different way to initiate the payment.

Q: Can I switch from STK Push to Paybill? A: You can offer both methods to customersβ€”they both pay into the same PayBill/Till. You cannot "override STK Push with Paybill" at Safaricom's API level because they're different initiation methods for the same payment destination. The choice is about user experience.

Q: Do I need API credentials for STK Push? A: If integrating directly with Safaricom, yesβ€”you need Consumer Key, Consumer Secret, Shortcode, and Passkey. If using a payment gateway (Paystack, Flutterwave, etc.), the gateway handles the API calls and you just enable M-Pesa as a payment channel.

Q: How do payment gateways support STK Push? A: Most gateways (Paystack, Flutterwave, IntaSend, Pesapal, etc.) abstract STK Push so you don't integrate directly with Safaricom. Customers enter their phone number, receive a prompt, and the gateway handles the API calls behind the scenes using their own Paybill/Till numbers.

Reconciliation & Errors​

Q: What if I enter the wrong reference number? A: The payment will still go through. Contact the merchant with your transaction details (amount, time, phone number, receipt number) so they can reconcile the payment.

Q: Can Safaricom help if I enter the wrong reference? A: Safaricom does not validate or block payments based on reference numbers. Reconciliation is handled by the merchant, not Safaricom.

Q: When is money truly lost? A: Money is only truly lost if you pay the wrong PayBill number (belongs to a different organization). Wrong reference numbers can be reconciled by the merchant.

Q: What should I do if I paid the wrong PayBill number? A: Contact Safaricom customer service immediately. They may be able to help, but recovery is not guaranteed if the money went to a different organization.

Troubleshooting​

Q: My PayBill payment failed. What should I do? A: Check that you entered the correct PayBill number and account number. Ensure you have sufficient M-Pesa balance and that your account is active. Contact Safaricom if the issue persists.

Q: The merchant says they didn't receive my payment. What should I do? A: Share your M-Pesa transaction receipt (SMS) with the merchant, including the transaction code, amount, time, and your phone number. The merchant can use this to locate and reconcile the payment.

Q: How long does a Till or PayBill payment take? A: M-Pesa payments are typically instant. The merchant should receive the payment immediately, though reconciliation may take a few minutes in some systems.