Crear certificado para usar web services de AFIP en PHP
Con pocas líneas de código
Podemos usar Afip SDK para crear certificados y evitar hacerlo de manera manual, ya que no solo es difícil, sino que puede tener errores humanos.
Instalación
Lo primero es instalar la librería Afip.php
Composer
composer require afipsdk/afip.php
Manual
-
Descargar la librería Afip.php y copiar la carpeta src en nuestro proyecto. Link de descarga directo
-
Incluimos el archivo src/Afip.php en nuestro proyecto
Creamos una instancia de la clase Afip
include 'ruta/a/src/Afip.php';
/**
* CUIT vinculado al certificado
*
* Podes usar 20409378472 para desarrollo
* sin necesidad de key o cert
**/
$CUIT = 20409378472;
$afip = new Afip(array('CUIT' => $CUIT));
Creamos el certificado
Ahora nos queda cambiar las variables en nuestro código.
¡Paciencia! Al ejecutarlo toma unos cuantos segundos en crearse el certificado (a veces mas de 30 segundos)
// Usuario para ingresar a AFIP.
// Para la mayoria es el mismo CUIT, pero al administrar
// una sociedad el CUIT con el que se ingresa es el del administrador
// de la sociedad.
$username = '201111111111';
// Contraseña para ingresar a AFIP.
$password = 'contraseñadeafip';
// Alias para el certificado (Nombre para reconocerlo en AFIP)
// un alias puede tener muchos certificados, si estas renovando
// un certificado pordes utilizar le mismo alias
$alias = 'afipsdk';
// Creamos el certificado (¡Paciencia! Esto toma unos cuantos segundos)
$res = $afip->CreateCert(username, password, alias);
// Mostramos el certificado por pantalla
var_dump($res->cert);
// Mostramos la key por pantalla
var_dump($res->key);
// ATENCION! Recorda guardar el cert y key ya que
// la libreria por seguridad no los guarda, esto depende de vos.
// Si no lo guardas vas tener que generar uno nuevo con este metodo
Ya tenemos nuestro certificado y key para acceder a los web services de AFIP.
Ahora para poder acceder a un web service primero debemos Autorizar uso de web services de AFIP en PHP.
Lo único que nos queda es pasar a modo producción, para más información de cómo hacerlo pueden dirigirse a la documentación de la librería https://docs.afipsdk.com/