Uganda mobile money
This page describes how to accept payments from Ugandan mobile money wallets
Flutterwave allows Ugandan merchants to accept payment from customers through their mobile money wallets.
Pre-requisites for accepting payments with mobile money in Uganda.
-
Sign-up for an account here .
-
Set up a webhook to get notified on payments, to see more on webhooks visit the Webhook section.
-
When trying to accept payment on a website you can use our Flutterwave inline method and pass
currency
asUGX
andtype
asmobile_money_uganda
, once you do this, the payment options for Uganda mobile money will be enabled on your checkout page. -
If you would prefer to accept payments using our APIs please see how to accept mobile money payments via APIs.
-
After getting a response for the transaction, call the Transaction verification endpoint to confirm the final status of the transaction.
Step 1 - Initiate payment
Send your payload to our charge endpoint: https://api.flutterwave.com/v3/charges?type=mobile_money_uganda
Method: POST
{
"tx_ref":"MC-1585230950508",
"amount":"1500",
"email":"[email protected]",
"phone_number":"054709929220",
"currency":"UGX",
"redirect_url":"https://rave-webhook.herokuapp.com/receivepayment",
"network":"MTN"
}
Parameter Definition
Parameter | Required | Description |
---|---|---|
tx_ref | True | This is a transaction reference you supply to identify different transactions on your account. It is important to ensure that you pass unique references for every transaction. |
amount | True | This is the amount to be charged. It is passed in UGX - ('amount':'100'). |
currency | True | This is the specified currency to charge in. (expected value: UGX) |
True | This is the email address of the customer. | |
phone_number | True | This is the phone number linked to the customer's mobile money account. |
client_ip | False | Internet Protocol. This represents the current IP address of the customer carrying out the transaction. |
device_fingerprint | False | This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used. |
meta | False | This is an object you can use to include any additional payment information you would like to associate with this charge |
network | False | This is the customer's mobile money network provider. e.g MTN |
redirect_url | False | A redirect url to launch when payment is successful. g.e https://rave-webhook.herokuapp.com/receivepayment |
Payment Response
When you send your payload to our charge endpoint to make a payment, you'll get a successful response if it all goes well.
{
"status": "success",
"message": "Charge initiated",
"meta": {
"authorization": {
"redirect": "https://ravemodal-dev.herokuapp.com/captcha/verify/141:f609a38ea3914ef9e5ca32d3cdd5758e",
"mode": "redirect"
}
}
}
Step 2 - Redirect customer to the link returned in the charge call
When we return the link in the response, you are required to redirect your customers to that link data.meta.authorization.redirect
to complete the transaction on our modal.
On the link, your customers will be require to provide an OTP sent to their phone numbers for verification.
On test mode, the mock OTP is 123456
Step 3 - Get transaction notification
Once the transaction is completed, If you provided a redirect URL, the page will redirect to your redirect URL. If not, a webhook will be sent to your provisioned hook URLs.
Verify payment
After charging a customer successfully, you need to verify that the payment was successful with Flutterwave before giving value to your customer on your website.
Check our Transaction verification section for implementation instructions
Updated about 2 years ago