eenciaEntrar

Como evitar repasse em duplicidade

Dois responsáveis podem visualizar o mesmo saldo pendente e transferi-lo ao mesmo tempo. Um clique repetido também pode duplicar o registro. Evitar repasse em duplicidade exige controlar a obrigação, quem está executando e qual transferência a liquidou.

Duplicidade pode nascer de duas ações corretas isoladamente

A segurança não depende apenas de desabilitar o botão por alguns segundos. A aplicação precisa conferir o estado no servidor e manter referências que reconheçam a mesma operação.

Identifique o saldo a liquidar

Cada repasse deve relacionar proprietário, itens de origem, período e valor aprovado. Ao iniciar a execução, registre a responsabilidade e o estado. Não deixe uma obrigação já liquidada disponível para novo pagamento como se estivesse aberta.

Se houver pagamento parcial, o saldo restante precisa ser calculado com base nas transferências efetivas. Reabrir a tela não deve restaurar o valor integral original.

Exemplo de concorrência

Uma obrigação de R$ 2.400,00 está pendente. Duas pessoas da equipe abrem a tela. Quando a primeira registra a transferência confirmada, a segunda precisa receber o estado atualizado antes de concluir outra ação. A lista local desatualizada não pode autorizar novo repasse.

No fluxo manual, o sistema não controla todo clique no aplicativo bancário. Por isso, organização de responsabilidade e conferência do extrato continuam necessárias. Não anuncie que o software torna duplicidade impossível em qualquer circunstância.

Reconheça reenvios e registros repetidos

A mesma referência bancária ou solicitação de confirmação não deve criar duas saídas sem análise. Compare identificadores e valores, mas não use apenas valor e data para bloquear toda operação: duas transferências legítimas podem ter quantias iguais.

O controle deve sinalizar suspeitas e permitir investigação auditável. Apagar uma linha repetida sem conferir se houve uma ou duas transferências reais pode esconder dinheiro efetivamente enviado.

Quando o erro já aconteceu

Registre as duas saídas confirmadas, identifique o excedente e trate a regularização com o proprietário. Não invente um crédito recuperado antes de receber a devolução ou formalizar o ajuste pertinente. Mantenha os comprovantes e a comunicação.

Na eencia, o objetivo é reduzir o risco por vínculo, estado e validação de servidor. As permissões por usuário e empresa devem impedir alteração de repasses alheios, seguindo o princípio de autorização por objeto destacado pela OWASP. [OWASP]

A conferência final deve mostrar uma obrigação, suas liquidações e eventual saldo ou excesso. Esse encadeamento é mais confiável do que uma marca verde isolada na tabela.

Perguntas frequentes

Desabilitar o botão depois do clique elimina todo risco?

Não. É preciso validar o estado no servidor e considerar ações concorrentes e transferências feitas fora do SaaS.

Se duas transferências ocorreram, posso apagar uma do sistema?

Não. Preserve os fatos e registre a regularização do excedente de forma rastreável.

Continue a leitura

Fontes e referências

  1. OWASP API Security — Broken Object Level Authorization.