계산 전에 단위 쓰기
보유한 금액, 원하는 통화, 환율 방향부터 정하세요. 이 예시에서 출발 통화는 EUR, 대상 통화는 USD, 환율은 EUR 1단위당 1.08765 USD입니다. 계산을 보여 주기 위한 가상 환율입니다.
Source amount: 250.00 EUR
Rate: 1.08765 USD/EUR
Unrounded result: 271.91250 USD
Two-decimal result: 271.91 USD환율의 방향이 반대라면 나누기
USD 250을 가지고 있고 이용 가능한 유일한 호가가 EUR 1단위당 1.25 USD라면 250을 1.25로 나누어 EUR 200을 구합니다. 곱하면 원하는 환산 결과가 나오지 않습니다.
간단한 타당성 검사는 방향 오류를 많이 잡아냅니다. 이 예시 환율에서는 유로 1단위가 달러 1단위보다 비싸므로 유로 금액이 달러 금액보다 작아야 합니다.
Narwhal에 환산 요청하기
환산 엔드포인트는 from, to 및 양수인 십진수 amount를 받습니다. 두 통화는 달라야 합니다. 입력 금액, 선택한 환율, 환산 금액, 타임스탬프, stale 상태 및 시장 세션을 반환합니다. 실제 응답은 요청 시점에 승인된 관측값에 따라 달라집니다.
curl --request GET \
--url "https://api.narwhalapi.com/v1/fx/convert?from=USD&to=JPY&amount=100.00" \
--header "Authorization: Bearer $NARWHAL_API_KEY"계산 금액과 결제 금액을 분리하기
참고 환산은 비교나 표시에 유용합니다. 결제 서비스가 지급하는 금액은 자체 환율, 수수료, 반올림 규칙을 적용하므로 달라질 수 있습니다. 예를 들어 ECB는 참고 환율을 정보 제공용으로 표시하며 거래에 사용하는 것을 권장하지 않습니다.
여기서는 환산 전에 출발 통화에서 수수료를 명시적으로 차감하는 예시를 계산합니다. 환산 후 수수료를 부과한다면 다른 공식이 필요합니다.
Source balance: 100.00 USD
Fee deducted before FX: 2.00 USD
Amount actually converted: 98.00 USD
Provider rate: 0.90 EUR/USD
Recipient amount: 88.20 EUR결과는 한 번만 반올림하기
Narwhal의 환산 명세는 십진수 연산을 수행하고 대상 통화의 ISO 4217 보조 단위에 맞춰 짝수 반올림을 적용합니다. 환율 정밀도와 통화 금액 정밀도는 목적이 다르므로, 금액에 사용하는 소수 자릿수로 환율을 먼저 줄이지 마세요.
반환된 환율과 환산 금액을 함께 보관하세요. 반올림된 표시 환율로 다시 계산하면 API 결과와 눈에 보이는 차이가 날 수 있습니다.
입력을 검증하고 결과의 맥락 저장하기
환산 결과를 현재 값으로 표시하기 전에 반환된 타임스탬프와 stale 플래그를 확인하세요. 요청이 성공했다고 해서 클릭한 순간에 관측된 환율이라는 뜻은 아닙니다.
- 통화 기호나 천 단위 구분자가 있는 숫자가 아니라 서식 없는 십진수 문자열을 보내세요.
- 계산 전에 출발 통화 코드와 대상 통화 코드를 확인하세요.
- 지원되지 않는 통화와 잘못된 금액은 오류로 처리하고 환율 1로 대체하지 마세요.
- 재현성이 중요할 때는 금액, 선택된 환율, 환산 결과, 관측 맥락을 저장하세요.
출처 및 레퍼런스
게시일: . 최종 검토일: .

