Top-Up Methods

You can fund your wallet two ways:
MethodEndpointNotes
Mobile MoneyPOST /dashboard/wallet/topupCharges your mobile wallet via USSD
Card (Visa/MC)POST /dashboard/wallet/card-topup3DS authentication required
Top-up endpoints require dashboard session authentication (cookie-based JWT), not an API key. These are intended for use via the dashboard UI.

Mobile Money Top-Up

Charge a mobile money wallet to add funds to your RohoPay balance:
POST /dashboard/wallet/topup
Cookie: session={your_session}
Content-Type: application/json

{
  "phone": "256700123456",
  "amount": 100000,
  "currency": "UGX",
  "description": "Wallet top-up",
  "idempotency_key": "topup-uuid-here"
}
The user receives a USSD prompt on their phone. Once approved, the net amount is credited to the live wallet balance.

Card Top-Up

Top up using a Visa or Mastercard (goes through 3DS):
POST /dashboard/wallet/card-topup
Cookie: session={your_session}
Content-Type: application/json

{
  "amount": 200000,
  "currency": "UGX",
  "description": "Card wallet top-up",
  "card_number": "4111111111111111",
  "card_expiry": "10/26",
  "card_cvv": "123",
  "customer_name": "John Doe",
  "customer_email": "john@example.com",
  "return_url": "https://admin.yourdomain.com/dashboard/wallet"
}

Response

{
  "success": true,
  "data": {
    "transaction_id": "txn_01j2k3",
    "reference": "RHP-2024-TOPUP001",
    "status": "pending",
    "amount": 200000,
    "payment_url": "https://payments.rohopay.com/3ds/abc123"
  }
}
Redirect the user to payment_url to complete 3DS authentication. After completion, the net amount is credited to the wallet.

Minimum Top-Up Amounts

MethodMinimum
Mobile MoneyUGX 1,000
CardUGX 5,000

Dashboard Top-Up UI

The easiest way to top up is from the wallet section of your dashboard:
  1. Go to Dashboard → Wallet
  2. Click Top Up
  3. Choose Mobile Money or Card
  4. Enter the amount and payment details
  5. Approve the USSD prompt or complete 3DS
Balance updates in real-time after the payment webhook is received.