PHPackages                             wasksofts/mpesa - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. wasksofts/mpesa

Abandoned → [wasksofts-technology/mpesa](/?search=wasksofts-technology%2Fmpesa)Library[Payment Processing](/categories/payments)

wasksofts/mpesa
===============

Mpesa daraja api library

v1.3(5y ago)2173MITPHPPHP ^5.6|^7

Since Oct 11Pushed 4y ago1 watchersCompare

[ Source](https://github.com/wasksofts/mpesa)[ Packagist](https://packagist.org/packages/wasksofts/mpesa)[ Docs](https://github.com/wasksofts/wasksofts/mpesa)[ RSS](/packages/wasksofts-mpesa/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (4)DependenciesVersions (4)Used By (0)

Introduction
============

[](#introduction)

Mpesa library which you can use with various framework like laravel ,codeigniter ,cakephp and many more This package seeks to help php developers implement the various Mpesa APIs without much hustle. It is based on the REST API whose documentation is available on .

Installation using composer
===========================

[](#installation-using-composer)

```
$ composer require wasksofts/mpesa
```

Usage example
=============

[](#usage-example)

```
 require_once('vendor/autoload.php')

```

use the above statement if it procedural app else if its codeigniter 3.x go config enable $config\['composer\_autoload'\] = 'vendor/autoload.php'; if vendor is root folder if vendor file are on application it should be $config\['composer\_autoload'\] = true , for laravel and other framework they have no problem

```
 use Wasksofts\Mpesa\Mpesa;

$mpesa  = new Mpesa();
$mpesa->config('consumer_key', '');
$mpesa->config('consumer_secret', '');
$mpesa->config('pass_key', '');
$mpesa->config('initiator_name', '');
$mpesa->config('initiator_pass', '');
$mpesa->config('shortcode', '174379');
$mpesa->config('shortcode1', '');
$mpesa->config('shortcode2', '');
$mpesa->config('security_credential','');
$mpesa->config('callback_url', 'https://example.com/callback_url/');
$mpesa->config('confirmation_url', 'https://example.com/confirmation_url/');
$mpesa->config('validation_url', 'https://example.com/validation_url/');
$mpesa->config('result_url', 'https://example.com/result_url/');
$mpesa->config('timeout_url', 'https://example.com/timeout_url/');
$mpesa->config('env', 'sandbox');

echo " Token : " . $mpesa->oauth_token();
$mpesa->STKPushQuery('ws_CO_DMZ_297481201_09042019174418021');
$mpesa->STKPushSimulation('1','254708374149','pay now','test');
$mpesa->register_url();
$mpesa->c2b('1000', '254708374149', 'account');
$mpesa->b2c('200', 'BusinessPayment', '254708374149', 'payment','b2c_timeout','b2c_result'); // last two parameter define callback https://example.com/result_url.php/b2c_timeout/ or https://example.com/result_url/b2c_result/
$mpesa->b2b('10000','BusinessPayBill','60000','4','4','paytest','cool','b2b_timeout','b2b_result');
$mpesa->accountbalance('600443','4','remarks','acc_timeout','acc_result');
$mpesa->reversal('2','254708374149','1','NCR7S1UXBT','PAY NOW VIA WASKSOFT');
$mpesa->transaction_status('NCR7S1UXBT','254708374149','4','apitest');

```

get responses
=============

[](#get-responses)

```
echo $mpesa->getResponseData();

```

Callback json data received from safaricom
==========================================

[](#callback-json-data-received-from-safaricom)

```
for call back you can use you own implementation
this is for testing.

use Wasksofts\Mpesa\Callback;

$callback = new Callback;
$callback::processSTKPushRequestCallback();
$callback::processC2BRequestConfirmation();
$callback::processC2BRequestValidation();
$callback::processB2CRequestCallback();
$callback::processB2BRequestCallback();
$callback::processAccountBalanceRequestCallback();
$callback::processReversalRequestCallBack();
$callback::processTransactionStatusRequestCallback();

```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [wasksofts](https://github.com/wasksofts)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~266 days

Total

3

Last Release

1877d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/59b2b30eaec7af3ab5bd326be8d7560cb4dc412745588f11cab4405b7804d90b?d=identicon)[wasksofts](/maintainers/wasksofts)

---

Top Contributors

[![stevenkamanu](https://avatars.githubusercontent.com/u/27777012?v=4)](https://github.com/stevenkamanu "stevenkamanu (36 commits)")

---

Tags

gatewaympesalipa-na-mpesapaybillreverse moneycustomer to businessbussines to bussinescodeigniter mpesa library

### Embed Badge

![Health badge](/badges/wasksofts-mpesa/health.svg)

```
[![Health](https://phpackages.com/badges/wasksofts-mpesa/health.svg)](https://phpackages.com/packages/wasksofts-mpesa)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
