Skip to main content
Everything here runs in test mode: no real money moves and no real phone is asked to pay.
1

Get a test API key

Sign in to the dashboard, open API keys & webhooks and create a test key. It starts with sk_test_ and is shown once: store it on your server, for example in an environment variable.
2

Collect a payment

Ask a customer for 10 000 XAF by mobile money. The Idempotency-Key makes the request safe to retry: use your own order id.
The answer is the payin, waiting for the customer:
3

Play the customer

In live mode the customer approves on their phone. In test mode you do it:
The payin is now succeeded, and 9 700 XAF (10 000 minus the 300 fee) is in your test balance: check with GET /v1/balances.
4

Hear about it by webhook

Polling works, but webhooks are better: One Pay calls your server the moment a payment succeeds or fails. Add an endpoint in the dashboard, or:
Keep the secret from the answer (whsec_...): it is shown once, and you need it to check each webhook’s signature.

Next

Payins

Mobile money in Cameroon, bank transfers in Nigeria.

Webhooks

Signatures, retries and duplicates.

Payouts

Pay suppliers, riders and partners.

Going live

Verification, live keys and the checklist.