Skip to main content
POST
/
collection
/
mobile
Trigger a mobile (USSD) collection
curl --request POST \
  --url https://{gatewayHost}/api/collection/mobile \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "amount": 1000,
  "currency": "TZS",
  "payerPhone": "+255700000000",
  "fspId": "CLICKPESA",
  "transactionId": "ORDER_12345"
}
'
{
  "id": "LCPCATJHWWYQBY",
  "orderReference": "MMPFDM3YGNYPLM",
  "gatewayResponse": {
    "status": "PROCESSING",
    "channel": "AIRTEL-MONEY",
    "orderReference": "MMPFDM3YGNYPLM",
    "collectedAmount": "1000.00",
    "collectedCurrency": "TZS"
  }
}

Authorizations

Authorization
string
header
required

Bearer token from POST /generate-token. Expires ~1h; on 401, re-generate and retry once.

Body

application/json
amount
number
required

Collection amount. Minimum 1,000.

currency
string
required
Example:

"TZS"

payerPhone
string
required

Payer phone in international (E.164) format.

Example:

"+255700000000"

fspId
string
default:CLICKPESA
required

Currently CLICKPESA (covers Airtel Money, Mixx by Yas, Halotel). More FSPs coming soon; bank collections on request.

Example:

"CLICKPESA"

transactionId
string
required

Your unique reference; used to poll status and as the idempotency key.

Response

Collection initiated (a USSD prompt is sent to the payer)