This API enables your business to seamlessly accept mobile money payments through mobile channels across multiple countries. It provides a reliable and secure payment processing solution that allows businesses to receive funds from customers using various mobile money services.
Purpose: Accept mobile money payments from customers in multiple countries and currencies.
Target Audience: Merchants, fintechs, and developers integrating mobile money payments.
Quickstart: Mobile Money Deposit
Obtain your Bearer Token and generate the required signature.
Send a POST request to the deposit endpoint with the required parameters.
Parse the response to get the transaction status and details.
Endpoint Reference
HTTP Method
POST
Endpoint URL
/api/v2/payment/
Base URL
https://base-url-here.com
Description
Initiate a mobile money deposit from a customer to your business wallet.
Request Body
Field
Type
Description
Required
wallet_no
string
Business wallet account number assigned.
Yes
reference
string
Order reference, unique per request.
Yes
acc_name
string
Customer name.
Yes
email
string
Customer email.
Yes
acc_no
string
Customer Mobile Money registered phone number. Format: {countryCode=254}{phone=7XXXXXXXX} e.g. 2547XXXXXXXX
Yes
amount
numeric
Order amount to be paid (no commas as thousands separator).
Channel unique code. e.g. 100000 for M-PESA-KENYA. See table below for channel codes.
Yes
result_url
string
URL to your server for callback response.
Yes
telco
string
Mobile network operator name (e.g. "orange", "mtn", "moov", "wave"). Required for Cameroon, Senegal, Ivory Coast, Mali, DRC, and Benin.
Conditional
Channel Codes
Channel Code
Name
Currency
100000
MOBILE MONEY - KENYA
KES
300001
MOBILE MONEY - TANZANIA
TZS
300011
MOBILE MONEY - UGANDA
UGX
800017
MOBILE MONEY - BENIN *
XOF
230000
MOBILE MONEY - MALAWI
MWK
910001
MOBILE MONEY - RWANDA
RWF
260000
MOBILE MONEY - ZAMBIA
ZMW
210000
MOBILE MONEY - BOTSWANA
BWP
250000
MOBILE MONEY - BURKINA FASO
XOF
800009
MOBILE MONEY - CAMEROON *
XAF
280000
MOBILE MONEY - CENTRAL AFRICAN REPUBLIC
XAF
290000
MOBILE MONEY - CHAD
XAF
310000
MOBILE MONEY - CONGO BRAZZAVILLE
XAF
800011
MOBILE MONEY - DRC *
CDF
330000
MOBILE MONEY - EGYPT
EGP
340000
MOBILE MONEY - EQUATORIAL GUINEA
XAF
350000
MOBILE MONEY - GABON
XAF
360000
MOBILE MONEY - GAMBIA
GMD
370000
MOBILE MONEY - GHANA
GHS
380000
MOBILE MONEY - GUINEA
GNF
390000
MOBILE MONEY - GUINEA BISSAU
XOF
800003
MOBILE MONEY - IVORY COAST *
XOF
420000
MOBILE MONEY - LESOTHO
LSL
800007
MOBILE MONEY - MALI *
XOF
440000
MOBILE MONEY - MAURITANIA
MRU
450000
MOBILE MONEY - MOZAMBIQUE
MZN
460000
MOBILE MONEY - NIGER
XOF
300041
VIRTUAL ACCOUNTS - NIGERIA
NGN
300044
CHECKOUT PAYMENT LINKS - NIGERIA
NGN
300045
OPAY & PALMPAY - NIGERIA
NGN
800005
MOBILE MONEY - SENEGAL *
XOF
490000
MOBILE MONEY - SIERRA LEONE
SLL
500000
MOBILE MONEY - SOUTH AFRICA
ZAR
510000
MOBILE MONEY - TOGO
XOF
910003
MOBILE MONEY - BURUNDI
BIF
180003
MOBILE MONEY - ZIMBABWE
ZWG
* Note for Cameroon, Senegal, Ivory Coast, Mali, DRC, and Benin: These countries require an additional telco field in the request body to specify the mobile network operator. Accepted values include: orange, mtn, moov, wave, vodacom, airtel (depending on the country).
Note for Burundi (Channel 910003): After a transaction request is initiated, the following process occurs on the client side. Once the transaction is created, the customer receives an SMS notification requesting transaction approval.
Example notification: "You received a request of approval at 10:00 10/10/2025 for cash-out 1,000 FBu from xxxx Burundi, code: 101010. Fee: 0 FBu. This request will expire in 4 minutes. Please dial *163# and choose option 2 to approve it. TransCode: 23145678945000 Thank you."
The user needs to perform actions from SMS to complete the transaction.
Request Headers
Header
Type
Description
Required
Authorization
string
Bearer token used to access the API
Yes
Signature
string
SHA-256 signature. Concatenate channel+reference+currency+amount, sign with your private key, and Base64 encode.