Pular para o conteúdo

Comprovante de pagamento de uma fatura do cliente

GET /portal/invoices/{id}/receipt

Escopo do token: invoices:read. Recurso: Faturas.

Emite o comprovante no primeiro acesso. Fatura não paga: 422 invoice.not_paid.

Os exemplos leem o token da variável de ambiente HALVER_API_TOKEN (um token sc_live_… criado em Desenvolvedores › Tokens de API). Nunca escreva o token no código.

Janela do terminal
curl "https://dash.halver.com.br/api/v1/portal/invoices/38eb1f33-5f76-44d9-a2dd-bd2fbcc16b7e/receipt" \
-H "Authorization: Bearer $HALVER_API_TOKEN"
  • id string (uuid) obrigatório

    Exemplo: 38eb1f33-5f76-44d9-a2dd-bd2fbcc16b7e.

Comprovante.

Campos da resposta
  • adjustment_cents integer (int64) obrigatório

    Outra diferença entre o pago e o valor da fatura (negativa = desconto), ex. baixa registrada pela equipe.

  • amount_cents integer (int64) obrigatório

    Valor da fatura.

  • code string obrigatório

    Código de validação, XXXX-XXXX-XXXX-XXXX.

  • description string obrigatório
  • due_date string (date) obrigatório
  • invoice_number string obrigatório
  • issued_at string (date-time) obrigatório
  • issuer_document string obrigatório

    CNPJ de quem recebeu, formatado.

  • issuer_name string obrigatório

    Quem recebeu (razão social).

  • late_cents integer (int64) obrigatório

    Multa e juros pagos além do valor da fatura (pagamento após o vencimento).

  • method string obrigatório

    bank_transfer: Pix/transferência direto na conta da empresa; manual: registrado pela equipe. Um de: pix, boleto, credit_card, bank_transfer, manual.

  • paid_amount_cents integer (int64) obrigatório
  • paid_at string (date-time) obrigatório
  • payer_document string obrigatório

    CNPJ completo ou CPF mascarado.

  • payer_name string obrigatório
  • refunded_amount_cents integer (int64) obrigatório

    Devolvido ao pagador (estorno parcial mantém valid).

  • refunded_at string (date-time) obrigatório pode ser nulo
  • status string obrigatório

    Um de: valid, refunded, reverted.

  • url string obrigatório

    Página pública do comprovante (para o QR code e para compartilhar).

Exemplo de resposta
{
"adjustment_cents": 89900,
"amount_cents": 89900,
"code": "c1.small.ssd",
"description": "Servidor de produção",
"due_date": "2026-10-20",
"invoice_number": "FAT-0000123",
"issued_at": "2026-10-20T18:00:00Z",
"issuer_document": "",
"issuer_name": "Halver",
"late_cents": 89900,
"method": "pix",
"paid_amount_cents": 89900,
"paid_at": "2026-10-20T18:00:00Z",
"payer_document": "",
"payer_name": "Exemplo Tecnologia Ltda",
"refunded_amount_cents": 89900,
"refunded_at": null,
"status": "valid",
"url": ""
}

Todo erro vem como application/problem+json (RFC 9457), com um code estável, a mensagem em português em detail, o motivo de cada campo em errors (nos erros de validação) e o request_id, que você informa ao suporte. Veja a lista completa de códigos.

Status Quando Códigos
400 Requisição inválida (JSON malformado, campo desconhecido, parâmetro inválido ou falha de validação). validation_failed
401 Não autenticado (token ausente, inválido ou expirado; credenciais inválidas). auth.unauthorized
403 Autenticado, mas sem permissão para a área ou a operação. api_token.insufficient_scope
404 Recurso não encontrado (ou fora do escopo do usuário). invoice.not_found, receipt.not_found
422 Entrada válida, mas viola uma regra de negócio. invoice.not_paid
Exemplo de erro
{
"type": "about:blank",
"title": "Forbidden",
"status": 403,
"detail": "o token não tem o escopo invoices:read; crie um token com esse escopo em Desenvolvedores › Tokens de API",
"code": "api_token.insufficient_scope",
"request_id": "6f1c0b2a9e4d7c3b5a8f0e1d"
}