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.
- Causa típica: alguém editou o valor, o nome ou a chave à mão, ou um sistema trocou um caractere (aspas "inteligentes", espaço no meio, quebra de linha).
- Como resolver: peça um código novo a quem recebe, ou gere de novo no sistema de origem. Não adianta corrigir só o CRC se o conteúdo foi adulterado: o código deve vir de quem recebe.
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.
- Copie de novo, do início (
000201) ao fim, sem apertar Enter no meio. - Quebras de linha e espaços nas pontas são removidos pelo decodificador, mas alguns aplicativos de banco não os aceitam. Cole em um campo de texto simples e confira antes.
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".
- Solução: abrevie no gerador (
EMPRESA COMERCIO SERV LTDA,S B DO CAMPO). Esses campos são exigidos pelo padrão, mas, no PIX, o nome mostrado ao pagador vem da consulta à chave, conforme nota do Manual de Padrões para Iniciação do Pix. Mesmo assim, os campos devem respeitar o limite: aplicativos e bibliotecas costumam validar o código inteiro antes de consultar a chave. - O nome e a cidade não podem faltar: o decodificador avisa se os campos 59 ou 60 não existirem.
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:
- Uso único. Pelo Manual do BR Code, o campo 01 (ponto de iniciação) com valor
12significa que o código só pode ser usado uma vez. Depois do primeiro pagamento, uma segunda tentativa deve ser recusada. - Dinâmico (cobrança). O código carrega uma URL (subcampo 25 do campo 26 a 51) e o aplicativo consulta o banco do recebedor para saber valor, beneficiário e situação. Na cobrança imediata, o prazo é o campo
calendario.expiracao, em segundos, e, se ele não for informado, vale 86400 segundos (24 horas) a partir da criação. Cobranças concluídas, expiradas ou removidas podem receber resposta HTTP como 410 ou 404, a critério do banco do recebedor.
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
- Cole o código inteiro no decodificador de PIX. Se ele recusar logo de início, o texto não começa em
000201. - Veja o CRC: se "não confere", o código foi alterado ou cortado. Peça outro.
- Se o CRC bate, leia os avisos: valor, nome, cidade, caracteres.
- Confira o tipo: estático ou dinâmico. Em dinâmico, o problema pode estar na cobrança, e não no texto.
- 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.