{"id":27958,"date":"2021-05-15T15:26:00","date_gmt":"2021-05-15T12:26:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27958"},"modified":"2021-10-17T04:56:23","modified_gmt":"2021-10-17T01:56:23","slug":"api-for-valutakurser-med-valutakonvertering-i-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/api-for-valutakurser-med-valutakonvertering-i-php\/","title":{"rendered":"API f\u00f6r valutakurser med valutakonvertering i PHP"},"content":{"rendered":"<p>Nyligen arbetade jag med ett kundprojekt d\u00e4r jag beh\u00f6vde samla in betalningar fr\u00e5n anv\u00e4ndare \u00f6ver hela v\u00e4rlden. Klienten som anv\u00e4nder Razorpay f\u00f6r att ta emot onlinebetalningar. I Razorpay m\u00e5ste du konvertera utl\u00e4ndsk valutakurs till INR (indiska rupier) och sedan debitera betalningen. F\u00f6r att utf\u00f6ra denna uppgift ville jag f\u00e5 valutakurser API som jag hittade p\u00e5 <a href=\"http:\/\/exchangeratesapi.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Exchange rates API<\/a>.<\/p>\n<p>V\u00e4xelkurser API \u00e4r en \u00f6ppen k\u00e4llkodstj\u00e4nst f\u00f6r aktuella och historiska valutakurser som publiceras av <a href=\"https:\/\/www.ecb.europa.eu\/stats\/policy_and_exchange_rates\/euro_reference_exchange_rates\/html\/index.en.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Europeiska centralbanken<\/a>.<\/p>\n<p>I den h\u00e4r artikeln visar jag dig hur du anv\u00e4nder v\u00e4xelkurs-API och f\u00e5r m\u00e4ngden utl\u00e4ndsk valuta.<\/p>\n<h3>Hur man anv\u00e4nder API f\u00f6r valutakurser<\/h3>\n<p>Den h\u00e4r tj\u00e4nsten tillhandah\u00e5ller API-slutpunkter. N\u00e4r vi v\u00e4l har n\u00e5tt slutpunkterna tillsammans med parametrar returnerar de ett l\u00e4mpligt svar.<\/p>\n<p>F\u00f6r att ge API-samtal och hanteringssvar kan vi v\u00e4lja antingen Guzzle (PHP HTTP-klient) eller cURL. B\u00e5da ger ett enkelt och p\u00e5litligt s\u00e4tt att interagera med API: erna.<\/p>\n<p>L\u00e5t oss b\u00f6rja med Guzzle f\u00f6rst. Installera Guzzle genom komposit\u00f6ren med f\u00f6ljande kommando:<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Efter installationen kan du ringa ett API-samtal och ta emot svaret genom att skriva koden nedan.<\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\nuse GuzzleHttpClient;\n\u00a0\n$client = new Client([\n\u00a0\u00a0\u00a0\u00a0\/\/ Base URI is used with relative requests\n\u00a0\u00a0\u00a0\u00a0'base_uri' =&gt; 'https:\/\/api.exchangeratesapi.io\/',\n]);\n\u00a0\n\/\/ get all rates\n$response = $client-&gt;request('GET', 'latest', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'base' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0]\n]);\n\u00a0\nif($response-&gt;getStatusCode() == 200) {\n\u00a0\u00a0\u00a0\u00a0$body = $response-&gt;getBody();\n\u00a0\u00a0\u00a0\u00a0$arr_body = json_decode($body);\n\u00a0\u00a0\u00a0\u00a0print_r($arr_body);\n}<\/code><\/pre>\n<p>Ovanst\u00e5ende kod ger dig en USD-omvandlingskurs f\u00f6r andra valutor. Anv\u00e4ndaren kan st\u00e4lla in andra valutasymboler till &quot;bas&quot; -tangenten.<\/p>\n<p>P\u00e5 samma s\u00e4tt f\u00e5r anv\u00e4ndare en omvandlingsfrekvens fr\u00e5n en enda valuta. L\u00e5t oss s\u00e4ga att du vill ha INR-priset p\u00e5 USD dollar.<\/p>\n<pre><code>$response = $client-&gt;request('GET', 'latest', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'base' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'symbols' =&gt; 'INR',\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<p>Exchange Rates API ger dig ocks\u00e5 historisk data. I s\u00e5 fall m\u00e5ste du skicka datumv\u00e4rden f\u00f6r &#8217;start_at&#8217; och &#8217;end_at&#8217; -tangenterna.<\/p>\n<pre><code>$response = $client-&gt;request('GET', 'history', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'base' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'symbols' =&gt; 'INR',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'start_at' =&gt; '2020-01-01',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'end_at' =&gt; '2020-01-20'\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<h4>Interagera med API med cURL<\/h4>\n<p>Jag f\u00f6redrog att anv\u00e4nda en Guzzle f\u00f6r att interagera med API: et. Men om n\u00e5gon vill anv\u00e4nda cURL kan de anv\u00e4nda koden nedan. Se till att du har aktiverat cURL-till\u00e4gget p\u00e5 din server.<\/p>\n<pre><code>&lt;?php\n$url = \"https:\/\/api.exchangeratesapi.io\/latest?base=USD\";\n$ch = curl_init();\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\ncurl_setopt($ch, CURLOPT_URL, $url);\n$response = curl_exec($ch);\n$arr_result = json_decode($response);\nprint_r($arr_result);<\/code><\/pre>\n<p>Det handlar om att f\u00e5 valutakurser i PHP. Jag hoppas att du f\u00f6rst\u00e5r det och kan anv\u00e4nda det i ditt utvecklingsarbete. Jag skulle vilja h\u00f6ra dina tankar eller f\u00f6rslag i kommentarsektionen nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hitta-geolocation-med-ip-adress-gratis-i-php\/\" title=\"Hitta Geolocation med IP-adress gratis i PHP\">Hitta Geolocation med IP-adress gratis i PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-laser-text-fran-bild-i-php\/\" title=\"Hur man l\u00e4ser text fr\u00e5n bild i PHP\">Hur man l\u00e4ser text fr\u00e5n bild i PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I den h\u00e4r artikeln studerar vi hur man f\u00e5r v\u00e4xelkurser f\u00f6r utl\u00e4ndska valutor i PHP. Vi kommer att anv\u00e4nda en \u00f6ppen k\u00e4llkodstj\u00e4nst som tillhandah\u00e5ller slutpunkter f\u00f6r att f\u00e5 dessa<\/p>\n","protected":false},"author":1,"featured_media":22212,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[279],"tags":[850],"class_list":["post-27958","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/27958","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=27958"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/27958\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/22212"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=27958"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=27958"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=27958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}