PHPackages                             vptrading/telebirr-ussd-laravel - 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. [Payment Processing](/categories/payments)
4. /
5. vptrading/telebirr-ussd-laravel

ActiveLibrary[Payment Processing](/categories/payments)

vptrading/telebirr-ussd-laravel
===============================

Laravel package for quick telebirr ussd payment gateway integration

2.0.1(7mo ago)131.0k7MITPHPPHP ^8.2

Since Nov 17Pushed 7mo ago1 watchersCompare

[ Source](https://github.com/VP-Trading/telebirr-ussd)[ Packagist](https://packagist.org/packages/vptrading/telebirr-ussd-laravel)[ Docs](https://github.com/VP-Trading/telebirr-ussd)[ RSS](/packages/vptrading-telebirr-ussd-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (9)Versions (9)Used By (0)

[![VP Logo](/imgs/logo.png)](https://vptrading.et)

Laravel Package For
 Telebirr USSD
==================================

[](#laravel-package-for-telebirr-ussd)

Introduction
============

[](#introduction)

This Laravel package is a featherweight package to integrate Telebirr USSD®.

Usage Guide
===========

[](#usage-guide)

### Step One

[](#step-one)

Run `composer require vptrading/telebirr-ussd-laravel`

### Step Two

[](#step-two)

Run the artisan command to publish the Vptrading\\TelebirrUssd configuration file.

```
php artisan vendor:publish --provider="Vptrading\TelebirrUssd\TelebirrUssdServiceProvider"

```

After running that command you will see a `telebirr.php` configuration file in your application's `config` directory.

### Step Three

[](#step-three)

Open the `telebirr.php` configuration file and add the key's provided to you from Telebirr®

Usage
=====

[](#usage)

Push
----

[](#push)

In order to send a buy request using Telebirr® all you have to do is import the `TelebirrUssd` Facade where you want to use it and call the `push` method. The `TelebirrUssd::push()` method accepts three parameters, these are: Price, Phone, and Reference Number.

**Example**

```
use Vptrading\TelebirrUssd\Facades\TelebirrUssd;

$response = TelebirrUssd::push(1, '0912345678', 'VP_212fw323r3');

```

> Note: The `ShortCode` is provided by Ethio Telecom

When calling that method it return a response

**Response Example**

```
{
    "Body": {
        "Response": {
            "Header": {
                "Version": "1.0",
                "OriginatorConversationID": "VP_212fw323r",
                "ConversationID": "AG_20231118_70406b41c7f87f04c861"
            },
            "Body": {
                "ResponseCode": "0",
                "ResponseDesc": "Accept the service request successfully.",
                "ServiceStatus": "0"
            }
        }
    }
}

```

> Note: The `OriginatorConversationID` is the reference number you used to as the `RefNo`

This will send a push ussd to the phone number you used. Once the user fills their password and confirmed the payment Telebirr will send a notification.

Deconstruct
-----------

[](#deconstruct)

The next is being notified when a payment is successfull. After the user has paid the amount described, Telebirr® will send you a notification on the Result URL you specified in the `telebirr.php` config file.

**Example Notification String From Telebirr®**

```
1.0VP_212fw323rAG_20231017_70101ef1abddd338afdf00Process service request successfully.AJH40OGEZKDebitBalance{"total":[{"amount":"3462258.96","currency":"ETB"}],"list":[{"amount":"0.00","accountno":"100000000111325021","currency":"ETB"},{"amount":"4087.35","accountno":"100000000110941240","currency":"ETB","accounttypename":"Customer Incentive Account"},{"amount":"904075.30","accountno":"100000000110261011","currency":"ETB","accounttypename":"Customer E-Money Account"},{"amount":"0.00","accountno":"100000000110941232","currency":"ETB","accounttypename":"Incentive Account"},{"amount":"1001010.00","accountno":"100000000111442800","currency":"ETB","accounttypename":"Customer E money Account"},{"amount":"3086.31","accountno":"100000000111661169","currency":"ETB","accounttypename":"Customer E-Money Account For Fuel Coupon"},{"amount":"500000.00","accountno":"100000000111121768","currency":"ETB"},{"amount":"0.00","accountno":"100000000111043129","currency":"ETB"},{"amount":"1050000.00","accountno":"100000000111561013","currency":"ETB","accounttypename":"Customer Emoney Account"}]}CreditBalance

```

In order to decode this, the package provides a `deconstruct` method. All you need to do is put the notification string sent from Telebirr® in to that static method and it will be decoded.

**Example**

```
use Vptrading\TelebirrUssd\Facades\TelebirrUssd;

$decoded = TelebirrUssd::deconstruct('1.0VP_212fw323rAG_20231017_70101ef1abddd338afdf00Process service request successfully.AJH40OGEZKDebitBalance{"total":[{"amount":"3462258.96","currency":"ETB"}],"list":[{"amount":"0.00","accountno":"100000000111325021","currency":"ETB"},{"amount":"4087.35","accountno":"100000000110941240","currency":"ETB","accounttypename":"Customer Incentive Account"},{"amount":"904075.30","accountno":"100000000110261011","currency":"ETB","accounttypename":"Customer E-Money Account"},{"amount":"0.00","accountno":"100000000110941232","currency":"ETB","accounttypename":"Incentive Account"},{"amount":"1001010.00","accountno":"100000000111442800","currency":"ETB","accounttypename":"Customer E money Account"},{"amount":"3086.31","accountno":"100000000111661169","currency":"ETB","accounttypename":"Customer E-Money Account For Fuel Coupon"},{"amount":"500000.00","accountno":"100000000111121768","currency":"ETB"},{"amount":"0.00","accountno":"100000000111043129","currency":"ETB"},{"amount":"1050000.00","accountno":"100000000111561013","currency":"ETB","accounttypename":"Customer Emoney Account"}]}CreditBalance');

```

**Result**

```
{
    "Body": {
        "Result": {
            "Header": {
                "Version": "1.0",
                "OriginatorConversationID": "VP_212fw323r",
                "ConversationID": "AG_20231118_70406b41c7f87f04c861"
            },
            "Body": {
                "ResultType": "0",
                "ResultCode": "0",
                "ResultDesc": "Process service request successfully.",
                "TransactionResult": {
                    "TransactionID": "AKI2AGO8RM",
                    "ResultParameters": {
                        "ResultParameter": [
                            {
                                "Key": "DebitBalance",
                                "Value": "{\"total\":[{\"amount\":\"15.17\",\"currency\":\"ETB\"}],\"list\":[{\"amount\":\"0.30\",\"accountno\":\"100000000114997859\",\"currency\":\"ETB\",\"accounttypename\":\"Customer Incentive Account\"},{\"amount\":\"14.87\",\"accountno\":\"100000000114997842\",\"currency\":\"ETB\",\"accounttypename\":\"Customer E-Money Account\"}]}"
                            },
                            {
                                "Key": "CreditBalance",
                                "Value": []
                            }
                        ]
                    }
                }
            }
        }
    }
}

```

The result is a json with the unique `OriginatorConversationID` for you to query your database with.

***🚀 And that's it. Do your thing and Give us a star if this helped you.🚀***

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance65

Regular maintenance activity

Popularity26

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 96.8% 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 ~138 days

Recently: every ~173 days

Total

6

Last Release

213d ago

Major Versions

1.1 → 2.0.02025-10-11

PHP version history (3 changes)v1.0.2PHP ^7.4 || ^8.0

1.1PHP ^8.0

2.0.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/1214089c541d816fb8e652c04039c17ee78639ddef4b2d1582c5a1b49d157105?d=identicon)[vptrading](/maintainers/vptrading)

---

Top Contributors

[![alazark94](https://avatars.githubusercontent.com/u/35865798?v=4)](https://github.com/alazark94 "alazark94 (30 commits)")[![YohannesTz](https://avatars.githubusercontent.com/u/52599607?v=4)](https://github.com/YohannesTz "YohannesTz (1 commits)")

---

Tags

paymenttelebirrussdlaravelTelebirrUssd

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/vptrading-telebirr-ussd-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/vptrading-telebirr-ussd-laravel/health.svg)](https://phpackages.com/packages/vptrading-telebirr-ussd-laravel)
```

###  Alternatives

[laraveldaily/laravel-invoices

Missing invoices for Laravel

1.5k1.3M4](/packages/laraveldaily-laravel-invoices)

PHPackages © 2026

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