Skip to content

goetas-webservices/euro-vies-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VIES SOAP PHP client

This project provides a SOAP client for the European VAT Information Exchange System

More info can be found visiting http://ec.europa.eu/taxation_customs/vies/faq.html

Installing

The recommended way to install goetas-webservices/euro-vies-client is using Composer, just run:

composer require goetas-webservices/euro-vies-client

Features

  • Pure PHP, no dependencies on ext-soap
  • Complete IDE type hinting support
  • PSR-7 HTTP messaging compatible
  • Multi HTTP client (guzzle, buzz, curl, react)
  • No WSDL/XSD parsing on production
  • Extensible (event listeners support)

Usage

<?php

use GoetasWebservices\SoapServices\SoapClient\ClientFactory;
use GoetasWebservices\SoapServices\SoapClient\Builder\SoapContainerBuilder;
use GoetasWebservices\Client\EuroVies\SoapContainer;
use GoetasWebservices\Client\EuroVies\SoapStubs\CheckVatPortType;

require __DIR__ . '/vendor/autoload.php';

// project initialization
$container = new SoapContainer();

// use this when cloning this repository and keeping the directory, comment it when including goetas-webservices/euro-vies-client via composer
$serializer = SoapContainerBuilder::createSerializerBuilderFromContainer($container)->build();

// uncomment this when including goetas-webservices/euro-vies-client via composer
// $serializer = SoapContainerBuilder::createSerializerBuilderFromContainer($container, null, __DIR__ . '/vendor/goetas-webservices/euro-vies-client')->build();

$metadata = $container->get('goetas_webservices.soap_client.metadata_reader');
$factory = new ClientFactory($metadata, $serializer);

/**
 * @var $client CheckVatPortType
 */
$client = $factory->getClient('http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl','checkVatPort', 'checkVatService');


$result = $client->checkVat("DE", "123456789");

var_dump($result);

Note

The code in this project is provided under the MIT license. For professional support contact [email protected] or visit https://www.goetas.com