Cobrança internacional
Cobre na moeda do comprador: moedas aceitas, o que muda na requisição e na resposta.
Você pode cobrar na moeda do seu comprador. Envie currency junto com amount na criação da cobrança.
Moedas aceitas
BRL (padrão), USD, EUR, GBP, CHF, CAD, MXN, ARS, CLP, COP e PEN.
Cada moeda precisa estar habilitada para a sua conta antes do primeiro uso. Sem isso a cobrança é recusada com currency_not_supported — fale com o seu contato comercial para liberar.
amount é na menor unidade da moeda
USD 5,00 é 500. Mas a menor unidade não é sempre o centavo: o peso chileno não tem subdivisão, então { "amount": 500, "currency": "CLP" } são 500 pesos, não 5,00.
O que muda em relação a uma cobrança em BRL
- Somente cartão (
credit_card/debit_card).pixeboletoretornam erro de validação. installmentsdeve ser1.buyer.documentebuyer.phonesão opcionais. EmBRLos dois continuam obrigatórios. Quando você enviar, precisam ser válidos (CPF/CNPJ; telefone com 10 a 15 dígitos).- Campo opcional em branco conta como não informado:
null,""e a chave ausente significam a mesma coisa. Vale também parabuyer.ip,street_numberedistrict. buyer.address.countryaceita qualquer país (ISO de 2 letras). Fora do Brasil, ozip_codenão é validado como CEP.
Requisição
curl -X POST $API_BASE_URL/charges \ -H "Authorization: Bearer sk_live_xxx" \ -H "Idempotency-Key: order_7781_charge" \ -H "Content-Type: application/json" \ -d '{ "amount": 500, "currency": "USD", "payment_method": "CREDIT_CARD", "installments": 1, "card_token": "tok_xxx", "buyer": { "name": "Ada Lovelace", "email": "ada@example.com", "phone": "14155552671", "address": { "line_1": "1 Infinite Loop", "zip_code": "95014", "city": "Cupertino", "state": "CA", "country": "US" } } }'Resposta
{ "object": "charge", "id": "ch_xxx", "status": "paid", "amount_cents": 2582, "currency": "BRL", "presentment": { "currency": "USD", "amount_cents": 500 }, "fx": { "base_currency": "BRL", "rate_micros": 5163400, "quoted_at": "2026-08-11T20:56:23.000Z" }, "payment_method": "credit_card", "installments": 1, "request_id": "req_xxx"}amount_centsecurrency— o valor e a moeda em que a cobrança foi processada. É o que aparece em taxas, recebíveis, extrato e conciliação.presentment— o valor e a moeda que você enviou.fx.rate_micros— a taxa aplicada nesta cobrança, em inteiro: micro-unidades defx.base_currencypor 1 unidade maior depresentment.currency.5163400é 5,163400. Nunca use float para reconstruir o valor —amount_centsjá é o número final.fx.quoted_at— quando a taxa usada foi apurada.
presentment e fx são aditivos: uma cobrança em BRL não traz essas chaves, então nada muda na sua integração atual.
Erros específicos
currency_not_supported— a moeda não está habilitada para a sua conta.exchange_rate_unavailable(503) — não foi possível precificar esta moeda agora. É transitório: repita a requisição em seguida, reusando a mesmaIdempotency-Key.cross_border_acquirer_unavailable— a sua conta não está habilitada para processar esta cobrança. Fale com o seu contato comercial.
3-D Secure
Por padrão, cobrança em moeda estrangeira não passa por 3-D Secure e portanto não retorna requires_action. É configurável por conta.