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).
Yes
currency
string
Currency.e.g KES, TZS, UGX, etc.
Yes
description
string
Your order description.
Yes
channel
numeric
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
Channel Codes
Channel Code
Name
Currency
100000
MOBILE MONEY - KENYA
KES
300001
MOBILE MONEY - TANZANIA
TZS
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.