====== Informações do QR-Code ====== ===== Dados ===== ==== Componentes do QR-Code ==== * Chave de acesso * Versão do QR-Code * Ambiente * Documento do destinatário (se houver) * Data e hora da emissão * Valor NFC-e * Valor ICMS * DigestValue (Valor do campo após a assinatura da NFC-e) * IdToken (Id do CSC - Código de segurança do contribuinte fornecido pela SEFAZ) * CSC - (CSC - Código de segurança do contribuinte fornecido pela SEFAZ) * Hash dos parâmetros acima ==== Passos para a geração do Hash do QR Code: ==== * Chave de Acesso da NFC-e 44* Informar a chave de acesso da NFC-e * Versão do QR Code 1* Para esta versão de documento, preencher o com “2” * Identificação do Ambiente (1 – Produção, 2 – Homologação) * Informar valor do campo B24 do leiaute NFC-e * Identificador do CSC (Código de Segurança do Contribuinte no Banco de Dados da SEFAZ) * Deve ser informado sem os “0” (zeros) não significativos. A identificação do CSC corresponde a ordem do CSC no banco de dados da SEFAZ, não confundir com o próprio CSC * Código Hash dos Parâmetros * Ver geração do Hash do QR Code na emissão Online ==== Observações ==== * O **CSC** não deverá ser enviado no XML, ele é um conjunto de caracteres de domínio do usuário e de conhecimento da Sefaz. O CSC será utilizado para a criação do hash code. A fim de garantir maior segurança ao processo da NFC-e no que diz respeito à impressão do DANFE NFC-e e à geração de QR Code, foi incluído o parâmetro “hash do QR Code”. Este hash é gerado sobre um conjunto padrão de informações essenciais da NFC-e e também sobre CSC – Código de Segurança do Contribuinte válido para a empresa na Unidade Federada. O CSC corresponde a um código de segurança alfanumérico (16 a 36 bytes) de conhecimento apenas da Secretaria da Fazenda da Unidade Federada do emitente e do próprio contribuinte. Importante destacar que até versão anterior deste manual (versão 3.2) o código de segurança CSC era chamado de “Token”, todavia optou-se pela adequação do nome para minimizar eventuais confusões decorrentes da palavra “token”. Desta forma é possível garantir a autoria do DANFE NFC-e e do respectivo QR Code pois somente o Fisco e o contribuinte emissor conhecem o valor válido do CSC para aquela empresa na UF. Para a geração do hash do QR Code sobre os parâmetros da consulta NFC-e via QR Code, deve ser utilizado o algoritmo SHA-1 e o resultado obtido deve ser convertido para hexadecimal, correspondendo a 40 bytes. Informações adicionais sobre esse algoritmo podem ser encontradas no endereço eletrônico http://pt.wikipedia.org/wiki/SHA1. Para verificar se a conversões realizadas do HEXA do digestvalue e SHA-1 do hash do QR Code estão corretas ou não, foi disponibilizada uma página de validação da URL no Portal Nacional NFC-e - Desenvolvedor(http://nfce.encat.org/desenvolvedor/) na opção "Validador de SHA1 e HEXA". ===== Transferência de dados para a DLL ===== Para que uma NFC-e possa ser enviada, o Facture-e deverá instanciar a DLL e passar o idToken e o Token(CSC) do emitente para a DLL. A DLL deverá então, após a assinatura do documento, adicionar ao xml uma tag contendo os dados do QRCOde. Portanto a última parte do Xml deverá conter a tag com as informações do QR-Code na tag . A DLL deverá ler o xml após sua assinatura e recuperar os dados importantes para compor o QRCode. Após o preenchimento do Xml a DLL deverá enviar o Xml para o WebService e aguardar o retorno do envio. O endereço do consulta dos QRCodes de várias UF's estão localizados em uma classe URLsNFCe.pas na DLL do facturee.