4. Gerar o XML da DC-e
4.11. QRCode
4.10. Declaração do usuário emitente
« Anterior
4.12. Consolida DC-e
Próximo »

4.11. QRCode

Funcionalidade para gerar QR code de consulta da DC-e

Assinatura

string infDCeSupl(string urlQRCode, string urlConsulta, string chaveDCe, int tpAmb, string CNPJ,string CPF,string idOutros,string nomeCertificado, out string qrCode, out int resultado, out string msgResultado)

Descrição:

Funcionalidade para gerar o grupo de informações da URL de consulta da DC-e. O indicador tpEmis da chave de acesso informada é utilizada para gerar o QRCode normal ou de contingência (tpEmis=9).

Parâmetros:

nome tipo tam. obrig. descrição
urlQRCode string - sim informar a URL de consulta da DC-e da UF para gerar o QR-Code, consulte: https://dfe-portal.svrs.rs.gov.br/dce/Servicos
urlConsulta string - sim informar a URL de consulta da DC-e pela chave de acesso da UF, consulte: https://dfe-portal.svrs.rs.gov.br/dce/Servicos
chaveDCe string 44 sim informar a chave de acesso da DC-e
tpAmb int - sim informar o tipo Ambiente: 1 - produção / 2 - homologação
CNPJ string 14 sim informar o CNPJ quando o usuário emissor for pessoa jurídica com CNPJ.
CPF string 11 sim informar o CPF quando o usuário emissor for pessoa física com CPF.
idOutros string 2-60 sim informar uma identificação quando o usuário emissor não for obrigado a inscrição do CPF ou CNPJ.
nomeCertificado string - sim informar nome do titular do certificado a ser utilizado na conexão SSL com o WS:
É permitido o uso do certificado digital que tenha o mesmo CNPJ base (oito primeiros dígitos do CNPJ) do emissor do MDF-e.
1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS".
2. informar: NUMEROSERIE|[número de série] quando não seja possível localizar o certificado digital pelo assunto;
3. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha".
4. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
qrCode string - saída retorna a string do qrCode que deve ser gerado no DADCe
resultado int - saída retorna o código do resultado da geração do qrCode = 6200
msgResultado string - saída retorna a literal do resultado da geração do qrCode = 6200 - qrCode gerado com sucesso

Diagrama:

DiagramainfSup

Retorno:

Um string com o grupo XML do Grupo informações suplementares da DC-e

código Mensagem
6200 qrCode gerado com sucesso
6201 Erro: O parâmetro versao não foi informado
6202 Erro: O conteúdo do parâmetro versao informado é inválido: [valor informado], a DLL espera: [valor esperado]
6203 Erro: O parâmetro chaveDCe não informado
6204 Erro: O tamanho [tamanho] do parâmetro chaveDCe informado não tem 44 caracteres
6205 Erro: As posições correspondentes (1,2) ao código da UF [valor informado] do parâmetro chaveDCe não é um código de UF válido
6206 Erro: O nome do titular do certificado deve ser informado
6207 Erro: O parâmetro tipoAmbiente deve ser informado
6208 Erro: O parâmetro tipoAmbiente [valor informado] deve ser 1 ou 2
6209 Erro: O parâmetro siglaWS deve ser informado
6210 Erro: O parâmetro CPF ou CNPJ ou idOutros deve ser informado quando tpEmis= 9-Contigência OFF-LINE da DCe
6211 Erro: O parâmetro urlConsulta deve ser informado
6212 Erro: O parâmetro urlQRCode deve ser informado

XML:

Exemplo de XML - DC-e emissão normal

