1. Go to this page and download the library: Download mlocati/vat-lib 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/ */
$viesCheck = $checker->getViesResult();
if ($viesCheck === null) {
// The VIES service has not been queried, or an error occurred while querying the VIES service.
} elseif ($viesCheck->isValid() === true) {
// The VIES service told us that the VAT number is valid
} elseif ($viesCheck->isValid() === false) {
// The VIES service told us that the VAT number is NOT valid
// That is, even if the VAT number is syntactically valid, it's not actually valid.
}
$checkResult = $checker->check('IT 00-15 956.0366');
echo $checkResult->getShortVatNumber();
// prints 00159560366
echo $checkResult->getLongVatNumber();
// prints IT00159560366
$checker = new \VATLib\Checker();
$checkResult = $checker->check('EL999080536');
$format = $checkResult->getFormat();
if ($format === null) {
echo 'The VAT number is not valid';
} else {
echo "The VAT number is for the country with ISO 3166 alpha-2 code {$format->getCountryCode()}";
}
if ($checkResult->hasExceptions()) {
echo "The following errors occurred:\n";
foreach ($checkResult->getExceptions() as $exception) {
echo "- {$exception->getMessage()}\n";
}
}
$checker = new \VATLib\Checker();
$formats = $checker->getApplicableFormats('00159560366');
if ($formats === []) {
echo 'The VAT number is not valid';
} else {
echo "The VAT number may be used in these countries:\n";
foreach ($formats as $format) {
echo "- {$format->getCountryCode()}\n";
}
}
$viesClient = new \VATLib\Vies\Client();
$status = $viesClient->checkStatus();
if ($status->getVowStatus()->isAvailable()) {
echo "The Vies-on-the-web service is available\n";
} else {
echo "The Vies-on-the-web service is NOT available\n";
}
$countryCodes = $status->getCountryCodes();
echo 'Vies supports these countries: ', implode(', ', $countryCodes), "\n";
// Sample outout: AT, BE, BG, CY, CZ, DE, DK, EE, EL, ES, FI, FR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK, XI
$countryStatus = $status->getCountryStatus('IT');
if ($countryStatus->isAvailable()) {
echo "Italian VAT validation is available\n";
} else {
echo "Italian VAT validation is NOT available (", $countryStatus->getAvailability(), ")\n";
}
$viesClient = new \VATLib\Vies\Client();
$request = new \VATLib\Vies\CheckVat\Request('IT', '00159560366');
$response = $viesClient->checkVatNumber($request);
if ($response->isValid()) {
echo "The VAT number {$request->getCountryCode()}{$request->getVatNumber()} is correct: it's assigned to the '{$response->getName()}' company\n";
} else {
echo "The VAT number {$request->getCountryCode()}{$request->getVatNumber()} is NOT correct\n";
}
$guzzle = new \GuzzleHttp\Client([
'proxy' => 'tcp://username:[email protected]:10',
]);
$adapter = new \VATLib\Http\Adapter\Guzzle($guzzle);
$viesClient = new \VATLib\Vies\Client($adapter);
$checker = new \VATLib\Checker();
$checker->setViesClient($viesClient);
$adapter = new \VATLib\Http\Adapter\Curl([
CURLOPT_PROXY => 'tcp://username:[email protected]:10',
]);
// ... same previous example
$adapter = new \VATLib\Http\Adapter\Stream([
'proxy' => 'tcp://username:[email protected]:10',
'request_fulluri' => true,
]);
// ... same previous example
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.