3 changed files with 10 additions and 117 deletions
@ -1,108 +0,0 @@ |
|||||
# -*- coding: utf-8 -*- |
|
||||
|
|
||||
import logging |
|
||||
from datetime import datetime |
|
||||
from pytrustnfe.nfe import consulta_cadastro |
|
||||
#import pytrustnfe.nfe |
|
||||
from pytrustnfe.certificado import Certificado |
|
||||
from pytrustnfe.nfse.paulistana import cancelamento_nfe |
|
||||
from pytrustnfe.nfse.paulistana import envio_lote_rps |
|
||||
from pytrustnfe.nfse.carioca import gerar_nfse |
|
||||
|
|
||||
|
|
||||
logger = logging.getLogger(__name__) |
|
||||
dbg = 0 |
|
||||
|
|
||||
|
|
||||
#certificado_path = open(b'/data/certs/23834691000124.pfx', 'rb').read() |
|
||||
certificado_path = open(b'/data/certs/expirado.pfx', 'rb').read() |
|
||||
certificado = Certificado(certificado_path, 'audaz$321') |
|
||||
|
|
||||
if dbg>1 :print('type(certificado)') |
|
||||
if dbg>1 :print(type(certificado)) |
|
||||
if dbg>9 :print(certificado.pfx) |
|
||||
if dbg>1 :print(certificado.password) |
|
||||
# Necessário criar um dicionário com os dados, validação dos dados deve |
|
||||
# ser feita pela aplicação que está utilizando a lib |
|
||||
|
|
||||
#retorno = envio_lote_rps(certificado, nfse=nfse) |
|
||||
#retorno = gerar_nfse(certificado, nfse=rps) |
|
||||
|
|
||||
#xml = { "rps" : {"rps" : { "numero" : "1" }}} |
|
||||
#retorno = gerar_nfse(certificado, nfse=xml) |
|
||||
|
|
||||
rps = { |
|
||||
'ambiente': '2', |
|
||||
'rps': { |
|
||||
'ambiente': '2', |
|
||||
'numero': '1', |
|
||||
'serie': 'ABC', |
|
||||
'tipo_rps': '1', |
|
||||
'data_emissao': '2010-01-01T21:00:00', |
|
||||
'natureza_operacao': '1', |
|
||||
'optante_simples': '1', |
|
||||
'incentivador_cultural': '2', |
|
||||
'status': '1', |
|
||||
#'regime_tributacao': '', |
|
||||
#'numero_substituido': '', |
|
||||
'#serie_substituido': '', |
|
||||
'#tipo_substituido': '', |
|
||||
'valor_servico': '9.99', |
|
||||
'valor_deducao': '0', |
|
||||
'valor_pis': '0', |
|
||||
'valor_cofins': '0', |
|
||||
'valor_inss': '0', |
|
||||
'valor_ir': '0', |
|
||||
'valor_csll': '0', |
|
||||
'iss_retido': '0', |
|
||||
'valor_iss': '0', |
|
||||
'valor_iss_retido': '0', |
|
||||
'outras_retencoes': '0', |
|
||||
'base_calculo': '9.99', |
|
||||
'aliquota_issqn': '0.05', |
|
||||
'valor_liquido_nfse': '9.99', |
|
||||
'desconto_incondicionado': '', |
|
||||
'desconto_condicionado': '', |
|
||||
'codigo_servico': '0107', |
|
||||
'cnae_servico': '', |
|
||||
'codigo_tributacao_municipio': '010701', |
|
||||
'codigo_municipio': '3304557', |
|
||||
'descricao': 'Venda de servico', |
|
||||
'prestador': { |
|
||||
'cnpj': '123456789011213', |
|
||||
'inscricao_municipal': '123456', |
|
||||
}, |
|
||||
'tomador': { |
|
||||
'tipo_cpfcnpj': '1', |
|
||||
'cpf_cnpj': '12345678923256', |
|
||||
'inscricao_municipal': '123456', |
|
||||
'razao_social': 'Trustcode', |
|
||||
'tipo_logradouro': '1', |
|
||||
'logradouro': 'Vinicius de Moraes, 42', |
|
||||
'numero': '42', |
|
||||
'complemento': '', |
|
||||
'bairro': 'Corrego', |
|
||||
'cidade': '4205407', # Código da cidade, de acordo com o IBGE |
|
||||
'uf': 'SC', |
|
||||
'cep': '88037240', |
|
||||
'tomador.telefone': '', |
|
||||
'tomador.email': '' |
|
||||
}, |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
|
|
||||
retorno = gerar_nfse(certificado, **rps) |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
# retorno é um dicionário { 'received_xml':'', 'sent_xml':'', 'object': object() } |
|
||||
if dbg>=9 :print(retorno['sent_xml']) |
|
||||
if dbg>=1 :print(retorno['received_xml']) |
|
||||
|
|
||||
# retorno['object'] é um objeto python criado apartir do xml de resposta |
|
||||
if dbg>=9 :print(retorno['object']) |
|
||||
#print retorno['object'].Cabecalho.Sucesso |
|
||||
#print retorno['object'].ChaveNFeRPS.ChaveNFe.NumeroNFe |
|
||||
#print retorno['object'].ChaveNFeRPS.ChaveRPS.NumeroRPS |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue