Referência da API
Cancelar fatura
Cancela uma Invoice em status `DRAFT`, `PENDING` ou `OVERDUE`. Cancela em cascata todos os `InvoicePaymentAttempt` PENDING dessa invoice (cliente final não consegue mais pagar). Invoices `PAID`/`REFUNDED`/`CANCELED`/`EXPIRED` não podem ser canceladas. Se já tem attempt `APPROVED`, use `POST /:id/mark-refunded` em vez de cancel.
POST
/v2/invoices/:id/cancelAutenticação
HTTP Basic Auth. Envie sua secret key no header:
Authorization: Basic {base64(secret:SUA_SECRET_KEY)}Parâmetros
idstring (path, UUID)obrigatórioUUID da Invoice.
Exemplo: inv_111aaa
Body da requisição
Content-Type: application/json
JSON
{
"reason": "Cliente cancelou o pedido"
}Respostas
200
Invoice cancelada. Attempts PENDING também foram cancelados.
JSON
{
"id": "inv_111aaa",
"status": "CANCELED",
"canceledAt": "2026-09-02T10:00:00.000Z",
"canceledReason": "Cliente cancelou o pedido",
"updatedAt": "2026-09-02T10:00:00.000Z"
}400
Status não permite cancelamento, ou Invoice tem attempt APPROVED (use mark-refunded).
JSON
{
"status": 400,
"error": "Invoice tem pagamento aprovado - use refund em vez de cancel"
}404
Invoice não encontrada.
JSON
{ "status": 404, "error": "Invoice nao encontrada" }Exemplos
cURL
curl -X POST "https://api.pagnovo.com/v2/invoices/inv_111aaa/cancel" \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)" \
-H "Content-Type: application/json" \
-d '{ "reason": "Cliente cancelou o pedido" }'