Skip to main content

Collect payments with your till, without API keys

TILL_NUMBER sends a real M-Pesa Buy Goods STK push to the payer, using the platform’s Daraja credentials rather than your own. You supply only your till number; the money settles into that till. Available to ISPs in Kenya (KE).
The payer receives an STK prompt and enters their M-Pesa PIN — this is not an instructions-only method. The difference from Safaricom M-Pesa in till mode is that the Daraja API keys are the platform’s, so you can collect before your own Daraja onboarding is finished.

Before you start

  1. Have an active M-Pesa Buy Goods till registered to your business.
  2. Link a MikroTik router and bring it online. This gateway will not send a payment prompt otherwise.
Till, Paybill, Bank, and Centipid Collections all require a linked MikroTik router that is currently online. If none is linked, checkout stops with “Link a MikroTik router and bring it online before sending payment prompts.” and no prompt is sent. See Routers.

Configure the gateway

1

Open Settings → Payments → Till Number - Without API keys

Select the method from the payment marketplace.
2

Enter your till number

Till number (required, maximum 20 characters) is the M-Pesa till shown to subscribers and the account the money lands in. No Daraja keys are requested.
3

Save and switch

The till number is the only field that gates the switch. Switching gateways may require an OTP confirmation.
4

Run a controlled test payment

Pay a small amount from the captive portal, and confirm the money arrives in the till.

Credentials

Callback URLs

None. The callback address is sent with every payment request, so there is nothing to register with Safaricom.

What the payer must provide

A Safaricom phone number, which receives the Buy Goods STK prompt.

How a payment completes

1

Request

Centipid Billing raises a CustomerBuyGoodsOnline STK push against your till, using the platform’s Daraja app.
2

Authorization

The payer enters their M-Pesa PIN.
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

A till has no account-number field, so there is no pay-by-hand instruction for an invoice on this method — a customer paying by hand cannot tell you which subscriber the money is for. TV payments are the exception: the TV screen shows the Centipid paybill, and that money is collected by the platform against the TV code and remitted to you. Prove where money lands with a controlled test payment before moving subscribers onto this method.

Troubleshooting

To hold your own Daraja keys instead, see Safaricom M-Pesa. For every gateway’s fields in one place, see the credential reference.