Une mise en œuvre des exigences, des processus et des normes de l'e-involution de Zatca de Zatca en PHP.
Si vous prévoyez d'utiliser le module EGS intégré pour générer des clés et CSR. Le module EGS dans le package dépend de l'installation d'OpenSSL dans le système sur lequel il fonctionne. Il est utilisé pour générer une paire de clés ECDSA à l'aide de la courbe secp256k1 . également pour générer et signer un RSE.
Toutes les autres parties de l'emballage fonctionneront bien sans OpenSSL . (ce qui signifie qu'il prend en charge les frameworks réactifs et autres)
Tous les avenir principal requis pour embarquer un nouvel EGS. Créer, signer et signaler qu'une facture fiscale simplifiée est actuellement prise en charge.
composer update ou composer install pour installer des dépendances.php -S localhost:8000Voir l'exemple complet à phase-1.php et phase-2.php.
// New Invoice and EGS Unit
$ egs = new ZATCA EGS ( $ egsUnit );
$ egs -> production = false ;
// New Keys & CSR for the EGS
list ( $ privateKey , $ csr ) = $ egs -> generateNewKeysAndCSR ( ' solution_name ' );
// Issue a new compliance cert for the EGS
list ( $ requestId , $ binarySecurityToken , $ secret ) = $ egs -> issueComplianceCertificate ( ' 123345 ' , $ csr );
// Sign invoice
list ( $ signedInvoiceString , $ invoiceHash , $ qr ) = $ egs -> signInvoice ( $ invoice , $ egsUnit , $ binarySecurityToken , $ privateKey );
// Check invoice compliance
echo ( $ egs -> checkInvoiceCompliance ( $ signedInvoiceString , $ invoiceHash , $ binarySecurityToken , $ secret ));
echo PHP_EOL ; zatca-qr est influencé par zatca-xml-php qui n'est pas affilié, associé, autorisé, approuvé par, ou de quelque manière que ce soit officiellement lié à Zatca (Zakat, Tax and Customs Authority), ou dans l'une de ses filiales ou ses sociétés affiliées. Le site officiel de Zatca se trouve sur https://zatca.gov.sa.
Toutes les contributions sont appréciées.
Je ne prévois pas de soutenir Tax Invoices (pas simplifiées). Si quelqu'un veut s'attaquer à cette partie.