Códigos de Moeda ISO 4217: O Guia Completo para Desenvolvedores
Se você já construiu um sistema de pagamentos, integrou uma API de taxas de câmbio ou exibiu preços em múltiplas moedas, já encontrou os códigos de moeda ISO 4217 — mesmo sem saber. Esses códigos de três letras como USD, EUR, JPY e GBP são a linguagem universal do dinheiro no desenvolvimento de software. Entender como funcionam, de onde vêm e como usá-los corretamente é essencial para qualquer desenvolvedor que cria aplicações financeiras.
Este guia cobre tudo que você precisa saber: a estrutura dos códigos de moeda, uma lista de referência das moedas mais usadas no mundo, como lidar com subunidades e códigos especiais, e como integrá-los com a documentação da API Finexly para obter taxas de câmbio em tempo real.
O que é ISO 4217?
ISO 4217 é um padrão internacional publicado pela Organização Internacional de Normalização (ISO) que define códigos para representar as moedas do mundo. Introduzido pela primeira vez em 1978, é usado universalmente em sistemas bancários, software financeiro, plataformas de e-commerce, processadores de pagamento e APIs de câmbio.
O padrão serve a três propósitos principais:
- Eliminar ambiguidade — "dólar" pode significar o dólar americano, canadense, australiano ou dezenas de outros.
USD,CAD,AUDsão inequívocos. - Habilitar processamento automatizado — Códigos alfabéticos e numéricos permitem que sistemas com diferentes suportes de conjuntos de caracteres processem dados de moeda de forma confiável.
- Apoiar a interoperabilidade internacional — Qualquer sistema compatível pode trocar dados financeiros sem mapeamentos personalizados.
Entendendo a Estrutura dos Códigos
Códigos Alfabéticos (Alpha-3)
Cada código alfabético ISO 4217 tem exatamente três letras ASCII maiúsculas:
- Duas primeiras letras — Derivadas do código de país ISO 3166-1 alpha-2 (ex.:
USpara os EUA,JPpara o Japão,GBpara a Grã-Bretanha) - Terceira letra — Geralmente a primeira letra do nome da moeda (ex.:
Dpara Dollar,Ypara Yen,Ppara Pound)
USD = Estados Unidos (US) + Dólar (D). JPY = Japão (JP) + Iene (Y). GBP = Grã-Bretanha (GB) + Libra (P).
Subunidades (Casas Decimais)
ISO 4217 também especifica o número de casas decimais para cada moeda:
| Decimais | Moedas de Exemplo |
|---|---|
| 0 | Iene Japonês (JPY), Won Coreano (KRW), Peso Chileno (CLP) |
| 2 | Dólar Americano (USD), Euro (EUR), Libra Esterlina (GBP) |
| 3 | Dinar Kuwaitiano (KWD), Dinar do Bahrein (BHD), Rial Omanense (OMR) |
¥1999 como ¥19,99 introduz um erro de preço de 99x.Tabela de Referência das Principais Moedas Mundiais
Américas
| Código | Moeda | País | Numérico | Decimais |
|---|---|---|---|---|
| USD | Dólar Americano | Estados Unidos | 840 | 2 |
| CAD | Dólar Canadense | Canadá | 124 | 2 |
| MXN | Peso Mexicano | México | 484 | 2 |
| BRL | Real Brasileiro | Brasil | 986 | 2 |
| ARS | Peso Argentino | Argentina | 032 | 2 |
| CLP | Peso Chileno | Chile | 152 | 0 |
Europa
| Código | Moeda | País/Região | Numérico | Decimais |
|---|---|---|---|---|
| EUR | Euro | Zona do Euro | 978 | 2 |
| GBP | Libra Esterlina | Reino Unido | 826 | 2 |
| CHF | Franco Suíço | Suíça | 756 | 2 |
| NOK | Coroa Norueguesa | Noruega | 578 | 2 |
| SEK | Coroa Sueca | Suécia | 752 | 2 |
| PLN | Zloty Polonês | Polônia | 985 | 2 |
Ásia-Pacífico
| Código | Moeda | País | Numérico | Decimais |
|---|---|---|---|---|
| JPY | Iene Japonês | Japão | 392 | 0 |
| CNY | Yuan Chinês | China | 156 | 2 |
| HKD | Dólar de Hong Kong | Hong Kong | 344 | 2 |
| SGD | Dólar de Singapura | Singapura | 702 | 2 |
| AUD | Dólar Australiano | Austrália | 036 | 2 |
| KRW | Won Sul-Coreano | Coreia do Sul | 410 | 0 |
| INR | Rupia Indiana | Índia | 356 | 2 |
Usando Códigos de Moeda com a API Finexly
A API Finexly suporta mais de 170 códigos de moeda ISO 4217. Veja como buscar taxas de câmbio em tempo real:
cURL
curl "https://finexly.com/api/latest?base=USD&symbols=EUR,GBP,JPY,BRL,AUD" \
-H "Authorization: Bearer SUA_CHAVE_API"JavaScript
const BASE_CURRENCY = 'USD';
const TARGET_CURRENCIES = ['EUR', 'GBP', 'JPY', 'BRL', 'AUD'];
async function getExchangeRates() {
const symbols = TARGET_CURRENCIES.join(',');
const url = `https://finexly.com/api/latest?base=${BASE_CURRENCY}&symbols=${symbols}`;
const response = await fetch(url, {
headers: { 'Authorization': 'Bearer SUA_CHAVE_API' }
});
const data = await response.json();
return data.rates;
}
getExchangeRates().then(rates => {
console.log(`1 USD = ${rates.EUR} EUR`);
console.log(`1 USD = ${rates.BRL} BRL`);
});Python
import requests
API_KEY = "SUA_CHAVE_API"
BASE = "USD"
TARGETS = ["EUR", "GBP", "JPY", "BRL", "ARS"]
response = requests.get(
"https://finexly.com/api/latest",
params={"base": BASE, "symbols": ",".join(TARGETS)},
headers={"Authorization": f"Bearer {API_KEY}"}
)
data = response.json()
for code, rate in data["rates"].items():
print(f"1 {BASE} = {rate} {code}")Formatação de Moedas por Locale
function formatCurrency(amount, currencyCode, locale = 'pt-BR') {
return new Intl.NumberFormat(locale, {
style: 'currency',
currency: currencyCode,
}).format(amount);
}
console.log(formatCurrency(1234.56, 'USD', 'en-US')); // $1,234.56
console.log(formatCurrency(1234.56, 'BRL', 'pt-BR')); // R$ 1.234,56
console.log(formatCurrency(1234.56, 'EUR', 'pt-PT')); // 1 234,56 €
console.log(formatCurrency(1500, 'JPY', 'ja-JP')); // ¥1.500Erros Comuns com Códigos de Moeda
Erro 1: Armazenar moedas como número de ponto flutuante
# ❌ ERRADO — erros de ponto flutuante causarão problemas
total = 19.99 * 1.20 # 23.988000000000003
# ✅ CORRETO — use inteiros em subunidades
price_cents = 1999 # R$19,99 armazenado em centavosErro 2: Assumir que todas as moedas têm 2 casas decimais
// ❌ ERRADO
formatJPY(1500) // "1500.00 JPY" — INCORRETO
// ✅ CORRETO
new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(1500); // ¥1.500Perguntas Frequentes
Qual é a diferença entre um código de moeda e um símbolo de moeda?
Um código de moeda é um identificador padronizado de três letras (ex.: USD) definido pela ISO 4217, enquanto um símbolo de moeda é uma abreviação tipográfica (ex.: $, €, £). Os códigos de moeda são sempre inequívocos.
Quantos códigos de moeda ISO 4217 existem? A partir de 2026, há cerca de 180 códigos de moeda ativos. A Finexly suporta mais de 170 para consultas de taxas de câmbio em tempo real.
Posso usar códigos de moeda com o plano gratuito da Finexly? Sim — o plano gratuito oferece acesso a todos os códigos de moeda ISO 4217 suportados com até 1.000 requisições de API por mês.
Por que o Iene Japonês (JPY) não tem casas decimais? O Iene foi decimalizado de forma diferente da maioria das moedas. Embora tecnicamente tenha uma subunidade chamada "sen" (1/100 do Iene), os sen não são mais utilizados na prática.
Qual código de moeda devo usar para o Euro em todos os países da Zona do Euro?
Sempre use EUR — é o mesmo código de moeda independentemente de a transação ser na Alemanha, França, Espanha, Itália ou qualquer outra nação da Zona do Euro.
Pronto para integrar taxas de câmbio em tempo real em seu projeto? Obtenha sua chave de API Finexly gratuita — sem necessidade de cartão de crédito. Comece com 1.000 requisições gratuitas por mês e acesse taxas em tempo real para mais de 170 moedas ISO 4217. Faça upgrade conforme crescer.
Explore More
Vlado Grigirov
Senior Currency Markets Analyst & Financial Strategist
Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...
View full profile →