dmt-software / eu-vat-validation
VIES VAT验证客户端
v3.0.4
2024-08-29 14:50 UTC
Requires
- php: >=7.4
- dmt-software/command-bus-validator: ^1.0
- dmt-software/http-client-middleware: ^0.1.3 | ^1.0 | ^2.0
- dmt-software/jms-soap-serializer: ^2.1
Requires (Dev)
- guzzlehttp/guzzle: ^7.4
- phpunit/phpunit: ^8.5 | ^9.5
Suggests
- guzzlehttp/guzzle: for PSR-18 client implementation
- guzzlehttp/psr7: for PSR-17 message factor implementation
README
本包包含了一个用于消耗EU VIES Vat soap-service的客户端。
请注意,使用VAT服务存在免责声明。这也适用于使用本包。
安装
composer require dmt-software/eu-vat-validation
使用方法
<?php use DMT\CommandBus\Validator\ValidationException; use DMT\Soap\Serializer\SoapFaultException; use DMT\VatServiceEu\ClientBuilder; use DMT\VatServiceEu\Request\CheckVat; use DMT\VatServiceEu\Response\CheckVatResponse; use Psr\Http\Client\ClientInterface; use Psr\Http\Message\RequestFactoryInterface; try { $request = new CheckVat(); $request->setCountryCode('NL'); $request->setVatNumber('804888644B01'); /** @var ClientInterface $client */ /** @var RequestFactoryInterface $requestFactory */ $client = ClientBuilder::create($client, $requestFactory)->build(); /** @var CheckVatResponse $response */ $response = $client->execute($request); if ($response->isValid()) { // some business logic ... } } catch (ValidationException $exception) { // input was incorrect foreach ($exception->getViolations() as $violation) { print $violation->getMessage(); } } catch (SoapFaultException $exception) { // service returned an error print $exception->getMessage(); }