Download the PHP package taitech/azampay without Composer
On this page you can find all versions of the php package taitech/azampay. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package azampay
Azampay PHP Integration Package
A robust PHP package for seamless integration with Azampay payment services, supporting Mobile Money (MNO), Bank, and Merchant payment options.
Features
- Mobile Money (MNO) payments — Airtel, Tigo, Halopesa, Azampesa, Mpesa
- Bank payments (CRDB, NMB)
- Disbursements, name lookup and payout status
- Payment partners and hosted checkout pages
- RSA-verified payment callbacks
Http::fake()support in Laravel tests- Environment switching (Sandbox/Production)
- Simple credential management
- Flexible service selection
- Laravel 9.x, 10.x, 11.x, and 12.x support
- Automatic service discovery and registration
- Built-in facades and dependency injection
- Spatie Activity Log integration for database logging
- Comprehensive payment event tracking
Installation
Standard Installation
Requirements
- PHP: ^8.1
- Laravel: ^9.0|^10.0|^11.0|^12.0
- GuzzleHTTP: ^7.5
Laravel Integration
This package is designed to work seamlessly with Laravel applications. For detailed Laravel integration instructions, see LARAVEL_INTEGRATION.md.
Quick Laravel Setup:
- Install the package:
composer require taitech/azampay - Publish configuration:
php artisan vendor:publish --tag=azampay-config - Add environment variables to your
.envfile - Include routes:
require base_path('routes/azampay.php');
Laravel Usage Examples:
Quick Start
Configuration
The package requires the following configuration parameters:
- appName: Your application name registered with Azampay
- clientId: Your Azampay client ID
- secret: Your Azampay client secret
- env: Environment setting (SANDBOX or PRODUCTION)
- service: Service type (MNO, BANK, or MERCHANT)
-
Service Types
Mobile Money (MNO)
Bank Payments
Merchant Services
Usage
Initiate Payment and Checkout
Handling the callback (since 1.2)
AzamPay calls your callback URL when the customer approves or declines the
prompt. Each callback carries an RSA signature over
{utilityref}{externalreference}{transactionstatus}{operator}; verify it
before trusting the result, then match the payment by utilityref (your
externalId).
Always check that amount equals the amount you requested before marking
an order paid, and ignore repeat callbacks for a payment that is already
final.
HTTP options
In Laravel: AZAMPAY_TIMEOUT, AZAMPAY_FORCE_IPV4, AZAMPAY_PUBLIC_KEY.
Bank checkout — CRDB, NMB (since 1.3)
The customer links their account and gets an OTP from their bank first
(CRDB: *150*03# → 7 → 5 → Link Azampay Account; NMB: *150*66# → 8 → 5 → 1).
Disbursements — payouts, name lookup, status (since 1.3)
Wallets: tigo, airtel, azampesa. Payout callbacks:
app('azampay.callback')->parseDisbursement($data) (AzamPay documents no
signature for these — confirm with transactionStatus() before acting).
Payment partners and hosted checkout page (since 1.3)
Testing
Faking AzamPay in your Laravel tests (since 1.3)
The service provider sends requests through Laravel's HTTP client, so
Http::fake() works:
Outside the container: $azampay->setHttpFactory(app(\Illuminate\Http\Client\Factory::class)),
or setHttpClient($guzzle) for a Guzzle client/mock.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin feature/your-feature) - Create a new Pull Request
- Ensure your code adheres to the project's coding standards
- Provide clear and concise commit messages
For more details, please refer to the CONTRIBUTING file.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For any issues or questions, please open an issue on the GitHub repository.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.3.0] - 2026-10-23
Bank checkout, disbursements, payment partners, hosted checkout page, and Http::fake() support. See CHANGELOG.md.
[1.2.0] - 2026-10-23
Fixes externalId handling and callback verification (RSA). See CHANGELOG.md.
[1.1.0] - 2024-12-19
Added
- Laravel 12.x compatibility and support
- Enhanced version compatibility across Laravel 9.x, 10.x, 11.x, and 12.x
[1.0.0] - 2024-01-01
Added
- Initial release
- Support for Mobile Money (MNO) payments
- Support for Bank payments
- Support for Merchant services
- Environment switching capability
- Flexible service selection
All versions of azampay with dependencies
guzzlehttp/guzzle Version ^7.5
illuminate/support Version ^9.0|^10.0|^11.0|^12.0
illuminate/routing Version ^9.0|^10.0|^11.0|^12.0
illuminate/http Version ^9.0|^10.0|^11.0|^12.0
illuminate/config Version ^9.0|^10.0|^11.0|^12.0
spatie/laravel-activitylog Version ^4.0
laravel/framework Version ^9.0|^10.0|^11.0|^12.0