PHPackages                             alvoo/tanda - 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. [API Development](/categories/api)
4. /
5. alvoo/tanda

ActiveLibrary[API Development](/categories/api)

alvoo/tanda
===========

Laravel package for Tanda API

v1.0.5(2y ago)2631MITPHPPHP ^7.1|^8.0|^8.1.8

Since Aug 26Pushed 2y ago1 watchersCompare

[ Source](https://github.com/alvinmurimi/tanda)[ Packagist](https://packagist.org/packages/alvoo/tanda)[ RSS](/packages/alvoo-tanda/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (1)Versions (7)Used By (0)

Tanda
=====

[](#tanda)

Laravel package for Tanda payments API

[![Latest Version](https://camo.githubusercontent.com/cc8f637f357030095f895d3062b14cc6ed289317567fd5599205051bf9bbf513/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f616c76696e6d7572696d692f74616e64612e7376673f7374796c653d666c61742d737175617265)](https://github.com/alvinmurimi/tanda/releases)[![Issues](https://camo.githubusercontent.com/240e96cc292cb120263e9415dd0697293976910ce10a7c7fc12a2be13e48ebf3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f616c76696e6d7572696d692f74616e64612e7376673f7374796c653d666c61742d737175617265)](https://github.com/alvinmurimi/tanda/issues)[![Total Downloads](https://camo.githubusercontent.com/ea2071806d38e9beede843be28be624f6e52665c3c1b00d34060daddc068efc9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f616c766f6f2f74616e64612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/alvoo/tanda)

This package helps you integrate Tanda payment APIs into your laravel app.

The following APIs can be integrated through the package:

- Airtime topup
- Utility bill payments
- Airtime voucher purchase
- Pay TV subscriptions
- Transaction status
- Account balances

This package is based on Tanda's REST API which can be found here:

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

[](#installation)

You can install this package via composer

```
composer require alvoo/tanda
```

Configuration
-------------

[](#configuration)

After installing the package, run;

```
php artisan tanda:install
```

or

```
php artisan vendor:publish
```

This will publish `config/tanda.php` file. This file is where you will add Tanda API configurations. By default, the configuration is set to `sandbox` so update to 'live' if you're using live credentials.

In your app's `.env` add your Tanda credentials as follows:

```
TANDA_CLIENT_ID=[Client ID]
TANDA_CLIENT_SECRET=[Client Secret]
TANDA_ORG_ID=[Organization ID]
TANDA_ENV=[sandbox or live]

```

The callback URLs **MUST** be updated in `config/tanda.php`.
After updating your `.env` update the config:

```
php artisan config:cache
```

Usage
-----

[](#usage)

Import `Tanda` Facade

```
use Tanda;
```

### Airtime Purchase (Pinless prepaid airtime)

[](#airtime-purchase-pinless-prepaid-airtime)

You can use this API for direct airtime topups.
Accepted parameters:

1. `Provider` - Service provider ID `SAFARICOM`, `AIRTEL`, `TELKOM`.
2. `MSISDN` - Phone number in international format.
3. `Amount` - Recharge amount (Should be between 10 and 10000).

```
$topup = Tanda::pinlessAirtime("SAFARICOM", "254712345678", 100);
```

### Pay Tv

[](#pay-tv)

This method is used to make payments for TV subscriptions.
Accepted parameters:

1. `Provider` - Pay TV service provider(`GOTV`, `DSTV`, `ZUKU`, `STARTIMES`).
2. `Account` - A valid box account number.
3. `Amount` - Bill Amount (Should be between 10 and 20000).

```
$pay = Tanda::payTV("GOTV", 201712256, 100);
```

### Bill Pay

[](#bill-pay)

Use this to make bill payments.
Accepted parameters:

1. `Provider` - Nairobi water (`NAIROBI_WTR`).
2. `Account` - A Nairobi Wtr Meter Number.
3. `Amount` - Bill value in KES (Should be between 100 and 35000).

```
$bill = Tanda::billPay("NAIROBI_WTR", 25419321, 100);
```

### Airtime Voucher

[](#airtime-voucher)

This method is used to generate airtime voucher pins which you can use to recharge normally as you would with scratch cards.
Accepted parameters:

1. `Provider` - Service provider ID (`SAFARICOM`, `TELKOM`, `AIRTEL`).
2. `Amount` - Voucher value.
    - Airtel - 20, 50, 100, 250, 500, 1000.
    - Safaricom - 20, 50, 100, 250, 500, 1000.
    - Telkom - 20, 50, 100, 200, 500, 1000.

```
$voucher = Tanda::voucherFix("SAFARICOM", 254712345678, 100);
```

### Balance

[](#balance)

This method is used to query the API for account balances.

```
$balances = Tanda::balances();
```

### Transaction Status

[](#transaction-status)

Use this to query the transaction status API.
Accepted parameters:

1. `Transaction ID` - Unique request id returned during the initialization stage.

```
$status = Tanda::query("ee92d1cb-625c-4e0a-8f28-8e86d929f9d7");
```

### Contributing

[](#contributing)

Pull requests and issues are welcome. Refer to [CONTRIBUTING.md](./CONTRIBUTING.md)

### Security Vulnerabilities

[](#security-vulnerabilities)

If you discover any security vulnerability, please send an e-mail to .

### License

[](#license)

This package is open-source software licensed under the [MIT license](LICENSE.md).

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity60

Established project with proven stability

 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

Every ~81 days

Recently: every ~101 days

Total

6

Last Release

946d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/55a304524f26329c565a5f5610bdca2ed4eb410ea82e8de8d16310160469c591?d=identicon)[alvinmayende](/maintainers/alvinmayende)

---

Top Contributors

[![alvinmurimi](https://avatars.githubusercontent.com/u/20130754?v=4)](https://github.com/alvinmurimi "alvinmurimi (51 commits)")

---

Tags

airtelairtimebillingdstvgotvkplclaravelpaymentssafaricomstartimestandatelkomzukuapilaravelTanda

### Embed Badge

![Health badge](/badges/alvoo-tanda/health.svg)

```
[![Health](https://phpackages.com/badges/alvoo-tanda/health.svg)](https://phpackages.com/packages/alvoo-tanda)
```

###  Alternatives

[andreaselia/laravel-api-to-postman

Generate a Postman collection automatically from your Laravel API

1.0k586.2k3](/packages/andreaselia-laravel-api-to-postman)[mollie/laravel-mollie

Mollie API client wrapper for Laravel &amp; Mollie Connect provider for Laravel Socialite

3624.1M28](/packages/mollie-laravel-mollie)[api-ecosystem-for-laravel/dingo-api

A RESTful API package for the Laravel and Lumen frameworks.

3121.5M10](/packages/api-ecosystem-for-laravel-dingo-api)[essa/api-tool-kit

set of tools to build an api with laravel

52680.5k](/packages/essa-api-tool-kit)[smodav/mpesa

M-Pesa API implementation

16363.7k1](/packages/smodav-mpesa)[specialtactics/l5-api

Dependencies for the Laravel API Boilerplate package

3672.8k2](/packages/specialtactics-l5-api)

PHPackages © 2026

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