What M-Pesa for business covers
Safaricom provides several ways for a business to receive M-Pesa payments. The best known are PayBill and Till, which are separate transaction types. With a PayBill, customers usually enter a business number and an account reference; with a Till, they pay a till number when buying goods or services.
For businesses that want to build their own integration, Safaricom offers the Daraja developer platform. Through Daraja, M-PESA Express (Lipa na M-PESA Online) lets a business start a prompt-style payment request on the customer's phone. Safaricom's documentation refers to this as "STK Push", which is the term most people in the market use.
- Suited to shops, service businesses and counters where customers pay a known number.
- Reconciliation often relies on M-Pesa statements and account references entered by customers.
- Building directly on Daraja means your team handles the integration, credentials and ongoing maintenance.
- Terms, charges and eligibility are set by Safaricom, so confirm them with Safaricom directly.
What a payment gateway adds for an online store
When customers pay on a website, you need the payment to be linked to a specific order and the result to reach your systems automatically. A gateway sits between your checkout and M-Pesa to handle that link. In Kenya, Payment Gateway Kenya supports M-Pesa only.
Two ways to connect
Connect through the API (H2H) or the Hosted Payment Page. These are two routes into the same gateway, not separate products. H2H is not a white-label service.
Postbacks to your system
Postbacks send transaction status to your system so orders can be updated. They are not a customer notification service, so your own messaging to customers stays with you.
Pay-ins and payouts
Pay-ins are payments from your customers. Payouts, where your business pays a customer, are available where confirmed for your account.
Merchant settlement
Merchant settlement is a separate flow: funds sent to you. Merchant settlements are sent on the same day (T+0). This describes when settlement is sent, not when funds are credited.
Illustrative flow: the steps below show how an M-Pesa pay-in might move through a gateway checkout. Your exact flow depends on how you connect and on how your store handles orders.
-
Illustrative flow: customer checks out
The customer selects M-Pesa on your website and enters their phone number, either on your own page via the API or on the Hosted Payment Page.
-
Payment request is sent
A prompt-style M-Pesa request appears on the customer's phone, and the customer confirms it with their M-Pesa PIN.
-
Status is reported
A postback sends the transaction status to your system, so the order can be marked as paid or failed.
-
Settlement is sent
Merchant settlement to your business runs as its own flow, separate from the customer pay-in.
Our overall transaction success rate is 85%, measured as successful transactions divided by all transactions. This is a product-wide figure, not a guarantee for any individual business.
On security, our internal practices include protection of API credentials, MFA and role-based access, business continuity planning and incident response. Pricing is custom, so talk to our team about your volumes and setup.
Decision table: Safaricom services directly or a gateway?
Both options can be valid, and some businesses use them side by side. Use the table below to compare them against how you actually sell. It is a general guide, not advice for a specific business.
| Consideration | Safaricom business services used directly | Payment gateway for M-Pesa |
|---|---|---|
| Main selling channel | In person, by phone or with manual payment instructions | Website or app checkout |
| Linking payment to an order | Often relies on account references entered by the customer | Payment request is started for a specific order |
| Integration work | Your team builds and maintains any Daraja integration | Connect through the API (H2H) or the Hosted Payment Page |
| Transaction status in your system | Depends on what your team builds | Postbacks send transaction status to your system |
| Paying customers back | Depends on your Safaricom setup | Payouts where confirmed for your account |
| Commercial terms | Set by Safaricom; confirm directly | Custom pricing; talk to sales |
Frequently asked questions
These answers cover the questions merchants and developers ask most often when comparing M-Pesa for business with a gateway. For anything specific to your account, ask our team.
Is Payment Gateway Kenya part of Safaricom?
No. Payment Gateway Kenya is a payment gateway for M-Pesa and is not Safaricom. Safaricom's own business services, such as PayBill and Till, are provided by Safaricom.
What is the difference between a PayBill and a Till?
They are separate M-Pesa transaction types. A PayBill typically uses a business number and an account reference, while a Till is used to pay for goods or services. Confirm the details and terms with Safaricom.
What is STK Push?
STK Push is the market term, used in Safaricom documentation, for M-PESA Express (Lipa na M-PESA Online). It is a prompt-style payment request started by a business that appears on the customer's phone.
Which payment methods does Payment Gateway Kenya support in Kenya?
In Kenya, Payment Gateway Kenya supports M-Pesa only. Pay-ins are available, and payouts are available where confirmed for your account.
When are merchant settlements sent?
Merchant settlements are sent on the same day (T+0). This describes when settlement is sent, not when funds are credited to you.
Do postbacks notify my customers?
No. Postbacks send transaction status to your system. They are not a customer notification service, so any messages to customers are handled by your business.
Can I use this with a Shopify store?
Kenya was not on Shopify's official Shopify Payments country list when checked on 5 November 2026. We do not promise any third-party app, plugin or automatic install, so ask our team which connection route fits your store.
How much does it cost?
Pricing is custom. Talk to our sales team about your business, expected volumes and connection route.
