PIX
PIX er Brasils øyeblikkelige betalingsordning, drevet av Banco Central do Brasil (BACEN). BR Code QR-formatet er en EMVCo MPM-delmengde med Merchant Account Information (tag 26) som bærer en PIX-nøkkel, CPF, CNPJ, e-post, telefonnummer eller tilfeldig EVP. PIX nådde sin første billion reais i løpet av under to år fra lansering (2020 → 2022) og er nå den dominerende detaljhandelsbetalingsskinnen i Brasil.
Overordnet spesifikasjon:EMVCo MPM v1.1. PIX reserverer forhandlerkontotaggen
26; alt annet er arvet fra EMVCo. Koding: TLV (Tag-Length-Value) med 2-sifrede tagger, 2-sifrede lengder og CRC16-CCITT-trailer.
BR Code-struktur, tag 26 (PIX Merchant Account Information)
Det PIX-spesifikke innholdet ligger i tag 26. Det er i seg selv en nestet TLV-struktur med disse undertaggene:
| Undertag | Navn | Lengde | Notater |
|---|---|---|---|
00 | GUI, globalt unikt id | 14 | Fast verdi br.gov.bcb.pix. Identifiserer ordningen som PIX. |
01 | PIX-nøkkel | variabel | CPF (11 sifre), CNPJ (14 sifre), e-post, telefon (+55DDPHONE) eller EVP (UUID-lignende tilfeldig nøkkel). |
02 | Tilleggsinformasjon | variabel, ≤72 | Fritekstmelding til betaler. Vises for betaleren i bankappen deres. |
25 | URL, dynamisk PIX | variabel | Brukes bare for dynamisk PIX: betalerens app henter den fullstendige nyttelasten fra denne URL-en ved skanning (beløp, forfallsdato, utløp, rabatt/bot). Statisk PIX utelater tag 25 helt. |
PIX-nøkkeltyper
| Nøkkeltype | Format | Validering |
|---|---|---|
| CPF (personlig skatte-ID) | 11 sifre, ingen tegnsetting i QR-nyttelasten | Mod-11-kontrollsum på de siste 2 sifrene. Maske 123.456.789-09 → rå 12345678909. |
| CNPJ (bedriftsskatte-ID) | 14 sifre, ingen tegnsetting | To mod-11-kontrollsummer. Maske 12.345.678/0001-95 → rå 12345678000195. |
| E-post | RFC 5321-kompatibel, maks 77 tegn | BACEN konverterer til små bokstaver ved registrering; QR-nyttelasten må samsvare med det registrerte tilfellet. |
| Telefon | E.164 med landskode +55, maks 14 tegn | Format: +55DDNNNNNNNNN der DD er 2-sifret retningsnummer. Ingen mellomrom eller bindestreker. |
| EVP (tilfeldig nøkkel) | UUID v4-format, 36 tegn | Generert server-side av betalerens bank ved registrering. Foretrukket for forhandlere som ikke ønsker å eksponere CPF/CNPJ/e-post/telefon. |
Statisk vs dynamisk PIX
- Statisk PIX (Point of Initiation
11). Alt kodet i QR: PIX-nøkkel, forhandlernavn, forhandlerby, valgfritt fast beløp, valgfri referanse. Betalerens app leser det direkte og autoriserer. Best for trykte klistremerker, fakturaer, vindusplakater. Beløpet kan utelates (betaleren skriver det inn) eller fastsettes (eksakt gebyr). - Dynamisk PIX (Point of Initiation
12). QR bærer en URL (undertag25). Betalerens app henter en JWS-signert JSON-nyttelast fra den URL-en ved skanning med beløp, forfallsdato, utløpsvindu og valgfrie regler for forsinkelsesgebyr/rabatt. Nødvendig for faktureringsfakturaer med utløpsdatoer (boletos híbridos). Brukes også for PIX Cobrança (fakturering).
Kanonisk testvektor, statisk PIX med CPF-nøkkel og fast beløp
CPF 12345678909, forhandler LOJA TESTE i SAO PAULO, fast beløp R$10.00, ingen transaksjonsreferanse:
00020126360014br.gov.bcb.pix0114123456789095204000053039865406010.005802BR5910LOJA TESTE6009SAO PAULO62070503***6304XXXX| Tag | Verdi | Betydning |
|---|---|---|
00 | 01 | Nyttelastformatindikator (alltid 01) |
01 | 11 | Statisk startpunkt |
26 | 36 byte nestet TLV | PIX Merchant Account Information |
├─ 00 | br.gov.bcb.pix | GUI |
├─ 01 | 12345678909 | CPF-nøkkel (11 sifre) |
52 | 0000 | MCC, ukjent / personlig |
53 | 986 | ISO 4217-valutakode for BRL |
54 | 10.00 | Fast transaksjonsbeløp |
58 | BR | Landskode |
59 | LOJA TESTE | Forhandlernavn (maks 25 tegn per EMVCo) |
60 | SAO PAULO | Forhandlerby (maks 15 tegn) |
62 | 7 byte nestet | Tilleggsdata-mal |
├─ 05 | *** | Referanseetikett (plassholder uten referanse) |
63 | XXXX | CRC16-CCITT over alt før (beregn på nytt ved koding) |
Vanlige fallgruver
- CPF/CNPJ-maskering. QR-nyttelasten bruker bare de umaskerte sifrene (
12345678909, ikke123.456.789-09). Noen kodegeneratorer lar punktum og bindestreker stå ved en feil, den resulterende QR mislykkes i alle bankapper med "chave PIX inválida." - Tegnsett har betydning. BACEN-spesifikasjonen sier ISO/IEC 8859-1 (Latin-1) for forhandlernavn og by. Aksent-tegn (
São Paulo) må kodes i Latin-1 før TLV-lengden beregnes, ikke UTF-8. UTF-8-koding øker byteantallet og ødelegger lengdefeltet. - CRC-beregning. CRC16-CCITT (polynom
0x1021, init0xFFFF, ingen endelig XOR) dekker alt fra tag00til6304, inkludert den bokstavelige taggen+lengden til selve CRC-feltet. Vanlig feil: CRC beregnet over feil område, QR parses riktig i noen apper og mislykkes i andre. - Beløpsformat er streng, ikke tall. Tag
54er en streng:10.00, ikke1000. To desimalplasser kreves. Maks to desimaler, BRL har ingen under-øre-denominasjoner. - Statisk PIX har ingen innebygd refusjon. Når betalt er statisk PIX øyeblikkelig og endelig. Forhandlere må håndtere refusjoner utenfor båndet (en omvendt PIX fra forhandler tilbake til betaler). Vis dette tydelig på trykte materialer.
- Klistremerke-overlay-svindel. Fysiske PIX QR-klistremerker ved kassediskene har blitt angrepet med overlagssvindel, angripere limer sitt eget QR over forhandlerens. Roter statiske QR-klistremerker jevnlig, laminer dem og vis den forventede PIX-nøkkelen som ren tekst ved siden av klistremerket slik at betaleren kan bekrefte.
- Investerings-/verdipapirrestriksjoner. Comissão de Valores Mobiliários (CVM) forbyr PIX for uregistrert investeringsverving. PIX QR på landingssider for tokens, "garantert avkastning"-produkter eller MLM-ordninger utløser CVM-håndhevingstiltak.
- Dynamisk PIX krever et live-endepunkt. Hvis tag
25-URL-en er nede, mislykkes betalingen ved skanning. Bruk en vert du kontrollerer og hold den i drift i minst QR-kodens trykte levetid.
Kompatibilitet med bankapper
Enhver lisensiert PIX-deltaker (bank eller betalingsinstitusjon) støtter BR Code i sin forbrukerapp. Merkbare implementeringer:
| App | Statisk | Dynamisk | Notater |
|---|---|---|---|
| Itaú, Bradesco, Santander, BB, Caixa | Ja | Ja | Topp 5 banker. Full PIX-støtte inkl. Cobrança, agendado og devolução. |
| Nubank | Ja | Ja | Mest populære neobank i Brasil. Rent PIX-grensesnitt. |
| Inter, C6 Bank, PicPay | Ja | Ja | Full PIX-støtte. |
| Mercado Pago | Ja | Ja | Betalingsinstitusjon; PIX er én av flere betalingsskinner i samme app. |
| Generisk iOS/Android-kamera | Nei | Nei | Innebygde kameraapper tolker ikke BR Code som betalingshensikt. Brukeren må åpne bankappen først. |
Se også
- /pix-qr-code/, PIX-generator med CPF/CNPJ-validering og live BR Code-koding.
- /standards/emvco/, den overordnede EMVCo MPM-spesifikasjonen.
- /standards/upi/, UPI India, en annen EMVCo-avledet ordning med tag 26.
- /standards/, tilbake til standardindeksen.