triyatna/digiflazz-laravel-4buyer 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

triyatna/digiflazz-laravel-4buyer

最新稳定版本:1.0.0

Composer 安装命令:

composer require triyatna/digiflazz-laravel-4buyer

包简介

Unofficial laravel package for integrating Digiflazz API (Buyer)

README 文档

README

Paket Laravel untuk menghubungkan aplikasi Anda dengan API Digiflazz sebagai Buyer.

Ringkasan

Paket ini menyederhanakan integrasi API Digiflazz ke dalam Laravel, menyediakan fungsi-fungsi siap pakai yang mudah digunakan.

Fitur

  • Implementasi Lengkap: Semua fungsi dari dokumentasi Digiflazz Buyer tersedia.
  • Instalasi Cepat: Artisan command untuk konfigurasi otomatis.
  • Penggunaan Mudah: Panggil dengan Digiflazz::namaFungsi().
  • Respons Terstruktur: Response dibungkus oleh ResponseHandler.
  • Mode Uji Coba: Testing tanpa memotong saldo.
  • Keamanan: Validasi signature Webhook.

Instalasi dan Konfigurasi

1. Instalasi Paket

composer require triyatna/digiflazz-laravel-4buyer

2. Setup Otomatis

php artisan ty-digiflazz:install

Perintah ini akan:

  • Membuat file config/digiflazz.php
  • Menambahkan entri ke file .env

3. Konfigurasi .env

DIGIFLAZZ_USERNAME=masukkan_username_api_anda
DIGIFLAZZ_API_KEY=masukkan_api_key_anda
DIGIFLAZZ_WEBHOOK_SECRET=masukkan_secret_webhook_anda

Penting: Pastikan IP server Anda didaftarkan di panel Digiflazz bagian Atur Koneksi > API.

Info: Informasi Webhook dan tambahkan url payload di panel Digiflazz bagian Atur Koneksi > API > Atur > Webhook.

Panduan Penggunaan

Konsep Dasar

Semua fungsi dipanggil via Facade Digiflazz::... dan menghasilkan instance ResponseHandler.

Fungsi ResponseHandler:

Fungsi Deskripsi
isSuccess() Transaksi sukses
isPending() Transaksi diproses
isFailed() Transaksi gagal
transactionCreated() Transaksi tercatat
data() Mengembalikan seluruh data
get('nama_key') Mengambil 1 field
getMessage() Mengembalikan pesan

Contoh Penggunaan

Tambahkan ini di awal controller Anda:

use Triyatna\Digiflazz\Digiflazz;
use Illuminate\Support\Str;

1. Manajemen Akun

a. Cek Saldo

$response = Digiflazz::checkBalance();

if ($response->isSuccess()) {
    return $response->get('deposit');
}

b. Tiket Deposit

$response = Digiflazz::requestDeposit(50000, 'BCA', 'Budi Santoso');

if ($response->isSuccess()) {
    return [
        'jumlah' => $response->get('amount'),
        'berita' => $response->get('notes'),
    ];
}

2. Informasi Produk

a. Daftar Harga

$response = Digiflazz::getPriceList('prepaid', ['brand' => 'TELKOMSEL']);

if ($response->isSuccess()) {
    return $response->data();
}

b. Cek Nama Pelanggan PLN

$response = Digiflazz::inquiryPln('1234554321');

if ($response->isSuccess()) {
    return $response->get('name');
}

3. Transaksi

info: Tambahkan true diakhir untuk mode testing, contoh: $response = Digiflazz::createPrepaidTransaction('tsel5', '081234567890', $refId, true);.

a. Prabayar

$refId = 'TRX-' . Str::uuid();

$response = Digiflazz::createPrepaidTransaction('tsel5', '081234567890', $refId);

if ($response->isSuccess()) {
    // sukses
}

info: Khusus transaksi prabayar, jika ingin menambahkan opsi max_price, cb_url, allow_dot, gunakan fitur setting dengan data array. contoh: Digiflazz::createPrepaidTransaction('PLNCEKNAMA', $data, 'TRX221221143', ['max_price' => 6]);

b. Pascabayar

1) Cek Tagihan
$refId = 'INQ-' . Str::uuid();

$response = Digiflazz::checkPostpaidBill('pln', '530000000001', $refId, true);
2) Bayar Tagihan
$response = Digiflazz::payPostpaidBill('pln', '530000000001', $refId, true);

c. Cek Status Transaksi

$response = Digiflazz::checkTransactionStatus(
    'TRX-xxxxxxxx-xxxx',
    'prepaid',
    'tsel5',
    '081234567890'
);

if ($response->isSuccess()) {
    // status sukses
}

Webhook

1. Route

use App\Http\Controllers\WebhookController;

Route::post('/webhooks/digiflazz', [WebhookController::class, 'handle']);

2. Controller

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Triyatna\Digiflazz\Helpers\Webhook;

class WebhookController extends Controller
{
    public function handle(Request $request)
    {
        $signature = $request->header('X-Hub-Signature');
        $payload = $request->getContent();
        $secret = config('digiflazz.webhook_secret');

        if (!Webhook::validate($signature, $payload, $secret)) {
            return response('Validasi gagal.', 403);
        }

        $data = $request->input('data');
        Log::info("Webhook diterima untuk ref_id {$data['ref_id']} dengan status {$data['status']}");

        return response('Webhook diterima.', 200);
    }
}

🤝 Kontribusi

Kontribusi sangat disambut! Silakan buka issue atau pull request untuk:

  • Laporan bug
  • Perbaikan dokumentasi

📄 Lisensi

Paket ini dirilis di bawah MIT License.

🧷 Penulis

Dikembangkan oleh Triyatna.

统计信息

  • 总下载量: 73
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 0
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-06-24