Collect payments into your bank account
BANK sends an M-Pesa STK push to the payer against your bank’s official
M-Pesa paybill, with your bank account number as the account reference. The
money moves from the payer’s M-Pesa directly into your bank account. No Daraja
API keys are requested — the prompt is raised with the platform’s Daraja
credentials.
Available to ISPs in Kenya (KE).
Before you start
- Have a business bank account for the ISP.
- Know which M-Pesa paybill your bank uses for deposits — you select it from a list in the form.
- Link a MikroTik router and bring it online. This gateway will not send a payment prompt otherwise.
Configure the gateway
1
Open Settings → Payments → Bank Account
Select the method from the payment marketplace.
2
Select the receiving bank
Receiving bank (required) is searchable by bank name or paybill number,
and is the official M-Pesa paybill for deposits into that bank.
3
Enter your bank account number
Bank account number (required) is digits only, maximum 40 characters. It
is sent as the account reference, so a wrong value sends money to the wrong
account. Check it twice.
4
Save and switch
Both fields must be present to switch. Changing the receiving bank clears
the account number on purpose, so an account belonging to the previous bank
cannot be saved by accident — re-enter it after every bank change.
5
Run a controlled test payment
Pay a small amount from the captive portal and confirm it reaches the bank
account, not just the M-Pesa prompt.
Credentials
Callback URLs
None. The callback address is sent with every payment request.What the payer must provide
A Safaricom phone number, which receives the STK prompt. The bank account number is filled in as the account reference for them.How a payment completes
1
Request
Centipid Billing raises the STK push against the bank’s M-Pesa paybill, with
your bank account number as the account reference.
2
Authorization
The payer enters their M-Pesa PIN. The money is deposited to your bank
account by the bank’s paybill.
3
Confirmation
Safaricom posts the result to the platform callback, which records the
payment and applies the subscriber’s package asynchronously.
Payments typed in by hand
An invoice can offer pay-by-hand instructions, and a TV screen shows a number the customer types into M-Pesa themselves. On this method that number is the Centipid paybill, not your bank’s — money paid that way is collected by the platform against the subscriber’s account reference and remitted to you, rather than landing in your bank account directly. Prove both flows with a controlled test payment before moving subscribers onto this method.Troubleshooting
For every gateway’s fields in one place, see the
credential reference, and for
symptoms common to all gateways, see
Payment troubleshooting.
