PIX
PIX è il sistema di pagamenti istantanei del Brasile, gestito dalla Banco Central do Brasil (BACEN). Il formato QR BR Code è un sottoinsieme EMVCo MPM con Informazioni Account Commerciante (tag 26) che porta una chiave PIX, che può essere CPF, CNPJ, email, numero di telefono o EVP casuale. PIX ha liquidato il suo primo trilione di real in meno di due anni dal lancio (2020 → 2022) ed è ora il principale sistema di pagamento al dettaglio in Brasile.
Canonical spec:Banco Central do Brasil, PIX documentation. Core resolution: BACEN Resolution 103/2021, Manual de Padrões para Iniciação do Pix.
Parent spec:EMVCo MPM v1.1. PIX reserves merchant-account tag
Encoding: TLV (Tag-Length-Value) with 2-digit tags, 2-digit lengths, CRC16-CCITT trailer.
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.
Struttura BR Code, tag 26
Il contenuto specifico di PIX si trova nel tag 26. È essa stessa una struttura TLV annidata con questi sub-tag:
| Sub-tag | Nome | Lunghezza | Notas |
|---|---|---|---|
00 | GUI | 14 | Valore fisso br.gov.bcb.pix. |
01 | Chiave PIX | variable | CPF, CNPJ, email, telefono (+55DDPHONE), o EVP. |
02 | Informazioni aggiuntive | variable, ≤72 | Messaggio testo libero al pagante. |
25 | URL, PIX dinamico | variable | Solo per PIX dinamico. |
PIX statico vs dinamico
- PIX statico (Point of Initiation
11). Tutto codificato nel QR: chiave PIX, nome commerciante, città, importo fisso opzionale, riferimento opzionale. L'app del pagante lo legge direttamente e autorizza. Ideale per adesivi stampati, fatture, cartelli in vetrina. L'importo può essere omesso (il pagante lo digita) o fisso (addebito esatto). - PIX dinamico (Point of Initiation
12). Il QR porta un URL (sub-tag25). L'app del pagante recupera un payload JSON firmato JWS da quell'URL con importo, data di scadenza, finestra di scadenza e regole opzionali di mora/sconto. Richiesto per fatture di addebito con date di scadenza (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***6304XXXXInsidie comuni
- Mascheramento CPF/CNPJ. Il payload QR usa solo le cifre senza maschera (
12345678909, non123.456.789-09). Alcuni generatori lasciano punti e trattini per errore, il QR risultante fallisce in ogni app bancaria con "chave PIX inválida". - Il set di caratteri conta. La spec BACEN dice ISO/IEC 8859-1 (Latin-1) per nome e città del commerciante. I caratteri accentati (
São Paulo) devono essere codificati in Latin-1 prima di calcolare la lunghezza TLV, non in UTF-8. La codifica UTF-8 gonfia il conteggio dei byte e rompe il campo lunghezza. - Calcolo del CRC. Il CRC16-CCITT (polinomio
0x1021, init0xFFFF, nessun XOR finale) copre tutto dal tag00fino a6304, inclusa la tag+lunghezza letterale del campo CRC stesso. Bug comune: CRC calcolato sull'intervallo sbagliato, il QR si analizza correttamente su alcune app e fallisce su altre. - Il formato dell'importo è stringa, non numero. Il tag
54è una stringa:10.00non1000. Due decimali richiesti. Massimo due decimali, BRL non ha sottodenominazioni. - Il PIX statico non ha rimborso incorporato. Una volta pagato, un PIX statico è istantaneo e definitivo. I commercianti devono gestire i rimborsi fuori banda (un PIX inverso dal commerciante al pagante). Mostralo chiaramente sui materiali stampati.
- Frode da sovrapposizione di adesivi. Gli adesivi QR PIX fisici ai banconi delle casse sono stati attaccati da frodi di sovrapposizione, gli attaccanti incollano il proprio QR sopra quello del commerciante. Ruota periodicamente i QR statici, plastificali e mostra la chiave PIX attesa come testo normale accanto all'adesivo in modo che il pagante possa verificare.
Compatibilità delle app bancarie
Ogni partecipante PIX con licenza (banca o istituto di pagamento) supporta BR Code nella loro app consumer. Implementazioni notevoli:
| App | Statico | Dinamico | Notas |
|---|---|---|---|
| Itaú, Bradesco, Santander, BB, Caixa | Sì | Sì | Top-5 banche. Supporto PIX completo. |
| Nubank | Sì | Sì | Neobank più popolare in Brasile. UX PIX pulita. |
| Inter, C6 Bank, PicPay | Sì | Sì | Supporto PIX completo. |
| Mercado Pago | Sì | Sì | Istituto di pagamento; PIX è uno dei diversi sistemi di pagamento nella stessa app. |
| Fotocamera iOS/Android generica | No | No | Le app fotocamera native non analizzano BR Code come intenzione di pagamento. L'utente deve prima aprire la propria app bancaria. |
Vedi anche
- /pix-qr-code/, il generatore PIX con validazione CPF/CNPJ e codifica BR Code live.
- /standards/emvco/, spec padre EMVCo MPM.
- /standards/upi/, UPI India, un altro schema derivato EMVCo con il tag 26.
- /standards/, torna all'indice degli standard.