PHPackages                             vptrading/h5-telebirr-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. [API Development](/categories/api)
4. /
5. vptrading/h5-telebirr-laravel

ActiveLibrary[API Development](/categories/api)

vptrading/h5-telebirr-laravel
=============================

Laravel package for H5 telebirr api

v1.0.0(2y ago)1191MITPHPPHP ^7.4 || ^8.0

Since Dec 21Pushed 2y agoCompare

[ Source](https://github.com/VP-Trading/h5-telebirr-laravel)[ Packagist](https://packagist.org/packages/vptrading/h5-telebirr-laravel)[ RSS](/packages/vptrading-h5-telebirr-laravel/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

[![Logo V P Trading](/img/logo.png)](https://vptrading.et)

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

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

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

[](#introduction)

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

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

[](#usage-guide)

This is a private package, meaning there is no way to require it using composer.

### Step One

[](#step-one)

Install the package using `composer require vptrading/h5-telebirr-laravel`

### Step Two

[](#step-two)

Run the artisan command to publish the Vptrading/telebirr-laravel configuration file.

```
php artisan vendor:publish --provider="Vptrading\TelebirrLaravel\TelebirrServiceProvider"

```

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

### Step Four

[](#step-four)

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

Usage
=====

[](#usage)

Buy
---

[](#buy)

In order to send a buy request using Telebirr® all you have to do is import the `Telebirr` class where you want to use it and call the `buy` static method. The `Telebirr::buy()` method accepts for parameters, these are: Item name, amount, return url and shortcode.

**Example**

```
use Vptrading\TelebirrLaravel\Telebirr;

$response = Telebirr::buy('iPhone', 999, 'https://domain.tld/return', 0000);

```

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

When calling that method it return a response

**Response Example**

```
{
    "teleResponse": {
        "code": 200,
        "data": {
            "toPayUrl": "https://app.ethiomobilemoney.et:2121/ammwebpay/#/?transactionNo=202202151208181493512480051392514"
        },
        "message": "Operation successful",
        "dateTime": 1644916098027,
        "path": null,
        "errorDetails": [],
        "extraData": []
    },
    "outTradeNo": "76c1aace47b3dc0a"
}

```

> Note: Make sure to store the `outTradeNo` in your database so you can fetch that transaction when you receive the notification.

Using the toPayUrl you will be redirected to Ethio Telecom's Telebirr® site where the user will be able to pay using the Telebirr® mobile app or using SMS right there from the browser.

Notify
------

[](#notify)

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 URL you specified in the `telebirr.php` config file.

**Example Notification String From Telebirr®**

```
VBMDvN6H2U/AGbxocLQgZfJOR2rLLqTZ5pHm6295AZS4uFXR1YMPJlF+SCoJK0DLzZ2OlgGMsVPrwfJ1lmKHtOvnDGJLKrcpIG/J7RLf+tN672g+lT5o3tByvQBkjqualj91i7uNqCytNFfVN5azw7VV+OwXBMu5gnGhZPX5D4plBtOjyMWm8IYsM4uqy9V7Os+jPk7w3QBHSMB8jRRhVABT9xAzTPWC1J86xAIaTA1ehjHcbY9ziA1+P5kNQSULunOMhCA+fn0Y2HZyyFySW+dU+DHWnwf0mjGa/xF669CQttTqcmIg4QLu0TUzYjhHl1l5gbAxrwK//amHL5I2wpUhCeeSS5E4tq/TmoqVdJoZC0/gvu2Zta/9orfbzWz/xYeKefvkRaHVUid0fRu6x0xGnVe115OPCm79Y0dU43mxMVhmPza45qxGwcmsbGzs1drMiu2BJI664f0kt8lfZAUVwhIMAZbdB4MnP7gi1pnW3vBZLAtAvSCY45X/gl1sqo1X9Ypdg9jd5fCQp0b44NKI7JojYTXWrtsFWYxOAiLB9zh53Bah6WjHSnHauBbRU8eeE2Lt6Lv+QzXlu2uCjRveBH9mauNyt5XNwaU/BoSSNUZpJFRgmy7AsNkj2RoBfKyggdexik6FJbff3lBODJcWWBjol1H6qlkMp9RkJLU=

```

In order to decode this, the package provides a `Notify::class` with `notify` static 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**

```
$decoded = Notify::notify('VBMDvN6H2U/AGbxocLQgZfJOR2rLLqTZ5pHm6295AZS4uFXR1YMPJlF+SCoJK0DLzZ2OlgGMsVPrwfJ1lmKHtOvnDGJLKrcpIG/J7RLf+tN672g+lT5o3tByvQBkjqualj91i7uNqCytNFfVN5azw7VV+OwXBMu5gnGhZPX5D4plBtOjyMWm8IYsM4uqy9V7Os+jPk7w3QBHSMB8jRRhVABT9xAzTPWC1J86xAIaTA1ehjHcbY9ziA1+P5kNQSULunOMhCA+fn0Y2HZyyFySW+dU+DHWnwf0mjGa/xF669CQttTqcmIg4QLu0TUzYjhHl1l5gbAxrwK//amHL5I2wpUhCeeSS5E4tq/TmoqVdJoZC0/gvu2Zta/9orfbzWz/xYeKefvkRaHVUid0fRu6x0xGnVe115OPCm79Y0dU43mxMVhmPza45qxGwcmsbGzs1drMiu2BJI664f0kt8lfZAUVwhIMAZbdB4MnP7gi1pnW3vBZLAtAvSCY45X/gl1sqo1X9Ypdg9jd5fCQp0b44NKI7JojYTXWrtsFWYxOAiLB9zh53Bah6WjHSnHauBbRU8eeE2Lt6Lv+QzXlu2uCjRveBH9mauNyt5XNwaU/BoSSNUZpJFRgmy7AsNkj2RoBfKyggdexik6FJbff3lBODJcWWBjol1H6qlkMp9RkJLU=);

```

**Result**

```
[
     "msisdn" => "251912345678",
     "outTradeNo" => "76c1aace47b3dc0a",
     "totalAmount" => "999",
     "tradeDate" => 1643891838000,
     "tradeNo" => "202202151208181493512480051392514",
     "tradeStatus" => 2,
     "transactionNo" => "9B327LP01I",
]

```

The result is a key-value pair array with the unique `outTradeNo` for you to query your database with.

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

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

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

927d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/86159029?v=4)[vptrading](/maintainers/vptrading)[@VPTrading](https://github.com/VPTrading)

---

Top Contributors

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

### Embed Badge

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

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

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k16](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

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