1. Go to this page and download the library: Download sevaske/zatca-api library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sevaske / zatca-api example snippets
use GuzzleHttp\Client;
use Sevaske\ZatcaApi\Api;
use Sevaske\ZatcaApi\Responses\ClearanceResponse;
use Sevaske\ZatcaApi\Responses\ComplianceCertificateResponse;
use Sevaske\ZatcaApi\Responses\ProductionCertificateResponse;
use Sevaske\ZatcaApi\Responses\ReportingResponse;
use Sevaske\ZatcaApi\Exceptions\ZatcaRequestException;
$httpClient = new Client();
$api = new Api('simulation', $httpClient);
try {
$response = $api->complianceCertificate('my csr', 'otp code'); // ComplianceCertificateResponse
if (! $response->success()) {
// handle
}
$credentials = [
'requestId' => $response->requestId(),
'secret' => $response->secret(),
'certificate' => $response->certificate(),
];
// saving the certificate
file_put_contents('credentials.json', json_encode($credentials));
// set the credentials to auth
$api->setCredentials($credentials['certificate'], $credentials['secret']);
$productionCertificate = $api->productionCertificate($credentials['requestId']); // ProductionCertificateResponse
if (! $productionCertificate->success()) {
// handle
}
$productionCredentials = [
'requestId' => $productionCertificate->requestId(),
'secret' => $productionCertificate->secret(),
'certificate' => $productionCertificate->certificate(),
];
// saving the certificate
file_put_contents('production-credentials.json', json_encode($productionCredentials));
// set the credentials to auth
$api->setCredentials($productionCredentials['certificate'], $productionCredentials['secret']);
$reportingResponse = $api->reporting('signed-xml-invoice', 'invoice-hash', 'uuid', true); // ReportingResponse
$reportingResponse->success();
$reportingResponse->warnings();
$clearanceResponse = $api->clearance('signed-xml-invoice', 'invoice-hash', 'uuid', true); // ClearanceResponse
$reportingResponse->success();
$reportingResponse->warnings();
} catch (ZatcaRequestException $e) {
echo "Request error: " . $e->getMessage();
print_r($e->context());
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.