Uma implementação dos requisitos, processos e padrões e padrões de investimento eletrônico da Arábia Saudita Zatca no PHP.
Se você planeja usar o módulo EGS integrado para gerar teclas e CSR. O módulo EGS no pacote depende da instalação do OpenSSL no sistema em que está sendo executado. Ele está sendo usado para gerar um par de teclas ECDSA usando a curva secp256k1 . Também para gerar e assinar uma CSR.
Todas as outras partes do pacote funcionarão bem sem OpenSSL . (o que significa que ele suporta estruturas reagidas e outras estruturas)
Todos os futuros principais necessários para a bordo de um novo EGS. Criar, assinar e relatar uma fatura tributária simplificada é atualmente suportada.
composer update ou composer install para instalar dependências.php -S localhost:8000Veja o exemplo completo na fase-1.php e na fase-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 é influenciado pelo zatca-xml-php que não afiliou, associado, autorizado, endossado por ou de qualquer forma oficialmente conectada com Zatca (Zakat, Authority and Alfândega) ou qualquer uma de suas subsidiárias ou afiliados. O site oficial da ZATCA pode ser encontrado em https://zatca.gov.sa.
Todas as contribuições são apreciadas.
Não estou planejando apoiar Tax Invoices (não simplificadas). Se alguém quiser abordar essa parte.