Skip to content

Disputas de Crédito

Pré-requisitos de acesso

  • Permissão (módulo): creditDispute (abrir/atualizar disputas).
  • Licença/Feature: CREDIT_INVESTMENTS habilitada na licença do tenant (Vault).
  • Contêiner do menu: TOKENIZAÇÃO → grupo Crédito Tokenizado

O que é / quando usar

A tela de Disputas registra e resolve contestações vinculadas a uma Cobrança — por exemplo, o sacado alega que já pagou, que a cobrança é fraudulenta ou duplicada. Cada disputa tem tipo, motivo, quem abriu, status de andamento e, na resolução, quem resolveu e as notas.

Use esta tela para abrir uma disputa contra uma cobrança específica e para atualizar/resolver disputas existentes (em análise, resolvida válida, resolvida inválida).

Pré-condições

  • Permissão: creditDispute (permissão dupla — enum CPM + módulo dinâmico no DB).
  • Licença/Feature: CREDIT_INVESTMENTS habilitada. Sem ela o grupo nem aparece no menu.
  • Dependências de outras telas: é obrigatório selecionar uma Cobrança existente (Cobranças) — a disputa é sempre vinculada por chargeId.

Passo a passo

  1. Acesse o menu Crédito Tokenizado → Disputas.
  2. Pesquise e selecione uma Cobrança (a busca filtra por código de referência/ID).
  3. As disputas daquela cobrança são carregadas.
  4. Para abrir uma nova: escolha o Tipo e descreva o Motivo, depois Criar disputa (confirma no bottom-sheet).
  5. Para tratar uma existente: ⋮ → Atualizar abre o diálogo para mudar o Status e registrar Notas de resolução.

Filtros e colunas

Filtro/ColunaO que mostraOrigem do dado
Cobrança (seletor)Cobrança selecionada para listar suas disputasbusca sobre getCharges(); obrigatório
Cobrança (coluna)Código/ID da cobrançaDispute.chargeId (resolvido via chargeMap)
TipoDEBTOR_CLAIM, FRAUD, DUPLICATE, OTHERDispute.disputeType
StatusAndamento: UNDER_REVIEW, RESOLVED_VALID, RESOLVED_INVALID (entre outros do backend)Dispute.status
Aberta emData de aberturaDispute.openedAt
Resolvida emData de resoluçãoDispute.resolvedAt

Campos (abertura de disputa)

CampoO que éObrigatório?Efeito no sistema/backend
TipoNatureza da contestaçãoSimGravado em disputeType; default DEBTOR_CLAIM.
MotivoTexto livre descrevendo a disputaNãoGravado em disputeReason.
Aberta porOperador que abriuAutomáticoopenedBy = ID do operador logado (ou system).
CampoO que éObrigatório?Efeito no sistema/backend
StatusUNDER_REVIEW / RESOLVED_VALID / RESOLVED_INVALIDSimupdateDispute(id, { status }); sem status a atualização é barrada.
Notas de resoluçãoJustificativa da decisãoNãoGravado em resolutionNotes; resolvedBy = operador logado.

Ações e modais

  • Selecionar cobrança / Limpar: define o chargeId que filtra/abre disputas.
  • Criar disputa: createDispute(chargeId, { disputeType, disputeReason, openedBy }) após confirmação. Exige cobrança selecionada.
  • Atualizar (diálogo): updateDispute(id, { status, resolutionNotes, resolvedBy }); resolver como RESOLVED_VALID/RESOLVED_INVALID encerra a disputa.

Abrir/resolver disputas pode disparar step-up (senha + MFA, X-Step-Up-Token) conforme o ambiente.

Regras de negócio / cuidados

Atenção

  • Cobrança obrigatória. Disputa é sempre por cobrança; sem selecioná-la, a tela bloqueia a criação/listagem.
  • Resolver é decisão de mérito. RESOLVED_VALID (a contestação procede) vs RESOLVED_INVALID (improcede) tem efeitos distintos a jusante — registre as notas de resolução para auditoria.
  • Resolução válida pode disparar recompra/ajuste. Uma disputa válida de fraude/duplicidade frequentemente leva a uma Recompra ou cancelamento do deal.

Telas relacionadas