Help guide · 3 min read

Take M-Pesa payments and fix problems

M-Pesa is set up on the web, not in the app.

Skip contents

What you need

M-Pesa is set up on the web, not in the app. You need the payment gateway permission and the details from your Safaricom Daraja account. See guide 02, step 4, for the fields.

In short, open Backoffice, then Settings, Money, Payment gateways, choose Set up next to M-Pesa, enter your details, choose Test connection and then Save configuration. Start with the sandbox environment until a test works, then switch to production.

Setting up a gateway also needs a verified email.

Take a payment at the till

  1. Add the items and choose the M-Pesa method.

  2. Choose Send M-Pesa STK Push. Enter the amount and the customer's phone number.

  3. A box says STK Push sent. The customer sees a prompt on their phone and enters their PIN.

  4. When it works you see "M-Pesa payment confirmed." Complete the sale.

If the customer pays with their own paybill or till and sends you the message, you can take the payment by typing it in. Choose the method, enter the transaction code from the SMS and choose Confirm payment.

If no confirmation arrives

Do not take the payment a second time. Check first.

  1. In the box, choose Refresh Payment Status. This asks M-Pesa what happened.

  2. If you cannot wait, choose Leave payment pending. The sale stays open.

  3. On an invoice you see messages that tell you the state.

  • "Waiting for customer to approve on their phone" means do nothing yet.

  • "We did not get a confirmation yet" means confirm with the receipt code or check the status. Do not treat the invoice as paid.

  • "The phone prompt was declined or timed out" means send a new prompt.

  1. If a payment stays pending, write to [email protected] with the invoice number and we will look into it.

On the invoice's payment screen, the M-Pesa Confirmation panel has three buttons. Confirm by receipt code asks for the M-Pesa receipt code from the customer's message. Manual confirm is for a payment you have checked yourself, and it is recorded as a manual confirmation, not one M-Pesa verified. Check status asks M-Pesa again what happened.

When the money arrives but nothing matches

A payment that reaches BizPlusX with no invoice to attach to is listed under Commerce, Unmatched M-Pesa payments. The page shows the receipt, amount, phone, state, time and checkout ID.

The only action on a row is Reject. To use the money, record a payment on the right invoice yourself.

Messages and what to do

  • You see: What it means: What to do

  • "A card or M-Pesa amount cannot be more than the amount due.": On a walk-in sale, the amount is above what is owed.: Lower it to the amount due.

  • "No pending payment.": There is nothing to refresh.: Start the payment again.

  • "This payment method does not support provider status refresh. Wait for callback or record manual evidence.": M-Pesa cannot be asked right now.: Wait a few minutes, then confirm with the receipt code.

  • "Enter a valid mobile money phone number.": The number is missing or wrong.: Fix the number.

  • "Enter the <method> transaction or approval code.": A code is needed to confirm a typed in payment.: Copy it from the SMS.

  • "Unable to load unmatched payments": The page could not load.: Reload. If it persists, contact support.

Limits to know about

  • Statement reconciliation for M-Pesa does not exist yet, so missing payments are found by hand.

  • To have payments sent to your own paybill or till number recognised, write to [email protected] with the number and we will register it for you.

Was this helpful?

If a step did not match your screen, or something is missing, tell us which page and which step. We read every message.

Email us about this pageContact us

Company

Need help applying this?

Questions about the product go to the team. Active customers should use in-app help.

Regions
Kenya, United Arab Emirates, United States, and customers worldwide

Sales and demo inquiries: we aim to reply within one business day.

Already in a workspace? Use in-app help for the fastest product support path—public forms are for sales and pre-sales questions.

BizPlusX uses essential cookies to run this site. With your OK we also use a Meta pixel to measure visits. Cookie policy