Skip to content

Implementazione generica di Sender per l'invio di Fatture Elettroniche ad intermediari per lo SDI

License

Notifications You must be signed in to change notification settings

fatturaelettronicaphp/sender

Repository files navigation

Implementazione generica di Sender per l'invio di Fatture Elettroniche ad intermediari per lo SDI

Latest Version on Packagist Tests Total Downloads

Implementazione generica di Sender per l'invio di Fatture Elettroniche ad intermediari per lo SDI

Installazione e Utilizzo

E' suggerito (ma non obbligatorio) l'utilizzo della libreria principale per la lettura, scrittura e validazione dei file xml.

Questo pacchetto funziona anche indipendentemente utilizzando la stringa XML del file di fatturazione elettronica.

L'utilizzo ricalca quello di Flysystem, popolare libreria di gestione file in PHP.

Sono disponibili vari "adapter" per i vari provider di Hub SDI, ed è possibile scrivere i propri adapter nel caso non siano disponibile nella libreria. Sono benvenute PR per l'aggiunta di nuovi adapter.

La procedura consiste nel scegliere un adapter e installarlo con composer. Nell'esempio si vede come fare per Aruba

composer require fatturaelettronicaphp/sender fatturaelettronicaphp/sender-aruba

E' poi necessario instanziare l'adapter e utilizzarlo tramite il Sender principale:

$adapter = new \FatturaElettronicaPhp\Sender\Adapter\Aruba\ArubaAdapter([
    'username' => '[USERNAME]',
    'password' => '[PASSWORD]',
    'environment' => \FatturaElettronicaPhp\Sender\Adapter\Aruba\ArubaAdapter::ENV_PRODUCTION,
]) 
$sender = new \FatturaElettronicaPhp\Sender\Sender($adapter);
$sender->send('[XML]');

Di default il pacchetto cerca in automatico una implementazione PSR-18 di un client HTTP per inviare le richieste ai sender, per cui se il progetto nel quale questa libreria viene inserita ha già a disposizione un client http, il sistema lo rileva in automatico e lo utilizza di default.

E' comunque possibile installare un qualunque client http compatibile e fornirlo alla librerie Tramite la funzione withClient.

$client = new GuzzleHttp\Client;
$sender = new \FatturaElettronicaPhp\Sender\Sender($adapter);
$sender->withClient($client);

Scrivere un Adapter

E' possibile scrivere un nuovo adapter. Tale adapter deve solo implementare l'interfaccia FatturaElettronicaPhp\Sender\Contracts\SenderAdapterInterface.

Per un più veloce sviluppo, si consiglia di estendere la classe FatturaElettronicaPhp\Sender\Adapter\AbstractAdapter che fornisce le basi per la gestione tramite richieste HTTP.

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Implementazione generica di Sender per l'invio di Fatture Elettroniche ad intermediari per lo SDI

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages