Skip to content

clonixdev/sri-sender

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SRI Sender 🇪🇨

Paquete para hacer recepción y autorización de XML firmados (Factura, Guía de remisión, Nota crédito, Nota débito y Comprobante de retención) a los servidores SRI (Ecuador).

Instalación

composer require clonixdev/sri-sender

Uso

use DazzaDev\SriSender\Sender;

// Instanciar el sender
$sender = new Sender(test: true); // Usar entorno de pruebas (test: true)

// XML como string
$xmlContent = file_get_contents(__DIR__ . '/factura.xml');

// Enviar XML a recepción
$validationResult = $sender->validate($xmlContent);

// Enviar XML a autorización
$accessKey = 'clave_acceso_del_documento';
$authorizationResult = $sender->authorize($accessKey);

Recepción y Autorización en un solo paso

// Enviar XML a recepción y autorización en un solo paso
$result = $sender->send($accessKey, $xmlContent);

if ($result['success']) {
    echo "Validación y autorización exitosas!";
    echo "Status: " . $result['status'];
} else {
    echo "Validación y/o autorización fallidas: " . $result['error'];
}

Uso con Configuración Personalizada

use DazzaDev\SriSender\Sender;
use DazzaDev\SriSender\Config\SriConfig;

// Configuración personalizada
$config = new SriConfig(
    soapOptions: [
        'connection_timeout' => 300,
        'default_socket_timeout' => 300,
        'user_agent' => 'My Custom Agent'
    ],
    retryConfig: [
        'maxAttempts' => 3,
        'delaySeconds' => 2
    ]
);

// Instanciar el sender con la configuración personalizada
$sender = new Sender(test: false, $config);

// Validar XML
try {
    $result = $sender->validate($xmlContent);

    if ($result['success']) {
        echo "Validación exitosa!";
        echo "Status: " . $result['status'];
    } else {
        echo "Validación fallida: " . $result['error'];
    }
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}

Generar y Firmar XML

Para generar y firmar XML, puedes utilizar los paquetes:

Contribuciones

Contribuciones son bienvenidas. Si encuentras algún error o tienes ideas para mejoras, por favor abre un issue o envía un pull request. Asegúrate de seguir las guías de contribución.

Autor

SRI Sender fue creado por DAZZA.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

About

Paquete para hacer recepción y autorización de XML firmados (Factura, Guía de remisión, Nota crédito, Nota débito y Comprobante de retención) a los servidores SRI (Ecuador).

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • PHP 100.0%