https://github.com/florianv/laravel-swap
:dollar: Currency exchange rates for Laravel and Lumen
https://github.com/florianv/laravel-swap
currency currency-converter currency-exchange-rates currency-rates exchange-rates laravel lumen php
Last synced: 21 days ago
JSON representation
:dollar: Currency exchange rates for Laravel and Lumen
- Host: GitHub
- URL: https://github.com/florianv/laravel-swap
- Owner: florianv
- License: mit
- Created: 2015-06-10T13:56:51.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-04-11T09:01:43.000Z (about 1 year ago)
- Last Synced: 2025-04-24T10:43:32.781Z (about 1 month ago)
- Topics: currency, currency-converter, currency-exchange-rates, currency-rates, exchange-rates, laravel, lumen, php
- Language: PHP
- Homepage: https://florianv.github.io/laravel-swap/
- Size: 125 KB
- Stars: 336
- Watchers: 14
- Forks: 46
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#
Laravel Swap
[](https://travis-ci.org/florianv/laravel-swap)
[](https://packagist.org/packages/florianv/laravel-swap)
[](https://packagist.org/packages/florianv/laravel-swap)Swap allows you to retrieve currency exchange rates from various services such as **[Fixer](https://fixer.io/)**, **[Currency Data](https://currencylayer.com)**
or **[Exchange Rates Data](https://exchangeratesapi.io)** and optionally cache the results.## Sponsors
![]()
Fixer is a simple and lightweight API for foreign exchange rates that supports up to 170 world currencies.
![]()
Currency Data provides reliable exchange rates and currency conversions for your business up to 168 world currencies.
![]()
Exchange Rates Data provides reliable exchange rates and currency conversions for your business with over 15 data sources.
## QuickStart
### Installation
```bash
$ composer require php-http/curl-client nyholm/psr7 php-http/message florianv/laravel-swap
```### Laravel 5.7 or lesser
If you use cache, add also PSR-6 adapter and PSR-16 bridge cache dependencies :
```bash
$ composer require cache/illuminate-adapter cache/simple-cache-bridge
```These dependencies are not required with Laravel 5.8 or greater which [implements PSR-16](https://github.com/laravel/framework/pull/27217).
### Laravel 5.5+
If you don't use auto-discovery, add the `ServiceProvider` to the providers array in `config/app.php`:
```php
// /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:
```bash
$ php artisan vendor:publish --provider="Swap\Laravel\SwapServiceProvider"
```### Lumen
Configure the Service Provider and alias:
```php
// /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](config/swap.php) to `/config/swap.php` if you wish to override it.
## Usage
```php
// 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());
```## Documentation
The complete documentation can be found [here](https://github.com/florianv/laravel-swap/blob/master/doc/readme.md).
## Services
Here is the list of the currently implemented services:
| Service | Base Currency | Quote Currency | Historical |
|---------------------------------------------------------------------------|----------------------|----------------|----------------|
| [Fixer](https://fixer.io/) | EUR (free, no SSL), * (paid) | * | Yes |
| [Currency Data](https://currencylayer.com) | USD (free), * (paid) | * | Yes |
| [Exchange Rates Data](https://exchangeratesapi.io) | USD (free), * (paid) | * | Yes |
| [Abstract](https://www.abstractapi.com) | * | * | Yes |
| [coinlayer](https://coinlayer.com) | * Crypto (Limited standard currencies) | * Crypto (Limited standard currencies) | Yes |
| [Fixer](https://fixer.io) | EUR (free, no SSL), * (paid) | * | Yes |
| [currencylayer](https://currencylayer.com) | USD (free), * (paid) | * | Yes |
| [exchangeratesapi](https://exchangeratesapi.io) | USD (free), * (paid) | * | Yes |
| [European Central Bank](https://www.ecb.europa.eu/home/html/index.en.html) | EUR | * | Yes |
| [National Bank of Georgia](https://nbg.gov.ge) | * | GEL | Yes |
| [National Bank of the Republic of Belarus](https://www.nbrb.by) | * | BYN (from 01-07-2016),
BYR (01-01-2000 - 30-06-2016),
BYB (25-05-1992 - 31-12-1999) | Yes |
| [National Bank of Romania](http://www.bnr.ro) | 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 |
| [National Bank of Ukranie](https://bank.gov.ua) | * | UAH | Yes |
| [Central Bank of the Republic of Turkey](http://www.tcmb.gov.tr) | * | TRY | Yes |
| [Central Bank of the Republic of Uzbekistan](https://cbu.uz) | * | UZS | Yes |
| [Central Bank of the Czech Republic](https://www.cnb.cz) | * | CZK | Yes |
| [Central Bank of Russia](https://cbr.ru) | * | RUB | Yes |
| [Bulgarian National Bank](http://bnb.bg) | * | BGN | Yes |
| [WebserviceX](http://www.webservicex.net) | * | * | No |
| [1Forge](https://1forge.com) | * (free but limited or paid) | * (free but limited or paid) | No |
| [Cryptonator](https://www.cryptonator.com) | * Crypto (Limited standard currencies) | * Crypto (Limited standard currencies) | No |
| [CurrencyDataFeed](https://currencydatafeed.com) | * (free but limited or paid) | * (free but limited or paid) | No |
| [Open Exchange Rates](https://openexchangerates.org) | USD (free), * (paid) | * | Yes |
| [Xignite](https://www.xignite.com) | * | * | Yes |
| [Currency Converter API](https://www.currencyconverterapi.com) | * | * | Yes (free but limited or paid) |
| [xChangeApi.com](https://xchangeapi.com) | * | * | Yes |
| [fastFOREX.io](https://www.fastforex.io) | USD (free), * (paid) | * | No |
| [exchangerate.host](https://www.exchangerate.host) | * | * | Yes |
| Array | * | * | Yes |## Credits
- [Florian Voutzinos](https://github.com/florianv)
- [All Contributors](https://github.com/florianv/laravel-swap/contributors)## License
The MIT License (MIT). Please see [LICENSE](https://github.com/florianv/laravel-swap/blob/master/LICENSE) for more information.