Introduction
The NamibraPay API gives your product first-class access to Ghana's payment rails — mobile money collections, bank payouts, hosted checkout and more — through one clean, predictable REST API.
Every resource is exposed as a JSON endpoint under a single base URL, authenticated with a pair of API keys. Whether you are charging an MTN MoMo wallet, sending a payout to a bank account, or hosting a checkout page for your store, the API follows the same conventions — so once you make your first request, you already know how to make the rest.
How it works
NamibraPay sits between your application and Ghana's payment providers (mobile money networks and banks). You talk to one API; we handle provider routing, fees, settlement, retries and reconciliation.
- Create a transaction — charge a momo wallet directly, send the customer to our hosted checkout, or share a payment link.
- We process it — the request is routed to the right provider and settled into your NamibraPay balance.
- You get notified — a signed webhook tells your server the moment the transaction succeeds, fails or is reversed. You can also poll the verify endpoint at any time.
What you can build
- Collections — debit MTN MoMo, Telecel Cash, AirtelTigo Money wallets and bank accounts directly from your server.
- Hosted checkout — redirect customers to a payment page we host and maintain; we hand them back to you when they're done.
- Payouts — send money to any Ghanaian bank account or mobile money wallet, with name-checking before funds leave.
- Payment links — spin up shareable hosted payment pages from the API. Perfect for invoices, donations and quick sales.
- Virtual accounts — issue dedicated bank accounts so customers can pay you by direct transfer.
- Subscriptions — bill customers on a schedule with plans and recurring charges.
Base URL
All endpoints in this documentation are relative to:
https://api.namibrapay.com/api/v1For example, the verify endpoint isGET https://api.namibrapay.com/api/v1/transactions/{reference}.
Test and live environments
Every merchant gets two sets of API keys — test and live — and the key pair you send determines the environment. Transactions created with test keys never move real money and are settled in simulated balances, while live keys require your compliance (KYC) application to be approved first.
Keep your keys scoped
Response format
The API speaks JSON everywhere. Successful responses are wrapped in a success envelope; failures carry a stable machine-readable code you can branch on. See Errors for the full catalogue.
{
"success": true,
"data": { ... },
"message": "optional human-readable message"
}