Standards · EMVCo merchant payment QR

¿Es seguro pagar con este QR de comerciante?

El QR en la mesa de un restaurante, en un parquímetro o en un puesto de mercado casi siempre utiliza el formato TLV de EMVCo. Contiene el nombre del comerciante, ciudad, país, moneda, monto opcional y una suma de verificación CRC-16 que falla si el payload fue alterado. El ataque de intercambio de pegatinas —cubrir el QR real del comerciante con el del atacante— es el fraude QR más común del mundo. Decodificar el QR antes de pagar te muestra a quién estás pagando realmente.

Escanear un QR de comerciante → Todos los estándares →

Cuál es el formato

El estándar es la Especificación de Código QR de EMVCo, publicada por el mismo consorcio EMVCo que definió las tarjetas con chip y PIN. Dos variantes comparten la mayor parte del formato:

Casi todos los esquemas de pago instantáneo de cada país están construidos sobre EMVCo MPM con algunas etiquetas específicas del país añadidas:

El formato es texto Tag-Length-Value, sin cifrado y decodificable por cualquier escáner QR. La identidad del comerciante está codificada en texto plano y es lo que muestra tu aplicación de cartera.

Anatomía de un QR de pago de comerciante

Cada payload de EMVCo comienza con 000201 (Indicador de Formato de Payload). Lo que sigue es una secuencia de registros TLV: etiqueta de dos caracteres, longitud de dos dígitos, valor de esa longitud, repetido.

Etiqueta 01, Punto de Iniciación

11 = QR estático (reutilizable; tú introduces el monto).
12 = QR dinámico (de un solo uso; el monto lo rellena el TPV del comerciante).

Etiquetas 26-51, Información de Cuenta del Comerciante

Identificador del destinatario específico del país. Clave Pix (CPF / CNPJ / correo electrónico / teléfono / UUID EVP), Dirección de Pago Virtual UPI, teléfono o ID nacional PromptPay, etc.

Etiqueta 52, Código de Categoría del Comerciante (MCC)

Categoría ISO 18245 de 4 dígitos. 5812 = restaurante, 5411 = supermercado, 7011 = alojamiento, 5541 = gasolinera, etc.

Etiqueta 53, Moneda

Código numérico ISO 4217. 840 = USD, 978 = EUR, 826 = GBP, 986 = BRL (real brasileño), 356 = INR (rupia india).

Etiqueta 54, Monto

Opcional. Presente en QR dinámicos (el comerciante lo rellenó previamente), ausente en QR estáticos (tú lo introduces).

Etiquetas 55-57, Propina / Recargo

Opcional. 55 indica si debe aparecer un cuadro de propina; 56 / 57 llevan un recargo fijo o porcentual.

Etiqueta 58, País

Código de país ISO 3166-1 alfa-2. Útil cuando las aplicaciones de pago admiten transferencias transfronterizas.

Etiqueta 59, Nombre del Comerciante

Hasta 25 caracteres. Este es el campo que tu aplicación de cartera muestra como «estás pagando a ___». El comerciante controla completamente lo que va aquí. Un atacante que crea una pegatina de intercambio pone la cadena que quiera.

Etiqueta 60, Ciudad del Comerciante

Hasta 15 caracteres. Dónde está ubicado el comerciante.

Etiqueta 61, Código Postal

Opcional pero útil para detectar fraude: un comerciante de EE. UU. cuyo código postal no coincide con la ciudad es una señal de alerta.

Etiqueta 62, Campo de Datos Adicionales

Sub-TLV. Incluye: número de factura, número de móvil, etiqueta de tienda, número de fidelización, etiqueta de referencia, etiqueta de cliente, etiqueta de terminal, propósito de la transacción.

Etiqueta 63, Suma de verificación CRC

CRC-16/CCITT-FALSE sobre todo lo precedente (incluido el encabezado «6304» del propio TLV CRC). Si no coincide, el QR fue alterado o corrompido.

El ataque de intercambio de pegatinas, el fraude QR nº1 en el mundo

La técnica es deprimente en su simplicidad:

  1. El atacante imprime un QR que apunta a su propia cuenta de pago.
  2. Imprime el QR en una pegatina (o directamente en papel adhesivo).
  3. Recorre un mercado, zona de restaurantes o área de parquímetros, y pega el QR falso sobre el QR legítimo del comerciante.
  4. Cada cliente que escanea paga al atacante.

El comerciante no lo nota hasta que la conciliación del día muestra que los ingresos son escasos. El cliente no lo nota porque su cartera dice «pagaste a», y el atacante puede poner el nombre real del comerciante en la etiqueta 59. O algo muy parecido («Pizzería Joe 2», «Pizzería de Joe»), variaciones leves que un cliente ocupado no detecta.

El fraude ha sido documentado en todos los países donde los pagos móviles son prevalentes: Brasil (intercambio de pegatinas Pix en parquímetros), India (intercambio UPI en estaciones de gasolina), China (intercambio WeChat Pay en escaparates), Singapur (PayNow en mercados), Reino Unido (intercambio de QR en cajas de donaciones), EE. UU. (parquímetros en Austin, San Francisco y Los Ángeles).

Cómo verificar un QR de pago antes de pagar

Lo que nuestro escáner te muestra:

Señales físicas que inspeccionar antes de escanear:

Esquemas específicos de cada país que identificamos

Nuestro analizador reconoce la etiqueta del país y etiqueta el veredicto con el nombre del esquema local cuando corresponde. Actualmente cubre 54 países, incluidos todos los principales sistemas de pago instantáneo. Consulta el centro de estándares para la lista completa con detalles por esquema.

Relacionados

Escanea antes de pagar

Sube el QR a nuestro escáner. El veredicto muestra comerciante, ciudad, país, monto, moneda y si la suma de verificación CRC es válida. Tarda unos segundos. Podría ahorrarte el costo de una cena o el presupuesto de estacionamiento de todo un mes.

Abrir escáner →