PIX
PIX es el sistema de pagos instantáneos de Brasil, operado por el Banco Central do Brasil (BACEN). El formato QR BR Code es un subconjunto EMVCo MPM con Información de Cuenta del Comerciante (etiqueta 26) que lleva una clave PIX, que puede ser un CPF, CNPJ, email, número de teléfono o EVP aleatorio. PIX liquidó su primer billón de reales en menos de dos años desde su lanzamiento (2020 → 2022) y es ahora el principal sistema de pago minorista en Brasil.
Parent spec:EMVCo MPM v1.1. PIX reserves merchant-account tag
26; everything else inherits from EMVCo. Encoding: TLV (Tag-Length-Value) with 2-digit tags, 2-digit lengths, CRC16-CCITT trailer.
Estructura BR Code, etiqueta 26
El contenido específico de PIX está en la etiqueta 26. Es en sí misma una estructura TLV anidada con estas sub-etiquetas:
| Sub-tag | Nombre | Longitud | Notas |
|---|---|---|---|
00 | GUI | 14 | Valor fijo br.gov.bcb.pix. |
01 | Clave PIX | variable | CPF, CNPJ, email, teléfono (+55DDPHONE), o EVP. |
02 | Información adicional | variable, ≤72 | Mensaje de texto libre al pagador. |
25 | URL, PIX dinámico | variable | Solo para PIX dinámico. |
PIX estático vs dinámico
- PIX estático (Point of Initiation
11). Todo codificado en el QR: clave PIX, nombre del comerciante, ciudad, importe fijo opcional, referencia opcional. La app del pagador lo lee directamente y autoriza. Ideal para pegatinas impresas, facturas, carteles en ventanas. El importe puede omitirse (el pagador lo escribe) o fijarse (cargo exacto). - PIX dinámico (Point of Initiation
12). El QR lleva una URL (sub-etiqueta25). La app del pagador obtiene un payload JSON firmado con JWS desde esa URL con importe, fecha de vencimiento, ventana de expiración y reglas opcionales de cargo por mora/descuento. Requerido para facturas de cobro con fechas de vencimiento (boletos híbridos).
{"es":"Vector de prueba canónico, PIX estático con clave CPF e importe fijo","fr":"Vecteur de test canonique, PIX statique avec clé CPF et montant fixe","de":"Kanonischer Testvektor, statisches PIX mit CPF-Schlüssel und Fixbetrag","pt":"Vetor de teste canônico, PIX estático com chave CPF e valor fixo","it":"Vettore di test canonico, PIX statico con chiave CPF e importo fisso"}[lang]
00020126360014br.gov.bcb.pix0114123456789095204000053039865406010.005802BR5910LOJA TESTE6009SAO PAULO62070503***6304XXXXErrores comunes
- Enmascaramiento CPF/CNPJ. El payload QR usa los dígitos sin máscara únicamente (
12345678909, no123.456.789-09). Algunos generadores dejan los puntos y guiones por error, el QR resultante falla en cada app bancaria con "chave PIX inválida". - El conjunto de caracteres importa. La spec BACEN dice ISO/IEC 8859-1 (Latin-1) para nombre y ciudad del comerciante. Los caracteres acentuados (
São Paulo) deben codificarse en Latin-1 antes de calcular la longitud TLV, no en UTF-8. La codificación UTF-8 infla el conteo de bytes y rompe el campo de longitud. - Cálculo del CRC. El CRC16-CCITT (polinomio
0x1021, init0xFFFF, sin XOR final) cubre todo desde la etiqueta00hasta6304, incluyendo la etiqueta+longitud literal del campo CRC en sí. Error común: CRC calculado sobre el rango incorrecto, el QR se analiza correctamente en algunas apps y falla en otras. - El formato del importe es cadena, no número. La etiqueta
54es una cadena:10.00no1000. Se requieren dos decimales. Máximo dos decimales, BRL no tiene subdivisiones. - El PIX estático no tiene reembolso incorporado. Una vez pagado, un PIX estático es instantáneo y final. Los comerciantes deben gestionar los reembolsos fuera de banda (un PIX inverso del comerciante al pagador). Muestra esto claramente en los materiales impresos.
- Fraude por superposición de pegatinas. Las pegatinas QR de PIX físicas en los mostradores de las cajas han sido atacadas por fraude de superposición, los atacantes pegan su propio QR sobre el del comerciante. Rota los QRs estáticos periódicamente, lamínalos y muestra la clave PIX esperada como texto simple junto a la pegatina para que el pagador pueda verificar.
Compatibilidad de apps bancarias
Toda institución PIX con licencia (banco o institución de pago) soporta BR Code en su app de consumo. Implementaciones destacadas:
| App | Estático | Dinámico | Notas |
|---|---|---|---|
| Itaú, Bradesco, Santander, BB, Caixa | Sí | Sí | Los 5 grandes bancos. Soporte completo PIX. |
| Nubank | Sí | Sí | El neobanko más popular en Brasil. UX PIX limpia. |
| Inter, C6 Bank, PicPay | Sí | Sí | Soporte PIX completo. |
| Mercado Pago | Sí | Sí | Institución de pago; PIX es uno de varios sistemas en la misma app. |
| Cámara iOS/Android genérica | No | No | Las apps de cámara nativas no analizan BR Code como intención de pago. El usuario debe abrir su app bancaria primero. |
Ver también
- /pix-qr-code/, el generador PIX con validación CPF/CNPJ y codificación BR Code en vivo.
- /standards/emvco/, spec padre EMVCo MPM.
- /standards/upi/, UPI India, otro esquema derivado de EMVCo con la etiqueta 26.
- /standards/, volver al índice de estándares.