[php] 프로그래밍 방식으로 환율에 액세스 [닫기]

온라인 주문 시스템을 설정하고 있지만 호주에 있으며 해외 고객을 위해 가격을 미국 달러 또는 유로로 표시하여 호주 달러에서 전환하기 위해 정신적으로 노력할 필요가 없습니다.

PHP 스크립트에서 액세스 할 수있는 파싱하기 쉬운 형식으로 인터넷 어딘가에서 최신 환율을 가져올 수 있는지 아는 사람이 있습니까?


업데이트 : 이제 이것을 구현하는 PHP 클래스를 작성했습니다. 내 웹 사이트에서 코드를 얻을 수 있습니다 .



답변

yahoo에서 간단한 형식으로 통화 변환을 얻을 수 있습니다.

예를 들어 GBP에서 EUR로 변환하려면 :
http://download.finance.yahoo.com/d/quotes.csv?s=GBPEUR=X&f=sl1d1t1ba&e=.csv


답변

이 답변은 매우 늦었지만 위의 답변에서 누락 된 핵심 정보가 있습니다.

고객에게 정확한 가격을 보여주고 싶다면 환율이 어떻게 작용하는지 이해하는 것이 중요합니다.

대부분의 FX 서비스는 현물 환율 만 표시합니다 (매수 호가와 매도 호가 중간). 스팟은 환율에 대한 일종의 속기이지만 매도시 매도하거나 매도시 매수 만 할 수 있기 때문에 아무도 현물을 얻지 못합니다. 일반적으로 그들 사이에 최소 1 %의 스프레드를보고 있으므로 현물 비율은 고객에게 0.5 % 할인됩니다.

하지만 여기서 멈추지 않습니다. 고객은 거의 확실히 신용 카드를 사용하고 있으며 Visa / Mastercard / Amex는 모두 외환 수수료를 부과합니다. 이것들은 내 경험상 최소 2.5 %로 사소하지 않습니다. 예를 들어 Citibank Australia는 3.3 %를 청구합니다. 이는 카드마다 다르므로 고객에게 청구되는 최종 가격을 예측할 방법이 없습니다.

환율을 기준으로 고객에게 “정확한”가격을 제시하려면 위의 사항을 고려하여 버퍼를 제공하여 견적 한 것보다 더 많이 청구하지 않도록해야합니다.

FWIW, 저는 F / X 변환이 그렇지 않으면 나타내는 것에 4 %를 추가했습니다.


답변

추가하는 것이 좋을 수 있습니다.

  http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml

목록에.

유럽 ​​중앙 은행유럽 ​​중앙 은행 시스템 내부와 외부의 중앙 은행 간의 정기적 인 일일 협의 절차를 기반으로 공식 기준 환율을 제공합니다 .

피드는 XML 및 기타 형식입니다. 입니다.
업데이트는 일반적으로 오후 2.15 (14:15) ECB 시간 (= 프랑크푸르트 시간)에 발생합니다.


답변

나는 최근에 같은 것을 구현했지만 Google의 API를 사용했습니다. 쿼리 URL은 다음과 같습니다.

http://www.google.com/ig/calculator?hl=en&q=1GBP=?USD

3 개의 매개 변수가 필요합니다. 첫 번째 매개 변수는 금액이고 그 뒤에 변환 할 원본 ISO 4217 통화 코드, 등호와 물음표, 변환 할 통화 코드가 이어집니다. 여기에서 Google에서 지원하는 코드 목록을 찾을 수 있습니다 . 쿼리에 대한 응답은 다음과 같습니다.

{lhs: "1 British pound",rhs: "1.6132 U.S. dollars",error: "",icc: true}

이것은 꽤 자명하므로 여기서는 자세히 설명하지 않겠습니다. 이것이 내가 쿼리 응답을 처리 한 방법입니다.

function convert_currency($amount, $from_code, $to_code){
    ini_set('max_execution_time', 60);
    $temp = 'http://www.google.com/ig/calculator?hl=en&q=' . $amount . $from_code . '=?' . $to_code;

    $response = file_get_contents($temp);
    $result_string = explode('"', $response);

    $final_result = $result_string['3'];

    $float_result = preg_replace("/[^0-9\.]/", '', $full_result);

    return $float_result;
}

이 작업을 수행하는 가장 우아한 방법과는 거리가 멀다고 확신하지만 PHP를 처음 사용합니다. 도움이 되었기를 바랍니다.


답변

또 다른 훌륭한 무료 오픈 소스 링크는 다음과 같습니다.


https://raw.github.com/currencybot/open-exchange-rates/master/latest.json
(여기에서 찾았습니다 : http://josscrowcroft.github.com/open-exchange-rates/ )

[업데이트] :
Open Exchange Rates 프로젝트 데이터가 GitHub에서 이동되었습니다.
http://openexchangerates.org/
에서 사용할 수 있습니다.JSON 형식의 데이터는 다음에서 사용할 수 있습니다. http://openexchangerates.org/latest.json

액세스 수수료 없음, 요금 제한 없음, 추악한 XML 없음-JSON 형식의 무료 , 매시간 업데이트 된 환율.
이것은 지금 “완전히”무료가 아닙니다. 새 라이선스에 따르면 매월 최대 1,000 건의 조회수가 허용되며 비용을 지불해야합니다. 단일 통화 변환기 (기본 기능)를 사용하려면 비용을 지불해야합니다.

[참고 : 답변도 볼 수 있습니다 . ]


답변

YQL에 Open Data 테이블을 추가했습니다.이를 사용하여 yahoo.finance에서 환율 데이터를 검색 할 수 있습니다.

YQL 콘솔에서 사용해보세요

쉼표로 구분 된 형식은 “where pair in ( ‘EURUSD’, ‘GBPUSD’)”보다 선호되지만 어쨌든 둘 다 사용할 수 있으며 심지어 혼합 할 수도 있습니다.


답변

환율을 제공하는 비누 서비스입니다

http://www.newyorkfed.org/markets/pilotfx.html