csfacturacion / csplug-php
SDK PHP para consumir los recursos del servicio CSPlug
Requires
- php: ^8.3
- symfony/http-client: ^7.1
Requires (Dev)
- illuminate/support: ^10.0 || ^11.0 || ^12.0
- ramsey/devtools: ^2.0
Suggests
- illuminate/support: Required to use the Laravel Service Provider and Facade
README
SDK PHP oficial para consumir los recursos de la API del servicio CSPlug.
馃摜 Instalaci贸n
Puedes instalar la librer铆a v铆a Composer:
composer require csfacturacion/csplug-php
馃洜 Requisitos
- PHP >= 8.1
- Extensiones de PHP requeridas por
symfony/http-client
馃殌 Uso B谩sico
Para hacer solicitudes a la API de CSPlug, necesitas inicializar el cliente CsPlugClient configurando tus credenciales de acceso (Usuario y Contrase帽a).
use Csfacturacion\CsPlug\CsPlugClient; $client = CsPlugClient::create([ 'base_uri' => 'https://csplug.csfacturacion.com', // Opcional, URI por defecto 'username' => 'tu_usuario', 'password' => 'tu_password', ]);
馃摎 Recursos Disponibles
El cliente te da acceso a los diversos recursos disponibles de la API:
- CFDI:
$client->cfdi() - Emisores Hijos:
$client->emisoresHijos() - Certificados:
$client->certificados() - Certificados Emisor Hijo:
$client->certificadosEmisorHijo() - Series:
$client->series() - Series Emisor Hijo:
$client->seriesEmisorHijo() - Plantillas:
$client->plantillas()
馃挕 Ejemplo de Uso en Recursos
// Obtener una lista de CFDI's $facturas = $client->cfdi()->list(); // Crear un CFDI $cfdi = $client->cfdi()->create([ // array con la estructura y detalles requeridos para el payload del CFDI ]);
馃敡 Integraci贸n con Laravel
El paquete incluye soporte nativo y un Proveedor de Servicios (ServiceProvider) para Laravel.
Al instalar v铆a Composer, Laravel realiza el Auto-Discovery por lo que no necesitas registrar el Provider manualmente.
Configuraci贸n (Variables de Entorno .env)
Si usas Laravel, puedes configurar las credenciales usando tu archivo .env:
CSPLUG_BASE_URI=https://csplug.csfacturacion.com CSPLUG_USERNAME=tu_usuario CSPLUG_PASSWORD=tu_password CSPLUG_SERVICE=CSP CSPLUG_TIMEOUT=30 CSPLUG_CONNECT_TIMEOUT=10 CSPLUG_DEBUG=false
Puedes publicar el archivo de configuraci贸n en tu proyecto ejecutando:
php artisan vendor:publish --provider="Csfacturacion\CsPlug\Laravel\CsPlugServiceProvider"
Uso del Facade en Laravel
Puedes invocar al cliente del SDK desde donde sea utilizando su Facade local CsPlug:
use CsPlug; // Utiliza CsPlug est谩ticamente tal como usar铆as un cliente $emisores = CsPlug::emisoresHijos()->list();
馃摑 Contribuir
Si deseas contribuir, por ejemplo ejecutando tests y control de calidad (Lints):
composer install
composer test
Este proyecto cuenta con herramientas pre-configuradas para calidad de c贸digo (phpcs, phpstan, psalm, y phpunit).
馃搫 Licencia
Este proyecto est谩 distribuido bajo los t茅rminos de la Licencia MIT.