becklyn/vatin-bundle

Symfony 为 VATIN 库提供的包

安装: 59

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 11

类型:symfony-bundle

2.4.0 2022-02-21 08:03 UTC

This package is auto-updated.

Last update: 2024-09-21 13:49:25 UTC


README

Build Status Latest Stable Version

VATIN 库 提供的 Symfony 包。

安装

此库可在 Packagist 上找到

composer require ddeboer/vatin-bundle

然后添加此包到您的应用程序中

// app/AppKernel.php
public function registerBundles()
{
    return [
        ...
        new Ddeboer\VatinBundle\DdeboerVatinBundle(),
        ...
    ];
}

使用方法

验证数字格式

使用验证器验证模型上的属性。例如使用注解

use Ddeboer\VatinBundle\Validator\Constraints\Vatin;

class Company
{
    /**
     * @Vatin
     */
    protected $vatNumber;

Symfony 的验证器现在将检查 $vatNumber 是否有有效的增值税号格式。更多信息请参阅 Symfony 文档

验证数字是否存在

此外,您可以检查增值税号是否已被使用

    use Ddeboer\VatinBundle\Validator\Constraints\Vatin;

    /**
     * @Vatin(checkExistence=true)
     */
    protected $vatNumber;

验证器现在将增值税号与 VAT 信息交换系统 (VIES) SOAP 网络服务进行比较。该服务的可用性相当不可靠,因此,如果它不可用,捕获此情况是个好主意

use Symfony\Component\Validator\Exception\ValidatorException;

try {
    if ($validator->isValid()) {
        // Happy flow
    }
} catch (ValidatorException $e) {
    // VAT could not be validated because VIES service is unreachable
}

直接使用服务

您还可以直接使用此包的服务。验证增值税号的格式

$validator = $container->get('ddeboer_vatin.vatin_validator');
$bool = $validator->isValid('NL123456789B01');

此外,检查增值税号是否已被使用

$bool = $validator->isValid('NL123456789B01', true);

与 VIES Web 服务交互

$vies = $container->get('ddeboer_vatin.vies.client');
$checkVatResponse = $vies->checkVat('NL', '123456789B01');

更多信息

有关更多信息,请参阅 VATIN 库的文档