Skip to main content
Request a mobile money payment from a payer using your activated merchant account. The request returns a pending status; the payer must authorise the request on their phone. Never report a successful payment from the initiation response.

Prerequisites

Complete merchant setup and activation in the MasterID app before collecting payments. The Merchant ID alone does not activate collection. See the Go-live checklist.

Authentication

string
required
Your workspace API key.
string
required
Your workspace API secret.
string
required
Must be application/json.
string
required
Unique request identifier, 8-100 characters: letters, digits, or ._:-. Retry with the same key and identical body to avoid duplicates. See Idempotency.

Request body

string
required
Your Merchant ID. Must match the authenticated workspace’s merchant account.
string
required
Payer’s name. 2-120 characters.
string
required
Payer’s phone number. Must be a supported Uganda mobile money number (MTN or Airtel).
string
required
Payer’s address. 2-160 characters.
integer
required
Amount in UGX. Minimum 10,000, maximum 20,000,000.
string
required
Reason for the payment. 2-30 characters.

Response fields

string
required
API request ID.
object

Status codes

Never report a successful payment from the initiation response. It only confirms a pending collection request. Query GET /collections/:reference or wait for collection.completed webhooks for final status.
Payment requests have additional rate limits: 40 per workspace per hour and 200 per day; 3 per phone per 15 minutes, 8 per phone per workspace per day, and 10 per phone across MasterID per day. These are internal limits, not a guarantee of throughput.