Every TapFlow has its own web address. That address is a page a customer can open on any phone and pay from, with nothing to install and no account to create.
Hand it out however you like: printed on a poster, sent in a message, linked from your own site.

What a customer sees

1

Who they are paying

Your verified business name, taken from your verification documents rather than from anything you typed. Somebody deciding whether this is really you deserves the name we checked, not the name we were given.
2

How much

They type the amount. Nothing is filled in for them.
3

Who is paying

Their name, which is optional, and their M-Pesa number, which is not.
4

A code, then the prompt

We text a short code to the number to check it reaches them. Once they enter it, the M-Pesa prompt goes to that phone.
The page then waits and says what actually happened: paid, cancelled, not enough funds, timed out. Never a spinner that stops with nothing.

Why the customer types their own number

You cannot enter a customer’s number for them, and neither can our API. This is deliberate and permanent.
A system that accepts a payer’s number from whoever is calling it is a machine for sending payment prompts to strangers. Safaricom sees those prompts as unsolicited pushes at real people’s phones, and shortcodes get flagged for it.
The customer types their number on the page and proves it with a code before any prompt is sent. That protects your shortcode as much as it protects them.

A customer paying for somebody else

The page carries a Paying for someone else? link. Whoever is actually paying can open it and complete the payment themselves, useful when a bill is being settled by a relative, an employer, or a group.

When your page cannot take money

The page says so plainly and takes nothing. A customer sees that the business cannot accept payments at the moment; they do not see why, because that is between you and us. It happens when:
  • Your verification is not approved
  • No payment method is switched on
  • The TapFlow has been suspended
  • You have no credit, on a prepaid account
Your dashboard always tells you which of these it is.

Next

How a payment works

Why a payment can sit as waiting, and what each outcome means.

TapFlows

The address itself, and where the money lands.