phpcfdi / sat-estado-cfdi-http-psr
Consulta el estado de un CFDI en el webservice del SAT usando HTTP (PSR-17 y PSR-18)
Installs: 24 966
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 6
Open Issues: 1
Requires
- php: >=7.3
- ext-dom: *
- phpcfdi/sat-estado-cfdi: ^1.0.2
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
Requires (Dev)
- ext-curl: *
- phpcfdi/cfdi-expresiones: ^3.0
- phpunit/phpunit: ^9.5
- sunrise/http-factory: ^1.0
- sunrise/http-message: ^1.0
- symfony/http-client: ^5.2
Suggests
- phpcfdi/cfdi-expresiones: Genera expresiones de CFDI 3.3, CFDI 3.2 y RET 1.0
README
Proyecto archivado
Este proyecto ha sido archivado en favor de phpcfdi/sat-estado-cfdi
versión 2.
Las características de este proyecto han sido integradas en phpcfdi/sat-estado-cfdi
, por lo tanto, este proyecto no es mantenido a partir de 2024-03-06.
Si implementaste la versión 1 de phpcfdi/sat-estado-cfdi
y phpcfdi/sat-estado-cfdi-http-psr
entonces puedes seguir la guía de actualización en https://github.com/phpcfdi/sat-estado-cfdi/blob/main/docs/UPGRADE_v1_v2.md para actualizar tu código.
Consulta el estado de un CFDI en el webservice del SAT usando HTTP (PSR-17 y PSR-18)
🇺🇸 The documentation of this project is in spanish as this is the natural language for intended audience.
🇲🇽 La documentación del proyecto está en español porque ese es el lenguaje principal de los usuarios.
Esta librería contiene objetos para consumir el Servicio de Consulta de CFDI del SAT usando HTTP.
Esta librería provee un objeto HttpConsumerClient
que se usa en \PhpCfdi\SatEstadoCfdi\Consumer
de la librería phpcfdi/sat-estado-cfdi
.
Para contactar al servicio no requiere ext-soap
en su lugar usa los estándares de PHP-FIG
PSR-18: HTTP Client y PSR-17: HTTP Factories.
De esta forma, puedes usar el cliente HTTP que mejor te convenga.
Los estándares de los que depende son:
- PSR-18: HTTP Client: Interfaces para clientes HTTP (el que hace la llamada POST). https://www.php-fig.org/psr/psr-18/
- PSR-17: HTTP Factories: Interfaces de fábricas de HTTP Request y Response (para PSR-7). https://www.php-fig.org/psr/psr-17/
Esta librería no contiene las implementaciones de los estándares, pero ya existen fuera del ámbito de la aplicación.
Te recomiendo probar las librerías de Sunrise
sunrise/http-client-curl
, y
sunrise/http-message
.
O puedes ver en Packagist los que te agraden:
- PSR-18: https://packagist.org/providers/psr/http-client-implementation
- PSR-17: https://packagist.org/providers/psr/http-factory-implementation
- PSR-7: https://packagist.org/providers/psr/http-message-implementation
Instalación
Usa composer
composer require phpcfdi/sat-estado-cfdi-http-psr
Ejemplo básico de uso
<?php declare(strict_types=1); use PhpCfdi\SatEstadoCfdi\Consumer; use PhpCfdi\SatEstadoCfdi\HttpPsr\HttpConsumerClient; use PhpCfdi\SatEstadoCfdi\HttpPsr\HttpConsumerFactoryInterface; // suponiendo que tienes un objeto factory que tu formaste /** @var HttpConsumerFactoryInterface $factory */ // construimos el cliente $client = new HttpConsumerClient($factory); // creamos el consumidor con nuestro cliente $consumer = new Consumer($client); // consumimos el webservice! $response = $consumer->execute('...expression'); // usamos el resultado if ($response->cancellable()->isNotCancellable()) { echo 'CFDI no es cancelable'; }
Integraciones
Puedes ver los siguientes recursos para integrar phpcfdi/sat-estado-cfdi-http-psr
a tu proyecto.
- Integración Guzzle Implementación con guzzlehttp/guzzle.
- Integración genérica Implementación de los PSR-17 y PSR-18 que decidas, ejemplo usando Sunrise.
Compatibilidad
Esta librería se mantendrá compatible con al menos la versión con soporte activo de PHP más reciente.
También utilizamos Versionado Semántico 2.0.0 por lo que puedes usar esta librería sin temor a romper tu aplicación.
Contribuciones
Las contribuciones con bienvenidas. Por favor lee CONTRIBUTING para más detalles y recuerda revisar el archivo de tareas pendientes TODO y el archivo CHANGELOG.
Copyright and License
The phpcfdi/sat-estado-cfdi-http-psr
library is copyright © PhpCfdi
and licensed for use under the MIT License (MIT). Please see LICENSE for more information.