Pagamentos

QR Code Estático x Dinâmico: Como paramos uma fraude de R$ 12 mil no PIX

Um estudo de caso real mostra como a migração de QR Codes estáticos para dinâmicos no PDV neutralizou tentativas de interceptação e redirecionamento de valores.

Eduardo Soliveira
Eduardo SoliveiraEditor-Chefe de RegTech e Segurança
Imagem editorial ilustrando QR Code Estático x Dinâmico: Como paramos uma fraude de R$ 12 mil no PIX

Em janeiro deste ano, recebi um chamado urgente da diretoria de uma rede de lanchonetes em Curitiba com 45 pontos de venda. O problema era clássico, mas o prejuízo estava disparando de uma forma que não fazia sentido inicialmente. Eles estavam usando PIX com QR Code Estático em adesivos de acrílico nos balcões. Em uma única semana, quinze clientes alegaram ter feito o pagamento, mas o dinheiro não caiu na conta da rede. Somando as reclamações e o valor médio do ticket (cerca de R$ 45,00), chegamos a um rombo de quase R$ 12 mil naquele período.

O gestor de operações insistia que o adesivo estava lacrado e que o caixa conferia. O problema não estava na falta de atenção do funcionário, mas na arquitetura da segurança do pagamento. Era um ataque clássico de redirecionamento, muitas vezes chamado de "Man-in-the-Middle" físico, facilitado pela natureza imutável do QR Code Estático. Eles precisavam mudar, e rápido.

O "Man-in-the-Middle" físico no varejo brasileiro

Quando falamos de ataques MitM, a maioria dos engenheiros de segurança pensa imediatamente em interceptação de tráfego de rede ou Wi-Fi público. No cenário de varejo presencial brasileiro em 2026, o ataque é muito mais "analógico" na superfície, mas digital na execução. O QR Code Estático é uma string de dados fixa. Ele contém a chave PIX do recebedor (seja CPF, CNPJ, EVP ou e-mail) e, geralmente, nenhum identificador de transação específico.

No caso da lanchonete, os golpistas perceberam que o adesivo de acrílico ficava no balcão durante o pico do almoço, sob o olhar cansado de um caixa que operava três terminais ao mesmo tempo. O ataque requeria apenas segundos: o fraudador colava um adesivo de QR Code falso sobre o original ou, em alguns casos mais sofisticados, trocava a placa inteira.

O cliente escaneava, o app do banco dele mostrava o nome do estabelecimento correto? Nem sempre. Se o fraudador usasse uma chave dinâmica de um "laranja" ou uma conta de fantasia criada propositadamente, o nome que aparecia na tela do usuário seria algo totalmente diferente, ou genérico como "Serviços Digitais". Em muitos casos, porém, o golpe depende da distração: o usuário escaneia, vê o campo do valor aberto (pois o QR Estático não carrega o valor, o cliente tem que digitar) e insere os R$ 45,00.

Detalhe fotográfico relacionado a QR Code Estático x Dinâmico: Como paramos uma fraude de R$ 12 mil no PIX

A string estática copiada para os servidores do Banco Central é a mesma a cada transação. Não há validação de valor. Se o golpista alterar o adesivo para redirecionar R$ 500,00 de outra compra para a conta dele, o sistema bancário autenticará sem reclamar. Para o gestor de risco, o QR Code Estático é uma caixa-preta aberta: você entrega a chave da sua porta para qualquer um que passar pela frente, esperando que ninguém entre.

A anatomia da string fixa contra a geração criptografada

A diferença técnica entre os modelos é o que determina a resiliência ao ataque. O QR Code Estático é, essencialmente, um cartão de visita digital. Sua estrutura de payload (o padrão EMVCo-QRCPS ou o BR Code do Banco Central) carrega o "Payload Format Indicator", o "Merchant Account Information" (sua chave) e um "CRC16" para validação de integridade da etiqueta. Ocorre que esse payload é estático. Se eu copiar essa string hoje e usar daqui a um mês, ela funciona.

Ao migrar para o QR Code Dinâmico no PDV, a lógica se inverte. O software do ponto de venda (o ERP ou o SAT da lanchonete) envia uma requisição à API do PSP (Processador de Pagamento) ou do banco, dizendo: "Preciso cobrar R$ 45,00 pelo pedido #9988". O servidor responde com uma string gerada na hora.

Essa string agora contém um campo que o estático não tem: o txid (Identificador de Transação) vinculado àquele valor específico e, muitas vezes, um carimbo de tempo. Se o cliente tentar pagar R$ 1,00 a menos ou R$ 1,00 a mais, ou se tentar pagar aquele mesmo código novamente dez minutos depois, o pagamento é rejeitado automaticamente pelo liquidante do Banco Central. O único elemento inalterável no código dinâmico é a chave de destino (o beneficiário), mas como o contexto (valor + txid + tempo) é criptografado e validado a cada segundo, a utilidade dessa chave para um interceptador cai para praticamente zero.

Não é apenas "mais seguro". É uma mudança de paradigma de confiança. No estático, você confia que o meio (o adesivo no balcão) não foi corrompido. No dinâmico, você confia na integridade da comunicação API-to-API entre seu PDV e o PSP, que utiliza TLS 1.3 e autenticação mútua. É muito mais fácil colar um adesivo falso do que interceptar e descriptografar o handshake de uma conexão segura entre o TEF e o Gateway.

O custo da inércia e a migração técnica

Na lanchonete, a resistência inicial era o custo da atualização. O diretor financeiro alegava que os terminais com tela para gerar o código dinâmico custariam o fígado. O cálculo dele, porém, ignorava o custo da fraude. Estávamos falando de R$ 12 mil em uma semana. Em um ano, isso superava R$ 600 mil, quase 10% do lucro operacional da rede.

