I will retell an experience from a friend of mine who hosts their domain with Safaricom Business. Somehow they did not get domain expiry alerts on the email provided when signing up for a hosting account, and thus it reached a point where the domain expired without their knowledge. Actually they were notified by a client when email to them wouldn't go through.
The person happens to have a domain and hosting package with Safaricom Business, and the price for that is Kshs 4198. Payment options include M-pesa, naturally they assumed that Mpesa would be the best option to pay and get things back up running. They paid 4200 instead of 4198, and that was the beginning of problems.
The system "rejected" the payment, but that doesn't necessarily mean that the money was refunded, it was deducted and the back-end at Safaricom self-care backend reflected that the process was successful, but a text confirmation claimed that payment had been rejected. (Something worth noting is that with other vendors who depend on Lipa na Mpesa for payments, you can pay any amount, the overpayment gets credited to your future bill, this wasn't the case. It was rejected in it's entirety)
And thus it went to day two of waiting for this to be resolved. Customer care call confirmed that they needed to do a manual process to correct the error. Something that's still pending as at mid-morning today when this information was shared with me.