This is a wrapper for Money.
This wrapper:
money()
wujunze/money-wrapper
in your Laravel project, just run the composer require command from your terminal:$ composer require wujunze/money-wrapper
config/app.php
add the following to the providers array:wujunzeMoneyWrapperMoneyWrapperServiceProvider::class,
config/app.php
add the following to the aliases array:'MoneyWrapper' => wujunzeMoneyWrapperMoneyWrapperFacade::class,
$ php artisan vendor:publish --tag=money-wrapper-config
You may want to add more currency details based on country. See contributions section below for the details.
Get money wrapper Instance
By default, MYR, Malaysia Ringgit currency will be use.
You may override either by .env
file or pass the country Alpha 2 code when calling money()
helper.
$money = money(); // by default it will use MY
$moneyUsd = money('US'); // pass the country code - ISO Alpha 2
You can add more currencies after publishing the money wrapper configuration file and added more supported currencies.
Please refer to Country Code and it's currency swift code and symbol in Currency List.
Get Money Format
echo money()->toHuman(100); // RM 1.00, useful for human readability
echo money()->toCommon(100); // 1.00
echo money()->toMachine('1.00'); // 100, always store in database as integer.
Convert Fixed Rate
$fixedExchange = [
'MYR' => [
'USD' => 3.87,
],
];
echo money()->convertFixedRate($fixedExchange, 100, 'USD')->getAmount(); // 387
Recommended data type used in database is big integer
Updating currency list (config/currency.php
) available based on following resources:
The structure will be as following:
[
'MYR' => [
'swift_code' => 'MYR',
'symbol' => 'RM'
]
]
This package is open-sourced software licensed under the MIT license.