12 de novembro de 2026

Payload do Pix (BR Code): o que significa o código 000201 do Pix Copia e Cola

Entenda o payload do Pix Copia e Cola: o que é o 000201, os campos do BR Code, a diferença entre estático e dinâmico e como o CRC16 valida o código.

Todo Pix Copia e Cola é um texto no padrão BR Code, o formato EMV de QR Code adotado pelo Banco Central. Esse texto é o payload do Pix, e ele sempre começa com 000201: o campo 00, de tamanho 02, com valor 01, que é a versão do formato. Daí para frente, cada pedaço do código diz quem recebe, quanto, em que moeda, e termina num código de verificação, o CRC16.

Este guia lê o código campo a campo. Para gerar e pagar no dia a dia, veja o que é Pix Copia e Cola. Para escolher entre os dois tipos, veja Pix estático ou dinâmico.


O que é o payload do Pix (BR Code)

O QR Code Pix e o Copia e Cola carregam o mesmo texto. A imagem do QR é só esse texto desenhado; o Copia e Cola é o texto para colar no app. O padrão está no Manual de Padrões para Iniciação do Pix (BCB).

O código não carrega senha nem número de conta. No estático, a chave Pix aparece em texto no código: se for CPF, telefone ou e-mail, ela fica legível para quem tem o código.


Como ler o código: ID, tamanho e valor

O BR Code usa TLV: 2 dígitos de ID, 2 dígitos de tamanho e depois o valor com aquele tamanho. Exemplo estático (fictício) quebrado em linhas:

00 02 01
26 45
  00 14 br.gov.bcb.pix
  01 23 financeiro@loja.example
52 04 0000
53 03 986
54 05 49.90
58 02 BR
59 12 LOJA EXEMPLO
60 09 SAO PAULO
62 14
  05 10 PEDIDO1234
63 04 CDD3

Payload completo:

00020126450014br.gov.bcb.pix0123financeiro@loja.example520400005303986540549.905802BR5912LOJA EXEMPLO6009SAO PAULO62140510PEDIDO12346304CDD3

Os campos do BR Code

ID Campo O que guarda
00 Versão do payload Sempre 01
01 Forma de iniciação (opcional) 12 = QR para um pagamento só; 11 = pode ser pago mais de uma vez
26 Conta do recebedor 00 = br.gov.bcb.pix, mais a chave Pix (01) no estático ou a URL da cobrança (25) no dinâmico; pode ter descrição (02)
52 Categoria do comerciante 0000 quando não informado
53 Moeda 986 = real
54 Valor Quando o valor vem no próprio código
58 País BR
59 Nome do recebedor Nome e cidade têm tamanho máximo definido pelo padrão EMV; acentos e caracteres especiais podem fazer o app recusar o código
60 Cidade do recebedor Mesma regra de tamanho e caracteres
62 Dados adicionais O 05 guarda o identificador da transação (txid) ou *** quando não é usado
63 CRC16 4 caracteres hexadecimais

O nome que o app do banco mostra ao pagador vem do cadastro da chave no Banco Central, não só do campo 59.


Payload estático x dinâmico

No estático, o campo 26 traz a chave Pix; o valor pode vir no campo 54; o txid, se houver, vai no 62-05 (ou *** quando não é usado).

No dinâmico, o campo 26 traz a URL da cobrança no subcampo 25; o app consulta essa URL para obter valor, recebedor e identificador. Em geral o campo 01 vem como 12 (uso único). Exemplo dinâmico (fictício):

00020101021226760014br.gov.bcb.pix2554pix.example.com/qr/v2/9d36b84fc70b478fb95c12729b90ca255204000053039865802BR5912LOJA EXEMPLO6009SAO PAULO62070503***6304FEA4

Quem define estático ou dinâmico é o conteúdo do campo 26 (chave × URL), não o campo 01 sozinho. Guia: Pix estático ou dinâmico.


O CRC16 no final

Os 4 últimos caracteres são o CRC16: uma soma de verificação. Se alguém altera o código (por exemplo, troca 49.90 por 59.90 sem recalcular), o CRC deixa de bater e o app do banco recusa.

