Skip to content

Instantly share code, notes, and snippets.

@Reflej0

Reflej0/validarCAECAI.php

Last active Aug 4, 2018
Embed
What would you like to do?
Validación de CAE/CAI mediante PHP utilizando el webservice de AFIP mediante Soapclient
<?php
public function validarComprobante($comprobante)
{
/*No se incluyen los pasos previos de obtencion del WSAA*/
$serviceUrl = "https://wswhomo.afip.gov.ar/WSCDC/service.asmx?WSDL"; // Homologación.
$_serviceUrl = "https://servicios1.afip.gov.ar/WSCDC/service.asmx?WSDL"; // Producción.
$client = new \Soapclient($serviceUrl);
//Lote de prueba.
$parametros = new \stdClass();
$parametros->Auth = new \stdClass();
$parametros->Auth->Token = (string)$WSAA->Token;
$parametros->Auth->Sign = (string)$WSAA->Sign;
$parametros->Auth->Cuit = intval("Cuit asociado al WSAA");
$parametros->CmpReq = new \stdClass();
$parametros->CmpReq->CbteModo = (string)"CAE";
$parametros->CmpReq->CuitEmisor = intval("20267565393");
$parametros->CmpReq->PtoVta = intval("4002");
$parametros->CmpReq->CbteTipo = intval("1");
$parametros->CmpReq->CbteNro = intval("109");
$parametros->CmpReq->CbteFch = (string)"20131227";
$parametros->CmpReq->ImpTotal = doubleval("121.0");
$parametros->CmpReq->CodAutorizacion = (string)"63523178385550";
$parametros->CmpReq->DocTipoReceptor = (string)"80";
$parametros->CmpReq->DocNroReceptor = (string)"30628789661";
$result = $client->ComprobanteConstatar($parametros);
$result = $client->ComprobanteConstatar($parametros);
//Comprender los numeros de errores https://www.sos-contador.com/2017/08/02/errores-habituales-al-pedir-cae-factura-electronica-afip/
//Manual oficial para comprender entradas y salidas. https://www.afip.gob.ar/ws/WSCDCV1/ManualDelDesarrolladorWSCDCV1.pdf
//No-Oficial comprender los errores http://www.sistemasagiles.com.ar/trac/wiki/ManualPyAfipWs#ErroresFrecuentes
//Tratamiento de errores.
$resultado = array();
$resultado["resultado"] = $result->ComprobanteConstatarResult->Resultado;
if(isset($result->ComprobanteConstatarResult->Errors->Err->Code))
$resultado["error_nro"] = $result->ComprobanteConstatarResult->Errors->Err->Code;
if(isset($result->ComprobanteConstatarResult->Errors->Err->Msg))
$resultado["error_msg"] = $result->ComprobanteConstatarResult->Errors->Err->Msg;
if(isset($result->ComprobanteConstatarResult->Observaciones->Obs->Code))
$resultado["observacion_nro"] = $result->ComprobanteConstatarResult->Observaciones->Obs->Code;
if(isset($result->ComprobanteConstatarResult->Observaciones->Obs->Msg))
$resultado["observacion_msg"] = $result->ComprobanteConstatarResult->Observaciones->Obs->Msg;
return $resultado;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.