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))
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))
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)
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)