Skip to main content

Class Laravel

Integrasi Laravel untuk IsiKuota API: facade, config, route webhook dengan verifikasi signature dan anti-ganda, serta event Laravel. Paket ini membungkus class PHP Native.

Repository: github.com/isikuota/isikuota-laravel

  • PHP 8.1+, Laravel 10 / 11 / 12
  • Facade IsiKuota dan dependency injection
  • Route webhook otomatis (POST /webhook/isikuota): verifikasi signature, buang pengiriman ganda via event_id
  • Event Laravel TransactionUpdated dan DepositUpdated
  • Perintah php artisan isikuota:balance untuk menguji kredensial
Contoh, bukan SDK resmi

Paket ini adalah contoh implementasi yang mengikuti dokumentasi API ini. Panduan instalasi terbaru ada di README repository.


Pemakaian​

use IsiKuota\Laravel\Facades\IsiKuota;

$saldo = IsiKuota::balance();

// Simpan ref_id ke database SEBELUM order dikirim.
$refId = IsiKuota::generateRefId('INV');
$res = IsiKuota::orderPrepaid('TSEL5', '08123456789', $refId);

if ($res['success']) {
$res['data']['status']; // success | pending | failed
}

Menerima webhook​

Dengarkan event Laravel — signature sudah diverifikasi dan pengiriman ganda sudah dibuang oleh paket:

use IsiKuota\Laravel\Events\TransactionUpdated;
use Illuminate\Support\Facades\Event;

Event::listen(TransactionUpdated::class, function (TransactionUpdated $e) {
if ($e->isSuccess()) {
// update order: $e->refId(), $e->data['sn']
} elseif ($e->isFailed()) {
// saldo sudah dikembalikan IsiKuota
}
});
tip

Untuk pekerjaan berat, gunakan listener ShouldQueue agar webhook dibalas cepat (batas 15 detik). Di production dengan lebih dari satu server, arahkan cache dedup ke Redis atau database.

Lihat juga​