O que é o Pix copia e cola?
Pix copia e cola é o texto por trás de um QR Code Pix. É uma sequência de caracteres no padrão BR Code (EMV QR Code Merchant Presented Mode, adaptado pelo Banco Central do Brasil) que o pagador cola no aplicativo em vez de escanear uma imagem. Todo QR Code Pix tem um Pix copia e cola correspondente e vice-versa; o gerador acima mostra os dois ao mesmo tempo, e o bloco "Ver o código" já vem aberto nesta página.
Como gerar o texto
- Preencha chave, nome e cidade e, se quiser, valor, identificador e descrição.
- Clique em Gerar. Abaixo do QR aparece o texto completo e uma lista campo a campo.
- Use "Copiar Pix copia e cola" e envie por mensagem. Envie o texto inteiro, de
000201até os quatro caracteres do CRC, sem quebras de linha.
Anatomia do código
O código é uma lista de campos no formato ID-tamanho-valor (TLV). Cada ID tem dois dígitos, o tamanho tem dois dígitos e o valor tem exatamente aquele número de caracteres. Campos 26 e 62 são blocos que contêm subcampos no mesmo formato.
| ID | Campo | Valor no código estático |
|---|---|---|
| 00 | Payload Format Indicator | 01, sempre |
| 01 | Point of Initiation Method | omitido ou 11 (reutilizável); 12 = uso único |
| 26 | Merchant Account Information | subcampo 00 = br.gov.bcb.pix, 01 = chave, 02 = descrição opcional |
| 52 | Merchant Category Code | 0000 quando não há categoria |
| 53 | Transaction Currency | 986 = real brasileiro (ISO 4217) |
| 54 | Transaction Amount | opcional; ponto decimal, até 2 casas, ex. 25.90 |
| 58 | Country Code | BR |
| 59 | Merchant Name | nome do recebedor, até 25 caracteres ASCII |
| 60 | Merchant City | cidade, até 15 caracteres ASCII |
| 62 | Additional Data Field | subcampo 05 = txid (até 25 alfanuméricos) ou *** |
| 63 | CRC | CRC16-CCITT (polinômio 0x1021, inicial 0xFFFF) de tudo o que vem antes, inclusive 6304 |
Exemplo prático, campo a campo
O exemplo do manual do Banco Central, com chave aleatória, nome Fulano de Tal e cidade BRASILIA:
00020126580014br.gov.bcb.pix0136123e4567-e12b-12d1-a456-4266554400005204000053039865802BR5913Fulano de Tal6008BRASILIA62070503***63041D3D
| Trecho | Leitura |
|---|---|
000201 | Campo 00, 2 caracteres, valor 01 |
2658 0014br.gov.bcb.pix 0136123e4567-…-426655440000 | Campo 26 com 58 caracteres: subcampo 00 (14) = GUI do Pix, subcampo 01 (36) = chave |
52040000 | Categoria do comerciante 0000 |
5303986 | Moeda 986 = BRL |
5802BR | País BR |
5913Fulano de Tal | Nome com 13 caracteres |
6008BRASILIA | Cidade com 8 caracteres |
6207 0503*** | Campo 62 com 7 caracteres: subcampo 05 = txid *** |
63041D3D | CRC16 de tudo o que vem antes, incluindo 6304 |
Note que não há campo 54: o valor fica a cargo do pagador. Se você informar um valor, o trecho 54 entra entre a moeda e o país, como em 540525.90. Com a opção de uso único, o trecho 010212 entra logo depois de 000201.
Como o CRC é calculado
O campo 63 usa CRC-16/CCITT-FALSE: polinômio 0x1021, valor inicial 0xFFFF, sem reflexão, calculado sobre os bytes UTF-8 de todo o texto até e incluindo 6304, e escrito em quatro dígitos hexadecimais maiúsculos. É um detector de erro, não uma assinatura: ele descobre se alguém digitou ou colou errado, mas não impede que alguém gere um código novo com outra chave. Por isso confira sempre o nome do recebedor na tela do aplicativo. Para checar um código recebido, use o decodificador Pix; para conferir só a chave, o validador de chave.
Referências
Banco Central do Brasil, Manual de Padrões para Iniciação do Pix, seção sobre BR Code e QR Code estático; EMVCo, EMV QR Code Specification for Payment Systems, Merchant Presented Mode.