Cancelando um Boleto
Cancelando um Boleto
O cancelamento de um boleto na API do Pagou permite invalidar um boleto ativo, alterando seu status para StatusCanceled e tornando-o não mais válido para pagamento.
Visão Geral Técnica
O endpoint DELETE /v1/charges/{chargeID} solicita o cancelamento de um boleto identificado por seu ID único. A operação é síncrona, retornando 204 No Content em caso de sucesso, indicando que o boleto foi cancelado e seu status atualizado para StatusCanceled. Apenas boletos no status StatusActive (ou, em casos raros, StatusEmpty) podem ser cancelados. Boletos em StatusPaid, StatusRefunded ou já em StatusCanceled não podem ser cancelados novamente.
Especificações:
Método: DELETE
URL:
Produção: https://api.pagou.com.br/v1/charges/{id}
Sandbox: https://sandbox.api.pagou.com.br/v1/charges/{id}
Autenticação: Cabeçalho X-API-KEY com chave do painel.
Content-Type: application/json
Resposta: Status 204 No Content (sem corpo).
Erros: 400 Bad Request, 401 Unauthorized, 500 Internal Server Error.
Pré-requisitos
Conta no Pagou: Acesse https://pagou.com.br e crie uma conta.
Chave de API: Obtenha a chave em Configurações > API (diferentes para sandbox e produção).
ID do boleto: Use o UUID retornado no header Location ao criar o boleto (ex.: 550e8400-e29b-41d4-a716-446655440000).
Ferramentas: Use cURL, Postman ou bibliotecas HTTP (ex.: requests em Python, fetch em JavaScript).
Endpoint
Método: DELETE
URL: https://api.pagou.com.br/v1/charges/{id} (produção) ou https://sandbox.api.pagou.com.br/v1/charges/{id} (sandbox)
Cabeçalhos
Cabeçalho
Valor
Descrição
X-API-KEY
sua_chave_api
Chave de autenticação (encontrada em Configurações > API).
Content-Type
application/json
Formato JSON para a requisição.
User-Agent
NomeDaSuaAplicacao/1.0
Identificador da aplicação (ex.: MinhaLoja/1.0, opcional).
Parâmetros da URL
Parâmetro
Tipo
Obrigatório
Descrição
id
string
Sim
ID único do boleto no formato UUID (ex.: 550e8400-e29b-41d4-a716-446655440000).
Validações:
id: Deve ser um UUID válido (ex.: 550e8400-e29b-41d4-a716-446655440000).
O boleto deve estar em StatusActive ou, em casos raros,
StatusEmpty. Boletos em outros status (ex.: StatusPaid) resultarão em erro 400.
Resposta
Status: 204 No Content
Corpo: (Vazio, conforme padrão para 204).
Exemplo de Resposta:
HTTP/1.1 204 No Content
Content-Length: 0Mapa de Status e Cancelamento
O cancelamento altera o status do boleto para StatusCanceled. Abaixo está o contexto dos status, conforme definido na API do Pagou:
Status
Valor Numérico
Descrição
StatusEmpty
1
Estado inicial transitório, indicando que o boleto foi criado, mas ainda não está ativo.
StatusActive
2
Boleto ativo, pronto para pagamento, com código de barras e PDF disponíveis.
StatusCanceled
3
Boleto cancelado, não mais válido para pagamento.
StatusPaid
4
Boleto pago pelo cliente, com liquidação confirmada.
StatusRefunded
5
Boleto pago, mas reembolsado ao cliente.
Impacto do Cancelamento:
Condição: Apenas boletos em StatusActive (ou, raramente, StatusEmpty) podem ser cancelados.
Resultado: O boleto transita para StatusCanceled, tornando-o inválido para pagamento.
Verificação: Após o cancelamento, use
GET/v1/charges/{id}para confirmar o status StatusCanceled (veja Consultando um Boleto).Webhooks: O cancelamento não gera notificações via webhook.
Exemplos de Código
curl -X DELETE https://sandbox.api.pagou.com.br/v1/charges/550e8400-e29b-41d4-a716-446655440000 \
-H "X-API-KEY: sua_chave_api" \
-H "Content-Type: application/json" \
-H "User-Agent: MinhaLoja/1.0"Tratamento de Erros
Código HTTP
Descrição
Possível Causa
Solução
400
Bad Request
id não é um UUID válido ou boleto não está em StatusActive/StatusEmpty.
Verificar formato do id e status via GET /v1/charges/{id}.
401
Unauthorized
X-API-KEY inválido ou ausente.
Verificar chave.
Exemplo de Resposta de Erro:
{
"error": "Charge is not in a cancellable state"
}Boas Práticas Técnicas
Validação de Dados: Valide o id como UUID (formato 8-4-4-4-12) antes de enviar a requisição. Use
GET/v1/charges/{id}para confirmar se o boleto está emStatusActiveantes de cancelar.Segurança: Armazene
X-API-KEYem variáveis de ambiente e use HTTPS para todas as requisições.Verificação Pós-Cancelamento: Após o cancelamento, consulte o boleto com
GET/v1/charges/{id}para confirmar o status StatusCanceled.Testes no Sandbox: Use
https://sandbox.api.pagou.com.br/v1/charges/{id}para simular cancelamentos sem impacto em produção.Monitoramento: Registre todas as requisições e respostas (incluindo id e status HTTP) em logs para auditoria e depuração.
Last updated