PagnovoPagnovodocs

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/:id
Cancele 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ório

UUID 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");
}