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

ActiveLibrary[API Development](/categories/api)

igun997/ppob
============

PPOB Multi Pulsa API PHP Library.

1.0.20(4y ago)067PHPPHP &gt;=7.2.5

Since Dec 5Pushed 4y agoCompare

[ Source](https://github.com/igun997/ppob)[ Packagist](https://packagist.org/packages/igun997/ppob)[ RSS](/packages/igun997-ppob/feed)WikiDiscussions master Synced today

READMEChangelog (4)Dependencies (2)Versions (20)Used By (0)

PPOB Package for Laravel 5
==========================

[](#ppob-package-for-laravel-5)

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 ()

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

[](#installation)

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

```
composer require rick20/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="Rick20\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 Rick20\PPOB\Products\Pulsa;
use Rick20\PPOB\Products\TokenPLN;
use Rick20\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

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 86.7% 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 ~55 days

Recently: every ~76 days

Total

19

Last Release

1776d ago

Major Versions

0.1.19 → 1.0.202021-08-22

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

0.1.15PHP &gt;=7.2.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/825292155992c28e147eec4c7f231ef0f3d3f4f9576b518ded11b17e59accb74?d=identicon)[igun997](/maintainers/igun997)

---

Top Contributors

[![rick20](https://avatars.githubusercontent.com/u/1517180?v=4)](https://github.com/rick20 "rick20 (26 commits)")[![igun997](https://avatars.githubusercontent.com/u/12785984?v=4)](https://github.com/igun997 "igun997 (4 commits)")

### Embed Badge

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

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

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3741.3M46](/packages/tencentcloud-tencentcloud-sdk-php)[illuminate/http

The Illuminate Http package.

11937.9M6.9k](/packages/illuminate-http)[spatie/laravel-export

Create a static site bundle from a Laravel app

674146.0k6](/packages/spatie-laravel-export)[simplestats-io/laravel-client

Analytics for Laravel. Track visitors, registrations, and payments. Discover which channels actually drive revenue, not just traffic. Server-side, GDPR compliant, ad-blocker proof.

5019.3k](/packages/simplestats-io-laravel-client)[jasara/php-amzn-selling-partner-api

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

1348.7k1](/packages/jasara-php-amzn-selling-partner-api)

PHPackages © 2026

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