M-Pesa

Customer Says They Paid But Money Did Not Arrive: What to Do (Kenya)

K By Kev 13 June 2026 8 min read
Share
M-Pesa guide

An M-Pesa payment dispute is when a customer insists they paid but the money is not in your till, and you have to decide, often with a queue forming, whether to release the goods. Handle it wrong and you either lose stock to a mistake or a scam, or you accuse a genuine customer and lose them for good. Handle it right and you protect both your money and the relationship. This guide gives you a calm, repeatable way to resolve it on the spot.

Key takeaways
  • Never release goods on the strength of a message alone. Confirm the money is in your account
  • The most common honest cause is a payment to the wrong number, not a lie
  • Ask for the M-Pesa confirmation and check the recipient name and number on it
  • A POS that confirms payment against the sale in real time ends most disputes before they start
On this page
  1. Why these disputes happen
  2. How to handle the dispute
  3. Mistakes that cost you
  4. A calm check saves the sale and the customer
  5. How Veira automates this
  6. Frequently asked questions

Why these disputes happen

Most "I paid but it did not arrive" situations are honest. A customer pays a personal number instead of your Buy Goods till, mistypes a digit, pays an old till you stopped using, or has a delayed transaction. The money left their phone, so they are certain they paid; it just did not reach you. A smaller number are genuine attempts to walk away with goods using a screenshot or a payment to someone else.

The trap is that both look identical in the moment: a confident customer, a confirmation message on their screen, and no money on your side. Your defence is not suspicion, it is verification. You decide based on whether the money is in your account, not on how sure the customer sounds.

How to handle the dispute

Stay calm and follow the same steps every time, so it is procedure, not personal.

  1. 1

    Step 1: Check your own account first

    Before anything else, check your till statement or business app for the payment. Often it has simply not arrived yet or is not there at all. Do not act on the customer screen alone.

  2. 2

    Step 2: Ask to see the confirmation message

    Look at the recipient name and number on their M-Pesa confirmation. If it is not your business till name and number, they paid the wrong place. Show them, politely.

  3. 3

    Step 3: Check the amount and time

    Confirm the amount matches the sale and the time is now, not a payment from days ago being reused. A mismatched amount or an old timestamp is a red flag.

  4. 4

    Step 4: If they paid the wrong number, guide them

    If the money went to a wrong or old number, the fix is a reversal request through M-Pesa, not your problem to absorb. Help them start it, but do not release goods until your account is paid.

  5. 5

    Step 5: Wait for genuine delays, hold the goods

    If the network is slow, a real payment usually lands within minutes. Hold the goods, not refuse them, until it arrives. A real customer will wait; a scam will leave.

  6. 6

    Step 6: Record the outcome

    Note disputes that resolve and those that do not. A pattern, the same customer, the same staff member, the same till, tells you whether this is bad luck or something to watch.

Mistakes that cost you

Releasing goods on a screenshot

A screenshot proves nothing. Money in your account proves payment. Never hand over goods until you have seen the funds on your side.

Accusing a genuine customer

Most disputes are honest wrong-number errors. Treating every dispute as theft loses good customers. Verify calmly instead of accusing.

Not checking the recipient name

The confirmation message names who was paid. Skipping this check is how wrong-number payments turn into arguments instead of quick fixes.

Keeping old till numbers active

If customers can still pay a till you no longer watch, you will get disputes for money that did arrive, just not where you are looking. Deactivate old tills.

No record of disputes

Without a record you cannot tell an unlucky day from a staff member who creates disputes. Write them down.

A calm check saves the sale and the customer

Worked example

A customer at an electronics shop in Nairobi insists she paid KES 12,000 for a phone, showing a confirmation on her screen, while a queue builds behind her. The cashier checks the shop till: nothing. Instead of arguing, he asks to see the message and reads the recipient line. The money went to a number one digit off from the shop till.

He shows her calmly, explains the digit was wrong, and helps her start an M-Pesa reversal so she can recover the misdirected money, then re-pay correctly. She is embarrassed, not angry, because nobody accused her. Five minutes later the correct payment lands and she leaves with the phone.

Had the cashier released the phone on the screenshot, the shop would have lost KES 12,000 to an honest mistake that was never going to reach them. Had he accused her, he would have lost a customer who did nothing wrong.

Business impact

When M-Pesa payments are not matched to sales, a missing payment, a staff shortfall or a double charge can slip past you until the money is already gone.

Veira reconciles M-Pesa Till and Paybill against every sale, so a mismatch surfaces the same day instead of at month end.

How Veira automates this

Veira confirms the M-Pesa payment against the specific sale in real time, so the cashier sees a clear paid or not-paid status on the sale itself, not a guess based on the customer screen. That removes the judgement call at the counter: the goods release when the system shows the money against the sale.

Because every sale and its payment are recorded together, genuine delays, wrong-number payments and disputed sales are all visible afterward, with the time and staff login attached. Patterns that need watching surface on their own instead of being lost in the rush.

Frequently asked questions

A customer shows me a payment message but I have no money. What do I do?
Check your own till statement first, because the money either has not arrived or was sent elsewhere. Then read the recipient name and number on their confirmation. If it is not your business till, they paid the wrong place and should request a reversal. Do not release goods until the funds are in your account.
Is a screenshot proof of payment?
No. A screenshot or confirmation message only shows the customer sent money somewhere; it does not prove the money reached your till. The only proof that protects you is the payment showing in your own business account.
Most of my disputes are honest, right?
Usually yes. The most common cause is a customer paying a personal number, mistyping a digit, or paying an old till, all honest errors. A smaller number are attempts to use a screenshot or a payment to someone else to take goods. Verifying calmly handles both without accusing anyone.
The customer paid the wrong number. Is that my problem to fix?
No, the misdirected money is recovered through an M-Pesa reversal request, which the customer initiates. You can help them start it, but you should not absorb the loss or release goods until your own account is paid correctly.
What if the payment is just delayed by a slow network?
Hold the goods rather than refusing them. A genuine payment on a slow network usually lands within minutes. A real customer will wait for it to arrive; someone trying to leave with unpaid goods will not.
How do old till numbers cause disputes?
If customers can still pay a till you no longer monitor, their money arrives somewhere you are not looking, so it appears unpaid to you while they are certain they paid. Deactivating old tills removes this whole class of dispute.
How can a POS reduce these disputes?
A POS that confirms the M-Pesa payment against the specific sale shows a clear paid status on the sale itself, so the cashier is not judging by the customer screen. Goods release when the system shows the money against the sale, which ends most disputes before they become arguments.

When a customer says they paid but the money is not there, verify rather than accuse: check your account, read the recipient on their confirmation, and hold the goods until the funds land. Most disputes are honest wrong-number errors. Veira shows a clear paid status against each sale so the call is made for you. See how Veira works and book a free demo.

Terms explained

Keep reading

See all M-Pesa guides

Veira for your business

Browse Veira by business type