Skip to content

datomatic/laravel-carta-del-docente

Repository files navigation

Laravel-Carta-del-Docente-DarkLaravel-Carta-del-Docente-Light

Laravel Carta del Docente

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

Questo è un wrapper Laravel per il pacchetto datomatic/carta-del-docente.

Requisiti

  • Laravel >= 9.0
  • PHP >= 8.0
  • ext-soap

Installazione

Puoi installare il pacchetto via composer:

composer require datomatic/laravel-carta-del-docente

Configurazione

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 preso APP_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')),
];

Utilizzo

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.

Facade

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);

Service container

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);

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.