-
Notifications
You must be signed in to change notification settings - Fork 0
Home:
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