Transfers — Mobile Money Payouts
Send funds via API to Mobile Money wallets across Africa — MTN MoMo, Orange Money, Wave, Airtel Money.
6 min read
Transfers is Wajub's payout API. Pay your sellers, refund your customers, or distribute earnings directly to a Mobile Money wallet, in a single call.
POST
https://api.wajub.com/transfersSupported providers
| Provider | Countries | Channel |
|---|---|---|
| MTN MoMo | CM, CI, BJ, GH, UG, RW | cm.mtn, ci.mtn, … |
| Orange Money | CM, CI, SN, ML | cm.orange, sn.orange, … |
| Wave | SN, CI | sn.wave, ci.wave |
| Airtel Money | KE, UG, TZ | ke.airtel, … |
A simple payout
Transfer operations are sensitive: the private key and an idempotency key are required.
POST
https://api.wajub.com/transferscurl https://api.wajub.com/transfers \
-H "Authorization: sk_test.xxxx" \
-H "Idempotency-Key: idmp_5f2a" \
-d '{ "amount": 100000, "currency": "XAF", "beneficiary": { "name": "Aminata Diallo", "channel": "cm.mtn", "phone": "+237670000000" } }'Response
{
"status": "Created",
"code": 201,
"transfer": { "id": "po_9Kdm2Lp", "status": "pending", "amount": 100000, "channel": "cm.mtn" }
}You can also reference an existing, previously-created beneficiary instead of an inline
object: "beneficiary": "ben_9Kdm2Lp".
Balance required
A payout debits the balance held by our licensed partner (collections
- deposits). Check it via
GET /balancebefore a large batch. There is currently no bulk/batch payout endpoint — submit transfers individually.
Payout lifecycle
A payout is asynchronous: it starts as pending, moves to processing, then resolves. On
failure, funds are automatically re-credited to the balance held by our licensed partner.
Transfer
pendingaccepted, not yet sentprocessingpayout in progresssucceededwebhook transfer.succeeded
Terminal statesfailedfunds re-creditedcancelledcancelled before completion