Foreign Exchange
A API Foreign Exchange retorna taxas de câmbio em tempo real para pagamentos entre moedas. Use a taxa e o fxId na sua requisição de Push Transaction ou Pull and Push.
Duas versões estão disponíveis:
| Versão | Endpoint | Diferença Principal |
|---|---|---|
| v1 | POST /foreign-exchange | Consulta simples de par de moedas |
| v2 | POST /v2/foreign-exchange | Inclui paymentMethod para taxas específicas por método e valor/país opcionais |
v1 — Taxa de Câmbio Simples
Retorna uma taxa de câmbio para um par de moedas.
Endpoint
POST https://{FQDN}/foreign-exchange
Cabeçalhos:
| Cabeçalho | Valor |
|---|---|
Authorization | Bearer {accessToken} |
Content-Type | application/json |
Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sourceCurrencyCode | string | Não | Moeda de origem (ISO 4217, ex.: "USD") |
destinationCurrencyCode | string | Não | Moeda de destino (ISO 4217, ex.: "BRL") |
Exemplo de Requisição
curl -X POST https://{FQDN}/foreign-exchange \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...' \
-H 'Content-Type: application/json' \
-d '{
"sourceCurrencyCode": "USD",
"destinationCurrencyCode": "BRL"
}'
Resposta (200)
{
"fxId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"conversionRate": 4.975,
"quoteIdExpiryDateTime": "2025-03-31T15:30:00Z"
}
v2 — Taxa de Câmbio Específica por Método de Pagamento
Retorna uma taxa de câmbio ajustada ao método de pagamento. Métodos diferentes (cartão, ACH, PIX, carteira) podem ter spreads de câmbio diferentes.
Endpoint
POST https://{FQDN}/v2/foreign-exchange
Cabeçalhos:
| Cabeçalho | Valor |
|---|---|
Authorization | Bearer {accessToken} |
Content-Type | application/json |
Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sourceCurrencyCode | string | Sim | Moeda de origem (ISO 4217, ex.: "USD") |
destinationCurrencyCode | string | Sim | Moeda de destino (ISO 4217, ex.: "BRL") |
paymentMethod | string | Sim | Método de pagamento para o cálculo da taxa (veja os valores abaixo) |
sourceCurrencyAmount | number | Não | Valor na moeda de origem — quando fornecido, a resposta inclui o valor de destino convertido |
destinationCountryCode | string | Não | País de destino (ISO Alpha-2) — restringe a taxa a um corredor específico |
Valores de paymentMethod
| Valor | Descrição |
|---|---|
CARD | Payout para cartão (Visa Direct / Mastercard Send) |
CREDIT_CARD | Cartão de crédito |
DEBIT_CARD | Cartão de débito |
ACH | Transferência bancária ACH |
BANK_ACCOUNT | Payout internacional para conta bancária |
WALLET | Payout para carteira digital |
AFT | Account funding transaction |
CASH | Retirada em dinheiro |
CHECK | Cheque |
MONEY_ORDER | Ordem de pagamento |
APPLE_PAY | Apple Pay |
GOOGLE_PAY | Google Pay |
OTHER | Outro método de pagamento |
Exemplo — Taxa para Payout em Cartão
curl -X POST https://{FQDN}/v2/foreign-exchange \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...' \
-H 'Content-Type: application/json' \
-d '{
"sourceCurrencyCode": "USD",
"destinationCurrencyCode": "BRL",
"paymentMethod": "CARD"
}'
Exemplo — Taxa com Valor e País
curl -X POST https://{FQDN}/v2/foreign-exchange \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...' \
-H 'Content-Type: application/json' \
-d '{
"sourceCurrencyCode": "USD",
"sourceCurrencyAmount": 100.00,
"destinationCurrencyCode": "PHP",
"destinationCountryCode": "PH",
"paymentMethod": "WALLET"
}'
Resposta (200)
{
"fxId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"conversionRate": 56.42,
"sourceCurrencyCode": "USD",
"sourceCurrencyAmount": 100.00,
"destinationCurrencyCode": "PHP",
"destinationCurrencyAmount": 5642.00,
"paymentMethod": "WALLET",
"quoteIdExpiryDateTime": "2025-03-31T15:30:00Z"
}
Campos da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
fxId | string | Identificador da cotação de câmbio — passe-o na sua requisição de pagamento para travar a taxa |
conversionRate | number | Taxa de câmbio aplicada |
sourceCurrencyCode | string | Moeda de origem (somente v2) |
sourceCurrencyAmount | number | Valor de origem (somente v2, quando fornecido na requisição) |
destinationCurrencyCode | string | Moeda de destino (somente v2) |
destinationCurrencyAmount | number | Valor convertido (somente v2, quando sourceCurrencyAmount é fornecido) |
paymentMethod | string | Método de pagamento ao qual a taxa se aplica (somente v2) |
quoteIdExpiryDateTime | string | Timestamp de expiração ISO 8601 — a taxa é inválida após este horário |
Uso em Pagamentos
Passe o fxId e o conversionRate da resposta para a sua requisição de pagamento:
fxId→ campofxIddo pagamentoconversionRate→ campoexchangeRatedo pagamento
Nota: as cotações de câmbio têm um período de validade limitado. Verifique
quoteIdExpiryDateTimee solicite uma nova cotação se estiver expirada antes de submeter o pagamento.
Próximos Passos
- Push Transaction — Envie payouts entre moedas
- Pull e push em uma única etapa — Cobre e desembolse em uma única chamada
- Balance — Verifique os fundos disponíveis antes de transacionar
