starnerz / laravel-daraja
A laravel package for the Safaricom Daraja APIs.
Requires
- php: ^7.3
- guzzlehttp/guzzle: ^7.0
- illuminate/support: ^8.0
- monolog/monolog: ^2.1.1
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-11-04 21:56:12 UTC
README
This package provides you with a simple tool to make requests to Safaricom Daraja APIs so that you can focus on the development of your awesome applications instead of all the set up involved.
Installation
Install via composer
composer require starnerz/laravel-daraja
Register Service Provider
Note! This and next step are optional if you use laravel>=5.5 with package auto discovery feature.
Add service provider to config/app.php
in providers
section
Starnerz\LaravelDaraja\LaravelDarajaServiceProvider::class,
Register Facade
Register package facade in config/app.php
in aliases
section
Starnerz\LaravelDaraja\Facades\MpesaApi::class,
Publish Configuration File
php artisan vendor:publish --provider="Starnerz\LaravelDaraja\LaravelDarajaServiceProvider" --tag="config"
Fill in all the details you will be requiring for your application. Here are the env variables for quick copy paste.
DARAJA_CONSUMER_KEY=
DARAJA_CONSUMER_SECRET=
DARAJA_INITIATOR_NAME=
DARAJA_INITIATOR_CREDENTIAL=
DARAJA_INITIATOR_SHORTCODE=
DARAJA_STK_SHORTCODE=
DARAJA_STK_PASS_KEY=
Usage
If you have not created your Safaricom API application yet you can create one at Safaricom Developer
Each Safaricom API except Oauth has been implemented as a class on its own which you can use in your code.
$STK = new STK(); $STK->push('254727123456','10000','New Purchase','R3F3R3NC3');
If you prefer using the facade
MpesaApi::STK()->push('254727123456','10000','New Purchase','R3F3R3NC3');
If you will be using the C2B Api you can easily register the validation and confirmation URLs through artisan.
# php artisan daraja:register-urls
Security
If you discover any security related issues, please email stanleykimathi@gmail.com instead of using the issue tracker.