Skip to main content
Disputa é o mecanismo de contestação do PIX (MED). Quando o comprador aciona o banco dizendo que não recebeu o produto, o valor daquela transação fica retido no seu saldo até a operadora decidir. Enquanto está aberta, o valor aparece em disputeBlocked na carteira e sai do withdrawable. Não dá pra sacar o que está contestado.
Disputas não existem em sandbox. Os endpoints respondem 404 com chave ps_test_, porque contestação nasce de uma transação real.

Monitorando

Status possíveis: aberta, resolvida e perdida.
Vale rodar essa listagem uma vez por dia filtrando por aberta. Disputa tem prazo, e perder por não ter respondido é o pior jeito de perder.

Respondendo

Só disputa com status aberta aceita evidência. Você pode mandar documentos, um texto que vira PDF, ou os dois.
Resposta 200
array
Até 10 itens. Cada um precisa de url http ou https. Itens sem URL válida são descartados em silêncio.
string
Texto convertido automaticamente em PDF de defesa. Serve sozinho, sem documents.
Um dos dois é obrigatório. Sem nenhum, a resposta é 400.
As URLs precisam apontar direto para o arquivo (PDF, PNG, JPEG ou WebP). Link de página HTML, tipo encurtador de print, é recusado pela operadora. Se o seu comprovante está numa página, gere um PDF e hospede o arquivo.

O que costuma funcionar como evidência

Prova de entrega

Log de acesso, e-mail de entrega com data e hora, código de rastreio, print do sistema mostrando a liberação.

Prova de aceite

Termos aceitos, confirmação de recebimento, conversa em que o comprador reconhece que recebeu.

Identidade do comprador

O endToEndId da transação, o e-mail usado na compra, o externalId que amarra ao usuário da sua base.

Contexto de uso

Histórico mostrando que a conta foi usada depois da compra. É o que mais derruba “produto não recebido”.
Junte a evidência de forma programática assim que o pagamento confirma, não quando a disputa chega. Trinta dias depois o log já rotacionou e o print não existe mais.

Consultando uma disputa

O retorno traz as evidências já enviadas, com URLs assinadas que são regeneradas a cada consulta. Elas expiram, então não vale guardar a URL: guarde o id e consulte de novo quando precisar. Disputa que não é da sua conta responde 404, e não 403. É proposital: a API não confirma a existência de recurso de terceiro.

Erros