akibtanjim / currency-converter
该软件包提供货币汇率以及单个和多个货币的转换,通过使用 https://openexchangerates.org API 为 Laravel 应用程序提供支持
Requires
- php: >=7.0
- ixudra/curl: 6.*
This package is auto-updated.
Last update: 2024-09-07 07:47:36 UTC
README
本软件包是为 Laravel 定制的,旨在获取货币汇率并将单一货币和多种货币转换为其他货币。它使用 https://openexchangerates.org 获取汇率。本软件包支持 170 种货币。
开放汇率有 4 种计划。使用免费计划及其 API 密钥,用户只能获取基于 USD 的汇率/货币转换。建议使用其他 3 种计划及其 API 密钥之一。
安装
使用 composer 安装
composer require akibtanjim/currency-converter
在 Laravel 5.5 或更高版本中,该软件包将自动被发现,您可以安全地跳过以下两个步骤。
如果您使用 Laravel 5.4 或更低版本,在更新 composer 后,请将 ServiceProvider 添加到 config/app.php
文件中的 providers 数组。
在 providers 部分,添加以下行
AkibTanjim\Currency\CurrencyServiceProvider::class,
将别名添加到 aliases 部分的 config/app.php
'Currency'=> AkibTanjim\Currency\Facades\CurrencyConverter::class,
示例
打开命令提示符并写入以下命令
php artisan make:controller ExampleController
现在粘贴以下代码
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Currency;
class ExampleController extends Controller
{
public function rates(){
$response = Currency::getRates();
return response()->json($response);
}
public function single(){
$response = Currency::convert('USD','BDT',10);
return response()->json($response);
}
public function multiple(){
$response = Currency::convert('USD',['BDT','JPY','AUD'],10);
return response()->json($response);
}
}
在您的 routes/web.php
中粘贴以下代码。
Route::get('/rates', 'ExampleController@rates');
Route::get('/convert/single', 'ExampleController@single');
Route::get('/convert/multiple', 'ExampleController@multiple');
现在打开您的 .env
文件并粘贴以下代码
OPEN_EXCHANGE_RATES_API_KEY=YOUER_API_KEY
BASE_CURRENCY=YOUR_BASE_CURRENCY
CURRENCY_CACHE=60 //in minutes
打开命令提示符并运行
php artisan serve
获取汇率示例响应 (http://127.0.0.1:8000/rates)
{
"disclaimer": "Usage subject to terms: https://openexchangerates.org/terms",
"license": "https://openexchangerates.org/license",
"timestamp": 1534168800,
"base": "USD",
"rates": {
"AED": 3.673281,
"AFN": 72.750697,
"ALL": 110,
"AMD": 483.677012,
"ANG": 1.845258,
"AOA": 259.713,
"ARS": 29.741,
"AUD": 1.371765,
"AWG": 1.790997,
"AZN": 1.7025,
"BAM": 1.71906,
"BBD": 2,
"BDT": 84.512765,
"BGN": 1.711176,
"BHD": 0.37715,
"BIF": 1769.079915,
"BMD": 1,
"BND": 1.510575,
"BOB": 6.910984,
"BRL": 3.897481,
"BSD": 1,
"BTC": 0.000155984278,
"BTN": 69.858077,
"BWP": 10.731499,
"BYN": 2.069305,
"BZD": 2.010247,
"CAD": 1.312688,
"CDF": 1643.206404,
"CHF": 0.994051,
"CLF": 0.02338,
"CLP": 658.6,
"CNH": 6.882843,
"CNY": 6.8822,
"COP": 2944.01,
"CRC": 567.429386,
"CUC": 1,
"CUP": 25.5,
"CVE": 97.1825,
"CZK": 22.473,
"DJF": 178.025,
"DKK": 6.522392,
"DOP": 49.745,
"DZD": 118.825968,
"EGP": 17.9,
"ERN": 15.000033,
"ETB": 27.571225,
"EUR": 0.874989,
"FJD": 2.110003,
"FKP": 0.782261,
"GBP": 0.782261,
"GEL": 2.44699,
"GGP": 0.782261,
"GHS": 4.82,
"GIP": 0.782261,
"GMD": 48.045,
"GNF": 9090,
"GTQ": 7.494678,
"GYD": 209.014372,
"HKD": 7.84995,
"HNL": 24.039989,
"HRK": 6.4983,
"HTG": 66.651807,
"HUF": 283.299867,
"IDR": 14351.176583,
"ILS": 3.695496,
"IMP": 0.782261,
"INR": 69.907,
"IQD": 1190,
"IRR": 43163.885347,
"ISK": 108.68999,
"JEP": 0.782261,
"JMD": 135.420386,
"JOD": 0.709506,
"JPY": 110.91814286,
"KES": 100.73,
"KGS": 68.137481,
"KHR": 4072,
"KMF": 432.2,
"KPW": 900,
"KRW": 1132.36,
"KWD": 0.303401,
"KYD": 0.833503,
"KZT": 363.983169,
"LAK": 8500,
"LBP": 1510.15,
"LKR": 160.01,
"LRD": 153.3,
"LSL": 14.07,
"LYD": 1.39,
"MAD": 9.53,
"MDL": 16.539963,
"MGA": 3332.968099,
"MKD": 53.875,
"MMK": 1481.741948,
"MNT": 2442.166667,
"MOP": 8.086545,
"MRO": 356.5,
"MRU": 35.96,
"MUR": 34.917484,
"MVR": 15.41,
"MWK": 727.128173,
"MXN": 19.153628,
"MYR": 4.094503,
"MZN": 57.849493,
"NAD": 14.07,
"NGN": 361,
"NIO": 31.899707,
"NOK": 8.348457,
"NPR": 111.775893,
"NZD": 1.517863,
"OMR": 0.384969,
"PAB": 1,
"PEN": 3.278826,
"PGK": 3.313739,
"PHP": 53.352,
"PKR": 123.9,
"PLN": 3.760051,
"PYG": 5752.858784,
"QAR": 3.641259,
"RON": 4.077001,
"RSD": 103.212604,
"RUB": 67.6795,
"RWF": 865,
"SAR": 3.750769,
"SBD": 7.88911,
"SCR": 13.590164,
"SDG": 18.05,
"SEK": 9.10389,
"SGD": 1.374391,
"SHP": 0.782261,
"SLL": 6542.71,
"SOS": 577,
"SRD": 7.458,
"SSP": 130.2634,
"STD": 21050.59961,
"STN": 21.45,
"SVC": 8.75173,
"SYP": 514.98999,
"SZL": 14.08,
"THB": 33.317,
"TJS": 9.416471,
"TMT": 3.499986,
"TND": 2.7684,
"TOP": 2.310538,
"TRY": 6.857968,
"TTD": 6.740925,
"TWD": 30.809027,
"TZS": 2281.8,
"UAH": 27.378,
"UGX": 3745.452787,
"USD": 1,
"UYU": 30.692376,
"UZS": 7784.095548,
"VEF": 141572.666667,
"VND": 23114.840172,
"VUV": 108.499605,
"WST": 2.588533,
"XAF": 573.955074,
"XAG": 0.06566646,
"XAU": 0.00083342,
"XCD": 2.70255,
"XDR": 0.716692,
"XOF": 573.955074,
"XPD": 0.00101,
"XPF": 104.413946,
"XPT": 0.0012323,
"YER": 250.300682,
"ZAR": 14.242363,
"ZMW": 10.017,
"ZWL": 322.355011
}
}
单一货币转换示例响应 (http://127.0.0.1:8000/convert/single)
{
"from": "USD",
"to": "BDT",
"amount": 10,
"convertionRate": "84.51",
"convertedAmount": "845.13"
}
多种货币转换示例响应 (http://127.0.0.1:8000/convert/multiple)
[
{
"from": "USD",
"to": "BDT",
"amount": 10,
"convertionRate": "84.51",
"convertedAmount": "845.13"
},
{
"from": "USD",
"to": "JPY",
"amount": 10,
"convertionRate": "110.92",
"convertedAmount": "1109.18"
},
{
"from": "USD",
"to": "AUD",
"amount": 10,
"convertionRate": "1.37",
"convertedAmount": "13.72"
}
]
示例错误响应
{
"error": true,
"status": 403,
"message": "not_allowed",
"description": "Changing the API `base` currency is available for Developer, Enterprise and Unlimited plan clients. Please upgrade, or contact support@openexchangerates.org with any questions."
}
有关更多信息,请访问 此处
支持的货币及其简写
作者
- Akib Tanjim - akibtanjim
- Alveee - Alveee