PHPackages                             ndradev/digiflazz-sdk-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. ndradev/digiflazz-sdk-laravel

ActiveLibrary[API Development](/categories/api)

ndradev/digiflazz-sdk-laravel
=============================

Laravel SDK for DigiFlazz API - Professional wrapper for DigiFlazz payment gateway

v1.0.0(4mo ago)01MITPHPPHP ^8.1

Since Feb 20Pushed 4mo agoCompare

[ Source](https://github.com/NdraDev/digiflazz-sdk-laravel)[ Packagist](https://packagist.org/packages/ndradev/digiflazz-sdk-laravel)[ RSS](/packages/ndradev-digiflazz-sdk-laravel/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (6)Versions (2)Used By (0)

DigiFlazz SDK untuk Laravel
===========================

[](#digiflazz-sdk-untuk-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/0000f535705c3e25e93811a6421f4941050a825d3335f6a92289bc3de2416f64/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6472616465762f64696769666c617a7a2d73646b2d6c61726176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ndradev/digiflazz-sdk-laravel)[![Total Downloads](https://camo.githubusercontent.com/52e5c67eadc8ded14a86b21ddf20dd731caa607fbc67761c854ef8b839004cf5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6e6472616465762f64696769666c617a7a2d73646b2d6c61726176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ndradev/digiflazz-sdk-laravel)[![License](https://camo.githubusercontent.com/bcfc7dc89d9a39900af59ac0a0466eae81a73a9f2d11de2536de4760c9d9abab/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6e6472616465762f64696769666c617a7a2d73646b2d6c61726176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ndradev/digiflazz-sdk-laravel)

SDK Laravel profesional untuk [DigiFlazz API](https://digiflazz.com) - Platform PPOB (Payment Point Online Bank) terkemuka di Indonesia untuk pembelian pulsa, paket data, token listrik, dan berbagai produk digital lainnya.

Daftar Isi
----------

[](#daftar-isi)

- [Fitur](#fitur)
- [Persyaratan](#persyaratan)
- [Instalasi](#instalasi)
- [Konfigurasi](#konfigurasi)
- [Penggunaan](#penggunaan)
    - [Menggunakan Facade](#menggunakan-facade)
    - [Menggunakan Dependency Injection](#menggunakan-dependency-injection)
- [Metode yang Tersedia](#metode-yang-tersedia)
    - [Produk &amp; Harga](#produk--harga)
    - [Transaksi](#transaksi)
    - [Saldo &amp; Akun](#saldo--akun)
    - [Cek Tagihan](#cek-tagihan)
    - [Webhook/Callback](#webhookcallback)
- [Models](#models)
- [Penanganan Error](#penanganan-error)
- [Webhook Handler](#webhook-handler)
- [Testing](#testing)
- [Kontribusi](#kontribusi)
- [Lisensi](#lisensi)

Fitur
-----

[](#fitur)

- Integrasi mudah dengan Laravel 10 dan 11
- Cakupan lengkap API DigiFlazz
- Autentikasi aman dengan SHA256
- Type-safe models dan DTOs
- Webhook handler untuk callback otomatis
- Event system untuk integrasi yang fleksibel
- Siap untuk production
- Dokumentasi lengkap dalam Bahasa Indonesia

Persyaratan
-----------

[](#persyaratan)

- PHP &gt;= 8.1
- Laravel &gt;= 10.0
- Guzzle HTTP Client &gt;= 7.8
- Akun DigiFlazz aktif (daftar di )

Instalasi
---------

[](#instalasi)

Instal package melalui Composer:

```
composer require ndradev/digiflazz-sdk-laravel
```

### Laravel (Auto-discovery)

[](#laravel-auto-discovery)

Untuk Laravel 5.5 ke atas, service provider dan facade akan otomatis terdaftar melalui package auto-discovery.

### Laravel (Registrasi Manual)

[](#laravel-registrasi-manual)

Untuk versi Laravel yang lebih lama, tambahkan service provider dan facade ke `config/app.php`:

```
'providers' => [
    // ...
    NadrDev\Digiflazz\Providers\DigiflazzServiceProvider::class,
],

'aliases' => [
    // ...
    'Digiflazz' => NadrDev\Digiflazz\Facades\Digiflazz::class,
],
```

Konfigurasi
-----------

[](#konfigurasi)

Publish file konfigurasi:

```
php artisan vendor:publish --provider="NadrDev\Digiflazz\Providers\DigiflazzServiceProvider" --tag="digiflazz-config"
```

Tambahkan kredensial DigiFlazz Anda ke file `.env`:

```
DIGIFLAZZ_USERNAME=username_anda
DIGIFLAZZ_API_KEY=api_key_anda
DIGIFLAZZ_PRODUCTION=false
DIGIFLAZZ_WEBHOOK_SECRET=api_key_anda
DIGIFLAZZ_WEBHOOK_ENABLED=true
```

### Penjelasan Konfigurasi

[](#penjelasan-konfigurasi)

KonfigurasiDeskripsiDefault`DIGIFLAZZ_USERNAME`Username akun DigiFlazz Anda-`DIGIFLAZZ_API_KEY`API Key dari dashboard DigiFlazz-`DIGIFLAZZ_PRODUCTION`Mode production (true) atau development (false)false`DIGIFLAZZ_WEBHOOK_SECRET`Secret untuk verifikasi webhookAPI Key`DIGIFLAZZ_WEBHOOK_ENABLED`Aktifkan webhook handlertruePenggunaan
----------

[](#penggunaan)

### Menggunakan Facade

[](#menggunakan-facade)

```
use NadrDev\Digiflazz\Facades\Digiflazz;

// Mendapatkan daftar harga
$priceList = Digiflazz::getPriceList();

// Mendapatkan saldo
$balance = Digiflazz::getBalance();

// Membuat transaksi
$transaction = Digiflazz::createTransaction([
    'buyer_sku_code' => 'TELKOMSEL10',
    'customer_number' => '081234567890',
    'ref_id' => 'ORDER-' . time(),
]);
```

### Menggunakan Dependency Injection

[](#menggunakan-dependency-injection)

```
use NadrDev\Digiflazz\Http\DigiFlazzClient;

class PaymentController extends Controller
{
    private DigiFlazzClient $digiFlazz;

    public function __construct(DigiFlazzClient $digiFlazz)
    {
        $this->digiFlazz = $digiFlazz;
    }

    public function purchase()
    {
        $balance = $this->digiFlazz->getBalance();
        // ...
    }
}
```

Metode yang Tersedia
--------------------

[](#metode-yang-tersedia)

### Produk &amp; Harga

[](#produk--harga)

#### Mendapatkan Daftar Harga

[](#mendapatkan-daftar-harga)

```
// Semua produk
$priceList = Digiflazz::getPriceList();

// Berdasarkan kategori (pulsa, data, pln, dll)
$priceList = Digiflazz::getPriceList('pulsa');
$priceList = Digiflazz::getPriceList('data');
$priceList = Digiflazz::getPriceList('pln');
```

#### Mendapatkan Produk Berdasarkan SKU

[](#mendapatkan-produk-berdasarkan-sku)

```
$product = Digiflazz::getProductBySku('TELKOMSEL10');
```

### Transaksi

[](#transaksi)

#### Membuat Transaksi Baru

[](#membuat-transaksi-baru)

```
use NadrDev\Digiflazz\Models\TransactionRequest;

// Menggunakan array
$response = Digiflazz::createTransaction([
    'buyer_sku_code' => 'TELKOMSEL10',
    'customer_number' => '081234567890',
    'ref_id' => 'ORDER-' . time(),
    'extra_data' => 'data_opsional',
]);

// Menggunakan TransactionRequest DTO
$request = TransactionRequest::create('TELKOMSEL10', '081234567890')
    ->setRefId('ORDER-' . time());

$response = Digiflazz::createTransaction($request->toArray());
```

**Parameter:**

ParameterTipeWajibDeskripsi`buyer_sku_code`stringYaKode produk yang akan dibeli`customer_number`stringYaNomor tujuan (nomor HP, ID pelanggan, dll)`ref_id`stringTidakID referensi unik dari sistem Anda`extra_data`stringTidakData tambahan (opsional)#### Cek Status Transaksi

[](#cek-status-transaksi)

```
$status = Digiflazz::getTransactionStatus('ORDER-123');
```

#### Riwayat Transaksi

[](#riwayat-transaksi)

```
// Semua transaksi
$history = Digiflazz::getTransactionHistory();

// Dengan filter
$history = Digiflazz::getTransactionHistory(
    startDate: '2024-01-01',
    endDate: '2024-01-31',
    status: 'success',
    buyerSkuCode: 'TELKOMSEL10',
    page: 1,
    limit: 20
);
```

**Parameter:**

ParameterTipeWajibDeskripsi`start_date`stringTidakTanggal mulai (format: Y-m-d)`end_date`stringTidakTanggal akhir (format: Y-m-d)`status`stringTidakFilter status (pending, success, failed)`buyer_sku_code`stringTidakFilter berdasarkan kode produk`page`intTidakHalaman (default: 1)`limit`intTidakJumlah data per halaman (default: 20)### Saldo &amp; Akun

[](#saldo--akun)

#### Cek Saldo

[](#cek-saldo)

```
use NadrDev\Digiflazz\Models\Balance;

$response = Digiflazz::getBalance();
$balance = Balance::fromArray($response);

echo $balance->getBalanceInRupiah(); // Rp 1.000.000
echo $balance->getBalanceFormatted(); // 1.000.000
```

### Cek Tagihan

[](#cek-tagihan)

#### Cek PLN Prabayar (Token)

[](#cek-pln-prabayar-token)

```
$info = Digiflazz::checkPlnPrepayment('123456789012');

// Response berisi:
// - meter_number: Nomor meter
// - customer_name: Nama pelanggan
// - segment_power: Daya listrik
// - status: Status ketersediaan
```

#### Cek PLN Pascabayar

[](#cek-pln-pascabayar)

```
$info = Digiflazz::checkPlnPostpayment('123456789012');
```

#### Cek PDAM

[](#cek-pdam)

```
$info = Digiflazz::checkPdam(
    customerNumber: '123456789012',
    companyCode: 'PDAM_JKT'
);
```

#### Cek BPJS

[](#cek-bpjs)

```
$info = Digiflazz::checkBpjs('123456789012');
```

#### Cek Kartu Kredit

[](#cek-kartu-kredit)

```
$info = Digiflazz::checkCreditCard(
    cardNumber: '1234567890123456',
    bankCode: 'BCA'
);
```

### Webhook/Callback

[](#webhookcallback)

#### Setup Webhook di Dashboard DigiFlazz

[](#setup-webhook-di-dashboard-digiflazz)

1. Login ke dashboard DigiFlazz
2. Masuk ke menu **Callback/Webhook**
3. Masukkan URL endpoint webhook Anda
4. Simpan konfigurasi

URL webhook harus dapat diakses dari internet.

#### Testing Webhook

[](#testing-webhook)

```
// Test callback URL
Digiflazz::testCallback('https://your-domain.com/api/digiflazz/webhook');
```

Models
------

[](#models)

SDK ini menyediakan beberapa model untuk memudahkan pengolahan data:

### Product Model

[](#product-model)

```
use NadrDev\Digiflazz\Models\Product;

$product = Product::fromArray($responseData);

echo $product->name;
echo $product->price;
echo $product->isAvailable() ? 'Tersedia' : 'Habis';
```

### Transaction Model

[](#transaction-model)

```
use NadrDev\Digiflazz\Models\Transaction;

$transaction = Transaction::fromArray($responseData);

if ($transaction->isSuccess()) {
    // Transaksi berhasil
    echo $transaction->serialNumber;
} elseif ($transaction->isFailed()) {
    // Transaksi gagal
    echo $transaction->message;
} elseif ($transaction->isPending()) {
    // Transaksi masih diproses
}
```

### Balance Model

[](#balance-model)

```
use NadrDev\Digiflazz\Models\Balance;

$balance = Balance::fromArray($responseData);

echo $balance->getBalanceInRupiah(); // Rp 1.000.000
echo $balance->balance; // 1000000
echo $balance->point; // 0
```

### TransactionRequest Model

[](#transactionrequest-model)

```
use NadrDev\Digiflazz\Models\TransactionRequest;

$request = TransactionRequest::create('TELKOMSEL10', '081234567890')
    ->setRefId('ORDER-' . time())
    ->setExtraData('catatan');

$data = $request->toArray();
```

Penanganan Error
----------------

[](#penanganan-error)

SDK ini menyediakan beberapa exception class untuk penanganan error yang lebih baik:

```
use NadrDev\Digiflazz\Exceptions\ApiException;
use NadrDev\Digiflazz\Exceptions\ConnectionException;
use NadrDev\Digiflazz\Exceptions\ValidationException;

try {
    $result = Digiflazz::createTransaction([
        'buyer_sku_code' => 'TELKOMSEL10',
        'customer_number' => '081234567890',
    ]);
} catch (ValidationException $e) {
    // Error validasi data
    $errors = $e->getErrors();
    foreach ($errors as $field => $message) {
        logger()->error("Validasi {$field}: {$message}");
    }
} catch (ConnectionException $e) {
    // Error koneksi ke API
    logger()->error('Koneksi ke DigiFlazz gagal: ' . $e->getMessage());
} catch (ApiException $e) {
    // Error dari API DigiFlazz
    logger()->error('Error dari DigiFlazz: ' . $e->getMessage());
    logger()->error('Context: ' . json_encode($e->getContext()));
}
```

Webhook Handler
---------------

[](#webhook-handler)

### Setup Route Webhook

[](#setup-route-webhook)

Tambahkan route untuk webhook di `routes/api.php`:

```
use Illuminate\Support\Facades\Route;
use NadrDev\Digiflazz\Http\Controllers\WebhookController;
use NadrDev\Digiflazz\Http\WebhookHandler;

Route::post('/digiflazz/webhook', function (
    Illuminate\Http\Request $request,
    WebhookHandler $webhookHandler
) {
    $controller = new WebhookController();
    return $controller->handle($request, $webhookHandler);
})->name('digiflazz.webhook');
```

### Event Listener

[](#event-listener)

SDK ini memancarkan event `TransactionStatusChanged` ketika webhook diterima. Anda bisa membuat listener:

```
// app/Providers/EventServiceProvider.php
protected $listen = [
    \NadrDev\Digiflazz\Events\TransactionStatusChanged::class => [
        \App\Listeners\DigiFlazzWebhookListener::class,
    ],
];
```

```
// app/Listeners/DigiFlazzWebhookListener.php
namespace App\Listeners;

use NadrDev\Digiflazz\Events\TransactionStatusChanged;

class DigiFlazzWebhookListener
{
    public function handle(TransactionStatusChanged $event): void
    {
        $transaction = $event->transaction;

        // Update status transaksi di database Anda
        // Kirim notifikasi ke customer
        // dll
    }
}
```

### Contoh Lengkap Webhook Handler

[](#contoh-lengkap-webhook-handler)

```
// routes/api.php
Route::post('/digiflazz/webhook', function (Illuminate\Http\Request $request) {
    $signature = $request->header('X-Digiflazz-Signature')
        ?? $request->header('X-Signature')
        ?? $request->input('signature');

    if (!$signature) {
        return response()->json(['success' => false, 'message' => 'Missing signature'], 400);
    }

    $webhookHandler = new \NadrDev\Digiflazz\Http\WebhookHandler(
        config('digiflazz.webhook.secret')
    );

    try {
        $data = $webhookHandler->handleFromRequest($request->getContent(), $signature);

        // Proses transaksi berdasarkan data webhook
        \Log::info('Webhook DigiFlazz diterima', $data);

        // Update database Anda
        // Order::where('ref_id', $data['ref_id'])->update([
        //     'status' => $data['status'],
        //     'serial_number' => $data['serial_number'],
        //     'message' => $data['message'],
        // ]);

        // Kirim notifikasi
        // if ($data['status'] === 'success') {
        //     // Kirim SMS/Email ke customer
        // }

        return response()->json(['success' => true]);
    } catch (\Exception $e) {
        \Log::error('Error webhook DigiFlazz: ' . $e->getMessage());
        return response()->json(['success' => false], 500);
    }
});
```

Testing
-------

[](#testing)

Jalankan test suite:

```
composer test
```

Contoh Penggunaan Lengkap
-------------------------

[](#contoh-penggunaan-lengkap)

### Controller untuk Pembelian Pulsa

[](#controller-untuk-pembelian-pulsa)

```
namespace App\Http\Controllers;

use App\Models\Order;
use Illuminate\Http\Request;
use NadrDev\Digiflazz\Facades\Digiflazz;
use NadrDev\Digiflazz\Exceptions\ApiException;
use NadrDev\Digiflazz\Exceptions\ConnectionException;
use NadrDev\Digiflazz\Exceptions\ValidationException;

class PulsaController extends Controller
{
    public function purchase(Request $request)
    {
        $validated = $request->validate([
            'phone_number' => 'required|numeric',
            'product_sku' => 'required|string',
        ]);

        $refId = 'ORDER-' . uniqid();

        try {
            $response = Digiflazz::createTransaction([
                'buyer_sku_code' => $validated['product_sku'],
                'customer_number' => $validated['phone_number'],
                'ref_id' => $refId,
            ]);

            // Simpan ke database
            Order::create([
                'ref_id' => $refId,
                'buyer_sku_code' => $validated['product_sku'],
                'customer_number' => $validated['phone_number'],
                'status' => $response['status'] ?? 'pending',
                'price' => $response['price'] ?? 0,
            ]);

            return response()->json([
                'success' => true,
                'data' => $response,
            ]);
        } catch (ValidationException $e) {
            return response()->json([
                'success' => false,
                'message' => 'Data tidak valid',
                'errors' => $e->getErrors(),
            ], 422);
        } catch (ConnectionException $e) {
            return response()->json([
                'success' => false,
                'message' => 'Gagal terhubung ke DigiFlazz',
            ], 503);
        } catch (ApiException $e) {
            return response()->json([
                'success' => false,
                'message' => $e->getMessage(),
            ], 400);
        }
    }

    public function status(string $refId)
    {
        try {
            $status = Digiflazz::getTransactionStatus($refId);

            return response()->json([
                'success' => true,
                'data' => $status,
            ]);
        } catch (\Exception $e) {
            return response()->json([
                'success' => false,
                'message' => $e->getMessage(),
            ], 500);
        }
    }
}
```

Troubleshooting
---------------

[](#troubleshooting)

### Error: Invalid Signature

[](#error-invalid-signature)

Pastikan API Key yang digunakan benar dan sesuai dengan yang ada di dashboard DigiFlazz.

### Error: Connection Timeout

[](#error-connection-timeout)

Periksa koneksi server Anda ke internet dan pastikan firewall tidak memblokir koneksi ke `api.digiflazz.com`.

### Webhook Tidak Diterima

[](#webhook-tidak-diterima)

1. Pastikan URL webhook dapat diakses dari internet (tidak localhost)
2. Periksa SSL certificate jika menggunakan HTTPS
3. Pastikan endpoint webhook mengembalikan response JSON dengan status 200

### Saldo Tidak Cukup

[](#saldo-tidak-cukup)

Pastikan saldo DigiFlazz Anda mencukupi sebelum melakukan transaksi. Gunakan `Digiflazz::getBalance()` untuk cek saldo.

Kontribusi
----------

[](#kontribusi)

Kami sangat menghargai kontribusi dari komunitas. Silakan buat Pull Request untuk fitur atau perbaikan bug.

Changelog
---------

[](#changelog)

Lihat [CHANGELOG](CHANGELOG.md) untuk informasi lebih lanjut.

Keamanan
--------

[](#keamanan)

Jika Anda menemukan masalah keamanan, silakan kirim email ke .

Kredit
------

[](#kredit)

- [NadrDev](https://github.com/nadrdev)
- [DigiFlazz](https://digiflazz.com)
- [Semua Kontributor](../../contributors)

Lisensi
-------

[](#lisensi)

MIT License (MIT). Lihat [LICENSE](LICENSE) untuk informasi lebih lanjut.

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance76

Regular maintenance activity

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity43

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

133d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/06b0422f0b5e44e763fe806e7bdc4f316c4970e457bb78973928c7f97a5230f9?d=identicon)[NdraDev](/maintainers/NdraDev)

---

Top Contributors

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

---

Tags

apilaravelsdkpaymentgatewaydigiflazzppobpulsa

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ndradev-digiflazz-sdk-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/ndradev-digiflazz-sdk-laravel/health.svg)](https://phpackages.com/packages/ndradev-digiflazz-sdk-laravel)
```

###  Alternatives

[checkout/checkout-sdk-php

Checkout.com SDK for PHP

563.6M13](/packages/checkout-checkout-sdk-php)[mollie/laravel-mollie

Mollie API client wrapper for Laravel &amp; Mollie Connect provider for Laravel Socialite

3624.5M36](/packages/mollie-laravel-mollie)[simplestats-io/laravel-client

Server-side analytics for Laravel that follows the full funnel from visit to registration to payment, attributed to the channel that drove it. Revenue, MRR, churn and ad-spend profit (ROAS/CAC) per channel. GDPR compliant, ad-blocker proof.

5021.9k](/packages/simplestats-io-laravel-client)[smodav/mpesa

M-Pesa API implementation

16467.9k1](/packages/smodav-mpesa)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

273.0k](/packages/eslazarev-wildberries-sdk)[sebdesign/laravel-viva-payments

A Laravel package for integrating the Viva Payments gateway

4851.0k](/packages/sebdesign-laravel-viva-payments)

PHPackages © 2026

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