Airtel Money API PHP SDK
composer require osenco/airtel
use Osen\Airtel\Collection;
$collectAPI = new Collection(
array(
'env' => 'live',
'client_id' => 'YOUR_CLIENT_ID',
'client_secret' => 'YOUR_CLIENT_SECRET',
'public_key' => 'YOUR_PUBLIC_KEY',
'country' => 'Transaction Country Code e.g KE',
'currency' => 'Transaction Currency Code e.g KES'
)
);
$collectAPI->authorize()->ussdPush($phone, $amount);
Note : Do not send country code in phone number.
You can pass a token to the authorize method if you have a caching mechanism instead of creating a new one each time. You can pass a second argument that is a callback function that updates your token
$token = ''; // Get your token from database, redis or whichever cache you use.
$collectAPI->authorize($token, function($newToken) {
print($newToken);
// Save/update $newToken in your database
})->ussdPush($phone, $amount);
use Osen\Airtel\Disbursement;
$disburseAPI = new Disbursement(
array(
'env' => 'live',
'client_id' => 'YOUR_CLIENT_ID',
'client_secret' => 'YOUR_CLIENT_SECRET',
'public_key' => 'YOUR_PUBLIC_KEY',
'country' => 'Transaction Country Code e.g KE',
'currency' => 'Transaction Currency Code e.g KES'
)
);
Then send the money
$disburseAPI->authorize()->send($phone, $amount);