Los parámetros de conexión al PAC van separados por ; si el valor de algún parámetro lleva ; , debe de escaparse con \ , Ej.:
usuario=facturista;com quedaría como usuario=facturista\;com
* Ecodex
Numero de PAC: 1
cfdi_timbrar(h,"cfdi_ejemplo.xml","cfdi_ejemplo_timbrado.xml",1,"RFC=AAA010101AAA;TransaccionID=456;Servidor=pruebas.ecodex.com.mx;Puerto=2044;Sellar=1");
TransaccionID debe ser un número único del cliente para identificar el CFDI. Sellar=1 indica al PAC Ecodex que debe volver a sellar el CFDI.
- Cancelación
cfdi_cancelar(h,1,"RFC=AAA010101AAA;TransaccionID=456;UUID=E4C5CF3-D4D5C4;Servidor=pruebas.ecodex.com.mx;Puerto=2044");
* Folios Digitales
Para el timbrado con este PAC, el ultimo parámetro de cfdi_timbrar() sería:
"PAC=FoliosDigitales;usuario=DEMO949494FDI;password=OG2RbkYY%V=;Pruebas=1"
Poner el usuario y contraseña que le de el PAC en vez de los del ejemplo .
Para la cancelacion la cadena de parámetros sería:
"PAC=FoliosDigitales;RFCEmisor=AAA010101AAA;usuario=DEMO949494FDI;password=OG2RbkYY%V=;ArchivoLlavePrivada=aaa010101aaa__csd_01.key;ArchivoCertificado=aaa010101aaa__csd_01.cer;Contrasena=12345678a;listaCFDI=ABCD-EFGH,JKLM-NOPQ;ArchivoRespuesta=salida.txt"
listaCFDI es una lista de folios separados por coma .
* Diverza
if ( cfdi_timbrar(h, "cfdi_ejemplo.xml", "cfdi_ejemplo_timbrado.xml", 6, "PAC=Diverza;RefID=a12345678;RfcReceptor=MEVA7809229CA;RfcEmisor=AAA010101AAA;ArchivoRespuesta=diverza.txt;SSL=1;Servidor=demotf.buzonfiscal.com;Puerto=443;ContrasenaCertificadoCliente=AAA010101AAA;ArchivoCertificadoCliente=AAA010101AAA.pem") !=0 ) ; //Exito
Aquí desglosamos el último parámetro:
RefID Identificador único para tu CFDI, sí envían el mismo en el futuro, les regresará el mismo timbre. RfcReceptor El receptor de la factura RfcEmisor El RFC que registraron para la conexión con el PAC (usamos el de pruebas: AAA010101AAA) ArchivoRespuesta Ahí se guarda lo que respondió el PAC SSL =1 indica que usaremos SSL (HTTPS) Servidor Servidor del PAC Puerto Puerto para conectarnos ContrasenaCertificadoCliente La contraseña de nuestro certificado para conectarnos al PAC ArchivoCertificadoCliente El archivo de certificado .pem para conectarnos al PAC
Al ser la dll de prueba, su XML debe estar sellado con el CSD de AAA010101AAA , ya que en automático pone el RFC emisor a AAA010101AAA . Si sellan con otro CSD, el PAC indicaría que hay un error en el sello.
Antes de timbrar, deberán usar la función cfdi_xml_cargar:
// Carga el XML del archivo rutaFuente en el manejador h, devuelve el nuevo valor para el manejador // Valores devueltos: != 0 éxito , == 0 falla
int cfdi_xml_cargar(int h, string rutaFuente);
El valor devuelto es lo que le pasarían como primer parámetro a la función cfdi_timbrar() .
Esto es necesario porque Diverza sólo devuelve el timbre, entonces, necesitamos tener cargado el XML para poder insertar la información del timbre en el nodo adecuado del XML.
Si desean probar con la consola de windows, la orden sería como esta:
facturista.exe --timbrar cfdi_sellado.xml cfdi_timbrado.xml "PAC=Diverza;RefID=a12345678;RfcReceptor=MEVA7809229CA;RfcEmisor=AAA010101AAA;ArchivoRespuesta=diverza.txt;SSL=1;Servidor=demotf.buzonfiscal.com;Puerto=443;ContrasenaCertificadoCliente=AAA010101AAA;ArchivoCertificadoCliente=AAA010101AAA.pem"
- Cancelación
Los parámetros del PAC van así:
"PAC=Diverza;uuid=1234;rfcReceptor=MEVA7809229CA;rfcEmisor=AAA010101AAA;ArchivoRespuesta=diverza_cancelacion.txt;SSL=1;Servidor=demonegocios.buzonfiscal.com;Puerto=443;ContrasenaCertificadoCliente=AAA010101AAA;ArchivoCertificadoCliente=AAA010101AAA.pem"
uuid: folio fiscal para cancelar
Los demás parámetros ya los conocen. Notar que algunos difieren de los de timbrado en la primera letra. Hemos tratado de que los nombres de parámetros sean iguales a como los definen en el webservice.
* Ateb
Numero de PAC: 8 Parametros de PAC: "PAC=Ateb;User=miUsuario;Password=miContrasena;RFC=AAA010101AAA;NoSerie=20001000000100005867;ArchivoRespuesta=respuestaAteb.txt;Servidor=test.timbrado.com.mx;Puerto=80"
Poner el usuario y contraseña que le de el PAC en vez de los del ejemplo .
NoSerie es el número de certificado del emisor, pueden obtenerlo con esta función:
// Devuelve el número de certificado del CFDI relacionado con el manejador h // Si rutaCertificado se refiere a un archivo de certificado existente, nos da el número de certificado de ese archivo
string cfdi_numero_certificado(int h, string rutaCertificado); Ej. cfdi_numero_certificado(h, 'nombre_archivo.cer')
Ejemplo en línea de comandos:
facturista.exe --timbrar cfdi_sellado.xml cfdi_timbrado.xml "PAC=Ateb;User=miUsuario;Password=miContrasena;RFC=AAA010101AAA;NoSerie=20001000000100005867;ArchivoRespuesta=respuestaAteb.txt;Servidor=test.timbrado.com.mx;Puerto=80"
* Finkok
"PAC=Finkok;username=miUsuario@facturista.com;password=miContrasena;Servidor=demo-facturacion.finkok.com;Puerto=80"
username Usuario Finkok password Contraseña Finkok Servidor El servidor que le especificó el PAC Puerto El puerto de conexión al servidor
Ejemplo en línea de comandos:
facturista.exe --timbrar /tmp/cfdi_sellado_php.xml /tmp/cfdi_timbrado_finkok.xml "PAC=Finkok;username=miUsuario@facturista.com;password=miContrasena;Servidor=demo-facturacion.finkok.com;Puerto=80"
- Cancelación
"PAC=Finkok;taxpayer_id=AAD990814BP7;UUIDS=07C48295-7BCE-49F5-9B32-91DC13A160E7;username=miUsuario@facturista.com;password=miContrasena;ArchivoLlavePrivada=/tmp/aad990814bp7_1210261233s.key;Contrasena=12345678a;ArchivoCertificado=/tmp/aad990814bp7_1210261233s.cer;Servidor=demo-facturacion.finkok.com;Puerto=80;ArchivoRespuesta=finkok.res"
taxpayer_id RFC emisor UUIDS Lista de folios a cancelar, separados por coma sin son más de uno username Usuario Finkok password Contraseña Finkok ArchivoLlavePrivada Ruta del archivo de llave privada Contrasena Contraseña del archivo de llave privada ArchivoCertificado Ruta del archivo de certificado Servidor El servidor que le especificó el PAC Puerto El puerto de conexión al servidor ArchivoRespuesta Archivo donde se graba la respuesta del PAC para esta operacion
|