stephencoduor / mpesa
Mpesa daraja api 库
v2.1.0.1
2023-02-02 19:03 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-dom: *
- ext-hash: *
- ext-xmlwriter: *
- guzzlehttp/guzzle: >=7.2.0
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 install或composer 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.