Mobile Money - MOMO
Mobile money is an e-wallet payment method in Africa which allows you to accept payments from your customers with their mobile money wallets
Mobile Money payment method is available to customers in Ghana, Kenya, Uganda, Tanzania, Senegal, Burkina Faso, Ivory Coast, Cameroon, and Mali
Before you begin
Ensure you have your public key. You can find this on the SeerBit Merchant dashboard under accounts > api keys. If you don’t have an account with us yet, you can create a test account now
How it works
- To initiate a mobile money transaction, make a request to the mobile money service with the payments/initiates endpoint.
- When the request is made you are expected to get a "Transaction in progress" response with a code INP from SeerBit.
- Once the customer authorises the transaction from his mobile device, you will be notified via webhook with the final status of the transaction or requery the verify payment enpoint.
- Verify the payment
Initializing a MOMO Payment
For the full specification, see our API Reference
Request Sample
The code snippet below shows an example request for generating a payment link to complete a payment
1curl --location 'https://seerbitapi.com/api/v2/payments/initiates' \
2--header 'Content-Type: application/json' \
3--header 'Authorization: Bearer YOUR_ENCRYPTION_KEY' \
4--data-raw '{
5 "fullName":"FirstName LastName",
6 "email":"firstname@mail.com",
7 "mobileNumber":"23309494949498",
8 "publicKey":"merchant_publicKey",
9 "paymentReference": "MOMOTYTSF4VA",
10 "deviceType":"nokia 3310",
11 "sourceIP":"1.0.1.0",
12 "currency": "UGX",
13 "productDescription": "snacks",
14 "country": "UG",
15 "fee": "1.00",
16 "network":"MTN",
17 "voucherCode":"",
18 "amount": "10.01",
19 "paymentType": "MOMO"
20}'
1var request = require('request');
2var options = {
3 'method': 'POST',
4 'url': 'https://seerbitapi.com/api/v2/payments/initiates',
5 'headers': {
6 'Content-Type': 'application/json',
7 'Authorization': 'Bearer YOUR_ENCRYPTION_KEY'
8 },
9 body: '{ \n "fullName":"FirstName LastName",\n "email":"firstname@mail.com",\n "mobileNumber":"23309494949498",\n "publicKey":"merchant_publicKey",\n "paymentReference": "MOMOTYTSF4VA",\n "deviceType":"nokia 3310",\n "sourceIP":"1.0.1.0",\n "currency": "UGX",\n "productDescription": "snacks",\n "country": "UG",\n "fee": "1.00",\n "network":"MTN",\n "voucherCode":"",\n "amount": "10.01",\n}'
10
11};
12request(options, function (error, response) {
13 if (error) throw new Error(error);
14 console.log(response.body);
15});
1<?php
2
3$curl = curl_init();
4
5curl_setopt_array($curl, array(
6 CURLOPT_URL => 'https://seerbitapi.com/api/v2/payments/initiates',
7 CURLOPT_RETURNTRANSFER => true,
8 CURLOPT_ENCODING => '',
9 CURLOPT_MAXREDIRS => 10,
10 CURLOPT_TIMEOUT => 0,
11 CURLOPT_FOLLOWLOCATION => true,
12 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
13 CURLOPT_CUSTOMREQUEST => 'POST',
14 CURLOPT_POSTFIELDS =>'{
15 "fullName":"FirstName LastName",
16 "email":"firstname@mail.com",
17 "mobileNumber":"23309494949498",
18 "publicKey":"merchant_publicKey",
19 "paymentReference": "MOMOTYTSF4VA",
20 "deviceType":"nokia 3310",
21 "sourceIP":"1.0.1.0",
22 "currency": "UGX",
23 "productDescription": "snacks",
24 "country": "UG",
25 "fee": "1.00",
26 "network":"MTN",
27 "voucherCode":"",
28 "amount": "10.01",
29 "paymentType": "MOMO"
30}',
31 CURLOPT_HTTPHEADER => array(
32 'Content-Type: application/json',
33 'Authorization: Bearer YOUR_ENCRYPTION_KEY'
34 ),
35));
36
37$response = curl_exec($curl);
38
39curl_close($curl);
40echo $response;
Response Sample
The code snippet below shows an example request for generating a payment link to complete a payment
1{
2 "status": "SUCCESS",
3 "data": {
4 "code": "INP",
5 "payments": {
6 "paymentReference": "O67456S537798799QWEWAT0MPTYP",
7 "linkingReference": "CF323190231596441884237"
8 },
9 "message": "Kindly Enter Otp"
10 }
11}
Current providers for MOMO providers are : MTM, Airtel/Tigo and Vodafone
Testing MOMO Payment
Create a MOMO transaction following the steps above.
Numbers and OTP
Number:
23309494949494
23309494949495
OTP:
349275
Number only OTP not required
Number:
23309494949494
23309494949495
Need something else?
If you have any questions or need general help, visit our support page
Signup for developer update
You can unsubscribe at any time. Read our privacy policy.