Fortpesa is a M-Pesa collection platform for Kenyan businesses. With the Fortpesa API you can initiate STK Push payments, read transaction status in real time, and receive signed webhooks when a payment reaches a final state.

Base URL

All endpoints are served over HTTPS. Authentication is via API key (see Authentication).

Core concepts

STK Push

Prompt a customer’s phone with an M-Pesa payment request and get a transaction back in milliseconds.

Transaction status

Every transaction has a UUID and moves through a simple lifecycle to a terminal state.

Webhooks

Receive an HMAC-signed POST when a payment succeeds, fails, or expires — then confirm with a status read.

Wallet balance

Platform fees are prepaid. Check your remaining balance at any time.

Conventions

Amounts are integer minor units (KES cents). 10000 means KES 100.00. M-Pesa moves whole shillings only, so send multiples of 100 (for example 15000 for KES 150).
  • Currency is always KES.
  • Timestamps are ISO 8601 (for example 2026-09-25T14:03:22+00:00).
  • Errors for API-level failures use a single envelope: { "error": { "code": "...", "message": "..." } } — see Errors.
  • Versioning happens in the URL (/v1). Breaking changes will ship under a new version.

Where to start

New here? Follow the Quickstart — you will make your first STK Push request in under five minutes.