Example #1
0
 /**
  * Genera y timbra un archivo XML, y devuelve un arreglo conteniendo la información necesaria para proveer la factura timbrada al cliente
  * @param string $usuario nombre de usuario username
  * @param string $password password de la cuenta
  * @param string $layout texto que contiene los datos del comprobante a generar, basado en la plantilla.
  * @return boolean si el timbrado es correcto
  */
 public function generarCFDI($usuario, $password, $layout)
 {
     try {
         $client = new SoapClient($this->urlFacturaDigital, array('cache_wsdl' => WSDL_CACHE_NONE, 'trace' => TRUE));
         $cfdi = $client->generarCFDIPorTexto($usuario, $password, $layout);
         return $cfdi;
     } catch (Exception $e) {
         throw new Exception($e->getMessage(), $e->getCode());
         return false;
     }
 }
Example #2
0
 /**
  * Realiza la llamada al método de timbrado del Web Service de FacturaDigital.com.mx
  *
  * @param string $usuario es el usuario registrado en FacturaDigital
  * @param string $password es el password registrado en FacturaDigital
  * @param string $layout es el texto que contiene los datos del comprobante a generar, basado en la plantilla.
  * @return array $cfdi Contiene el arreglo de cadenas de texto con la información del CFDI
  */
 public static function generarCFDI($usuario, $password, $layout)
 {
     set_time_limit(0);
     try {
         $urlFacturaDigital = "https://www.facturadigital.com.mx/sistemacfdi32/webservices/TimbradoWS.php?wsdl";
         $client = new SoapClient($urlFacturaDigital, array('cache_wsdl' => WSDL_CACHE_NONE, 'trace' => TRUE));
         // envia los parámetros al método de timbrado
         $cfdi = $client->generarCFDIPorTexto($usuario, $password, $layout);
         // llama al método de generación de CFDI
         // retornamos los datos del timbre (aquí viene la URL del XML y PDF para que los descargues a tu servidor)
         return $cfdi;
     } catch (Exception $e) {
         throw new Exception("Error al Timbrar: " . $e->getMessage(), 100);
         return false;
     }
 }