PHPackages                             cloudbadak/payment-hub - 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. cloudbadak/payment-hub

ActiveLibrary[Payment Processing](/categories/payments)

cloudbadak/payment-hub
======================

Hubungkan ke payment gateway pilihan dengan berbagai kemudahan dalam instalasi dan switch ke payment gateway lain dikemudian hari

1.1.0(1mo ago)00MITPHPPHP &gt;=7.4.0

Since May 30Pushed 1mo agoCompare

[ Source](https://github.com/cloudbadak/payment-hub)[ Packagist](https://packagist.org/packages/cloudbadak/payment-hub)[ RSS](/packages/cloudbadak-payment-hub/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

Payment Hub
===========

[](#payment-hub)

Hubungkan ke payment gateway pilihan dengan berbagai kemudahan dalam instalasi dan switch ke payment gateway lain dikemudian hari.

Penyedia Pembayaran yang Didukung
---------------------------------

[](#penyedia-pembayaran-yang-didukung)

Saat ini pustaka hanya mendukung integrasi ke beberapa penyedia pembayaran. Jika Anda ingin turut serta mengembangkan pustaka dengan menambah dukungan untuk penyedia pembayaran lain silakan ajukan permintaan. Penyedia pembayaran yang didukung bisa bertambah dikemudian hari.

Penyedia pembayaran yang didukung saat ini:

- Midtrans (MidtransPayment)

Instalasi
---------

[](#instalasi)

```
composer require cloudbadak/payment-hub
```

Cek Saldo
---------

[](#cek-saldo)

Gunakan perintah ini untuk mengambil data saldo dari vendor yang dipilih (tidak semua penyedia pembayaran mendukung fitur cek saldo).

Berikut penyedia pembayaran yang mendukung cek saldo:

- iPaymu (IpaymuPayment)
- Xendit (XenditPayment)

```
use Cloudbadak\PaymentHub\PaymentHub;
use Cloudbadak\PaymentHub\Providers\IpaymuPayment; // gunakan sesuai payment provider yang dipakai

$paymentHub = new PaymentHub(new IpaymuPayment());
$balance = (string) $paymentHub->balance();
```

Menerima Pembayaran
-------------------

[](#menerima-pembayaran)

Gunakan kelas penyedia pembayaran pada konstruktor `PaymentHub`, misalkan `MidtransPayment`. Semua metode pembayaran mengembalikan data objek `Cloudbadak\PaymentHub\Data\PaymentResponse`.

1. Inisialisasi kelas yang dibutuhkan

```
use Cloudbadak\PaymentHub\PaymentHub;
use Cloudbadak\PaymentHub\Data\PaymentRequest;
use Cloudbadak\PaymentHub\Data\PaymentResponse;

// gunakan sesuai payment provider yang dipakai
use Cloudbadak\PaymentHub\Providers\MidtransPayment;
```

2. Membuat objek payment request

```
$orderId = "[unique_id]";
$amount = 100000;

$order = new PaymentRequest($orderId, $amount);
```

3. Memilih metode pembayaran

```
use Cloudbadak\PaymentHub\Enums\BankCode;
use Cloudbadak\PaymentHub\Enums\EWalletCode;
use Cloudbadak\PaymentHub\Enums\OutletCode;
use Cloudbadak\PaymentHub\Enums\QRPaymentCode;
use Cloudbadak\PaymentHub\Enums\CardlessCreditCode;

// jika pakai virtual_account
$order->setBank(BankCode::MANDIRI);

// jika pakai e-wallet
$order->setWallet(EWalletCode::OVO);

// jika pakai outlet
$order->setOutlet(OutletCode::ALFAMART);

// jika pakai qris
$order->setQRPayment(QRPaymentCode::QRIS);

// jika pakai credit card
$order->setCardTokenId("token_id");

// jika pakai pay later
$order->setCardlessCredit(CardlessCreditCode::AKULAKU);
```

4. Menambahkan data customer (opsional)

```
use Cloudbadak\PaymentHub\Data\Customer;

$customer = new Customer(
    "cust_id",
    "Nama Depan"
    "Nama Belakang",
    "email@example.com",
    "08xxx"
);
$order->setCustomer($customer);
```

5. Menambahkan data items (opsional)

```
use Cloudbadak\PaymentHub\Data\Item;

$items = [
    new Item("id", "Nama Produk 1", "Deskripsi 1", 1, 100000),
    new Item("id", "Nama Produk 2", "Deskripsi 2", 2, 50000),
]
$order->setItems($items);
```

6. Menambahkan data seller (opsional)

```
use Cloudbadak\PaymentHub\Data\Seller;

$seller = new Seller("id", "Nama Toko", "email@example.com", "08xxx");
$order->setSeller($seller);
```

7. Melakukan request pembayaran

```
$paymentHub = new PaymentHub(new MidtransPayment());
$response = $paymentHub->charge($order);
```

Cek Transaksi
-------------

[](#cek-transaksi)

Gunakan ini untuk mengambil data transaksi. Semua metode pembayaran mengembalikan data objek `Cloudbadak\PaymentHub\Data\PaymentResponse`.

```
$paymentHub = new PaymentHub(new MidtransPayment());
$response = $paymentHub->get('[order_id]');
```

Ambil dan Validasi Data Webhook
-------------------------------

[](#ambil-dan-validasi-data-webhook)

Gunakan ini untuk memproses, validasi, dan mengambil data dari webhook. Semua metode pembayaran mengembalikan data objek `Cloudbadak\PaymentHub\Data\PaymentResponse`.

```
$paymentHub = new PaymentHub(new MidtransPayment());
$response = $paymentHub->webhook();
```

ENVIRONMENT (development dan production)
----------------------------------------

[](#environment-development-dan-production)

ENVIRONMENT yang tersedia di pustaka ini hanya `development` dan `production`. Silakan atur pada konfigurasi `*_ENVIRONMENT`.

1. Midtrans

```
MIDTRANS_ENVIRONMENT = development
MIDTRANS_SERVER_KEY = server_key
MIDTRANS_CLIENT_KEY = client_key
```

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance89

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 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 ~1 days

Total

3

Last Release

53d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

gatewaypayment-hubmulti-payment

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/cloudbadak-payment-hub/health.svg)

```
[![Health](https://phpackages.com/badges/cloudbadak-payment-hub/health.svg)](https://phpackages.com/packages/cloudbadak-payment-hub)
```

PHPackages © 2026

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