Introduction
One API for collections and payouts across Rwanda, Uganda and the EU.
InversePay moves money in and out of mobile money wallets and bank accounts in Rwanda and Uganda, and into the euro area. You call one endpoint to collect and one to pay out; we choose the rail from the corridor.
What that means for your integration
You never name a partner. A charge in Rwandan francs and one in Ugandan shillings are the same request to you and different partners to us, and which partner carries which corridor is a routing table on our side — not a release of your app. It changes more often than you would think: a corridor usually has a second rail behind the first, and a payment that one partner cannot take is re-routed rather than failed.
Quickstart
A test key to a settled charge, in about ten minutes.
Sandbox
Test keys, simulated rails, and amounts that fail on purpose.
Authentication
API keys, scopes, and what a key may never do.
Pay somebody
Wallets, bank accounts and billers, in every corridor we serve.
Save a recipient
Name-checked and screened before a franc moves.
API reference
Generated from the running API, so it cannot drift.
Which direction are you going?
Money in is a charge or a payment
link, and an API key with payments:write can raise one.
Money out is a payout — to a wallet, a bank account or a biller, one at a time or in bulk. Raising one is a person's act: an API key can read payouts but never create one.
The shape of everything
Amounts are minor units. 5,000 RWF is 500000. Nothing in the API accepts a
decimal amount, because a decimal amount is a rounding argument waiting to
happen.
Writes need an idempotency key. Send the same key again and you get the original object back, not a second one. This is how you retry safely after a timeout, which is the only sane thing to do when you did not hear our answer.
Test and live never mix. A test key cannot see live data and a live key cannot see test data — including idempotency keys, so the order references you used while building do not collide with the real ones later.