Mpesa daraja api 库

v2.1.0.1 2023-02-02 19:03 UTC

README

这是一个Mpesa库,你可以用它与laravel、codeigniter、cakephp等多种框架一起使用。此包旨在帮助PHP开发者轻松实现各种Mpesa API。它基于REST API,其文档可在https://developer.safaricom.co.ke找到。

使用composer安装

  composer require stephencoduor/mpesa

或者将以下行添加到你的composer.json文件的require块中。

"stephencoduor/mpesa": "^1.0.*"

然后你需要运行composer installcomposer update来下载它并更新自动加载器。

一旦Laravel Mpesa被安装,你需要注册服务提供者。打开config/app.php文件,并在providers键中添加以下内容。

'providers' => [
    ...
    Stephencoduor\Mpesa\MpesaServiceProvider::class,
    ...
]

如果你使用的是Laravel >= 5.5,你可以跳过此步骤,直接进入配置部分。

  • Stephencoduor\Mpesa\MpesaServiceProvider::class

此外,还可以按照以下方式注册Facade

'aliases' => [
    ...
    'Mpesa' => Stephencoduor\Mpesa\Facades\Mpesa::class,
    ...
]

配置

你可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Stephencoduor\Mpesa\MpesaServiceProvider"

一个名为mpesa.php的配置文件,其中包含一些合理的默认值,将被放置在你的config目录中

#  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 Stephencoduor\Mpesa\Mpesa;

A

    $mpesa = new Mpesa();


---------------Now you can call functions on Mpesa as Below ----------------

    echo " Token : " . $mpesa->oauth_token();
    $mpesa = new Mpesa();
    $mpesa->express()->stkPushQuery('ws_CO_DMZ_297481201_09042019174418021');
    $mpesa->express()->stkPush('1','254708374149','pay now','test',''https://example.com/callback_url/);

    
    $mpesa->c2b()->register_url('https://example.com/$confirmation_url/','https://example.com/validation_url/'); 
    $mpesa->c2b()->c2bPay('1000', '254708374149', 'account');

    
    $mpesa->b2c()->b2cSend('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->b2c()->b2bSend('10000','BusinessPayBill','60000','4','4','paytest','cool','b2b_timeout','b2b_result');

    $mpesa = new Mpesa()
    $mpesa->accountbalance('600443','4','remarks','acc_timeout','acc_result');
    $mpesa->reversal('2','254708374149','1','NCR7S1UXBT','PAY NOW');
    $mpesa->transaction_status('NCR7S1UXBT','254708374149','4','apitest');
    
 # get responses
    echo $mpesa->getResponseData();
    
# Callback json data received from safaricom
    for call back you can use you own implementation 
    this is for testing.
    
    use Stephencoduor\Mpesa\Callback;

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

    
  ## Contributing



## Security


## Credits


## License

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