Documentação
Métodos de pagamento por moeda
Cada moeda tem os seus meios de pagamento. É sempre o mesmo endpoint — POST /transactions/v2/purchase — mudando currency e, quando a moeda tem mais de um trilho, paymentMethod.
| Moeda | Método | paymentMethod | Instrução | Campo na resposta |
|---|---|---|---|---|
| 🇧🇷 BRL | PIX | "PIX" (obrigatório) | na resposta | pixCode |
| 🇧🇷 BRL | Cartão | "CREDIT_CARD" | — | — |
| 🇧🇷 BRL | Boleto | "BOLETO" | na resposta (após registro) | boletoDigitableLine + boletoBarcode |
| 🇧🇷 BRL | Pix ou Boleto | "PIX_BOLETO" | na resposta (após registro) | pixCode + boletoDigitableLine |
| 🇲🇽 MXN | SPEI | "SPEI" (padrão) | na resposta | clabe |
| 🇲🇽 MXN | OXXO | "OXXO" | na resposta | reference + barcode |
| 🇦🇷 ARS | Transferência | "BANK_TRANSFER" (padrão) | por webhook | cvu |
| 🇨🇴 COP | Transferência | "BANK_TRANSFER" (padrão) | por webhook | redirectUrl |
| 🇨🇴 COP | PSE | "PSE" | por webhook | redirectUrl |
| 🇨🇴 COP | Nequi | "NEQUI" | por webhook | redirectUrl |
| 🇨🇴 COP | Bre-B | "BREB" | por webhook | redirectUrl |
| 🇧🇴 BOB | QR | "QR" (padrão) | por webhook | qr |
Omitir
paymentMethodusa o padrão da moeda. Só o BRL exige o campo, por compatibilidade com a integração antiga.
A moeda é fixa por conta e trava na primeira venda. Para operar em outro país, crie uma empresa nova pelo painel.
Saque é sempre em BRL. Não existe cash-out em peso ou boliviano: o saldo que entra em MXN, ARS, COP ou BOB é liquidado para real pela iHubGames e sacado pelo fluxo normal — POST /withdraws/cash-out, o mesmo de uma conta brasileira. Você não pede a conversão nem aprova cotação; ela é operada por nós e o saldo em BRL aparece sozinho. Enquanto não liquidado, o saldo na moeda local ainda não é sacável — GET /accounts/balances mostra as duas linhas.
A diferença que mais quebra integração
Nem toda moeda entrega a instrução de pagamento na mesma hora, e isso muda o seu código.
Instrução na resposta — BRL, MXN (SPEI e OXXO). Você cria a cobrança e já mostra o código na tela. Fluxo de uma chamada.
Instrução por webhook — ARS, COP, BOB. A criação volta com status: "PENDING" e o campo da instrução vazio. Isso é o comportamento normal, não é erro: o identificador é negociado com a rede local e fica pronto em alguns segundos. Faça polling em GET /transactions/:id até o campo vir preenchido.
Boleto (BRL) fica no meio: a boletoDigitableLine e o boletoBarcode só existem após o registro na Núclea — podem vir já na criação ou alguns instantes depois. Trate como o caso assíncrono: se vierem vazios, faça polling em GET /transactions/:id. Diferente do PIX, o boleto não é instantâneo — a baixa chega pelo webhook cashin.paid quando o pagador paga (até o vencimento). O valor cai no mesmo saldo do PIX (BRL).
Se a sua tela assume que o código sempre vem na criação, ela quebra no primeiro país assíncrono.
Dados do pagador exigidos
Cada rede pede um conjunto diferente. Faltando qualquer um dos obrigatórios, a cobrança é recusada antes de ser criada.
| Moeda | name | email | phone | Documento |
|---|---|---|---|---|
| BRL (PIX/Cartão) | sim | opcional | sim | CPF/CNPJ em cpf |
| BRL (Boleto / Pix ou Boleto) | sim | opcional | sim | CPF/CNPJ em cpf + endereço |
| MXN (SPEI) | sim | opcional | não | não |
| MXN (OXXO) | sim | sim | não | não |
| ARS | sim | sim | opcional | não |
| COP | sim | sim | sim | CC, NIT, CE ou TI |
| BOB | sim | sim | sim | CI, NIT ou PAS |
O
cpfé documento brasileiro e só se aplica ao BRL. Nos demais países o documento do pagador vai emresponsibleDocument.
A Colômbia é a mais exigente das cinco: sem os quatro dados a rede recusa direto.
Valores e limites
amount é sempre em centavos, em todas as moedas — inclusive naquelas em que ninguém usa centavos no dia a dia.
| Moeda | Mínimo | Máximo | amount do mínimo |
|---|---|---|---|
| MXN | — | por conta | 1000 = MX$ 10,00 |
| ARS | AR$ 2.000 | AR$ 1.000.000 | 200000 |
| COP | COP 10.000 | COP 10.000.000 | 1000000 |
| BOB | Bs 10 | Bs 10.000 | 1000 |
Atenção ao peso colombiano. COP 10.000 é
1000000em centavos, não10000. Mandar10000pede COP 100 e leva erro de valor fora da faixa.
Além do limite da rede, a sua conta tem limites próprios por método, configuráveis no painel. Uma cobrança fora deles é recusada mesmo estando dentro do que a rede aceita.
Taxa por método
Métodos da mesma moeda podem ter preços diferentes — e costumam ter. No México, o SPEI cobra uma taxa fixa por transferência enquanto o OXXO cobra percentual, porque a loja fica com uma parte.
Cada método tem a sua taxa configurada na sua conta. O costFee que volta na criação já reflete a do método usado naquela cobrança.
Antes de ofertar um método novo aos seus compradores, confira o preço dele no painel — ofertar OXXO achando que custa o mesmo que SPEI é a forma mais rápida de vender no prejuízo.
Boleto (BRL)
O boleto registrado é um método de BRL que liquida no mesmo saldo do PIX — mas o pagador paga depois (banco/app até o vencimento) e a baixa chega pelo webhook cashin.paid.
É o mesmo endpoint — POST /transactions/v2/purchase — com paymentMethod: "BOLETO". Como o boleto registrado exige o endereço do pagador, mande o objeto boletoAddress. O vencimento é opcional (dueDate, YYYY-MM-DD); sem ele, usamos hoje + 3 dias.
{
"amount": 5000,
"paymentMethod": "BOLETO",
"name": "Maria Souza",
"email": "maria@exemplo.com",
"cpf": "12345678901",
"phone": "11999998888",
"dueDate": "2026-10-20",
"boletoAddress": {
"address": "Rua das Flores",
"number": "123",
"complement": "Apto 45",
"district": "Centro",
"city": "São Paulo",
"zipCode": "01001000",
"uf": "SP"
}
}
Campos obrigatórios do boletoAddress: address, district, city, zipCode (8 dígitos) e uf (2 letras). number e complement são opcionais.
A resposta volta com boletoDigitableLine (linha digitável) e boletoBarcode (código de barras) — que podem chegar logo após o registro na Núclea (faça polling em GET /transactions/:id se vierem vazios). A confirmação do pagamento é assíncrona: o webhook cashin.paid dispara quando o boleto é pago.