Skip to main content
A API da KavroPay foi projetada com alta flexibilidade para aceitar tanto valores monetários decimais em Reais quanto valores inteiros em centavos.

Formas de Enviar o Valor Monetário

Você pode escolher uma das duas abordagens abaixo em qualquer rota de cobrança ou saque:

Opção 1: String Decimal em Reais (amount) — Recomendado para Front-ends

Envie o campo amount como uma string com exatamente duas casas decimais:
  • Para R$ 10,00 envie: "10.00" (ou "10,00")
  • Para R$ 0,50 envie: "0.50"
  • Se você calcula o valor numericamente no seu backend, formate com .toFixed(2) antes de serializar no JSON.
Atenção ao enviar números inteiros no campo amount:Se você enviar um número JSON puro sem casas decimais como "amount": 10, a API retornará o erro: "Valor inválido. Informe o valor com casas decimais (ex: 10.00 ou 10,00)."Isso ocorre porque o padrão JSON descarta zeros à direita (10.00 vira 10), gerando ambiguidade financeira. Para valores inteiros, utilize a Opção 2 (amountCents) abaixo.

Opção 2: Inteiro em Centavos (amountCents) — Padrão Stripe & Gateways

Se o seu sistema opera financeiramente em centavos inteiros (integers), envie amountCents ou amount_cents:
  • R$ 10,00 = 1000 centavos
  • R$ 0,50 = 50 centavos
  • R$ 100,00 = 10000 centavos
Essa opção elimina completamente qualquer erro de arredondamento em pontos flutuantes.

O Campo metadata

O campo metadata aceita qualquer objeto JSON livre com até 50 chaves. Todas as chaves e valores enviados são armazenados e devolvidos intactos nas consultas (GET /v1/charges/:id) e nos payloads dos Webhooks.
Exemplo com Metadata Completo

Chaves & Autenticação

Veja como autenticar suas requisições com Authorization: Bearer.

Criar Cobrança PIX

Veja o guia completo para emissão de cobranças PIX.