PHPackages                             intelfric/laravel-azampay - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. intelfric/laravel-azampay

ActiveLibrary

intelfric/laravel-azampay
=========================

Laravel Azampay

v1.0.0(6mo ago)01MITPHPPHP ^8.2

Since Oct 25Pushed 6mo agoCompare

[ Source](https://github.com/INTELFRIC/Azam-pay)[ Packagist](https://packagist.org/packages/intelfric/laravel-azampay)[ Docs](https://github.com/intelfric/laravel-azampay)[ RSS](/packages/intelfric-laravel-azampay/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (10)Versions (2)Used By (0)

 [![Azampay Logo](/art/intelfric.png "Azampay Logo")](/art/intelfric.png) [![Azampay Logo](/art/azampay-logo.png "Azampay Logo")](/art/azampay-logo.png)

Laravel Azampay
===============

[](#laravel-azampay)

[ ![Latest Version on Packagist](https://camo.githubusercontent.com/881dc2181f97eb66abbfa48e76ba869e19e95db7dc9c133270826c2fdf344e6f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f696e74656c667269632f6c61726176656c2d617a616d7061792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/intelfric/laravel-azampay)[ ![GitHub Tests Action Status](https://github.com/intelfric/laravel-azampay/actions/workflows/tests.yml/badge.svg)](https://github.com/intelfric/laravel-azampay/actions/workflows/tests.yml)[ ![GitHub Code Style Action Status](https://github.com/intelfric/laravel-azampay/actions/workflows/fix-php-code-style-issues.yml/badge.svg)](https://github.com/intelfric/laravel-azampay/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)[ ![Total Downloads](https://camo.githubusercontent.com/4c33988f64630b780e0259d31d125a0e57afc11be4f16b08ca3bba332bfe0f68/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f696e74656c667269632f6c61726176656c2d617a616d7061792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/intelfric/laravel-azampay)

Laravel Axampay provides an expressive, fluent interface to Azampay's payments services. It handles almost all of the boilerplate payments &amp; billing so you don't have to.

Installation
------------

[](#installation)

### Prerequisites

[](#prerequisites)

- PHP 8.2+
- Laravel v12+
- Composer

You can install the package via Composer:

```
composer require intelfric/laravel-azampay
```

You can publish the config file with:

```
php artisan vendor:publish --tag="azampay-config"
```

Setup
-----

[](#setup)

Add the following to your .env file

```
AZAMPAY_APP_NAME="your_app_name"
AZAMPAY_CLIENT_ID="your_client_id"
AZAMPAY_CLIENT_SECRET="your_client_secret"
AZAMPAY_ENVIRONMENT="sandbox"
AZAMPAY_TOKEN="Your_Token"
```

Usage
-----

[](#usage)

Checkout API
------------

[](#checkout-api)

### MNO Checkout

[](#mno-checkout)

Mobile checkout using `AzampayService` Class

> NOTE: Configs are loaded automatically.

```
use intelfric\Azampay\AzampayService;

$azampay = new AzampayService();

$data = $azampay->mobileCheckout([
    'amount' => 1000,
    'currency' => 'TZS',
    'accountNumber' => '0625933171',
    'externalId' => '08012345678',
    'provider' => 'Mpesa',
]);
```

### Response

[](#response)

```
array:3 [▼
  "success" => true
  "transactionId" => "b85e971981844a6f8888b42579655b8f"
  "message" => "Your request has been received and is being processed."
]

```

MNO checkout using Facade Class

```
use intelfric\Azampay\Facades\Azampay;

$data = Azampay::mobileCheckout([
    'amount' => 1000,
    'currency' => 'TZS',
    'accountNumber' => '0625933171',
    'externalId' => '08012345678',
    'provider' => 'Mpesa',
]);
```

### Response

[](#response-1)

```
array:3 [▼
  "success" => true
  "transactionId" => "b85e971981844a6f8888b42579655b8f"
  "message" => "Your request has been received and is being processed."
]

```

### Bank Checkout

[](#bank-checkout)

Bank checkout using AzampayService Class

```
use intelfric\Azampay\AzampayService;

$azampay = new AzampayService();

$data = $azampay->bankCheckout([
        'amount' => 1000,
        'currencyCode' => 'TZS',
        'merchantAccountNumber' => '34567890987654',
        'merchantMobileNumber' => '08012345678',
        'merchantName' => 'intelfric@gmail.com',
        'otp' => '1234',
        'provider' => 'CRDB',
        'referenceId' => '24345345',
    ]);
```

### Response

[](#response-2)

```
array:3 [▼
  "success" => true
  "transactionId" => "b85e971981844a6f8888b42579655b8f"
  "message" => "Your request has been received and is being processed."
]
```

Bank checkout using Facade Class

```
use intelfric\Azampay\Facades\Azampay;

$data = Azampay::bankCheckout([
        'amount' => 1000,
        'currencyCode' => 'TZS',
        'merchantAccountNumber' => '34567890987654',
        'merchantMobileNumber' => '08012345678',
        'merchantName' => 'intelfric@gmail.com',
        'otp' => '1234',
        'provider' => 'CRDB',
        'referenceId' => '24345345',
    ]);

# Response
[ 'transactionId' => 'string', 'message' => 'string' ]
```

### Get payment partners

[](#get-payment-partners)

Get payment partners using AzampayService Class

```
use intelfric\Azampay\AzampayService;

$azampay = new AzampayService();

$data = $azampay->getPaymentPartners();

# Response
[
    [
        'id' => "6ebafc56-6d4d-4265-a8d4-c0e1e7806c19",
        'logoUrl' => 'https://azampay-sarafutest.s3.eu-central-1.amazonaws.com/azampesa.png',
        'partnerName' => 'Azampesa',
        'provider' => 5,
        'vendorName' => 'string',
        'paymentVendorId' => '1213c943-b30e-4c9e-ac2f-d34796f01d2d',
        'paymentPartnerId' => '70cd6bba-7f81-4ac8-9276-d5c0a189f2d4',
        "paymentAcknowledgmentRoute": "url",
        'currency' => 'TZS',
        "status" =>  "1",
        "vendorType" =>  "seller"
    ],
    // ...
]
```

Get payment partners using Facade Class

```
use intelfric\Azampay\Facades\Azampay;

$data = Azampay::getPaymentPartners();

# Response
[
    [
        'id' => "6ebafc56-6d4d-4265-a8d4-c0e1e7806c19",
        'logoUrl' => 'https://azampay-sarafutest.s3.eu-central-1.amazonaws.com/azampesa.png',
        'partnerName' => 'Azampesa',
        'provider' => 5,
        'vendorName' => 'string',
        'paymentVendorId' => '1213c943-b30e-4c9e-ac2f-d34796f01d2d',
        'paymentPartnerId' => '70cd6bba-7f81-4ac8-9276-d5c0a189f2d4',
        "paymentAcknowledgmentRoute": "url",
        'currency' => 'TZS',
        "status" =>  "1",
        "vendorType" =>  "seller"
    ],
    // ...
]
```

### Post Checkout

[](#post-checkout)

Post checkout using AzampayService Class

```
use intelfric\Azampay\AzampayService;

$azampay = new AzampayService();

$data = $azampay->postCheckout([
        'appName' => 'azampay',
        'clientId' => 'e9b57fab-1850',
        'vendorId' => 'e9b57fab-1850-44d4-8499-71fd15c845a0',
        'language' => 'en',
        'currency' => 'TZS',
        'externalId' => 'e9b57fab-44d4-71fd15c845a6',
        'requestOrigin' => 'dukaspace.com',
        'redirectFailURL' => 'dukaspace.com/failure',
        'redirectSuccessURL' => 'dukaspace.com/success',
        'vendorName' => 'dukaspace',
        'amount' => 50000,
        'cart' => [
            'items' => [
                [
                    'name' => 'dukaspace',
                ],
            ],
        ],
    ]);

# Response
[ 'transactionId' => 'string', 'message' => 'string' ]
```

Post checkout using Facade Class

```
use intelfric\Azampay\Facades\Azampay;

$data = Azampay::postCheckout([
        'appName' => 'azampay',
        'clientId' => 'e9b57fab-1850',
        'vendorId' => 'e9b57fab-1850-44d4-8499-71fd15c845a0',
        'language' => 'en',
        'currency' => 'TZS',
        'externalId' => 'e9b57fab-44d4-71fd15c845a6',
        'requestOrigin' => 'dukaspace.com',
        'redirectFailURL' => 'dukaspace.com/failure',
        'redirectSuccessURL' => 'dukaspace.com/success',
        'vendorName' => 'dukaspace',
        'amount' => 50000,
        'cart' => [
            'items' => [
                [
                    'name' => 'dukaspace',
                ],
            ],
        ],
    ]);

# Response
'string'
```

### Callback route and event

[](#callback-route-and-event)

The packages has a route for handling callback from Azampay. The route is `/api/v1/Checkout/Callback` and named `checkout_payment_callback`.

Whenever a callback is received from Azampay, the package will dispatch Event `AzampayCallback::class` . You can create a listener and do further processing with the callback data which will be passed when the event get dispatched.

#### Registering the route

[](#registering-the-route)

This package has a route for handling callback from Azampay. Its enabled by default.

On your `App\Providers\EventServiceProvider` register a listener for `AzampayCallback::class` event.

```
php artisan make:listener AzampayCallbackListener
```

In your `App\Listeners\AzampayCallbackListener` class, add the update the `handle` method to handle the event.

```
use intelfric\Azampay\Events\AzampayCallback;
// ...

public function handle(AzampayCallback $event)
{
    // Handle the event
    // Example save the callback data to database

    // $event->data
    // See https://developerdocs.azampay.co.tz/redoc#tag/Checkout-API/operation/Callback
    // for callback data structure
    // ...
}

// ...
```

```
use intelfric\Azampay\Events\AzampayCallback;
use App\Listeners\AzampayCallbackListener;

/**
 * The event listener mappings for the application.
 *
 * @var array
 */
protected $listen = [
    AzampayCallback::class => [
        AzampayCallbackListener::class,
    ],
];
```

Now, whenever a callback is received from Azampay, the package will call the `handle` method of the `AzampayCallbackListener` class. with the callback data.

Disbursement API
----------------

[](#disbursement-api)

### Create transfer

[](#create-transfer)

Create transfer using AzampayService Class

```
use intelfric\Azampay\AzampayService;

$azampay = new AzampayService();

$data = $azampay->createTransfer([
        'source' => [
            'countryCode' => 'string',
            'fullName' => 'string',
            'bankName' => 'tigo',
            'accountNumber' => 'string',
            'currency' => 'string',
        ],
        'destination' => [
            'countryCode' => 'string',
            'fullName' => 'string',
            'bankName' => 'tigo',
            'accountNumber' => 'string',
            'currency' => 'string',
        ],
        'transferDetails' => [
            'type' => 'string',
            'amount' => 0,
            'date' => '2019-08-24T141522Z',
        ],
        'externalReferenceId' => 'string',
        'remarks' => 'string',
    ]);

# Response
[
    [
        'data' => 'Transaction successful.',
        'message' => 'Request successful.',
        'success' => true,
        'statusCode' => 200
    ]
]
```

Create transfer using Facade Class

```
use intelfric\Azampay\Facades\Azampay;

$data = Azampay::createTransfer([
        'source' => [
            'countryCode' => 'string',
            'fullName' => 'string',
            'bankName' => 'tigo',
            'accountNumber' => 'string',
            'currency' => 'string',
        ],
        'destination' => [
            'countryCode' => 'string',
            'fullName' => 'string',
            'bankName' => 'tigo',
            'accountNumber' => 'string',
            'currency' => 'string',
        ],
        'transferDetails' => [
            'type' => 'string',
            'amount' => 0,
            'date' => '2019-08-24T141522Z',
        ],
        'externalReferenceId' => 'string',
        'remarks' => 'string',
    ]);

# Response
[
    [
        'data' => 'Transaction successful.',
        'message' => 'Request successful.',
        'success' => true,
        'statusCode' => 200
    ]
]
```

### Name lookup

[](#name-lookup)

Name lookup using AzampayService Class

```
use intelfric\Azampay\AzampayService;

$azampay = new AzampayService();

$data = $azampay->nameLookup([
    'bankName' => 'string',
    'accountNumber' => 'string',
]);

# Response
[
    'name' => 'string',
    'message' => 'string',
    'success' => true,
    'accountNumber' => 'string',
    'bankName' => 'string'
]
```

Name lookup using Facade Class

```
use intelfric\Azampay\Facades\Azampay;

$data = Azampay::nameLookup([
        'bankName' => 'string',
        'accountNumber' => 'string',
    ]);

# Response
[
    'name' => 'string',
    'message' => 'string',
    'success' => true,
    'accountNumber' => 'string',
    'bankName' => 'string'
]
```

### Get transaction status

[](#get-transaction-status)

Get transaction status using AzampayService Class

```
use intelfric\Azampay\AzampayService;

$azampay = new AzampayService();

$data = $azampay->getTransactionStatus([
    'bankName' => 'CRDB',
    'pgReferenceId' => '10'
]);

# Response
[
    [
        'data': 'Transaction successful.',
        'message': 'Request successful.',
        'success': true,
        'statusCode': 200
    ]
]
```

Get transaction status using Facade Class

```
use intelfric\Azampay\Facades\Azampay;

$data = Azampay::getTransactionStatus([
    'bankName' => 'CRDB',
    'pgReferenceId' => '10'
]);

# Response
[
    [
        'data': 'Transaction successful.',
        'message': 'Request successful.',
        'success': true,
        'statusCode': 200
    ]
]
```

### Azampay documentation

[](#azampay-documentation)

You can find more details about azampay on their documentation in this link [Azampay Documentation](https://developerdocs.azampay.co.tz/redoc).

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- \[intelfric Technologies Company Limited\]( , )
- [Developer Team](https://dev@intelfric.com)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

Support us
----------

[](#support-us)

If you find this package useful, you can support us by staring this repository and sharing it with others.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance66

Regular maintenance activity

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

200d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/faf71e910ca3cb7a04b902b131b838ceb4ce64576a0eca469ea932a71074235e?d=identicon)[Constantino2019-et](/maintainers/Constantino2019-et)

---

Top Contributors

[![Constantino2019-et](https://avatars.githubusercontent.com/u/80386833?v=4)](https://github.com/Constantino2019-et "Constantino2019-et (4 commits)")

---

Tags

laravellaravel-azampayintelfric

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/intelfric-laravel-azampay/health.svg)

```
[![Health](https://phpackages.com/badges/intelfric-laravel-azampay/health.svg)](https://phpackages.com/packages/intelfric-laravel-azampay)
```

###  Alternatives

[spatie/laravel-health

Monitor the health of a Laravel application

85810.0M83](/packages/spatie-laravel-health)[vormkracht10/laravel-mails

Laravel Mails can collect everything you might want to track about the mails that has been sent by your Laravel app.

24149.7k](/packages/vormkracht10-laravel-mails)[sunchayn/nimbus

A Laravel package providing an in-browser API client with automatic schema generation, live validation, and built-in authentication with a touch of Laravel-tailored magic for effortless API testing.

29428.0k](/packages/sunchayn-nimbus)[muhammadhuzaifa/telescope-guzzle-watcher

Telescope Guzzle Watcher provide a custom watcher for intercepting http requests made via guzzlehttp/guzzle php library. The package uses the on\_stats request option for extracting the request/response data. The watcher intercept and log the request into the Laravel Telescope HTTP Client Watcher.

98239.8k1](/packages/muhammadhuzaifa-telescope-guzzle-watcher)[spatie/laravel-mailcoach-sdk

An SDK to easily work with the Mailcoach API in Laravel apps

41290.2k1](/packages/spatie-laravel-mailcoach-sdk)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
