flaircore/mpesa

Contains a php library that helps php developer intergrate their app(s) with safaricom mpesa (Daraja) api

1.2.3 2020-02-21 15:49 UTC

This package is auto-updated.

Last update: 2024-06-22 00:40:39 UTC


README

INTRODUCTION

Why/Because: lets you save and retrieve your app credentials from either a database or on a .env file.

This library focuses on making it easier for php developers to integrate mpesa payment system into their app, especially if you're using a cms or a framework that let's you save/update your configs from the database.

INSTALLATION

Make sure you have composer installed, then in the root of your project directory run composer require flaircore/mpesa

Mpesa Online Payment Example

MAKING REQUESTS

    # set the variables needed first (maybe)
    // access token
    
    $passKey = 'Your Pass key';
    $consumerKey = 'Your Consurer Key';
    $consumerSecret = 'Your Consumer Secret';

    $mpesaConfigs = new \Flaircore\Mpesa\MpesaConfigs();
    $mpesaConfigs->setConsumerKey($consumerKey);
    $mpesaConfigs->setConsumerSecret($consumerSecret);
    $mpesaConfigs->setPassKey($passKey);
    $mpesaConfigs->setEnviroment('sandbox'); #sandbox or live;

    $mpesaItem = new \Flaircore\Mpesa\MpesaItem($mpesaConfigs);
    $mpesaItem->setBusinessShortCode('Your Bs shortcode');
    $mpesaItem->setTransactionType('CustomerPayBillOnline');
    $mpesaItem->setAmount('Amount in KSH');
    $mpesaItem->setPartyA('PartyA'); #2547******00
    $mpesaItem->setPartyB($mpesaItem->getBusinessShortCode());
    $mpesaItem->setPhoneNumber('2547******00');
    $mpesaItem->setCallBackURL('call back url string where to receive the response');
    $mpesaItem->setAccountReference('Product Title');
    $mpesaItem->setTransactionDesc('maybe Product EntityID 111');

    $mpesaRequest = new \Flaircore\Mpesa\Requests\stkPush($mpesaConfigs, $mpesaItem);#pass the mpesaConfigs and mpesaItem in that order
    
    #var_dump($mpesaRequest->mpesaSTKPush());die;
    $mpesaRequest->mpesaSTKPush();#send the request

PREREQUISITES PHP 7.2 or above, also curl and json ext must be enabled.

Contributing Seeking co-contributers to make this library whole and better please check the todo.php in this directory

Credits Inspired by https://github.com/bnjunge/MPESA-API-Tutorial