PesaBridge API
The PesaBridge Partner API lets you collect and move money from your own systems — prompt-to-pay (PesaBridge Express / STK Push), customer-to-business (C2B), transaction status and account balance — over a clean, predictable REST interface with HMAC-signed webhooks. This reference is public; you don't need an account to read it.
If you can make an HTTPS request and receive a webhook, you can integrate — no SDK required. To build, sign in to the Developer portal for sandbox keys, a live API console, C2B registration and a one-click go-live request.
Base URL
Every endpoint lives under your operator's base URL. Throughout these docs we write it as:
https://<your-operator>/api/bridgepay/v1Replace <your-operator> with the host your operator gave you (e.g. pesabridge.mybridgeerp.com). The path and contract are identical across operators and environments.
Environments
Environment | Money | Credentials | Keys |
|---|---|---|---|
Sandbox | Simulated — nothing real moves | Test keys, issued instantly |
|
Production | Real | Live keys, after a short go-live review |
|
The two environments are isolated: sandbox keys never touch real money, live keys never touch sandbox data.
Response envelope
Every response — success or error — uses the same envelope, so you can handle them uniformly:
Success
{
"status": "ok",
"data": { /* endpoint-specific payload */ }
}Error
{
"status": "error",
"message": "Human-readable reason",
"code": "invalid_request"
}Conventions
Field | Type | Required | Description |
|---|---|---|---|
Authorization | header | yes | Every call except |
Content-Type | header | yes | Requests and responses are |
amount | number | — | Plain number in the account currency (e.g. |
msisdn | string | — | Full international format, no plus: |
idem | string | — | Idempotency key on money-moving calls so retries never double-charge. |
timestamps | string | — | ISO-8601 with timezone, e.g. |
At a glance
Capability | Endpoint | Direction |
|---|---|---|
Checkout & Pay button |
| Collect (hosted) |
PesaBridge Express (STK Push) |
| Collect (you initiate) |
C2B pay-ins |
| Collect (customer initiates) |
Transaction status |
| Read |
Account balance |
| Read |
App profile |
| Read |
Webhook config |
| Configure |
Where to go next
Quickstart — your first payment in five minutes.
Checkout & Pay button — accept money with a one-line embed.
Authentication — get an access token.
PesaBridge Express (STK Push) and C2B — initiate or receive collections.
Webhooks — receive results securely.

