Guia · Dados do Brasil · PIX

Por que o PIX copia e cola foi recusado

Quando o aplicativo diz que o código é inválido, o problema quase sempre está em um campo específico do BR Code. Veja as causas mais comuns, como cada uma aparece no código e como achar a sua em poucos minutos.

Como o código é montado

O PIX copia e cola é um texto no padrão BR Code, definido pelo Banco Central a partir do padrão EMV de QR Codes. Ele é uma sequência de campos no formato ID (2 dígitos), tamanho (2 dígitos), valor. Por exemplo, 5802BR é o campo 58 (país), com 2 caracteres, valor BR. O último campo é sempre o 63, o CRC16, que é uma assinatura de todo o texto anterior. Se qualquer caractere mudar, a assinatura deixa de bater e o aplicativo do pagador recusa o código.

Este é um código estático de teste, com dados fictícios, que o decodificador do Me Ajuda Flow lê sem nenhum aviso:

00020126470014br.gov.bcb.pix0125financeiro@exemplo.com.br5204000053039865406123.455802BR5918EMPRESA TESTE LTDA6009SAO PAULO62070503***63042103

Ele traz a chave [email protected], valor 123.45, nome EMPRESA TESTE LTDA, cidade SAO PAULO e CRC 2103. Abaixo, cada falha é provocada nesse mesmo código, para você ver o que o decodificador mostra.

1. O CRC16 não confere

É o erro mais frequente e o que mais engana, porque o texto parece normal. O CRC é calculado sobre todo o texto, incluindo o 6304 que antecede o próprio CRC, com polinômio 1021 (hexadecimal) e valor inicial FFFF, segundo o Manual do BR Code. O resultado são 4 caracteres hexadecimais em maiúsculas. O Manual de Padrões para Iniciação do Pix lembra ainda que a ordem dos campos altera o CRC.

Teste real: no código acima, troquei o valor 123.45 por 923.45 sem recalcular o CRC. O decodificador respondeu: informado 2103, calculado CF80. Ou seja, o código foi alterado depois de gerado.

2. Código copiado pela metade

Mensagens de WhatsApp, e-mails e PDFs costumam quebrar o texto. Quando o final se perde, falta o CRC e, muitas vezes, o último campo fica incompleto.

Teste real: cortei os últimos 12 caracteres do código. O decodificador avisou que o campo 62 declara 7 caracteres, mas só restam 3, e que falta o campo 63 com 4 caracteres. O sinal clássico é esse: um campo que promete mais dados do que existem. Se o código termina em 6304 sem os 4 caracteres seguintes, o CRC foi cortado.

3. Valor com vírgula

O campo 54 (valor) usa ponto decimal. O Manual do BR Code dá como exemplos 0, 1.00 e 123.99, com tamanho de 1 a 13 caracteres. Sem separador de milhar e sem símbolo de moeda.

Teste real: gerei o mesmo código com valor 123,45 e CRC recalculado corretamente (7B9E). O CRC bateu, mas o decodificador avisou "Valor em formato inválido (use ponto decimal, até 2 casas)". Esse caso é típico de planilha ou ERP que monta o código por concatenação de texto: o formato brasileiro do número vai direto para o campo.

Detalhe importante: aqui o CRC está certo e o código continua inválido. Por isso não basta conferir só o CRC.

4. Nome e cidade acima do limite

Pelo Manual do BR Code, o nome do recebedor (campo 59) tem de 1 a 25 caracteres, e a cidade (campo 60) de 1 a 15. Razões sociais completas passam disso com facilidade.

Teste real: usei o nome EMPRESA DE COMERCIO E SERVICOS LTDA (35 caracteres) e a cidade SAO BERNARDO DO CAMPO (21 caracteres). O CRC estava correto, e o decodificador apontou os dois campos: "Nome do recebedor com mais de 25 caracteres" e "Cidade com mais de 15 caracteres".

5. Caracteres fora do padrão

O Manual do BR Code diz que o formato usa apenas caracteres alfanuméricos: letras de A a Z (somente maiúsculas), dígitos de 0 a 9, os símbolos $ % * + - . / : e o espaço. Acentos e cedilha não fazem parte.

Teste real: com o nome JOSÉ DA SILVA e a cidade SÃO PAULO, o CRC bate (4052), mas o decodificador avisa que há caracteres fora do ASCII e que alguns aplicativos recusam. Outro risco é de implementação: se o sistema que gera o código conta o tamanho do campo de um jeito (caracteres) e o aplicativo que lê de outro (bytes), um acento muda a conta e o campo deixa de bater com o tamanho declarado. Isso é uma hipótese comum a verificar, não uma regra do manual.

Um ponto a conferir na fonte: o manual do BR Code lista só letras maiúsculas, mas os exemplos do Manual de Padrões para Iniciação do Pix usam nomes com minúsculas (Fulano de Tal). Se o código só falha em um aplicativo específico, converter tudo para maiúsculas e sem acento é a precaução mais simples.

6. PIX de uso único ou dinâmico vencido

Dois casos diferentes, ambos com código "válido" na forma:

Limite do decodificador: ele lê apenas o texto do código, sem consultar a URL. Ele mostra que o código é dinâmico e qual é a URL, mas não sabe se a cobrança expirou ou foi paga. Nesses casos, a confirmação é com quem emitiu: peça um novo código.

Roteiro rápido de diagnóstico

  1. Cole o código inteiro no decodificador de PIX. Se ele recusar logo de início, o texto não começa em 000201.
  2. Veja o CRC: se "não confere", o código foi alterado ou cortado. Peça outro.
  3. Se o CRC bate, leia os avisos: valor, nome, cidade, caracteres.
  4. Confira o tipo: estático ou dinâmico. Em dinâmico, o problema pode estar na cobrança, e não no texto.
  5. Se nada aparece e o banco ainda recusa, confirme com o recebedor se a chave existe e está ativa. Isso o decodificador não consegue verificar.

Para quem gera o código por sistema

Se o seu ERP ou planilha monta o PIX por conta própria, três regras evitam a maior parte das recusas: formatar o valor com ponto e duas casas; limitar nome a 25 e cidade a 15 caracteres, sem acento; e calcular o CRC sobre o texto completo, por último. Depois de gerar, passe o código pelo decodificador antes de enviar ao cliente.

Para decodificar um código campo a campo e ver o CRC informado e o calculado, use a ferramenta PIX copia e cola do Me Ajuda Flow. Se o pagamento for por boleto, a ferramenta de boleto faz a mesma verificação com a linha digitável. Para conferir o CPF ou CNPJ de quem recebe, veja CPF e CNPJ.

Ferramentas para usar com este guia

Fontes oficiais