<infDCeSupl>
  <qrCodDCe><![CDATA[https://www.fazenda.pr.gov.br/dce/qrcode?chDCe=35250410142785000190990010000000071086438399&tpAmb=2]]></qrCodDCe>
  <urlChave>https://www.fazenda.pr.gov.br/dce/qrcode</urlChave>
</infDCeSupl>

Exemplo de XML - DC-e emissão contingência

<infDCeSupl>
  <qrCodDCe><![CDATA[https://www.fazenda.pr.gov.br/dce/qrcode?chDCe=35250410142785000190990010000000079086438399&tpAmb=2&CNPJ=00000000000191&sign=RkQIxd+IVFxCZeFfMUq2bwkfjTGT9SuVZwWa6bgjFUT/RQeYc/j8mOG632vieuzcSW2SNBFBzTZMbv5hGi3eRnaFBHv0Gmck0Lu3OGyHk4Pap805b+ymc1wNRTlofumwaDJo/XT1xAFLPSSfMflHgF7zigk6E9r0jaxWVStQk4B015p8qpi2HdZKlDf1UdkSDALqb3juyCC2tELFyqFizSVJVJe0LfdWFA2VG5EsqibsBdHici1ttsSyDqlfaBdN4+WqqYkHLcUl/qkyYUM/gd23zK3240ENbsHn5Um2LCdSrIq02NuvCXS2S5HZ6YOC2aaAoGeh4zw6mu4oDULAow==]]></qrCodDCe>
  <urlChave>https://www.fazenda.pr.gov.br/dce/qrcode</urlChave>
</infDCeSupl>>

Importante

O trecho do XML foi formatado para uma melhor visualização, a mensagem original não tem formatação.

Vale observar que a formatação pode corromper a assinatura digital, além de ocupar espaço e ser desnecessária, pois os browser exibem formatado.

Exemplos de uso:

Visual Basic 6.0

 
' declara e instancia DLL

Dim objDCeUtil As Object
 
Set objDCeUtil = CreateObject("DCe_Util.Util")
 
' declarar parâmetros

Dim infDCeSupl As String
Dim infDCeSupl_urlQRCode As String
Dim infDCeSupl_urlConsulta As String
Dim infDCeSupl_chaveDCe As String
Dim infDCeSupl_tpAmb As Long
Dim infDCeSupl_CNPJ As String
Dim infDCeSupl_CPF As String
Dim infDCeSupl_idOutros As String
Dim infDCeSupl_nomeCertificado As String
Dim infDCeSupl_QRCode As String
 
Dim resultado As Long
Dim msgResultado As String
 
' inicializa parâmetros

infDCeSupl_urlQRCode = "https://www.fazenda.pr.gov.br/dce/qrcode"
infDCeSupl_urlConsulta = "https://www.fazenda.pr.gov.br/dce/qrcode"
infDCeSupl_chaveDCe = "35250410142785000190990010000000071086438399"
infDCeSupl_tpAmb = 2
infDCeSupl_CNPJ = "00000000000191"
infDCeSupl_CPF = ""
infDCeSupl_idOutros = ""
infDCeSupl_nomeCertificado = "CN=FLEXDOCS INFORMATICA LTDA:10142785000190, OU=presencial, OU=20085105000106, OU=RFB e-CNPJ A1, OU=Secretaria da Receita Federal do Brasil - RFB, L=OURINHOS, S=SP, O=ICP-Brasil, C=BR"
infDCeSupl_QRCode = ""
resultado = 0
msgResultado = ""
 
'
infDCeSupl = objDCeUtil.infDCeSupl(infDCeSupl_urlQRCode, _
                                   infDCeSupl_urlConsulta, _
                                   infDCeSupl_chaveDCe, _
                                   infDCeSupl_tpAmb, _
                                   infDCeSupl_CNPJ, _
                                   infDCeSupl_CPF, _
                                   infDCeSupl_idOutros, _
                                   infDCeSupl_nomeCertificado, _
                                   infDCeSupl_QRCode, _
                                   resultado, _
                                   msgResultado)
 
 
MsgBox "grupo infDCeSupl " + infDCeSupl, vbInformation, "Resultado"
4.11. QRCode
4. Gerar o XML da DC-e
« Anterior
4.10. Declaração do usuário emitente
Próximo »
4.12. Consolida DC-e