PagnovoPagnovodocs

Referência da API

Atualizar fatura

Atualiza campos da Invoice. **Regras estritas de edição:** - Status precisa ser `DRAFT` ou `PENDING`. PAID/CANCELED/REFUNDED/EXPIRED não podem ser editadas. - Se houver attempt com status `APPROVED`, a Invoice está efetivamente paga — não pode ser editada. - Se houver attempt `PENDING`, você pode editar campos não-monetários, mas não `amount` ou `dueDate` (cancele os attempts primeiro). Valores em centavos.

PATCH/v2/invoices/:id
Regras de edição estritas
status Invoice só é editável em DRAFT ou PENDING, e desde que não tenha attempt APPROVED. Se tem attempt PENDING, amount/dueDate ficam bloqueados — cancele os attempts antes.

Autenticação

HTTP Basic Auth. Envie sua secret key no header:

Authorization: Basic {base64(secret:SUA_SECRET_KEY)}

Parâmetros

idstring (path, UUID)obrigatório

UUID da Invoice.

Exemplo: inv_111aaa

Body da requisição

Content-Type: application/json

JSON
{
  "description": "Mensalidade Setembro (corrigido)",
  "amount": 5900,
  "items": [
    { "description": "Plano Pro", "quantity": 1, "unitPrice": 5900, "totalPrice": 5900 }
  ],
  "dueDate": "2026-09-20T00:00:00.000Z"
}

Respostas

200

Invoice atualizada.

JSON
{
  "id": "inv_111aaa",
  "description": "Mensalidade Setembro (corrigido)",
  "amount": 5900,
  "dueDate": "2026-09-20T00:00:00.000Z",
  "updatedAt": "2026-09-02T10:00:00.000Z"
}
400

Causas: status não-editável, attempt APPROVED existe, attempt PENDING com tentativa de mudar amount/dueDate, ou validação falhou.

JSON
{
  "status": 400,
  "error": "Invoice ja possui pagamento aprovado - nao pode ser editada"
}
404

Invoice não encontrada.

JSON
{ "status": 404, "error": "Invoice nao encontrada" }

Exemplos

cURL
curl -X PATCH "https://api.pagnovo.com/v2/invoices/inv_111aaa" \
  -H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)" \
  -H "Content-Type: application/json" \
  -d '{ "amount": 5900, "dueDate": "2026-09-20T00:00:00.000Z" }'