What Safaricom Daraja is

According to Safaricom's developer documentation, Daraja is Safaricom's platform for M-Pesa APIs. Businesses and developers register on the portal, create apps, test against a sandbox and then request access to the live environment. Exact requirements and steps can change, so always check Safaricom's current documentation before you plan your build.

Daraja covers several separate transaction types. M-PESA Express (Lipa na M-PESA Online) is the prompt-style request started by a business: your system asks M-Pesa to send a payment prompt to the customer's phone. Safaricom's documentation also refers to this as "STK Push", which is the term most people use in the market.

PayBill and Till are different transaction types from M-PESA Express. With PayBill and Till, the customer starts the payment from their own phone and enters your business number. Your integration needs to know which of these you are using, because each behaves differently and reports results differently.

Illustrative flow: how an M-PESA Express request usually moves through a merchant's system.

  1. Customer chooses M-Pesa at checkout

    Your website or app collects the customer's phone number and the order amount in KES.

  2. Your server sends the request

    Your back end calls the M-PESA Express API with your credentials and a callback address.

  3. Customer confirms on their phone

    The customer sees the prompt and approves or cancels it, or lets it time out.

  4. Result arrives at your callback

    Your system receives the outcome, updates the order and handles any failure or timeout.

What a merchant needs to plan before integrating

Most integration problems come from decisions that were never written down, not from the API itself. Settle the points below with your finance and technical teams first. For a deeper technical view, see our guide to the M-Pesa API in Kenya.

  • Business number type: confirm whether you collect through a PayBill or a Till, and whether you also need M-PESA Express prompts at checkout.
  • Callback endpoint: you need a reachable server address that can receive results, record them and respond reliably, including when traffic is heavy.
  • Failure and timeout handling: decide what the customer sees when a prompt is cancelled or not answered, and how you avoid charging twice on a retry.
  • Reconciliation: match every M-Pesa result to an order, and agree who on your team checks mismatches each day.
  • Credential protection: limit who can see API keys and passwords, and plan how you rotate them if a staff member leaves.
  • Separate money flows: treat pay-ins (customers paying you), payouts (your business paying a customer) and merchant settlement (funds sent to you) as three distinct processes with their own records.
  • Regulatory context: payments in Kenya sit under the Central Bank of Kenya and the National Payment System Act 2011. Take your own advice on what applies to your business model.

Once these are clear, you can judge honestly whether your team should build and maintain a direct Daraja integration or connect through a gateway.

Direct Daraja integration versus a payment gateway

Both routes can work. The difference is how much of the build, monitoring and day-to-day handling sits with your own team. We cover this in more detail in Daraja vs payment gateway.

How a direct Daraja integration compares with connecting through Payment Gateway Kenya
AreaDirect Daraja integrationThrough Payment Gateway Kenya
Who you integrate withSafaricom's Daraja APIs, using credentials issued through the Daraja portalThe Payment Gateway Kenya gateway, which handles the M-Pesa connection for pay-ins
Connection optionsYour developers build against each Daraja API you needAPI (H2H) or Hosted Payment Page: two ways into the same gateway
Payment methodM-Pesa transaction types offered on DarajaM-Pesa only
Transaction statusYour server receives and interprets Daraja callbacksPostbacks send transaction status to your system; they are not a customer notification service
PayoutsBuilt and managed separately by your teamAvailable where confirmed for your account
Merchant settlementDepends on your own M-Pesa business account arrangementsMerchant settlements are sent on the same day (T+0)
Ongoing maintenanceYour team tracks Daraja changes, credentials and error handlingYour team maintains the connection to the gateway; ask our team what this involves
PricingCheck Safaricom's current terms for your accountCustom / Talk to sales

Settlement timing describes when funds are sent, not when they show in your account. If you want to see how the gateway route works for M-Pesa, visit our M-Pesa payment gateway page.

Frequently asked questions

Short answers to the questions merchants ask most often about Daraja and gateway routes.

What is Safaricom Daraja?

According to Safaricom's developer documentation, Daraja is Safaricom's platform for M-Pesa APIs. Businesses register, test in a sandbox and then request live access to connect their systems to M-Pesa.

Is STK Push the same as M-PESA Express?

Safaricom's documentation refers to M-PESA Express (Lipa na M-PESA Online) as the prompt-style request a business starts. "STK Push" is the common market term for it. PayBill and Till are separate transaction types where the customer starts the payment.

Is Payment Gateway Kenya part of Safaricom or the Daraja portal?

No. Payment Gateway Kenya is an independent payment gateway for M-Pesa pay-ins. We cannot issue or manage Daraja credentials; for those, contact Safaricom directly.

How can I connect to Payment Gateway Kenya?

There are two routes into the same gateway: API (H2H) or the Hosted Payment Page. H2H is a direct server connection and is not a white-label product.

Does Payment Gateway Kenya support payouts as well as pay-ins?

The gateway handles M-Pesa pay-ins, with payouts where confirmed for your account. Pay-ins, payouts and merchant settlement are treated as three separate flows. Ask our team what applies to your business.

When are merchant settlements sent?

Merchant settlements are sent on the same day (T+0). This refers to when settlement is sent, not when funds appear in your account.

What is your transaction success rate?

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 merchant.

How much does a gateway connection cost?

Pricing is Custom / Talk to sales. Existing merchants can add supported payment methods at no extra connection fee, as the number of enabled methods does not change the connection price.

Safaricom Daraja for merchants: next step