1. Go to this page and download the library: Download keenops/laravel-mpesa library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
keenops / laravel-mpesa example snippets
namespace App\Http\Controllers;
use Keenops\Mpesa\Mpesa;
class CheckoutController extends Controller
{
public function checkout()
{
return Mpesa::c2b(
amount: '1000',
customerNumber:'255746277553',
serviceCode: '000000',
reference: 'T12344Z',
description: 'Three items',
conversationId: '1e9b774d1da34af78412a498cbc28f43e'
);
//this returns json response from M-Pesa API. Refer the link https://openapiportal.m-pesa.com/ for error and success codes
}
}
namespace App\Http\Controllers;
use Keenops\Mpesa\Mpesa;
class PayoutController extends Controller
{
public function sendMoney()
{
return Mpesa::b2c(
amount: '1000',
customerNumber: '255746277553',
serviceCode: '000000',
reference: 'REF123456',
description: 'Payment for services',
conversationId: 'b2c12345678xyz'
);
// Returns JSON response from M-Pesa API.
}
}
namespace App\Http\Controllers;
use Keenops\Mpesa\Mpesa;
class TransferController extends Controller
{
public function transfer()
{
return Mpesa::b2b(
senderCode: '000001',
receiverCode: '000002',
amount: '50000',
reference: 'B2BRef001',
description: 'Supplier payment',
conversationId: 'b2bconv112233'
);
// Returns JSON response from M-Pesa API.
}
}
namespace App\Http\Controllers;
use Keenops\Mpesa\Mpesa;
class ReversalController extends Controller
{
public function reverseTransaction()
{
return Mpesa::reverse(
amount: '1000',
serviceProviderCode: '000000',
conversationId: 'revConv778899',
transactionId: 'Trans123456789'
);
// Returns JSON response from M-Pesa API.
}
}
namespace App\Http\Controllers;
use Keenops\Mpesa\Mpesa;
class StatusController extends Controller
{
public function checkStatus()
{
return Mpesa::transactionStatus(
queryReference: 'REF123456',
serviceProviderCode: '000000',
conversationId: 'statusConv456789'
);
// Returns JSON response from M-Pesa API.
}
}