PIX
PIX est le système de paiement instantané brésilien, opéré par la Banco Central do Brasil (BACEN). Le format QR BR Code est un sous-ensemble EMVCo MPM avec les Informations de Compte Marchand (tag 26) portant une clé PIX, qui peut être un CPF, CNPJ, email, numéro de téléphone ou EVP aléatoire. PIX a réglé son premier trillion de reais en moins de deux ans depuis son lancement (2020 → 2022) et est désormais le principal rail de paiement de détail au Brésil.
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.
Structure BR Code, tag 26
Le contenu spécifique PIX se trouve dans la balise 26. C'est elle-même une structure TLV imbriquée avec ces sous-balises :
| Sub-tag | Nom | Longueur | Notes |
|---|---|---|---|
00 | GUI | 14 | Valeur fixe br.gov.bcb.pix. |
01 | Clé PIX | variable | CPF, CNPJ, email, téléphone (+55DDPHONE), ou EVP. |
02 | Infos supplémentaires | variable, ≤72 | Message texte libre au payeur. |
25 | URL, PIX dynamique | variable | Pour PIX dynamique uniquement. |
PIX statique vs dynamique
- PIX statique (Point of Initiation
11). Tout encodé dans le QR : clé PIX, nom du marchand, ville, montant fixe optionnel, référence optionnelle. L'app du payeur le lit directement et autorise. Idéal pour autocollants imprimés, factures, affiches en vitrine. Le montant peut être omis (le payeur le tape) ou fixé (charge exacte). - PIX dynamique (Point of Initiation
12). Le QR porte une URL (sous-balise25). L'app du payeur récupère un payload JSON signé JWS depuis cette URL avec montant, date d'échéance, fenêtre d'expiration et règles optionnelles de pénalité/remise. Requis pour les factures avec dates d'expiration (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***6304XXXXPièges courants
- Masquage CPF/CNPJ. Le payload QR utilise les chiffres sans masque uniquement (
12345678909, pas123.456.789-09). Certains générateurs laissent les points et tirets par erreur, le QR résultant échoue dans chaque app bancaire avec "chave PIX inválida". - Le jeu de caractères compte. La spec BACEN indique ISO/IEC 8859-1 (Latin-1) pour le nom et la ville du marchand. Les caractères accentués (
São Paulo) doivent être encodés en Latin-1 avant le calcul de la longueur TLV, pas en UTF-8. L'encodage UTF-8 gonfle le nombre d'octets et casse le champ longueur. - Calcul du CRC. Le CRC16-CCITT (polynôme
0x1021, init0xFFFF, sans XOR final) couvre tout depuis la balise00jusqu'à6304, incluant la balise+longueur littérale du champ CRC lui-même. Bug courant : CRC calculé sur la mauvaise plage, le QR se parse correctement sur certaines apps et échoue sur d'autres. - Le format du montant est une chaîne, pas un nombre. La balise
54est une chaîne :10.00pas1000. Deux décimales requises. Maximum deux décimales, BRL n'a pas de sous-divisions. - Le PIX statique n'a pas de remboursement intégré. Une fois payé, un PIX statique est instantané et final. Les marchands doivent gérer les remboursements hors bande (un PIX inverse du marchand vers le payeur). Affichez cela clairement sur les supports imprimés.
- Fraude par superposition d'autocollants. Les autocollants QR PIX physiques aux caisses ont été victimes de fraudes par superposition, des attaquants collent leur propre QR par-dessus celui du marchand. Faites tourner les QR statiques périodiquement, plastifiez-les et affichez la clé PIX attendue en texte clair à côté de l'autocollant pour que le payeur puisse vérifier.
Compatibilité des apps bancaires
Chaque participant PIX agréé (banque ou institution de paiement) supporte BR Code dans son app grand public. Implémentations notables :
| App | Statique | Dynamique | Notes |
|---|---|---|---|
| Itaú, Bradesco, Santander, BB, Caixa | Oui | Oui | Top-5 banques. Support PIX complet. |
| Nubank | Oui | Oui | Néobanque la plus populaire au Brésil. UX PIX propre. |
| Inter, C6 Bank, PicPay | Oui | Oui | Support PIX complet. |
| Mercado Pago | Oui | Oui | Institution de paiement ; PIX est l'un de plusieurs rails dans la même app. |
| Caméra iOS/Android générique | Non | Non | Les apps caméra natives ne parsent pas BR Code comme intention de paiement. L'utilisateur doit d'abord ouvrir son app bancaire. |
Voir aussi
- /pix-qr-code/, le générateur PIX avec validation CPF/CNPJ et encodage BR Code en direct.
- /standards/emvco/, spec parent EMVCo MPM.
- /standards/upi/, UPI Inde, autre schéma dérivé EMVCo avec le tag 26.
- /standards/, retour à l'index des standards.