Mobile Money is Uganda's payment backbone — and SMS is its voice

Uganda has one of Africa's highest Mobile Money penetration rates. Over 18 million Ugandans use MTN Mobile Money or Airtel Money as their primary financial tool. Every deposit, withdrawal, transfer, and payment triggers a moment where your customer expects a message.

If you run a business that accepts Mobile Money — an online shop, SACCO, school, delivery company, or marketplace — SMS transaction notifications are not optional. They build trust, reduce disputes, and improve customer retention.

Here's how to set them up.

What MoMo SMS notifications look like in practice

Every great Mobile Money notification answers four questions: what happened, how much, who, and when.

Payment received: UGX 150,000 from John Doe (0772123456) on 30/06/2026 at 10:45am. Ref: TXN8821. Balance: UGX 450,000. — MYBIZ

That single SMS eliminates the most common customer service call in Uganda: "I sent money, did you receive it?"

The 6 Mobile Money SMS notifications every business needs

1. Payment received confirmation

Sent to your customer immediately when their payment lands in your account.

Hi John, we have received your payment of UGX 80,000 for Order #1042. Your order is now confirmed and will be processed today. — CAFEJAVA

2. Payment pending alert

Sent when a Mobile Money payment is initiated but not yet confirmed (common with Airtel Money delays).

Hi Mary, we have received a pending payment of UGX 50,000 from your number. Your order will be confirmed once the payment clears (usually under 5 minutes). — CAFEJAVA

3. Payment failure notification

Sent when a payment attempt fails — common when the sender's balance is insufficient.

Hi Peter, your payment of UGX 50,000 was unsuccessful. Please check your MoMo balance and try again, or contact us on 0772727716. — CAFEJAVA

4. Withdrawal or disbursement confirmation

For fintechs, SACCOs, or marketplaces paying out to users.

UGX 250,000 has been sent to your MTN MoMo (0712345678). If not received within 5 minutes, call us. Ref: OUT5521. — SANGOSACCO

5. Low balance alert for your business wallet

Internal SMS to your admin when your business Mobile Money wallet runs low.

ALERT: Your CAFEJAVA MoMo business wallet balance is UGX 50,000 — below the UGX 100,000 threshold. Please top up. — System

6. End-of-day reconciliation summary

A daily SMS to your finance team summarising collections.

Daily Summary 30 June: 47 payments received. Total: UGX 2,350,000. Failed: 3. Refunds: 1 (UGX 80,000). Net: UGX 2,270,000. — CAFEJAVA System

How to integrate Mobile Money payment SMS via Yoola SMS API

Step 1: Set up a MoMo webhook listener

MTN Uganda and Airtel Money both offer payment callbacks (webhooks) — a URL on your server that they call when a payment is made to you. Register your webhook URL in your MoMo merchant dashboard.

Step 2: Parse the webhook and fire SMS

Here's a complete PHP example:

<?php
// webhook.php — receives MoMo payment callbacks
$payload = json_decode(file_get_contents('php://input'), true);

if ($payload && $payload['status'] === 'SUCCESSFUL') {
    $amount     = number_format($payload['amount']);
    $sender     = $payload['payer_name'] ?? 'Customer';
    $senderPhone= $payload['payer_msisdn'];
    $ref        = $payload['transaction_id'];
    $time       = date('d/m/Y H:i', strtotime($payload['created_at']));
    
    // Notify your customer
    $customerMessage = "Hi {$sender}, payment of UGX {$amount} received. "
        . "Ref: {$ref}. Thank you for shopping with us! — CAFEJAVA";
    
    // Notify your admin
    $adminMessage = "NEW PAYMENT: UGX {$amount} from {$sender} ({$senderPhone}). "
        . "Ref: {$ref} at {$time}.";
    
    // Send both via Yoola SMS
    sendSMS($senderPhone, $customerMessage);
    sendSMS(ADMIN_PHONE, $adminMessage);
    
    // Save to database
    saveTransaction($payload);
}

function sendSMS($phone, $message) {
    $ch = curl_init('https://yoolasms.com/api/v1/send.php');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => json_encode([
            'api_key' => YOOLA_API_KEY,
            'phone'   => $phone,
            'message' => $message,
            'sender'  => 'CAFEJAVA'
        ]),
        CURLOPT_HTTPHEADER      => ['Content-Type: application/json'],
        CURLOPT_RETURNTRANSFER  => true
    ]);
    $result = curl_exec($ch);
    curl_close($ch);
    return json_decode($result, true);
}
?>

MTN MoMo vs Airtel Money — notification differences

FeatureMTN MoMoAirtel Money
Webhook supportYes (MTN MoMo API)Yes (Airtel Money API)
Typical callback delay2–5 seconds5–20 seconds
Sandbox environmentYesYes
Documentation qualityGoodAverage
Merchant registrationOnlineBranch visit required

Compliance note

Payment notification SMS is classified as transactional — it can be sent 24/7, does not require opt-in, and is exempt from the 9am–9pm promotional SMS restriction. Always use a dedicated transactional sender ID for financial notifications.

Ready to automate your payment notifications?

Yoola SMS API is free — you only pay per SMS sent. Get your API key in 60 seconds.

Get your free Yoola SMS API key →