Chargebacks

Resumo de chargebacks

Totais dos chargebacks da conta, com os mesmos filtros da listagem.

GET/v1/disputes/summary
Base URL Produção:https://api.validapay.com.br
Base URL Sandbox:https://sandbox.validapay.com.br
  • total e openCount: quantidade de casos, e quantos seguem abertos (DISPUTE ou REFUND_PENDING).
  • totalAmount, totalOpenAmount e totalClosedAmount: valores contestados em reais, no total, em aberto e encerrados.
  • byStatus: contagem por status. Só aparecem os status que têm casos.

Case de uso: Como lojista, quero ver quanto está em disputa no mês, para provisionar o valor que pode ser debitado.

Escopos requeridos

charges/read

Query Parameters

typeobrigatório
sempre CHARGEBACK nesta seção
CHARGEBACK
statusopcional
DISPUTE, REFUND_PENDING, DISPUTE_CLOSED ou CHARGED_BACK
dateFromopcional
abertos a partir deste instante, em ISO 8601 (2026-10-01T00:00:00.000Z)
dateToopcional
abertos até este instante, em ISO 8601 com hora (2026-10-31T23:59:59.999Z). Só a data deixa de fora os casos abertos nesse dia
chargeIdopcional
só os chargebacks desta cobrança
searchopcional
busca por caseId, chargeId ou transactionId
const url = 'https://sandbox.validapay.com.br/v1/disputes/summary?type=CHARGEBACK';

const options = {
  method: 'GET',
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));

Response Examples

200Sucesso▾
JSON
{
    "type": "CHARGEBACK",
    "total": 4,
    "openCount": 2,
    "totalAmount": 1043.8,
    "totalOpenAmount": 594.0,
    "totalClosedAmount": 449.8,
    "byStatus": {
        "DISPUTE": 2,
        "DISPUTE_CLOSED": 1,
        "CHARGED_BACK": 1
    }
}
400Tipo inválido▾
JSON
{
    "error": {
        "message": "Parâmetro 'type' é obrigatório e deve ser MED, CHARGEBACK ou REFUND",
        "code": "INVALID_DISPUTE_TYPE",
        "details": null,
        "timestamp": "2026-10-28T14:20:00.000Z"
    }
}