Standards · EMVCo merchant payment QR

Este QR de pagamento por comerciante é seguro para pagar?

O QR na mesa de um restaurante, em um parquímetro ou em uma banca de feira quase sempre usa o formato TLV da EMVCo. Ele carrega o nome do comerciante, cidade, país, moeda, valor opcional e um checksum CRC-16 que falha se o payload foi alterado. O ataque de troca de etiqueta — cobrir o QR de um comerciante real com o QR do atacante — é a fraude de QR mais comum no mundo. Decodificar o QR antes de pagar mostra para quem você está pagando de fato.

Escanear um QR de comerciante → Todos os padrões →

Qual é o formato

O padrão é a Especificação de QR Code EMVCo, publicada pelo mesmo consórcio EMVCo que definiu os cartões com chip e senha. Dois tipos compartilham a maior parte do formato:

Quase todos os esquemas de pagamento instantâneo de cada país são construídos sobre o EMVCo MPM com algumas tags específicas do país adicionadas:

O formato é texto Tag-Length-Value, sem criptografia, decodificável por qualquer leitor QR. A identidade do comerciante é codificada em texto simples e é o que o aplicativo da sua carteira exibe.

Anatomia de um QR de pagamento por comerciante

Todo payload EMVCo começa com 000201 (Indicador de Formato de Payload). O que se segue é uma sequência de registros TLV: tag de dois caracteres, comprimento de dois dígitos, valor desse comprimento, repetido.

Tag 01, Ponto de Iniciação

11 = QR estático (reutilizável; você digita o valor).
12 = QR dinâmico (uso único; valor preenchido pelo PDV do comerciante).

Tags 26-51, Informações da Conta do Comerciante

Identificador do destinatário específico do país: chave Pix (CPF / CNPJ / e-mail / telefone / UUID EVP), Endereço Virtual de Pagamento UPI, telefone ou ID nacional PromptPay, etc.

Tag 52, Código de Categoria do Comerciante (MCC)

Categoria de 4 dígitos ISO 18245. 5812 = restaurante, 5411 = supermercado, 7011 = hospedagem, 5541 = posto de gasolina, etc.

Tag 53, Moeda

Código numérico ISO 4217. 840 = USD, 978 = EUR, 826 = GBP, 986 = BRL (real brasileiro), 356 = INR (rúpia indiana).

Tag 54, Valor

Opcional. Presente em QRs dinâmicos (o comerciante preencheu), ausente em QRs estáticos (você digita o valor).

Tags 55-57, Gorjeta / Taxa de Conveniência

Opcional. 55 indica se deve aparecer um prompt de gorjeta; 56 / 57 carregam uma taxa de conveniência fixa ou percentual.

Tag 58, País

Código de país ISO 3166-1 alpha-2. Útil quando aplicativos de pagamento suportam transferência transfronteiriça.

Tag 59, Nome do Comerciante

Até 25 caracteres. Este é o campo que seu aplicativo de carteira exibe como "você está pagando ___". O comerciante controla totalmente o que vai aqui. Um atacante que cria uma troca de etiqueta coloca qualquer string que quiser.

Tag 60, Cidade do Comerciante

Até 15 caracteres. Onde o comerciante está localizado.

Tag 61, CEP

Opcional, mas útil para detecção de fraude: um comerciante dos EUA cujo CEP não corresponde à cidade é um sinal de alerta.

Tag 62, Campo de Dados Adicionais

Sub-TLV. Contém: número de fatura, número de celular, rótulo de loja, número de fidelidade, rótulo de referência, rótulo de cliente, rótulo de terminal, finalidade da transação.

Tag 63, Checksum CRC

CRC-16/CCITT-FALSE sobre tudo que precede (incluindo o cabeçalho "6304" do próprio TLV do CRC). Se não corresponder, o QR foi alterado ou corrompido.

O ataque de troca de etiqueta, fraude QR nº 1 no mundo

A técnica é deprimentemente simples:

  1. O atacante imprime um QR apontando para sua própria conta de pagamento.
  2. Imprime em papel adesivo ou coloca sobre uma etiqueta.
  3. Percorre uma feira, região de restaurantes ou zona de parquímetros e cola o QR de troca sobre o QR legítimo do comerciante.
  4. Todo cliente que escaneia paga o atacante.

O comerciante só percebe quando a conciliação do dia mostra que o faturamento está abaixo. O cliente não percebe porque a carteira exibe "você pagou " — e o atacante pode colocar o nome real do comerciante na tag 59. Ou algo próximo ("Pizzaria do Zé 2", "Pizzaria Zé"), variações sutis que um cliente ocupado não percebe.

A fraude foi documentada em todos os países onde os pagamentos móveis são prevalentes: Brasil (troca de etiqueta Pix em parquímetros), Índia (troca de etiqueta UPI em postos de gasolina), China (troca de etiqueta WeChat Pay em vitrines), Singapura (PayNow em hawker centres), Reino Unido (troca de QR em caixas de doação), EUA (parquímetros em Austin, San Francisco, LA).

Como verificar um QR de pagamento antes de pagar

O que nosso scanner mostra:

Pistas físicas para inspecionar antes de escanear:

Esquemas específicos por país que identificamos

Nosso analisador reconhece a tag do país e rotula o veredicto com o nome do esquema local quando aplicável. Cobre atualmente 54 países, incluindo todos os principais sistemas de pagamento instantâneo. Veja o hub de padrões para a lista completa com detalhes por esquema.

Relacionados

Escaneie antes de pagar

Envie o QR para o nosso scanner. O veredicto mostra comerciante, cidade, país, valor, moeda e se o checksum CRC é válido. Leva alguns segundos. Pode poupar o custo de um jantar — ou o orçamento de estacionamento de um mês inteiro.

Abrir scanner →