Top-Up Methods
You can fund your wallet two ways:
| Method | Endpoint | Notes |
|---|
| Mobile Money | POST /dashboard/wallet/topup | Charges your mobile wallet via USSD |
| Card (Visa/MC) | POST /dashboard/wallet/card-topup | 3DS 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
| Method | Minimum |
|---|
| Mobile Money | UGX 1,000 |
| Card | UGX 5,000 |
Dashboard Top-Up UI
The easiest way to top up is from the wallet section of your dashboard:
- Go to Dashboard → Wallet
- Click Top Up
- Choose Mobile Money or Card
- Enter the amount and payment details
- Approve the USSD prompt or complete 3DS
Balance updates in real-time after the payment webhook is received.