This package is used to redeem data, airtime and sms bundles from safaricom. You need to request safaricom to create an application for you on the Daraja platform.
You will need a PRSP LICENCE to use this package, and activated packages on your PRSP Platform.
To install the package:
$ composer require caydeesoft/safaricom-data
Thereafter you will need to generate the config file, the file name will be data.php.
$ php artisan vendor:publish --provider="Caydeesoft\SafaricomData\DataServiceProvider" --tag="data-config"
on the env file you will add
DATA_USERNAME=
DATA_PASSWORD=
DATA_CONSUMER_KEY=
DATA_CONSUMER_SECRET=
<?php
namespace App\Http\Controllers;
use Caydeesoft\SafaricomData\Libs\Data;
class DataController{
public function check_balance()
{
$data = new Data();
$request = new \StdClass();
$request->msisdn = '711111111';
$request->description = 'LUCKYBOX_5MIN';
return response()->json($data->balance($request));
}
}
<?php
namespace App\Http\Controllers;
use Caydeesoft\SafaricomData\Libs\Data;
class DataController{
public function dataredeem()
{
$data = new Data();
$request = new \StdClass();
$request->msisdn = '711111111';
$request->description = 'LUCKYBOX_5MIN';
return response()->json($data->redemption($request));
}
}
<?php
namespace App\Http\Controllers;
use Caydeesoft\SafaricomData\Libs\Data;
class DataController{
public function multiredeem()
{
$data = new Data();
$request = new \StdClass();
$request->msisdn = '711111111';
$request->sendsms = 'no'; //Y/N
$request->resourcetype = 'airtime'; //Airtime/Data/SMS
$request->accounttype = 4500; //Account type for the resource
$request->expiry = 30;
$request->redemptionvalue = 100;
$request->moreinfo = "Awarding airtime to new customer";
return response()->json($data->multiredeem($request));
}
}
Response
{
"ResponseId": "26772-3722832-9",
"ResponseCode": "4000",
"ResponseMessage": "success",
"DetailedMessage": "operation successfully"
}