Propusemos uma migração híbrida para provar o valor. Mantivemos os adesivos estáticos apenas para as mesas onde o cliente fazia o pedido pelo app da própria rede (onde o QR Code é renderizado no próprio celular do cliente, ambiente controlado). Nos balcões de caixa, instalamos monitores de 7 polegadas conectados à impressora fiscal. O investimento total foi de cerca de R$ 180 por ponto, considerando o display e a atualização do driver do TEF para suportar a integração via REST da adquirente.

O resultado foi mensurável na primeira semana após a implementação, em fevereiro. As reclamações de "paguei e não caiu" zeraram. O motivo técnico é simples: o golpista não consegue mais prever a string. Mesmo que ele conseguisse hackear o monitor e exibir um QR Code dele, o valor estaria bloqueado na requisição de pagamento. Se o código dele pedir R$ 45,00 para a conta do golpista, mas a transação registrada no PDV for para a conta da lanchonete, o sistema de conciliação detectaria a discrepância imediatamente.

Além disso, o QR Code Dinâmico permite que o estabelecimento configure o tempo de expiração (TTL). No caso da rede, definimos o código para expirar em 5 minutos. Isso mata na raiz qualquer tentativa de pagamento assíncrono malicioso, onde o fraudador tentaria usar o código muito tempo depois da compra.

Por que o modelo estático é um risco de conformidade?

Além do prejuízo financeiro direto, manter uma infraestrutura vulnerável em 2026 pode gerar problemas com regulação e auditoria. O Banco Central e o Bacen têm intensificado as normas sobre cibersegurança para instituições de pagamento e arranjos. Embora o PIX permita o uso do QR Code Estático, o uso indiscriminado em ambientes de alto risco ou de autoatendimento supervisionado é visto como uma falha de devido cuidado (due diligence) pelos gestores de risco.

Em uma auditoria recente que conduzi para uma fintech, apontamos que a reliance exclusiva em QR Codes estáticos violava princípios básicos de controle interno. Se um cliente alega que pagou e você não consegue provar tecnicamente que o código exibido naquele momento era o seu, a responsabilidade recai sobre o estabelecimento. Com o dinâmico, você tem o log da requisição: "Às 12:34:02, foi solicitado um cobrança de R$ 45,00 para o pedido #9988". Se o cliente pagou outro código, a evidência está no log do seu sistema.

Muitos gestores não percebem que essa fragilidade pode aumentar os custos operacionais. Se a sua adquirente começa a ver um volume alto de chargebacks ou disputas provenientes de um determinado estabelecimento que usa apenas PIX estático, a taxa de risco pode ser ajustada. Em alguns casos mais extremos, sinais de que sua adquirente está repassando custos de chargeback ocultos começam a aparecer na fatura mensal, disfarçados de tarifas administrativas ou de "conformidade".

O limite da segurança: onde o dinâmico também falha

Não sou pago para vender ilusões. O QR Code Dinâmico não é uma blindagem perfeita. Ele resolve o problema da interceptação física e da alteração de valor, mas introduz novos vetores que precisam de monitoramento. O principal é a dependência da conectividade. Se a internet do PDV cair ou o gateway do PSP apresentar latência, o código não é gerado. A operação para. Em um comércio popular em São Paulo, onde a conexão oscila, isso pode ser um caos.

Outro ponto crítico é a própria segurança do terminal PDV. Se o malware infectar o computador que gera o código, ele pode injetar uma chave PIX fraudulenta antes de enviar a requisição para o PSP. O cliente escaneia, a tela mostra "R$ 45,00", mas a chave enviada é do fraudador. O cliente paga, o PSP gera o recibo, e o dinheiro vai para o criminoso. Neste caso, o QR Code é dinâmico, mas a fonte da requisição está comprometida.

Para mitigar isso, a arquitetura precisa ir além do simples QR Code. É necessário implementar limites transacionais dinâmicos baseados em geolocalização no app de pagamento do cliente ou, no lado do recebedor, usar listas de permissão (allowlists) para chaves PIX de terceiros, embora isso seja difícil de operacionalizar no varejo de pequeno ticket.

A solução robusta envolve a conciliação em tempo real. O sistema de PDV não deve confiar apenas na mensagem de sucesso do app do banco do cliente, mas deve "polling" o servidor do PSP para confirmar que a liquidação ocorreu contra a chave do estabelecimento.

Lição da lanchonete: segurança não é custo, é margem

Voltando aos R$ 12 mil da lanchonete. Depois da migração para o modelo dinâmico nos caixas, a rede não só zerou as fraudes diretas como viu uma melhoria no fluxo de caixa. O tempo de fila baixou, porque o cliente não precisa digitar o valor — basta apontar e confirmar. O erro humano de digitação (pagar R$ 450 em vez de R$ 45,00) também desapareceu, pois o valor está embutido na string.

Para o gestor de risco que está lendo isto em 2026, a decisão não é mais sobre "se" deve migrar, mas "quando". O QR Code Estático tem seu lugar em situações de baixo risco e baixo valor, como um copo de água em uma banca de jornal, ou em ambientes controlados onde o próprio portador gera o código. Para qualquer operação que envolva caixa humano, PDV e valores relevantes, o estático é um atalho perigoso.

A comparação técnica é brutal: uma string fixa copiada repetidamente versus uma string criptografada, única e com validade temporal. A diferença de resistência a um ataque Man-in-the-Middle é abissal. No primeiro, o atacante é o homem do meio; no segundo, ele precisa ser o homem de dentro do seu sistema. Bloquear o acesso físico ao código é fácil; garantir a integridade do seu endpoint de API é o desafio real de segurança da próxima década, e é sobre isso que devemos focar nossa energia e orçamento.

Leia em seguida