akibtanjim/currency-converter

该软件包提供货币汇率以及单个和多个货币的转换,通过使用 https://openexchangerates.org API 为 Laravel 应用程序提供支持

1.0 2018-08-13 16:34 UTC

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."
  }

有关更多信息,请访问 此处

支持的货币及其简写

作者