Skip to content
Nicholas Babu edited this page Feb 11, 2019 · 6 revisions

Welcome to the php-mpesa wiki!

Code examples when making STKPush requests

<?php //START OF php FILE 1

use Flaircore\Mpesa\Logger\MpesaLogger;
use Flaircore\Mpesa\MpesaConfigs;
use Flaircore\Mpesa\MpesaItem;
use Flaircore\Mpesa\Requests\stkPush;
//Load up you objects with the relevant details
 $mpesaConfigs = new MpesaConfigs();
 $mpesaConfigs->setConsumerKey('your consumer key');
 $mpesaConfigs->setConsumerSecret('your consumer secret);
 $mpesaConfigs->setPassKey('your passkey');
 $mpesaConfigs->setEnviroment('sandbox');#sandbox or live
$mpesaItem = new MpesaItem($mpesaConfigs);
$mpesaItem->setBusinessShortCode('your business shortcode');
$mpesaItem->setTransactionType('CustomerPayBillOnline');
$mpesaItem->setAmount('Amountin Kshs');#just the number '100'
$mpesaItem->setPartyA('2547********'); #2547********
$mpesaItem->setPartyB($mpesaItem->getBusinessShortCode());
$mpesaItem->setPhoneNumber('2547********');
$mpesaItem->setCallBackURL('https://mysite/my-secret-secure-url/');
$mpesaItem->setAccountReference('Product Title');
$mpesaItem->setTransactionDesc('Product EntityID 111');
$mpesaRequest = new stkPush($mpesaConfigs, $mpesaItem);
try {
$mpesaRequest->mpesaSTKPush();
} catch (\Throwable $error) {
  echo 'Failed to send stkPush request! '.$error->getMessage();
}
/**
 * During development, you may wish to log your requests/responses below
 * check in your root directory /mpesa_request_logs/{log files in here}
 * NOTE $mpesaRequest->mpesaSTKPush() returns Json data
 */
$logger = new MpesaLogger();
$logger->logResponse('name_of_your_log_file.log', $mpesaRequest->mpesaSTKPush());
// End of php FILE 1

In your callback url use stkPushResponse class `\Flaircore\Mpesa\Responses\stkPushResponse'

<?php // START of php FILE 2

/**
 * This file serves 'https://mysite/my-secret-secure-url/'
 * from the above request
 */
use Flaircore\Mpesa\Responses\stkPushResponse;
use Flaircore\Mpesa\Logger\MpesaLogger;
$mpesaResponse = new stkPushResponse();
$stkCallbackResponse = $mpesaResponse->stkPushResponseData(); //Json data
/**
 * If developing, log your response(s) and and choose what to do with that data
 */
$logger = new MpesaLogger();
$logger->logResponse('stkResponseCallBack.log', $stkCallbackResponse);
// End of php file 2

Clone this wiki locally