Skip to main content
POST
Initiate USSD Push

Overview

Sends a USSD push prompt to the customer’s phone, asking them to authorize a payment from their mobile money wallet. Supports M-Pesa, Airtel Money, Halopesa, Mixx by Yas.

Request Headers

string
required
Bearer token for authentication. Format: Bearer <token>
string
default:"application/json"
Expected response format. Use application/json.
string
default:"application/json"
Format of the request body. Use application/json.
string
required
A unique key to ensure idempotent requests.

Request Body

integer
required
Amount to charge in the specified currency, the minimum amount varies, the standard minimum is 1000 TZS, while some networks i.e Airtel Money may support as low as 500 TZS
string
required
Currency code (e.g., TZS)
string
required
Customer’s phone number (e.g., 07XXXXXXXX)
object
Arbitrary key-value pairs for your reference. Maximum of 3 items, each less than 100 characters.

Example Request

Response

boolean
required
Indicates whether the payment was initiated successfully.
string
required
A human-readable status message.
string
required
A unique UUID identifying the transaction.
string
required
The payment channel used (e.g. AIRTEL-MONEY, HALOPESA).
object
required
The transaction amount details.
object
Additional key-value pairs passed during the request.
The customer will receive a USSD prompt on their phone to confirm the payment. Ensure the phone number matches an active mobile money account.