An easy script to interact with Safaricom's MPESA API
# MPESA-API-Library
An easy script to interact with Safaricom's MPESA API
Important: Obtain your Merchant ID and Pass Key when you register for MPESA API with Safaricom.
Online checkout (Lipa Na M-Pesa) is Safaricom's "Web service for integrating the M-Pesa Checkout API to a merchant site. The overall scope of this Web service is to provide primitives for application developers to handle checkout process in a simple way."
-- Define your ENDPOINT , CALLBACK_URL , CALL_BACK_METHOD , PAYBILL_NO , TIMESTAMP and PASSWORD
config.php
include_once './MPESA.php';
define('ENDPOINT', '
safaricom.co.ke');
define('CALLBACK_URL', 'your callack URL here');
define('CALL_BACK_METHOD', 'POST');
define('PAYBILL_NO', '898998');//test paybill number
define('TIMESTAMP', '20160510161908');
define('PASSWORD', 'ZmRmZDYwYzIzZDQxZDc5ODYwMTIzYjUxNzNkZDMwMDRjNGRkZTY2ZDQ3ZTI0YjVjODc4ZTExNTNjMDA1YTcwNw==');
//$TIMESTAMP = date("YmdHis",time());
//$PASSKEY = "your SAG password"
/* NB : PASSWORD MUST BE OBTAIN FROM THE BELOW FORMAT
$PASSWORD = base64_encode(hash("sha256", $MERCHENTS_ID.$PASSKEY.$TIMESTAMP ,True)); */
$mpesa = new MPESA(ENDPOINT, CALLBACK_URL, CALL_BACK_METHOD, PAYBILL_NO, TIMESTAMP, PASSWORD);
index.php
if (isset($_POST['amount'], $_POST['number'])) {
$AMOUNT = $_POST['amount'];
$NUMBER = $_POST['number']; //format 254700000000
$PRODUCT_ID = $_POST['item'];
//init MPESA class
$mpesa->setProductID($PRODUCT_ID);
$mpesa->setAmount($AMOUNT);
$mpesa->setNumber($NUMBER);
$mpesa->init();
}
#
checkout.php
Amount:
Phone Number:
Pay via MPESA:
Check out
This sample uses a real Paybill number it makes real transactions. Hence encouraged to test with the lowest amount 10/=