POST
/
payments
/
initiate-ussd-push-request
cURL
curl --request POST \
  --url https://api.clickpesa.com/third-parties/payments/initiate-ussd-push-request \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "amount": "<string>",
  "currency": "TZS",
  "orderReference": "<string>",
  "phoneNumber": "<string>",
  "checksum": "<string>"
}'
{
  "id": "<string>",
  "status": "PROCESSING",
  "channel": "<string>",
  "orderReference": "<string>",
  "collectedAmount": "<string>",
  "collectedCurrency": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "clientId": "<string>"
}

Authorizations

Authorization
string
header
required

Authorization header containing the JWT access token returned from the generate token endpoint. The token already includes the Bearer prefix. Example: Authorization: Bearer eyJhbGciOi...

Body

application/json
amount
string
required

Your payment amount

currency
enum<string>
required
Available options:
TZS
orderReference
string
required

Your unique Order reference

phoneNumber
string
required

Mobile phone number to receive USSD-PUSH and make payment, starting with country code and without the plus sign, e.g., 255712345678

checksum
string

If enabled, this is the generated checksum of the payload. Refer to the documentation for more details.

Response

Initiate USSD Push response

id
string

Unique identifier for the USSD-PUSH transaction

status
enum<string>

Current status of the transaction

Available options:
PROCESSING,
SUCCESS,
FAILED,
SETTLED
channel
string

Payment channel used for the transaction (e.g., TIGO-PESA, M-PESA, AIRTEL-MONEY)

orderReference
string

Your unique Reference identifier for the order

collectedAmount
string

Amount collected from the transaction

collectedCurrency
string

Currency of the collected amount (e.g., TZS)

createdAt
string<date-time>

Timestamp when the transaction was created

clientId
string

Application Client ID associated with the payment