Questo è un wrapper Laravel per il pacchetto datomatic/carta-del-docente.
- Laravel >= 9.0
- PHP >= 8.0
- ext-soap
Puoi installare il pacchetto via composer:
composer require datomatic/laravel-carta-del-docente
Per utilizzare la carta del docente in ambiente di test non serve fare nulla, mentre per generare il certificato per l'ambiente di produzione bisogna seguire la seguente guida.
In ambiente di produzione dobbiamo andare a inserire questi due valori nel file .env:
CARTA_DEL_DOCENTE_CERTIFICATE=
mettendo il path al certificando partendo dalla root del progetto (evitate di metterlo accessibile da esterno, quindi non mettetelo nella cartella public)CARTA_DEL_DOCENTE_CERTIFICATE_PASSWORD
la password del certificato- opzionalmente
CARTA_DEL_DOCENTE_ENV
perchè di default viene presoAPP_ENV
del progetto
È possibile pubblicare le configurazioni della carta-del-docente con il comando:
php artisan vendor:publish --tag="laravel-carta-del-docente-config"
Questo è il contenuto del file di configurazione pubblicato:
return [
'certificatePath' => env('CARTA_DEL_DOCENTE_CERTIFICATE'),
'certificatePassword' => env('CARTA_DEL_DOCENTE_CERTIFICATE_PASSWORD'),
'environment' => env('CARTA_DEL_DOCENTE_ENV', config('app.env')),
];
L'utilizzo del pacchetto è molto semplice e si può fare attraverso due modi: facade e service container. Per i dettagli delle funzioni potete guardare il pacchetto base datomatic/carta-del-docente e la documentazione ufficiale.
La Facade è il metodo più semplice perché basta richiamare CartaDelDocente
e otteniamo direttamente un client dal quale possiamo staticamente richiamare le funzionalità.
use Datomatic\LaravelCartaDelDocente\Facades\CartaDelDocente;
CartaDelDocente::merchantActivation();
CartaDelDocente::check(1, 'voucher');
CartaDelDocente::confirm(1, 'voucher', 52.5);
Tramite service container bisogna richiamare la classe Datomatic\CartaDelDocente\CartaDelDocenteClient
per ottenere l'istanza del client:
use Datomatic\CartaDelDocente\CartaDelDocenteClient;
//Resolve
$client = App::make(CartaDelDocenteClient::class);
$client = app(CartaDelDocenteClient::class);
$client = resolve(CartaDelDocenteClient::class);
//Automatic Injection
public function __construct(public CartaDelDocenteClient $client){}
$client->merchantActivation();
$client->check(1, 'voucher');
$client->confirm(1, 'voucher', 52.5);
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.