function pruebaCancelacion() { /** * Niveles de debug: * 0 - No almacenar * 1 - Almacenar mensajes SOAP en archivo log. */ $debug = 1; /*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 = "******"; $parametros = array('emisorRFC' => $rfc_emisor, 'UserID' => $user_id, 'UserPass' => $user_password); $cliente = new FacturacionModerna($url_timbrado, $parametros, $debug); /*Cambiar este valor por el UUID que se desea cancelar*/ $uuid = "3F938316-7E5E-4EE4-9D38-A8C3023120C9"; $opciones = null; if ($cliente->cancelar($uuid, $opciones)) { echo "Cancelación exitosa\n"; } else { echo "[" . $cliente->ultimoCodigoError . "] - " . $cliente->ultimoError . "\n"; } }
function pruebaActivacionCancelacion() { /** * Niveles de debug: * 0 - No almacenar * 1 - Almacenar mensajes SOAP en archivo log. */ $debug = 1; /*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 = "******"; $parametros = array('emisorRFC' => $rfc_emisor, 'UserID' => $user_id, 'UserPass' => $user_password); $cliente = new FacturacionModerna($url_timbrado, $parametros, $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"; if ($cliente->activarCancelacion($archCer, $archKey, $passKey)) { echo "Activación de Cancelación exitosa\n"; } else { echo "[" . $cliente->ultimoCodigoError . "] - " . $cliente->ultimoError . "\n"; } }
function pruebaTimbrado() { /** * Niveles de debug: * 0 - No almacenar * 1 - Almacenar mensajes SOAP en archivo log. */ $debug = 1; //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 = "******"; //generar y sellar un XML con los CSD de pruebas //$cfdi = 'layout_ini.txt'; $cfdi = generarLayout($rfc_emisor); //$cfdi = sellarXML($cfdi, $numero_certificado, $archivo_cer, $archivo_pem); $parametros = array('emisorRFC' => $rfc_emisor, 'UserID' => $user_id, 'UserPass' => $user_password); $opciones = array(); /** * Establecer el valor a true, si desea que el Web services genere el CBB en * formato PNG correspondiente. * Nota: Utilizar está opción deshabilita 'generarPDF' */ $opciones['generarCBB'] = false; /** * Establecer el valor a true, si desea que el Web services genere la * representación impresa del XML en formato PDF. * Nota: Utilizar está opción deshabilita 'generarCBB' */ $opciones['generarPDF'] = false; /** * Establecer el valor a true, si desea que el servicio genere un archivo de * texto simple con los datos del Nodo: TimbreFiscalDigital */ $opciones['generarTXT'] = false; $cliente = new FacturacionModerna($url_timbrado, $parametros, $debug); if ($cliente->timbrar($cfdi, $opciones)) { //Almacenanos en la raíz del proyecto los archivos generados. $comprobante = 'comprobantes/' . $cliente->UUID; if ($cliente->xml) { echo "XML almacenado correctamente en {$comprobante}.xml\n"; file_put_contents($comprobante . ".xml", $cliente->xml); } if (isset($cliente->pdf)) { echo "PDF almacenado correctamente en {$comprobante}.pdf\n"; file_put_contents($comprobante . ".pdf", $cliente->pdf); } if (isset($cliente->png)) { echo "CBB en formato PNG almacenado correctamente en {$comprobante}.png\n"; file_put_contents($comprobante . ".png", $cliente->png); } echo "Timbrado exitoso\n"; } else { echo "[" . $cliente->ultimoCodigoError . "] - " . $cliente->ultimoError . "\n"; } }
function timbrar($numero_de_certificado = "20001000000200000192") { $sucess = false; /** * Niveles de debug: * 0 - No almacenar * 1 - Almacenar mensajes SOAP en archivo log. */ $debug = MODO_DEBUG == true ? 1 : 0; //RFC utilizado para el ambiente de pruebas $rfc_emisor = $this->mRFC; //"ESI920427886"; //Archivos del CSD de prueba proporcionados por el SAT. //ver http://developers.facturacionmoderna.com/webroot/CertificadosDemo-FacturacionModerna.zip $archivo_cer = $this->mCERT; //"utilerias/certificados/20001000000200000192.cer"; $archivo_pem = $this->mPEM; //"utilerias/certificados/20001000000200000192.key.pem"; //Datos de acceso al ambiente de pruebas $url_timbrado = FACTURACION_URL_SERVICIO; // "https://t1demo.facturacionmoderna.com/timbrado/wsdl"; $user_id = FACTURACION_USUARIO_NOMBRE; //"UsuarioPruebasWS"; $user_password = FACTURACION_USUARIO_CLAVE; //"b9ec2afa3361a59af4b4d102d3f704eabdf097d4"; //generar y sellar un XML con los CSD de pruebas $cfdi = $this->get(); $cfdi = $this->sellarXML($numero_de_certificado); $parametros = array('emisorRFC' => $rfc_emisor, 'UserID' => $user_id, 'UserPass' => $user_password); $opciones = array(); /** * Establecer el valor a true, si desea que el Web services genere el CBB en * formato PNG correspondiente. * Nota: Utilizar está opción deshabilita 'generarPDF' */ $opciones['generarCBB'] = false; /** * Establecer el valor a true, si desea que el Web services genere la * representación impresa del XML en formato PDF. * Nota: Utilizar está opción deshabilita 'generarCBB' */ $opciones['generarPDF'] = true; /** * Establecer el valor a true, si desea que el servicio genere un archivo de * texto simple con los datos del Nodo: TimbreFiscalDigital */ $opciones['generarTXT'] = false; //setLog($url_timbrado); $cliente = new FacturacionModerna($url_timbrado, $parametros, $debug); if ($cliente->timbrar($cfdi, $opciones)) { //Almacenanos en la raíz del proyecto los archivos generados. $comprobante = PATH_FACTURAS . $cliente->UUID; $this->mUUID = $cliente->UUID; $this->mComprobante = $comprobante; if ($cliente->xml) { $this->mMessages .= "OK\tXML almacenado correctamente en {$comprobante}.xml\n"; file_put_contents($comprobante . ".xml", $cliente->xml); $this->mXML = $cliente->xml; } if (isset($cliente->pdf)) { $this->mMessages .= "OK\tPDF almacenado correctamente en {$comprobante}.pdf\n"; file_put_contents($comprobante . ".pdf", $cliente->pdf); $this->mPDF = $cliente->pdf; } if (isset($cliente->png)) { $this->mMessages .= "OK\tCBB en formato PNG almacenado correctamente en {$comprobante}.png\n"; file_put_contents($comprobante . ".png", $cliente->png); } $this->mMessages .= "OK\tTimbrado exitoso\n"; $sucess = true; } else { $this->mMessages .= "ERROR\t[" . $cliente->ultimoCodigoError . "] - " . $cliente->ultimoError . "\n"; } return $sucess; }