TadaSoftware / PyNFe

Projeto de biblioteca para fazer interface com o webservice de Nota Fiscal eletrônica para Python, disponível sob LGPL.
http://groups.google.com/group/pynfe
Other
412 stars 171 forks source link

Estou com problema ao usar a manifestação destinatário. Como posso contornar isso ? #359

Open yury-miguel opened 1 week ago

yury-miguel commented 1 week ago
from pynfe.processamento.comunicacao import ComunicacaoSefaz
from pynfe.processamento.serializacao import SerializacaoXML
from pynfe.processamento.assinatura import AssinaturaA1
from pynfe.entidades.evento import EventoManifestacaoDest
from pynfe.entidades.fonte_dados import _fonte_dados
import datetime

certificado = r"/certificado"
senha = "senha"
uf = "mg"
homologacao = True

manif_dest = EventoManifestacaoDest(
    cnpj="10433766000113", 
    chave='31240917291576000158550120006195981382624277', 
    data_emissao=datetime.datetime.now(),
    uf='AN',
    operacao=1 
)

try:
    serializador = SerializacaoXML(_fonte_dados, homologacao=homologacao)
    nfe_manif = serializador.serializar_evento(manif_dest)
    print("Evento serializado com sucesso.")
except Exception as e:
    print(f"Erro ao serializar o evento: {e}")

try:
    a1 = AssinaturaA1(certificado, senha)
    xml = a1.assinar(nfe_manif)
    print("XML assinado com sucesso.")
except Exception as e:
    print(f"Erro ao assinar o XML: {e}")

try:
    con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
    envio = con.evento(modelo='nfe', evento=xml)
    print(envio.text)
except Exception as e:
    print(f"Erro ao enviar o evento para a SEFAZ: {e}")

ERROS :

Evento serializado com sucesso. Erro ao assinar o XML: No PEM-encoded certificates found in string cert input data Erro ao enviar o evento para a SEFAZ: name 'xml' is not defined