masmaleki / calculator
Simple Laravel Transaction fee Calculator for laravel 8|9
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0|^9.0
Requires (Dev)
- nesbot/carbon: ^2.53
- orchestra/testbench: ^6.0|^7.0
- phpunit/phpunit: ^8.0|^9.0
README
This package is just for using in an internal project, and it's not use full for all projects,but you can use it and extend it based on your needs.
Installation
You can install the package via composer:
composer require masmaleki/calculator
Usage
After installing the package with composer, then you need to run your laravel application:
php artisan serv
Then call this url in your browser:
http://127:0.0.1:8000/calculator
After submiting the form you will see the table of trasaction with the calculated commissions based on your rules
Publish Resources
If you want to modify the config file for rates or Rate API url or view and asset files you need to run the below commands:
php artisan vendor:publish --tag=Calculator-Assets php artisan vendor:publish --tag=Calculator-Config php artisan vendor:publish --tag=Calculator-Views
Config
There is pre-defined values in the config file which you can publish the config file and find it in /config/calculator.php or assign the values in your .env file
'currencies' => [ 'EUR' => 1, 'USD' => 1.1497, 'JPY' => 129.53 ], 'commission_fees' => [ 'private' => [ 'deposit'=> 0.0003, 'withdraw'=> 0.003 ], 'business' => [ 'deposit'=> 0.0003, 'withdraw'=> 0.005 ] ], 'rate_url' => env('CALC_RATE_URL', 'https://developers.paysera.com/tasks/api/currency-exchange-rates'), 'limit' => env('CALC_limit', 1000),
Testing
For testing first you should publish the package test then run the laravel test command. follow this :
php artisan vendor:publish --tag=Calculator-Tests
php artisan test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email masmaleki@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.