Algoritmo: CRC-16/CCITT-FALSE, polinômio 0x1021, valor inicial 0xFFFF, calculado sobre todo o texto incluindo 6304. O resultado sai em 4 caracteres hexadecimais maiúsculos. Teste padrão: 123456789 → 29B1.

def crc16(s: str) -> str:
    c = 0xFFFF
    for b in s.encode("utf-8"):
        c ^= b << 8
        for _ in range(8):
            c = ((c << 1) ^ 0x1021) & 0xFFFF if c & 0x8000 else (c << 1) & 0xFFFF
    return f"{c:04X}"

assert crc16("123456789") == "29B1"
estatico = "00020126450014br.gov.bcb.pix0123financeiro@loja.example520400005303986540549.905802BR5912LOJA EXEMPLO6009SAO PAULO62140510PEDIDO12346304"
dinamico = "00020101021226760014br.gov.bcb.pix2554pix.example.com/qr/v2/9d36b84fc70b478fb95c12729b90ca255204000053039865802BR5912LOJA EXEMPLO6009SAO PAULO62070503***6304"
assert crc16(estatico) == "CDD3"
assert crc16(dinamico) == "FEA4"

Erros comuns ao montar o payload na mão


Preciso montar o payload?

Para cobrar, não. Na AbacatePay, a resposta da cobrança Pix já traz o brCode (o texto do Copia e Cola) e o brCodeBase64 (a imagem do QR Code em PNG, pronta para um <img>), além da validade em expiresAt. Você mostra os dois na tela e não calcula CRC nenhum.

{
  "id": "pix_char_01EXAMPLE",
  "status": "PENDING",
  "brCode": "000201…",
  "brCodeBase64": "data:image/png;base64,iVBORw0KGgo…",
  "expiresAt": "2026-11-12T14:00:00.000Z"
}

Guias e produtos: como gerar QR Code Pix via API, API Pix, /desenvolvedores, documentação do Pix. Pix a R$ 0,80 por cobrança paga, com saldo na hora. Produto: receber Pix.

Receba Pix com QR Code e Copia e Cola prontos: fale com o time.


Depois do pagamento: endToEndId e webhook

Quando o Pix liquida, ele ganha um identificador próprio no Banco Central, o endToEndId do Pix. A confirmação da cobrança chega por webhook (/api/webhooks); o guia de baixa automática está em confirmar pagamento Pix automaticamente.


Perguntas frequentes

O que significa 000201 no Pix?

É o campo 00, de tamanho 02, com valor 01: a versão do formato. Todo BR Code começa assim.

Qual a diferença entre BR Code e QR Code Pix?

O BR Code é o texto. O QR Code é a imagem desse texto. O Copia e Cola é o mesmo texto para colar no app do banco.

Dá para editar o valor de um Pix Copia e Cola?

Mudar qualquer caractere invalida o CRC16 e o app recusa. No dinâmico, o valor nem está no texto: vem da URL da cobrança. Para outro valor, gere outra cobrança.

Por que o banco diz que o código Pix é inválido?

CRC errado, tamanho de campo errado, caractere não aceito, código cortado ao copiar ou cobrança dinâmica expirada ou já paga.

O que é o CRC16 no final do Pix Copia e Cola?

São os 4 últimos caracteres: uma verificação calculada sobre todo o texto (incluindo 6304) com CRC-16/CCITT-FALSE. Serve para o app detectar código alterado ou corrompido.

Preciso gerar o payload na mão para integrar Pix?

Não. Pela API da AbacatePay, o brCode e o brCodeBase64 vêm prontos na resposta. Guia: como gerar QR Code Pix via API.


Receba Pix com QR Code e Copia e Cola prontos: fale com o time.

Leia também: endToEndId do Pix · o que é Pix Copia e Cola · Pix estático ou dinâmico · como gerar QR Code Pix via API · confirmar pagamento Pix automaticamente · API Pix · receber Pix · /desenvolvedores

Você pode se interessar por