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

Related tags

Miscellaneous sender
Overview

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.

Comments
Owner
Fattura Elettronica - PHP
Fattura Elettronica - PHP
Recoded, added features, removed useless stuff, more efficent code, PER PLAYER TEXT

WFT - 1.2.0 (BETA) Hello, and welcome to WFT. NOW IN API 4.0 This is the official recode of my old plugin WFT, witch had some issues. Overall I was no

null 9 Jul 4, 2022
ReintegrApp è una Web Application gestionale sviluppata senza fini di lucro da Riccardo Riggi per organizzazioni di volontariato che operano nel campo dell'emergenza/urgenza

ReintegrApp ReintegrApp è una Web Application gestionale sviluppata senza fini di lucro da Riccardo Riggi per organizzazioni di volontariato che opera

Riccardo Riggi 3 Nov 27, 2021
Laragon MultiPHP per App + PECL Module + Extension manager + Ini Manager

LMPA Laragon MultiPHP per App This tools allow you to run multiple PHP version per app with Laragon, so you can have multiple site running different p

Gilbert Paquin 8 Oct 10, 2022
Modello base con tutto il docker configurato per php7.4, mariadb, vue3, apache...con esempi di component e chiamate rest interne

Applicazione base per utilizzare laravel con docker, php7.4, apache, mariadb10, vue3 Semplice installazione corredate di rotte web e api di base, 3 co

null 0 Jul 14, 2022
A Magento 2 module that allows for creating discrete PDP (Product Detail Pages) page layouts for customers landing on the site from a PPC (Pay Per Click) link/ad by allowing routing to the same pages using a `/ppc/` prefix in the URL path.

A Magento 2 module that allows for creating discrete PDP (Product Detail Pages) page layouts for customers landing on the site from a PPC (Pay Per Click) link/ad by allowing routing to the same pages using a `/ppc/` prefix in the URL path.

null 16 Nov 11, 2022
Fatture in Cloud SDK (Software Development Kit) for PHP

FattureInCloud PHP SDK Request informations In every request description you will be able to find some additional informations about context, permissi

Fatture in Cloud 25 Dec 5, 2022
An online communication application that provides a real-time or live transmission of text messages from sender to receiver.

Realtime-chat-application An online communication application that provides a real-time or live transmission of text messages from sender to receiver.

isha 2 Aug 15, 2022
Simple PSR-7 compatible response sender

Simple PSR-7 compatible response sender

Lazzard 4 Nov 5, 2022
A ready-to-use PHP script for sending Emails with an HTML Template will use a Gmail account as the sender and you will not need any email server. Powered by PHPMailer.

Gmail Email Sender by PHP A ready-to-use PHP script for sending Emails with an HTML Template will use a Gmail account as the sender and you will not n

Max Base 4 Oct 29, 2022
An alternative Redis session handler for PHP featuring per-session locking and session fixation protection

RedisSessionHandler An alternative Redis session handler featuring session locking and session fixation protection. News phpredis v4.1.0 (released on

Marcel Hernandez 117 Oct 19, 2022
Merge Excel Files to single excel file per columns

Merge Excel Files to single excel file per columns

Max Base 3 Apr 26, 2021
Per-user settings repository system for Laravel

Laraconfig Per-user settings repository system for Laravel. This package allows users to have settings that can be queried, changed and even updated,

Italo 170 Oct 26, 2022
A Zabbix 5.4 module to group items under Monitoring -> Latest data per Tag as it used to be with Application grouping in previous versions of Zabbix

zabbix-module-latest-data Written according to Zabbix official documentation https://www.zabbix.com/documentation/current/manual/modules A Zabbix 5.4

BGmot 18 Dec 6, 2022
A simple package that helps PHP developers to generate the QR code signature as per Zakat authority (ZATCA) requirements of Saudi Arabia.

A PHP package that implements the e-invoice QR code signature requirements as designed by the Zakat authority of Saudi Arabia. How to install? compose

Muktar Sayed Saleh 5 Jun 13, 2022
Recoded, added features, removed useless stuff, more efficent code, PER PLAYER TEXT

WFT - 1.2.0 (BETA) Hello, and welcome to WFT. NOW IN API 4.0 This is the official recode of my old plugin WFT, witch had some issues. Overall I was no

null 9 Jul 4, 2022
ReintegrApp è una Web Application gestionale sviluppata senza fini di lucro da Riccardo Riggi per organizzazioni di volontariato che operano nel campo dell'emergenza/urgenza

ReintegrApp ReintegrApp è una Web Application gestionale sviluppata senza fini di lucro da Riccardo Riggi per organizzazioni di volontariato che opera

Riccardo Riggi 3 Nov 27, 2021
Laragon MultiPHP per App + PECL Module + Extension manager + Ini Manager

LMPA Laragon MultiPHP per App This tools allow you to run multiple PHP version per app with Laragon, so you can have multiple site running different p

Gilbert Paquin 8 Oct 10, 2022
A Laravel package that allows you to use multiple ".env" files in a precedent manner. Use ".env" files per domain (multi-tentant)!

Laravel Multi ENVs Use multiple .envs files and have a chain of precedence for the environment variables in these different .envs files. Use the .env

Allyson Silva 48 Dec 29, 2022
Modello base con tutto il docker configurato per php7.4, mariadb, vue3, apache...con esempi di component e chiamate rest interne

Applicazione base per utilizzare laravel con docker, php7.4, apache, mariadb10, vue3 Semplice installazione corredate di rotte web e api di base, 3 co

null 0 Jul 14, 2022
A Magento 2 module that allows for creating discrete PDP (Product Detail Pages) page layouts for customers landing on the site from a PPC (Pay Per Click) link/ad by allowing routing to the same pages using a `/ppc/` prefix in the URL path.

A Magento 2 module that allows for creating discrete PDP (Product Detail Pages) page layouts for customers landing on the site from a PPC (Pay Per Click) link/ad by allowing routing to the same pages using a `/ppc/` prefix in the URL path.

null 16 Nov 11, 2022