Consulta el estado de un cfdi en el webservice del SAT
Ejecutar en la terminal:
composer require ivansotelo/cfdistate
Agregar el Service Provider en config/app.php
'providers' => [
...
IvanSotelo\CfdiState\CfdiStateServiceProvider::class,
];
php artisan vendor:publish --provider="IvanSotelo\CfdiState\CfdiStateServiceProvider" --tag=config
En el archivo .env asignar el modo produccion.
CFDI_STATE_PRODUCTION_MODE=true
Podemos recuperar la información del XML con la ayuda de nuestra clase \IvanSotelo\CfdiState\CFDIState, con el que podras acceder a los nodos y atributos. ya sea con los nombres originales o con su traducción a ingles.
Ejemplo:
use IvanSotelo\CfdiState\CFDIState;
...
$cfdi = new CFDIState('/path/to/CFDI.xml');
// Obtener información de un atributo (Con los nombres originales)
echo $cfdi->Emisor->Rfc;
// Ahora en ingles, minúsculas y en snake_case:
echo $cfdi->transmitter->rfc;
// Otras funciones:
echo $cfdi->toJson();
El servicio entrega cuatro valores: estado de la consulta, estado del cfdi, estado de cancelabilidad y estado de cancelación.
Ejemplo:
use IvanSotelo\CfdiState\CFDIState;
...
$cfdi = new CFDIState('/path/to/CFDI.xml');
// Obtener información de un atributo (Con los nombres originales)
echo $cfdi->getSatStatus();