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
IsiKuotadan dependency injection - Route webhook otomatis (
POST /webhook/isikuota): verifikasi signature, buang pengiriman ganda viaevent_id - Event Laravel
TransactionUpdateddanDepositUpdated - Perintah
php artisan isikuota:balanceuntuk 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.