Currency exchange rates library for Laravel and Lumen
|Fixer is a simple and lightweight API for foreign exchange rates that supports up to 170 world currencies.|
|currencylayer provides reliable exchange rates and currency conversions for your business up to 168 world currencies.|
|exchangeratesapi provides reliable exchange rates and currency conversions for your business with over 15 data sources.|
|Abstract provides simple exchange rates for developers and a dozen of APIs covering thousands of use cases.|
$ composer require php-http/curl-client nyholm/psr7 php-http/message florianv/laravel-swap
If you use cache, add also PSR-6 adapter and PSR-16 bridge cache dependencies :
$ composer require cache/illuminate-adapter cache/simple-cache-bridge
These dependencies are not required with Laravel 5.8 or greater which implements PSR-16.
If you don't use auto-discovery, add the
ServiceProvider to the providers array in
// /config/app.php 'providers' => [ Swap\Laravel\SwapServiceProvider::class ],
If you want to use the facade to log messages, add this to your facades in app.php:
'aliases' => [ 'Swap' => Swap\Laravel\Facades\Swap::class ]
Copy the package config to your local config with the publish command:
$ php artisan vendor:publish --provider="Swap\Laravel\SwapServiceProvider"
Configure the Service Provider and alias:
// /boostrap/app.php // Register the facade $app->withFacades(true, [ Swap\Laravel\Facades\Swap::class => 'Swap' ]); // Load the configuration $app->configure('swap'); // Register the service provider $app->register(Swap\Laravel\SwapServiceProvider::class);
Copy the configuration to
/config/swap.php if you wish to override it.
// Get the latest EUR/USD rate $rate = Swap::latest('EUR/USD'); // 1.129 $rate->getValue(); // 2016-08-26 $rate->getDate()->format('Y-m-d'); // Get the EUR/USD rate yesterday $rate = Swap::historical('EUR/USD', Carbon\Carbon::yesterday());
The complete documentation can be found here.
Here is the list of the currently implemented services:
|Service||Base Currency||Quote Currency||Historical|
|Fixer||EUR (free, no SSL), * (paid)||*||Yes|
|currencylayer||USD (free), * (paid)||*||Yes|
|exchangeratesapi||USD (free), * (paid)||*||Yes|
|coinlayer||* Crypto (Limited standard currencies)||* Crypto (Limited standard currencies)||Yes|
|European Central Bank||EUR||*||Yes|
|National Bank of Romania||RON, AED, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EGP, EUR, GBP, HRK, HUF, INR, JPY, KRW, MDL, MXN, NOK, NZD, PLN, RSD, RUB, SEK, TRY, UAH, USD, XAU, XDR, ZAR||RON, AED, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EGP, EUR, GBP, HRK, HUF, INR, JPY, KRW, MDL, MXN, NOK, NZD, PLN, RSD, RUB, SEK, TRY, UAH, USD, XAU, XDR, ZAR||Yes|
|Central Bank of the Republic of Turkey||*||TRY||Yes|
|Central Bank of the Czech Republic||*||CZK||Yes|
|Central Bank of Russia||*||RUB||Yes|
|Bulgarian National Bank||*||BGN||Yes|
|1Forge||* (free but limited or paid)||* (free but limited or paid)||No|
|Cryptonator||* Crypto (Limited standard currencies)||* Crypto (Limited standard currencies)||No|
|CurrencyDataFeed||* (free but limited or paid)||* (free but limited or paid)||No|
|Open Exchange Rates||USD (free), * (paid)||*||Yes|
|Currency Converter API||*||*||Yes (free but limited or paid)|
|fastFOREX.io||USD (free), * (paid)||*||No|
The MIT License (MIT). Please see LICENSE for more information.