Currency exchange rates library for Laravel and Lumen
Swap allows you to retrieve currency exchange rates from various services such as Fixer or Google and optionally cache the results.
$ composer require florianv/laravel-swap php-http/message php-http/guzzle6-adapter
Configure the Service Provider and alias:
// /config/app.php
'providers' => [
Swap\Laravel\SwapServiceProvider::class
],
'aliases' => [
'Swap' => Swap\Laravel\Facades\Swap::class
]
Publish the Package configuration
$ 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 | Registry Alias | Base Currency | Quote Currency | Historical |
---|---|---|---|---|
Fixer | fixer |
* | * | Yes |
European Central Bank | european_central_bank |
EUR | * | Yes |
google |
* | * | No | |
Open Exchange Rates | USD (free), * (paid) | * | Yes | |
Xignite | xignite |
* | * | Yes |
WebserviceX | webservicex |
* | * | No |
National Bank of Romania | national_bank_of_romania |
RON | * | No |
Central Bank of the Republic of Turkey | central_bank_of_republic_turkey |
* | TRY | No |
Central Bank of the Czech Republic | central_bank_of_czech_republic |
* | CZK | No |
Russian Central Bank | russian_central_bank |
* | RUB | Yes |
currencylayer | currency_layer |
USD (free), * (paid) | * | Yes |
Cryptonator | cryptonator |
* Crypto (Limited standard currencies) | * Crypto (Limited standard currencies) | No |
1Forge | forge |
* (free but limited or paid) | * (free but limited or paid) | No |
CurrencyDataFeed | currency_data_feed |
* (free but limited or paid) | * (free but limited or paid) | No |
Array | array |
* | * | Yes |
The MIT License (MIT). Please see LICENSE for more information.