Referência da API
Deletar cliente
Arquiva o cliente — o registro fica com `deletedAt` preenchido e some das listagens (a menos que você passe `includeDeleted=true` em `GET /v2/customers`). Histórico de cobranças continua acessível para auditoria. O delete é bloqueado se o cliente tiver **assinaturas ativas** (status `ACTIVE`, `TRIAL`, `PAST_DUE` ou `PAUSED`). Cancele as assinaturas primeiro. O endpoint é **idempotente**: deletar um cliente já arquivado retorna sucesso sem erro.
DELETE
/v2/customers/:idCancele assinaturas antes
id Cliente com qualquer subscription nos status ACTIVE/TRIAL/PAST_DUE/PAUSED não pode ser deletado. A API retorna 400 informando quantas assinaturas estão ativas.Autenticação
HTTP Basic Auth. Envie sua secret key no header:
Authorization: Basic {base64(secret:SUA_SECRET_KEY)}Parâmetros
idstring (path, UUID)obrigatórioUUID do cliente a deletar.
Exemplo: c8a5f4d2-1b3e-4c9f-8a7d-2e5f6c1d4b9a
Respostas
200
Cliente deletado (ou já estava deletado — idempotente).
JSON
{
"success": true
}400
Cliente possui assinaturas ativas. A mensagem diz quantas.
JSON
{
"status": 400,
"error": "Cliente possui 2 subscription(s) ativa(s). Cancele antes de excluir."
}404
Cliente não encontrado nessa conta.
JSON
{ "status": 404, "error": "Cliente nao encontrado" }Exemplos
cURL
curl -X DELETE "https://api.pagnovo.com/v2/customers/c8a5f4d2-1b3e-4c9f-8a7d-2e5f6c1d4b9a" \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)"JavaScript
const token = Buffer.from("secret:" + process.env.PAGNOVO_SECRET_KEY).toString("base64");
const res = await fetch(
`https://api.pagnovo.com/v2/customers/${customerId}`,
{ method: "DELETE", headers: { Authorization: `Basic ${token}` } },
);
if (res.status === 400) {
// Cliente tem subscriptions ativas — precisa cancelar primeiro
const err = await res.json();
console.error(err.error);
} else if (res.ok) {
console.log("deletado");
}