This endpoint enables you to initiate an MPESA STK Push request to a customer number to receive payments to your linked payment channel
Easily initiate an MPESA STK Push request to a customer's phone, facilitating seamless mobile payments. You can link your own Till Number, Pay bill Number or Bank Account. By using this endpoint, you can automate payment requests, streamline the payment process, and easily track transactions through DarajaPay's centralized system. This feature is designed to enhance payment efficiency for businesses and individuals using MPESA services.
https://darajapay.com/api/v1/mpesa/stkpush
| Name | Type | Description |
|---|---|---|
| Authorization:* | String | Basic basicAuthToken |
| Name | Type | Description |
|---|---|---|
| amount* | Integer | Eg: 100 |
| phone_number* | String | Eg: 0787677676 |
| channel_id* | Integer | Your registered payment channel ID eg: 133 Can be found by logging in, under the Payment Channels menu, then My Payment Channels. |
| provider* | String | Value: m-pesa |
| external_reference | String | Your unique reference to track this transaction Eg: INV-009 |
| customer_name | String | Customer name : Optional |
| callback_url | String | Your endpoint URL that we will use to send payment status response eg: https://example.com/callback.php |
201: Created Upon successful request, you will get below JSON response
{
"success": true,
"status": "QUEUED",
"reference": "E8UWT7CLUW",
"CheckoutRequestID": "ws_CO_15012024164321519708344109"
}
'https://darajapay.com/api/v1/mpesa/stkpush/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"amount": 10,
"phone_number": "0798766765",
"channel_id": 911,
"provider": "m-pesa",
"external_reference": "INV-009",
"customer_name":"John Doe",
"callback_url": "https://example.com/callback.php"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Basic 3A6anVoWFZrRk5qSVl0MGNMOERGMlR3dlhrQ0VWUWJHNDVVVnNaMEdDSw=='
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
This represents the JSON that will be sent to your request callback_url. It contains the ExternalReference that you provided in the request and CheckoutRequestID that was returned in the request response. You can use these to track and update your payments in your system/app.
{
"forward_url": "",
"response": {
"Amount": 10,
"CheckoutRequestID": "ws_CO_14012024103543427709099876",
"ExternalReference": "INV-009",
"MerchantRequestID": "3202-70921557-1",
"MpesaReceiptNumber": "SAE3YULR0Y",
"Phone": "+254709099876",
"ResultCode": 0,
"ResultDesc": "The service request is processed successfully.",
"Status": "Success"
},
"status": true
}