/VIESClient

European VAT Information Exchange System SOAP client

Primary LanguagePHP

Latest Version on Packagist Build Status Quality Score

European VAT Information Exchange System SOAP client

This library is designed to handle validation trough VIES Soap WebService.

See https://ec.europa.eu/taxation_customs/vies/ for more information.

Installation

Install using Composer :

$ composer require prometee/vies-client

Usage

$loader = require_once( __DIR__.'/vendor/autoload.php');

use Prometee\VIESClient\Soap\Client\DeferredViesSoapClient;
use Prometee\VIESClient\Soap\Client\ViesSoapClient;
use Prometee\VIESClient\Soap\Factory\ViesSoapClientFactory;
use Prometee\VIESClient\Helper\ViesHelper;

// Use the Deferred client to avoid getting error
// when the WSDL file is not accessible
$viesSoapClientFactory = ViesSoapClientFactory(ViesSoapClient::class);
$viesSoapClient = new DeferredViesSoapClient($viesSoapClientFactory);

$viesHelper = new ViesHelper($viesSoapClient);
$viesHelper->isValid('FR12345678987');

// Should print:
// 0: CHECK_STATUS_INVALID => Format is not valid and the webservice is not reachable)
// 1: CHECK_STATUS_INVALID_WEBSERVICE => Format is not valid according to the webservice
// 2: CHECK_STATUS_VALID_FORMAT => Format is valid but the webservice is not reachable
// 3: CHECK_STATUS_VALID_WEBSERVICE => Format is valid and the VAT number exists
print_r($viesHelper->isValid('FR12345678987'));