コード例 #1
0
        public void ServicosNFe_WhenNfeNFeAutorizacao4_ReturnsxMotivoSuccess()
        {
            var servico = CreateInstance4();
            var nfeProc = CreateObject();

            var nfe = nfeProc.NFe;

            var list = new List <NFe.Classes.NFe>();

            list.Add(nfeProc.NFe);

            nfe.infNFe.ide.mod           = DFe.Classes.Flags.ModeloDocumento.NFCe;
            nfe.infNFe.ide.tpImp         = NFeClasses.Informacoes.Identificacao.Tipos.TipoImpressao.tiNFCe;
            nfe.infNFe.ide.indPres       = NFeClasses.Informacoes.Identificacao.Tipos.PresencaComprador.pcPresencial;
            nfe.infNFe.dest              = null;
            nfe.infNFe.det[0].prod.xProd = "NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL";

            nfe.Signature = null;
            SetValuesForMoriMo(nfe);

            nfe.infNFe.ide.dhEmi    = DateTimeOffset.UtcNow;
            nfe.infNFe.ide.dhSaiEnt = null;

            CriarChaveDeAcesso(nfe);
            var a = new X509Certificate2(@"certificatePath", "certificatePassword", X509KeyStorageFlags.Exportable);

            var signature = Assinador.ObterAssinaturac <NFe.Classes.NFe>(nfe, nfe.infNFe.Id, a);

            nfe.Signature = signature;

            nfe.infNFeSupl = new NFeClasses.infNFeSupl
            {
                urlChave = nfe.infNFe.Id,
                qrCode   = ExtinfNFeSupl.ObterUrlQrCode(new NFeClasses.infNFeSupl(), nfe, VersaoQrCode.QrCodeVersao1, "security-id", "security-Code")
            };


            var issuedNfe = Assinador.SerializeToString(nfe);

            File.WriteAllText($@"D:\works\nfce\test123.xml", issuedNfe);

            var procNfe = new NFe.Classes.nfeProc
            {
                NFe = nfe
            };

            var result = servico.NFeAutorizacao(1, IndicadorSincronizacao.Sincrono, list);

            Assert.IsTrue("Lote recebido com sucesso" == result.Retorno.xMotivo.ToString());
        }