PHPackages                             devlover/ppob - 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. devlover/ppob

ActiveLibrary[API Development](/categories/api)

devlover/ppob
=============

PPOB Multi Pulsa API PHP Library.

0.2.1(6y ago)116GPL-3.0-or-laterPHPPHP ^7.2

Since Dec 5Pushed 6y agoCompare

[ Source](https://github.com/devlover-xyz/ppob)[ Packagist](https://packagist.org/packages/devlover/ppob)[ RSS](/packages/devlover-ppob/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (3)Versions (16)Used By (0)

PPOB Package for Laravel 6 &amp; Lumen 6
========================================

[](#ppob-package-for-laravel-6--lumen-6)

The purpose of this package is to allow your website to purchase many prepaid digital products like Token PLN, Pulsa, Paket Data and more in Indonesia.

Right now, the following providers are supported:

- MobilePulsa ()
- PortalPulsa ()
- Tripay ()
- IndoH2H ()

Credit
------

[](#credit)

Thanks to  for sharing this code

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

[](#installation)

To get started with PPOB, run this command or add the package to your `composer.json`

```
composer require devlover/ppob

```

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

[](#configuration)

The PPOB package use Laravel autodiscovery so it will be loaded automatically. Copy the `config` file with the following command: `php artisan vendor:publish --provider="Devlover\PPOB\PPOBServiceProvider"`

Finally add your provider's account in the `.env` file:

```
MOBILEPULSA_USERNAME=
MOBILEPULSA_APIKEY=

PORTALPULSA_USERNAME=
PORTALPULSA_APIKEY=
PORTALPULSA_SECRET=

TRIPAY_APIKEY=
TRIPAY_PIN=

INDOH2H_USERNAME=
INDOH2H_APIKEY=

```

To add more accounts in a single provider, add those accounts in `config/ppob.php`

```
...
'accounts' => [
    'account-A' => [
        'provider' => 'mobile-pulsa',
        'username' => 'usernameA',
        'apikey' => 'apikeyA'
    ],
    'account-B' => [
        'provider' => 'mobile-pulsa',
        'username' => 'usernameB',
        'apikey' => 'apikeyB'
    ],
]
...
```

How To Use
----------

[](#how-to-use)

After all sets, use the PPOB as follows:

```
use Devlover\PPOB\Products\Pulsa;
use Devlover\PPOB\Products\TokenPLN;
use Devlover\PPOB\Products\GenericProduct;

// Topup Pulsa
$status = PPOB::topup(new Pulsa('082112345678', 50000), 'ref123');

// Check your deposit balance
$balance = PPOB::balance();

// Check status of a transaction
$status = PPOB::status('ref123');

// Use another account
$status = PPOB::account('account-portalpulsa')->topup(
  new TokenPLN('no-meter', 'no-hp', 100000), 'ref456'
);

// Purchase other products
$status = PPOB::account('account-tripay')->topup(
  new GenericProduct('subscriber-id', 'no-hp', 'product-code'), 'ref789'
);
```

Bugs &amp; Improvements
-----------------------

[](#bugs--improvements)

Feel free to report me any bug you found. I would be also very happy to receive pull requests for improvements and for other PPOB provider as well. If you find this package helpful, a donation would be awesome! =)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 77.4% 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 ~33 days

Recently: every ~47 days

Total

15

Last Release

2255d ago

PHP version history (2 changes)0.1.1PHP &gt;=7.1.3

0.2.0PHP ^7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/ec3255bed18e6c70364ee5d7bbd7b0c9c304f205ae4d900bcfecaeb3a9fb626f?d=identicon)[devlover](/maintainers/devlover)

---

Top Contributors

[![rick20](https://avatars.githubusercontent.com/u/1517180?v=4)](https://github.com/rick20 "rick20 (24 commits)")[![aviqbaihaqy](https://avatars.githubusercontent.com/u/1930221?v=4)](https://github.com/aviqbaihaqy "aviqbaihaqy (6 commits)")[![devlover-xyz](https://avatars.githubusercontent.com/u/61451075?v=4)](https://github.com/devlover-xyz "devlover-xyz (1 commits)")

### Embed Badge

![Health badge](/badges/devlover-ppob/health.svg)

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

###  Alternatives

[skagarwal/google-places-api

Google Places Api

1913.0M8](/packages/skagarwal-google-places-api)[dcblogdev/laravel-microsoft-graph

A Laravel Microsoft Graph API (Office365) package

168285.5k1](/packages/dcblogdev-laravel-microsoft-graph)[vluzrmos/slack-api

Wrapper for Slack.com WEB API.

102589.1k3](/packages/vluzrmos-slack-api)[smodav/mpesa

M-Pesa API implementation

16363.7k1](/packages/smodav-mpesa)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1344.8k1](/packages/jasara-php-amzn-selling-partner-api)[grantholle/powerschool-api

A Laravel package to make interacting with PowerSchool less painful.

1715.6k1](/packages/grantholle-powerschool-api)

PHPackages © 2026

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