# How to Accept M-Pesa Payments on WhatsApp (Without Mix-ups)

> To accept M-Pesa payments on WhatsApp, register a Till or Paybill in your business's name, send a clear payment message with the amount and an order reference, confirm each payment in your own M-Pesa business statement rather than trusting screenshots, then mark the order paid and send a receipt. Larger sellers add STK Push through Safaricom's Daraja API or a payment provider.

Source: https://chat.or.ke/blog/how-to-accept-mpesa-payments-on-whatsapp
Published: 2026-10-20 | Updated: 2026-10-20 | Publisher: chat.or.ke

WhatsApp is where the order happens; M-Pesa is where the money moves. Connecting the two cleanly is what separates a busy shop from a chaotic one, especially when a dozen customers pay within the same hour.

This guide is for Kenyan businesses that take orders by WhatsApp and want payments that are quick for customers and easy to reconcile. It covers the payment options, the exact messages to send, confirmation and the common traps.

## Key takeaways

- Use a Till or Paybill registered to the business, not a personal number.
- A Paybill with the order number as the account reference makes reconciliation far easier.
- Always confirm payment in your own M-Pesa business records; fake confirmation SMS and edited screenshots are common.
- Send a written receipt in the chat once payment is confirmed.
- STK Push removes typing errors but needs a developer or payment provider.

## Before you start

Make sure you have the basics in place.

- **A Lipa na M-Pesa Till or Paybill** registered to your business with Safaricom. Applications need business documents such as your registration certificate and KRA PIN.
- **Access to your M-Pesa business statement** for whoever confirms payments, through Safaricom's business tools.
- **A WhatsApp Business number** where orders come in, ideally in a shared inbox if more than one person handles orders.
- **Your prices and delivery fees** written down, so totals are consistent.
- **A refund policy** you can explain in two sentences.

## Step 1: Choose how customers will pay

Pick the method that matches your volume. A Till suits a handful of daily orders; a Paybill suits anything where you need an order number on each payment; STK Push suits businesses with a website or system that can send a prompt to the customer's phone.

Our comparison of [STK Push vs Paybill vs Till](https://chat.or.ke/blog/mpesa-stk-push-vs-paybill-vs-till) explains the differences in detail. Pay on delivery is also common in Kenya, but carries the risk of failed deliveries and riders handling cash or personal M-Pesa.

## Step 2: Write a clear payment message

Every payment request should answer four questions: how much, where to pay, what reference to use, and what happens next. Write it once and save it as a quick reply so every staff member sends the same thing.

A good example for a Paybill:

> Your order ORD-1187: 2 x cotton bedsheets, delivery to Kileleshwa. Total KES 6,400.
> Pay via M-Pesa Pay Bill to our business number, account number ORD-1187.
> Once paid, reply here and we will confirm and dispatch today.

For a Till, replace the account number line with your till number and ask the customer to include their name in the chat when they confirm. With chat.or.ke you can save these as reusable replies in the [shared WhatsApp inbox](https://chat.or.ke/features/whatsapp-inbox). Our guide on [writing canned responses](https://chat.or.ke/blog/how-to-write-canned-responses) helps them sound human.

## Step 3: Use the order number as the reference

Matching payments to chats is where most mistakes happen. When two customers each pay KES 1,800 within a minute, a Till payment alone will not tell you who is who.

Give every order a short reference. If orders come from your catalog in chat.or.ke, each one arrives in the dashboard linked to the customer and the conversation, which gives your team one place to look up the order. Ask Paybill customers to use the reference as the account number, and ask Till customers to send their M-Pesa name with the confirmation.

## Step 4: Confirm the payment in your own records

Never release goods on the strength of a forwarded SMS or a screenshot alone. Fake M-Pesa confirmation messages and edited screenshots are a known scam in Kenya.

Check that the payment appears in your M-Pesa business statement or business app, with the right amount, time and reference. Train staff to do this every time, including for regular customers. If confirmation is done by one person, such as the owner or the accounts clerk, set a clear way for agents to ask "has ORD-1187 been paid?" in an internal note rather than in the customer's chat.

## Step 5: Mark the order paid and send a receipt

Once payment is confirmed, update the order and tell the customer straight away. A short receipt message is enough: order number, items, amount, M-Pesa reference and expected delivery time.

In chat.or.ke, update the order status in the dashboard so everyone on the team sees it has been paid. If the customer's last message is more than 24 hours old, the receipt or delivery update must be sent as an approved WhatsApp template; on chat.or.ke these utility messages cost KES 0.90 each. Within the 24-hour window, a normal reply costs KES 0.75.

## Step 6: Handle partial payments, refunds and disputes

Problems will happen, so decide in advance how you handle them.

- **Partial payment:** confirm the amount received and the balance due, in writing, before dispatching.
- **Wrong amount or wrong account number:** check your statement; contact the customer to correct the order or refund the difference.
- **Refunds:** refund to the same M-Pesa number that paid, and send the transaction reference in the chat.
- **Payment sent to the wrong business:** the customer should contact Safaricom to request a reversal; you cannot reverse it for them.

Open a ticket for anything that will take more than one conversation, so it does not get lost. chat.or.ke's [helpdesk](https://chat.or.ke/features/helpdesk) turns a chat into a ticket with an owner and a progress link for the customer.

## Step 7: Consider STK Push as you grow

When manual confirmation starts eating staff time, look at STK Push (M-Pesa Express). Your system sends a prompt to the customer's phone with the amount pre-filled; they enter their PIN; Safaricom notifies your system of the result.

Setting it up needs a developer working with [Safaricom's Daraja API](https://developer.safaricom.co.ke/), or a payment provider that already offers it. chat.or.ke does not collect payments for you, but its automation flows can call a webhook, so a developer can connect a WhatsApp flow to your own payment system if you need that. Plan a fallback for failed prompts: the customer's phone may be off, or they may cancel.

## How do you stop customers abandoning the payment step?

Make paying feel safe and easy. Use a Till or Paybill name that matches your business name, show the total including delivery before asking for money, and reply within minutes when the customer says "sent".

If someone goes quiet after receiving the payment details, a polite reminder within the 24-hour window often saves the sale. Our guide on [recovering abandoned carts on WhatsApp](https://chat.or.ke/blog/how-to-recover-abandoned-carts-on-whatsapp) covers timing and wording. For the full selling process, see [how to sell on WhatsApp in Kenya](https://chat.or.ke/blog/how-to-sell-on-whatsapp-kenya).

## Frequently asked questions

### Can WhatsApp process M-Pesa payments directly?

Not in Kenya at the time of writing. Customers pay through M-Pesa itself, to your Till or Paybill or through an STK Push prompt, and the order is confirmed in the WhatsApp chat.

### How do I know an M-Pesa payment on WhatsApp is genuine?

Check that the payment appears in your own M-Pesa business statement or business app with the right amount and reference. Do not rely on a forwarded SMS or a screenshot, because both can be faked.

### Should I use a Till or a Paybill for WhatsApp orders?

Use a Till if you handle a few orders a day and can match payments by name and amount. Use a Paybill if you want customers to enter an order number as the account reference, which makes matching much easier at higher volumes.

### Can I send an M-Pesa STK Push from WhatsApp?

Only through an integration. Your developer or a payment provider uses Safaricom's Daraja API to send the prompt, triggered from your website, system or chatbot. WhatsApp itself does not send STK Push prompts.

### Is it safe to accept payments to a personal M-Pesa number?

It works for very small sellers, but it mixes personal and business money, makes records harder to keep and can look less trustworthy. A Till or Paybill in the business name is better once you sell regularly.
