Este ejemplo usa el identificador "1" como 3°er argumento del método registrar. Debe usar un identificador único y diferente para obtener CAE diferentes en cada ejecución. Después de probar el ejemplo lea toda la documentación referente a "identificador" y "reproceso" para una explicación detallada sobre la función de este argumento.
NOTAS:
Este ejemplo usa la versión PHP 5 incluido en WAMPServer 2.0.
Solo funciona en PHP bajo windows ya que hace uso de la sentencia new COM para llamar a la clase COM del OCX.
Al acceder a la clase OCX tener en cuenta las configuraciones de estas directivas para PHP.
Usar fechas del día.
Como se muestra en el código no deben pasarse parámetros directamente sino usar variables intermedias.
Desde PHP se debe referenciar la clase como WSAFIPFEPHP. Por lo demás la clase tiene exactamente los mismos métodos y propiedades tal como se explica en esta documentación.
<?php
$fe = new COM("WSAFIPFEPHP.FACTURA") or die("no se pudo crear clase WSAFIPFEPHP.factura");
$modo = 0;
$cuit = "aqui cuit sin separadores del emisor";
$certificado = "ruta y nombre del certificado *.pfx";
$licencia = " ";
$resultado = $fe->iniciar($modo, $cuit, $certificado, $licencia);
echo "resultado iniciar {$fe->ultimomensajeerror}\n";
$resultado = $fe->obtenerticketacceso();
echo "resultado acceso {$resultado}\n";
echo "detalle acceso {$fe->ultimomensajeerror}\n";
$fe->FECabeceraCantReg = 1;
$fe->FECabeceraPresta_serv = 1;
$fe->indice = 0;
$fe->FEDetalleFecha_vence_pago = "20090630";
$fe->FEDetalleFecha_serv_desde = "20090630";
$fe->FEDetalleFecha_serv_hasta = "20090630";
$fe->FEDetalleImp_neto = 100;
$fe->FEDetalleImp_total = 121;
$fe->FEDetalleFecha_cbte = "20090630";
$fe->FEDetalleNro_doc = "aqui cuit del cliente inscripto";
$fe->FEDetalleTipo_doc = 80;
$puntoventa = 1;
$tipo = 1;
$identificador ="1";
$resultado = $fe->registrar($puntoventa, $tipo,$identificador);
echo "resultado iniciar {$fe->ultimomensajeerror}\n";
echo "error AFIP {$fe->permsg}\n";
echo "resultado repetido (reproceso) {$fe->FERespuestaReproceso}\n";
echo "CAE {$fe->FERespuestaDetalleCAE}\n";
echo "numero {$fe->FERespuestaDetalleCbt_desde}\n";
echo "fin";
$fe = null;
?>