Nobody from Paynecta will ever ask you for a code
This applies to your customers too. A code sent to a payer is theirs alone. If a customer tells you they have been asked to share one, they are being defrauded by somebody who is not us.When we send one
Why a payment needs one at all
The code is what stops Paynecta becoming a way to send M-Pesa prompts to strangers. If a number could be supplied by anyone, anyone could push payment requests at people who never asked for one, using your page and your shortcode. Safaricom treats those as unsolicited pushes and flags the shortcode they came from, which would be yours. So the payer types their own number and proves it once. See Keeping payments honest.A returning customer is not asked twice
A payer can choose to be remembered on the device they are using. For the next fourteen days, on that device and for that number, they go straight to the M-Pesa prompt with no code in between. Fourteen days rather than forever, because phones change hands and numbers get recycled, and a payment page that trusts a number indefinitely eventually trusts the wrong person.Stopping prompts going to waste
Every code and every prompt costs something to send, and a payment that is never completed spent that for nothing. A few habits carry most of the difference:Check the number before you send anything
Check the number before you send anything
A mistyped digit sends a code, and possibly a payment prompt, to a stranger
who will ignore both. The payer confirms their number on the page for this
reason, so let them read it rather than reading it to them.
Have the payer ready before the prompt goes out
Have the payer ready before the prompt goes out
An M-Pesa prompt does not stay on screen for long. Somebody who has to
find their phone, unlock it and remember a PIN before it disappears often
will not make it. Send it while they are holding the phone.
Do not resend straight away
Do not resend straight away
There is a short wait between codes on purpose. Asking again immediately
does not make the first one arrive faster, and two codes in a row make it
harder for the payer to know which one to use.
Let a failed payment finish before retrying
Let a failed payment finish before retrying
A cancelled or expired prompt is not always final the instant it looks
final. Give the status a moment to settle rather than sending a second
prompt on top of the first, which charges nobody twice but confuses
everybody.
Use the payment page rather than reading amounts aloud
Use the payment page rather than reading amounts aloud
A payer who opens the page sees the business name, the amount and what it
is for, and can check all three before entering a PIN. Payments confirmed
on screen fail far less often than payments agreed over a phone call.
Next
Your payment page
What a customer sees, and how they pay.
Keeping payments honest
The rules behind the code, and what each one prevents.

