andes2912 / indobank
List Bank of Indonesian
Requires
- php: ^7.4|^8.0
- illuminate/database: ^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- parsecsv/php-parsecsv: ^1.1
Requires (Dev)
- orchestra/testbench: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- phpunit/phpunit: ^9.0|^10.0|^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
andes2912/indobank adalah sebuah package Laravel untuk menyimpan data Nama Bank yang ada di Indonesia. Package akan menambahkan migrations, seeder (untuk import data ke database) dan Model pada project Anda.
Semua data akan disimpan di database, untuk mengambil data tersebut sama dengan mengambil data lewat Model pada umum-nya (Lihat bagian Usage).
Data diambil dari Tabel Sandi Bank resmi BCA per 31 Maret 2026 (https://pustaka.bca.co.id/bisnis/layanan/e-banking-bisnis/klikbca-bisnis/data-bank-update-31-maret-2026.pdf). Berisi 123 entri bank umum + Unit Usaha Syariah, termasuk bank digital terbaru (Super Bank, Krom Bank, Bank Saqu, Allo Bank, Bank Jago, dll).
Catatan: Beberapa kode bank (sandi_bank) tidak unik — misalnya 022 digunakan oleh Bank CIMB Niaga konvensional & Unit Usaha Syariah-nya. Karena itu kolom sandi_bank di-index, bukan unique.
Versi bahasa lain (data sama, tanpa database):
- Go: andes2912/indobank-go
- Flutter/Dart: andes2912/indobank-dart
Quick Instalation
Buka Command Line kemudian jalankan perintah dibawah untuk melakukan instalasi package:
composer require andes2912/indobank
Supported Versions
| Laravel Version | PHP | Testbench (dev) |
|---|---|---|
| 8, 9, 10, 11, 12, 13 | ^7.4 | ^8.0 | 6, 7, 8, 9, 10, 11 |
Seluruh test suite (termasuk migration tabel banks) sudah dijalankan pada Laravel 8 sampai 13 menggunakan PHP 8.3.
Laravel 6 dan 7 tidak lagi didukung, karena migration menggunakan anonymous class (
return new class extends Migration) yang baru tersedia mulai Laravel 8. Laravel 8 sampai 11 sudah tidak menerima security update dari tim Laravel, jadi Composer dapat menampilkan peringatan advisory saat instalasi.
Register Service Provider
Laravel
Package ini menggunakan Package Auto Discovery, jadi Anda bisa skip bagian ini. Jika Anda menonaktifkan auto discovery, buka config/app.php (atau bootstrap/providers.php pada Laravel 11+) lalu tambahkan Class IndoBankServiceProvider kedalam array Service Providers:
// Provider Lain
Andes2912\IndoBank\IndoBankServiceProvider::class,
Lumen
Jika Anda ingin menggunakan Package ini pada project Lumen, maka Anda harus melakukan register Service Provider pada file bootstrap/app.php dengan menambahkan ini:
$app->register(Andes2912\IndoBank\IndoBankServiceProvider::class);
Publish File
Cara yang direkomendasikan (standard Laravel vendor:publish):
# Publish semua (migrations + seeders + model)
php artisan vendor:publish --tag=indobank
# Atau publish per-bagian:
php artisan vendor:publish --tag=indobank-migrations
php artisan vendor:publish --tag=indobank-seeders
php artisan vendor:publish --tag=indobank-models
Atau cara lama (masih didukung untuk backward-compatibility):
php artisan indobank:publish
Saat perintah diatas dijalankan, indobank akan menyalin:
- Files migration dari
/vendor/andes2912/indobank/src/database/migrationske/database/migrations - Files seeder dari
/vendor/andes2912/indobank/src/database/seederske/database/seeders - Files model dari
/vendor/andes2912/indobank/src/database/modelske/app/Models
Setelah itu jalankan perintah dibawah:
composer dump-autoload
Catatan: package ini juga otomatis
loadMigrationsFrom(), jadi Anda bisa langsungphp artisan migratetanpa publish jika tidak perlu meng-custom migration.
Migrate and Seeder
Jalankan perintah dibawah untuk menjalankan migration dan seeder:
php artisan migrate
# Import semua data Nama Bank
php artisan db:seed --class=IndoBankSeeder
Basic Usage
Anda bisa gunakan class dibawah seperti model pada umum-nya.
<?php
use App\Models\Bank;
// Get semua data
$bank = Bank::all();
// Cari berdasarkan nama bank
$bank = Bank::where('nama_bank', 'BANK BRI')->first();
$bank = Bank::where('nama_bank', 'LIKE', '%BANK BRI%')->first();
Tanpa Database (CSV Helper)
Jika Anda tidak ingin menggunakan database (mis. hanya butuh list bank di form), package ini juga menyediakan helper yang membaca langsung dari CSV bawaan:
<?php
use Andes2912\IndoBank\IndoBank;
$indo = app(IndoBank::class);
// Semua bank
$banks = $indo->getBanks();
// Pencarian (partial, case-insensitive)
$result = $indo->searchBanks('BRI');
// Pencarian exact berdasarkan kolom
$bca = $indo->findBank('sandi_bank', '014');