Pular para o conteúdo
Fiscal ProBiblioteca
Rejeição 400 · Regra ZX02-92

Rejeição 400: formato hexadecimal do digest no QR-Code 1 (histórico)

Revisão editorial em 16 de out. de 2026. Confira as versões e condições das regras nas fontes do artigo.

A Rejeição 400, regra ZX02-92, é aqui explicada no contexto histórico do QR-Code 1 (nVersao=100) da NFC-e, modelo 65. A regra histórica verificava se digVal do QR-Code 100 usava formato hexadecimal, com caracteres 0–9, a–f, A–F. Esse leiaute foi desativado em produção em 01/10/2018; a orientação abaixo serve à leitura de arquivos e retornos legados, sem apresentar essa regra como validação ativa de notas novas.

Qual é a vigência desta regra histórica?

O encerramento em produção está documentado no Manual DANFE NFC-e/QR-Code 6.0, página 5. O MOC 7.0 conserva a tabela da versão 100, e a NT 2025.001 v1.03 mantém sua descrição de preenchimento na página 14 ao lado das versões 2 e 3. Essa coexistência documental e a presença de um padrão legado no schema não demonstram reativação da versão 1 nem aceitação fiscal atual.

Para investigar uma mensagem recebida hoje, confira a versão real da URL, o parâmetro citado no retorno, a data da tentativa e o ambiente. O mesmo código numérico aparece em regras diferentes. Não converta automaticamente esta identidade histórica em uma regra de QR-Code 2 ou 3.

Por que Base 64 e hexadecimal não eram intercambiáveis?

A ZX02-92 exigia formato hexadecimal no parâmetro digVal do QR-Code 100 e listava os caracteres 0-9, a-f e A-F. O MOC registra verificação pelo schema. O texto Base 64 presente na assinatura XML não deve ser confundido com a representação exigida na URL.

A transformação de representação não autoriza alterar o DigestValue da assinatura da nota. É a mesma informação documentada que deve ser lida e representada conforme o leiaute; um valor inventado que só use caracteres hexadecimais pode passar pelo exame de caracteres e continuar incorreto.

Ausência do parâmetro era 396/ZX02-88. Conteúdo divergente da nota era 397/ZX02-96. A 400/ZX02-92 se limita ao formato e, por si, não demonstra que a assinatura XML inteira seja válida ou inválida.

Exemplo de leitura de um registro legado

Em um registro legado, o gerador copiou diretamente o texto Base 64 da assinatura para a URL antiga, conservando caracteres que não pertencem ao formato hexadecimal. A comparação confirma erro de representação no parâmetro, sem necessidade de revelar o digest na página pública.

Em outro cenário, o parâmetro contém apenas caracteres hexadecimais, mas veio de outra nota. A verificação de formato não detecta sozinha a associação errada. É indispensável comparar o conteúdo com o original da mesma tentativa, sem fabricar uma assinatura substituta.

Como distinguir as versões atuais?

QR-Code 2 offline conserva DigestValue em representação hexadecimal na sexta posição, com regra 400/ZX02-292 para formato, distinta da 92. QR 2 online não o inclui. QR-Code 3 offline usa uma assinatura dos parâmetros em Base 64, e não um digVal hexadecimal equivalente ao antigo.

Essas diferenças impedem aplicar a exigência de hexadecimal à assinatura do QR-Code 3. A informação criptográfica e o formato correto dependem da versão e da função do parâmetro, não apenas do código 400.

Como preservar a evidência e encerrar o diagnóstico?

Preserve o XML e o retorno originais, identifique a nota e compare somente os dados da mesma tentativa. A URL histórica é encontrada em NFe/infNFeSupl/qrCode, no namespace http://www.portalfiscal.inf.br/nfe; em arquivo processado, o caminho começa por nfeProc. A leitura do original deve ocorrer com acesso autorizado.

Se o emissor está gerando formato antigo, diagnostique a integração e o leiaute aplicável, preservando os dados verdadeiros e o resultado fiscal anterior. Não modifique documento autorizado nem reenvie uma tentativa incerta.

Não é apresentado XML operacional: a conferência fiel exige a chave, os dados e, conforme o parâmetro, a assinatura ou a credencial protegida da tentativa. Os cenários são textuais e não fabricam identificadores, CSC ou hashes. Conformidade no schema e consulta legível do QR-Code não equivalem à autorização da nota.

Fontes oficiais