PHP code example of keenops / laravel-mpesa

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.
    }
}
bash
php artisan vendor:publish --tag=laravel-mpesa