Guides

Make every shilling clear.

Understand the wallet principal, phone charge, recipient amount and fees before creating a payment.

What amount means

All current payment operations use UGX. Send amounts as decimal strings, such as "500.00", rather than JSON numbers or binary floating-point values.

FieldCollectionDisbursement
amountWallet principal to receive.Amount the recipient receives.
feeAdded to the payer’s charge.Added to the wallet’s debit.
gross_amountTotal payer charge.Total wallet debit.
Explicit fieldspayer_charge, wallet_creditrecipient_amount, wallet_debit

Collections round the total charge up

The requested principal is preserved. The collection fee is calculated to two decimals, then principal plus fee is rounded up to a whole shilling. The actual fee equals the rounded total minus the principal.

Example principalIllustrative fee at 3.9%Total phone charge
UGX 500.00UGX 20.00UGX 520.00
UGX 500.25UGX 19.75UGX 520.00

Use the quote endpoint for the current configured fee. Show the actual total to the payer before requesting approval.

Payouts use whole UGX

The disbursement principal must be a whole-shilling amount, such as "500.00". Fractional-shilling payouts are rejected before a debit or dispatch. The available wallet balance must cover the principal and fee.

Limits and quote validity

The current principal ceiling is UGX 5,000,000 per payment. A quote checks amount rules and returns current prices, but does not reserve funds, lock a future fee, or guarantee live provider availability.

Made for builders. Built in Uganda.NuePay API v1

Search endpoints, guides and examples.