Package Laravel atau Lumen untuk mengkonversi kurs rupiah dengan nilai tukar negara asing berdasarkan data dari Bank Indonesia. Package ini akan membantu Anda untuk mengambil informasi dari API Bank Indonesia. Selain itu, package ini mampu mengambil data bank terbaru berdasarkan website Flip.id.
- Mengkonversi nilai tukar rupiah terhadap mata uang asing
- Mengkonversi nilai tukar mata uang asing terhadap rupiah
- Mendapatkan data nilai tukar rupiah saat ini
- Mengambil data terbaru menggunakan command dan disimpan ke dalam database
- Mengubah angka rupiah menjadi tulisan Bahasa Indonesia
composer require dipantry/rupiah
Dalam file bootstrap/app.php
, uncomment baris berikut
$app->withFacades();
$app->withEloquent();
dan daftarkan service provider dan alias/facade dengan menambahkan kode berikut
$app->register(Dipantry\Rupiah\ServiceProvider::class);
// class_aliases
class_alias(Dipantry\Rupiah\Facade::class, 'Rupiah');
Dalam file config/app.php
, masukkan baris berikut pada bagian providers
'providers' => [
...
Dipantry\Rupiah\ServiceProvider::class,
],
dan tambahkan baris berikut pada bagian aliases
'aliases' => [
'Rajaongkir' => Dipantry\Rupiah\Facade::class,
],
php artisan vendor:publish --provider="Dipantry\Rupiah\ServiceProvider"
File konfigurasi terletak pada config/rupiah.php
return [
'table_prefix' => 'Untuk migrasi dan seeding data',
'timeout' => 'Waktu timeout untuk setiap pemanggilan API',
'max_retry' => 'Jumlah perulangan yang dilakukan jika terjadi error',
]
php artisan migrate
php artisan rupiah:bank
Pengambilan data bank dapat menggunakan command rupiah:bank
dan mengakses database dapat menggunakan model Bank
yang telah disediakan.
use Dipantry\Rupiah\Models\Bank;
Bank::all();
\Rupiah::of(10000);
\Rupiah::of(10000)->getValue();
// 10000
Class Rupiah menerima parameter float sebagai value untuk diproses selanjutnya
Terdapat 3 macam function untuk mendapatkan nilai tukar
exchangeRate()
untuk mendapatkan nilai tukar rupiah terhadap mata uang asing pada hari ini atau waktu yang ditentukan sendiri (Tidak bisa digunakan saat bank tutup). Menerima parameter code currency dan tanggal.
use Dipantry\Rupiah\Enums\CurrencyCode;
\Rupiah::exchangeRate('USD');
// Mendapatkan nilai tukar rupiah terhadap USD pada hari ini
// ['buy' => 14000, 'sell' => 14200]
\Rupiah::exchangeRate('USD', '2021-01-01');
// Mendapatkan nilai tukar rupiah terhadap USD pada tanggal 1 Januari 2021
// ['buy' => 14000, 'sell' => 14200]
// atau
\Rupiah::exchangeRate(CurrencyCode::USD);
buy()
untuk mengubah nilai rupiah menjadi mata uang asing. Menerima parameter code currency. Method ini langsung mengembalikan nilai perkalian dengan value yang telah diinisiasi.
use Dipantry\Rupiah\Enums\CurrencyCode;
$rupiah = \Rupiah::of(10000);
$rupiah->buy(CurrencyCode::USD);
// 0.71
sell()
untuk mengubah mata uang asing menjadi nilai rupiah. Menerima parameter code currency. Method ini langsung mengembalikan nilai perkalian dengan value yang telah diinisiasi.
use Dipantry\Rupiah\Enums\CurrencyCode;
$rupiah = \Rupiah::of(10000);
$rupiah->sell(CurrencyCode::USD);
// 14200
Method ini mengubah angka menjadi tulisan Bahasa Indonesia. Method ini langsung mengembalikan nilai string.
\Rupiah::of(10000)->toWords();
// Sepuluh Ribu Rupiah
Package ini menyediakan model CurrencyCode
yang berisi kode mata uang asing yang dapat digunakan untuk mempermudah penggunaan.
Disarankan untuk menggunakan model ini untuk menghindari kesalahan penulisan kode mata uang asing.
HttpRequestException
Exception ini didapat apabila terjadi error saat melakukan request ke API Bank Indonesia.InvalidCurrencyCodeException
Exception ini didapat apabila kode mata uang asing yang dimasukkan tidak valid.
Jalankan testing dengan menjalankan perintah berikut ini
vendor/bin/phpunit