MojoPay Payments API
v1.0
Accept mobile money and bank transfers, issue virtual accounts, send payouts, and run direct
debits and subscriptions through one stable /v1 surface.
Introduction
The MojoPay Payments API lets you collect and disburse money over live mobile money and bank rails with one integration. Authenticate with OAuth client credentials, call the endpoints in the API reference, and treat signed webhooks as the source of truth for every payment outcome.
Base URL
All paths are relative to
https://omni.mojo-pay.com/v1. There is no separate sandbox host — new
merchants start in Testing mode on live rails until Go Live.
API credentials
Create API clients under Portal → Developers.
The
client_secret is shown once — store it in an environment variable, then exchange it
for a 20-minute Bearer token with POST /v1/oauth/token.
Integration paths
Pick the flow that matches your product; each card jumps to its endpoints.
Charge a wallet
You already have the phone number and network — charge mobile money directly, then fulfil on collection.succeeded or verify.
View endpoints →
Browser pay link
Create a session, redirect the customer to the MojoPay pay page, and fulfil on checkout_session.succeeded.
View endpoints →
Bank virtual accounts
Issue a merchant standing account, dedicated customer static accounts, or a one-order dynamic account with payment_rail=bank_transfer.
View endpoints →
Send money
Pay suppliers or customers to mobile money wallets or bank accounts from your payout wallet.
View endpoints →
Recurring debit
Create a mandate, wait for approval, then debit on your own schedule.
View endpoints →
Subscriptions
Enrol customers on plans you manage in the portal; Omni handles the first charge.
View endpoints →
Name checks
Confirm mobile money or bank account names before you pay someone out.
View endpoints →
Wallet & lookups
Check balances and load bank codes or mobile network codes at runtime.
View endpoints →