Ejemplo n.º 1
0
def prueba_timbrado(debug = False):
  
  # RFC utilizado para el ambiente de pruebas
  rfc_emisor = "ESI920427886"
  
  # Archivos del CSD de prueba proporcionados por el SAT.
  # ver http://developers.facturacionmoderna.com/webroot/CertificadosDemo-FacturacionModerna.zip
  numero_certificado = "20001000000200000192"
  archivo_cer = "utilerias/certificados/20001000000200000192.cer"
  archivo_pem = "utilerias/certificados/20001000000200000192.key.pem"
  
  # Datos de acceso al ambiente de pruebas
  url_timbrado = "https://t1demo.facturacionmoderna.com/timbrado/wsdl"
  user_id = "UsuarioPruebasWS"
  user_password = "******"

  cfdi = genera_xml(rfc_emisor)
  cfdi = sella_xml(cfdi, numero_certificado, archivo_cer, archivo_pem)

  params = {'emisorRFC': rfc_emisor, 'UserID': user_id, 'UserPass': user_password}
  options = {'generarCBB': False, 'generarPDF': True, 'generarTXT': False}
  cliente = facturacion_moderna.Cliente(url_timbrado, params, debug)

  if cliente.timbrar(cfdi, options):
    folder = 'comprobantes'
    if not os.path.exists(folder): os.makedirs(folder)
    comprobante = os.path.join(folder, cliente.uuid)
    for extension in ['xml', 'pdf', 'png', 'txt']:
      if hasattr(cliente, extension):
        with open(("%s.%s" % (comprobante, extension)), 'wb' if extension in ['pdf','png'] else 'w') as f: f.write(getattr(cliente, extension))
        print("%s almacenado correctamente en %s.%s" % (extension.upper(), comprobante, extension))
    print 'Timbrado exitoso'
  else:
    print("[%s] - %s" % (cliente.codigo_error, cliente.error))
Ejemplo n.º 2
0
def prueba_timbrado(debug=False):

    # RFC utilizado para el ambiente de pruebas
    rfc_emisor = "TCM970625MB1"

    # Datos de acceso al ambiente de pruebas
    url_timbrado = "https://t1demo.facturacionmoderna.com/timbrado/wsdl"
    user_id = "UsuarioPruebasWS"
    user_password = "******"

    cfdi = genera_layout(rfc_emisor)

    params = {
        'emisorRFC': rfc_emisor,
        'UserID': user_id,
        'UserPass': user_password
    }
    options = {'generarCBB': False, 'generarPDF': True, 'generarTXT': False}
    cliente = facturacion_moderna.Cliente(url_timbrado, params, debug)

    if cliente.timbrar(cfdi, options):
        folder = 'comprobantes'
        if not os.path.exists(folder): os.makedirs(folder)
        comprobante = os.path.join(folder, cliente.uuid)
        for extension in ['xml', 'pdf', 'png', 'txt']:
            if hasattr(cliente, extension):
                with open(("%s.%s" % (comprobante, extension)),
                          'wb' if extension in ['pdf', 'png'] else 'w') as f:
                    f.write(getattr(cliente, extension))
                print("%s almacenado correctamente en %s.%s" %
                      (extension.upper(), comprobante, extension))
        print 'Timbrado exitoso'
    else:
        print("[%s] - %s" % (cliente.codigo_error, cliente.error))
Ejemplo n.º 3
0
def prueba_activacion(debug=False):

    # RFC utilizado para el ambiente de pruebas
    rfc_emisor = "ESI920427886"

    # Datos de acceso al ambiente de pruebas
    url_timbrado = "https://t1demo.facturacionmoderna.com/timbrado/wsdl"
    user_id = "UsuarioPruebasWS"
    user_password = "******"

    params = {
        'emisorRFC': rfc_emisor,
        'UserID': user_id,
        'UserPass': user_password
    }
    cliente = facturacion_moderna.Cliente(url_timbrado, params, debug)

    #Cambiar las variables de acuerdo a los archivos y pass del CSD que se desea activar
    archCer = 'utilerias/certificados/20001000000200000192.cer'
    archKey = 'utilerias/certificados/20001000000200000192.key'
    passKey = '12345678a'

    #invocando servicio
    if cliente.activarCancelacion(archCer, archKey, passKey):
        print 'Activacion de Cancelación exitosa'
    else:
        print "[%s] - %s" % (cliente.codigo_error, cliente.error)
Ejemplo n.º 4
0
def prueba_cancelacion(debug=False):

    # RFC utilizado para el ambiente de pruebas
    rfc_emisor = "ESI920427886"

    # Datos de acceso al ambiente de pruebas
    url_timbrado = "https://t1demo.facturacionmoderna.com/timbrado/wsdl"
    user_id = "UsuarioPruebasWS"
    user_password = "******"

    params = {
        'emisorRFC': rfc_emisor,
        'UserID': user_id,
        'UserPass': user_password
    }
    cliente = facturacion_moderna.Cliente(url_timbrado, params, debug)

    # UUID del comprobante a cancelar
    uuid = '14D50991-54D9-4F1C-9B49-CA2DE1F60190'

    if cliente.cancelar(uuid):
        print 'Cancelación exitosa'
    else:
        print "[%s] - %s" % (cliente.codigo_error, cliente.error)