bmatovu/laravel-airtel-money

Laravel Airtel Money API Integration

Installs: 4

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/bmatovu/laravel-airtel-money

v1.0.0 2025-11-02 19:21 UTC

This package is auto-updated.

Last update: 2025-11-19 00:14:22 UTC


README

Latest Stable Version Code Quality Code Coverage Tests Documentation

Getting Started

To get started with your Airtel Money integration:

  1. Register your application on the Airtel Money Developer Portal.

  2. Add products to your application: APIs are grouped into products.

    • Start with: Account, KYC, Collection-APIs, and Disbursement-APIs.
    • Each product may have specific KYC/compliance requirements, which the Airtel Money team will advise during onboarding.
  3. Request application approval from the Airtel Money Support Team.

    • Your application will only work after it has been approved.
    • You can monitor the approval status in the developer portal.
  4. Whitelist your source IPs in the developer portal under Settings -> Security -> Server IP Allowed List.

    • Any collection or disbursement request originating from a non-whitelisted source IP will be declined at Airtel Money.
  5. Set disbursement PIN: optional for collections.

  6. Set collection callback: you can set an endpoint to where your callbacks should be set. Optionally, you can enable Authorization for it.

Statuses

Mode (Env) Required Status
TEST Partially Approved
PRODUCTION Approved

New Applications will have the default NA status.

Products

Product Functionality Comment
KYC User Inquiry Get user basic information like first and last name
Account Balance Inquiry Collection wallet balance check
Collection APIs Payments (USSD Push) Request a payment. User enters PIN to approve the transaction.
Refund Refund a previous collection transaction (partial or full)
Callback (No Auth) Sent to your callback URL upon transaction completion
Callback (With Auth) Sent to your callback URL with Authorization (must be enabled first)
Transaction Inquiry Check collection transaction details
Disbursement APIs Payments Send money to an Airtel number. Requires your PIN and prior PIN setup
Transaction Inquiry Check disbursement transaction details

The disbursement wallet has no dedicated balance-inquiry API; its running balance is returned with each transaction response.

Integration

Installation

composer require bmatovu/laravel-airtel-money

Publishables

php artisan vendor:publish --provider="Bmatovu\AirtelMoney\AirtelMoneyServiceProvider"

Database Migrations

php artisan migrate

Authorization & PIN

Set Credentials

Retrieve your client_id and client_secret from Key Management

php artisan airtel-money:auth

Set Disbursement PIN

php artisan airtel-money:pin

Usage

Authorization

use Bmatovu\AirtelMoney\Facades\Authorization;

$token = Authorization::getToken();

KYC

use Bmatovu\AirtelMoney\Facades\Kyc;

$user = Kyc::getUser($phoneNumber);

Collection

use Bmatovu\AirtelMoney\Facades\Collection;

$transaction = Collection::receive($phoneNumber, $amount);

$transaction = Collection::refund($airtelMoneyId);

$transaction = Collection::getTransaction($transactionId);

Account

use Bmatovu\AirtelMoney\Facades\Account;

$balance = Account::getBalance();

Disbursement

use Bmatovu\AirtelMoney\Facades\Disbursement;

$transaction = Disbursement::send($phoneNumber, $amount);

$transaction = Disbursement::getTransaction($transactionId);

Testing

composer test

Credits

License

This package is open-source software licensed under the MIT License.