有些国际的电子商务外贸网站, 货币结算时, 需要考虑当地客户支付的货币种类。
例如, 面向中国客户的欧洲网站, 网站产品都是以欧元结算的, 当中国客户通过网站的支付宝接口支付时, 只能支付人民币, 这时, 网站可根据当前人民币兑欧元的汇率, 将产品的欧元价格换算成人民币价格, 然后再通过支付宝结算.
实例实现:
雅虎( Yahoo!)网站上提供了各种金融数据的API接口, 当然也有货币外汇汇率
货币汇率的接口URL为:
http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=EURCNY=x
参数s=EURCNY, 欧元换人民币
以上接口在浏览器中可以返回一个quotes.csv文件, 得到数据为: “EURCNY=x”,6.7265,”5/27/2016″,”7:54pm”
我们可以根据这个接口, 及返回的汇率数据来处理货币换算的功能.
以下是PHP代码和说明(fopen写法):
<?php header("Content-type: text/html; charset=utf-8"); $file = fopen('http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=EURCNY=x','r'); //参数s=EURCNY, 欧元换人民币, 根据需要更换 while ($data = fgetcsv($file)) //读取CSV文件里的每一行内容 { $goods_list[] = $data; } $shijian = $goods_list[0][2] .' '. $goods_list[0][3]; //根据 quotes.csv文件得到的数据, 当前时间 在3,4列位置 $huilv = $goods_list[0][1]; //根据 quotes.csv文件得到的数据, 汇率 在2列位置 echo "当前时间: $shijian, 1欧元可换: $huilv 元人民币<BR>"; fclose($file); ?>
另一种PHP写法(curl写法):
/*
* 汇率转换-fxzdp.taobao.com-2016.05.27
*/
function get_exchange_rate($from_currency, $to_currency)
{
$from_Currency = urlencode($from_currency);
$to_Currency = urlencode($to_currency);
$url = “http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=”.$from_currency.$to_currency.”=x”;
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT , “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)”);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$rawdata = curl_exec($ch);
curl_close($ch);
$data = explode(‘,’, $rawdata);
return $data[1];
}