Back to Resources
Payments

Accepting Payments with M-Pesa

FT
Fleetify Team
5 min readUpdated 2 days ago

Enable frictionless mobile payments. Fleetify's direct integration with Daraja API eliminates manual payment verification, reducing fraud and booking delays.

Secure & Direct
Funds flow directly from the customer to your Paybill. Fleetify never holds your money.

How the Integration Works

We use the Lipa na M-Pesa Online (STK Push) API. Here is the customer experience:

Checkout

Customer selects 'Pay with M-Pesa' and enters their phone number.

Prompt

A popup appears on their phone requesting PIN entry for the exact amount.

Processing

Safaricom processes the transaction (avg 3 seconds).

Confirmation

Fleetify receives a callback webhook, verifying the payment and unlocking the booking.

Configuration Guide

You need a Daraja Developer Account. Follow these steps carefully:

Recommended Config
App Name
Fleetify Production
Products
Lipa na M-Pesa Shortcode
Callback URL
https://api.fleetify.africa/webhooks/mpesa

Troubleshooting Common Errors

If a customer reports a failed payment, check the Transactions log for these error codes:

DS_01 Not Enough Funds

Customer has insufficient balance. Ask them to top up and retry.

DS_02 Request Cancelled

Customer cancelled the popup or took too long to enter PIN.

Was this article helpful?