验证德国增值税号(Umsatzsteuer-Identifikationsnummer)

v1.0.0 2024-07-09 14:48 UTC

This package is auto-updated.

Last update: 2024-09-09 15:22:21 UTC


README

Recht logisch USt-ID banner image

Latest Version on Packagist Tests Total Downloads

ust-id

验证德国增值税号(Umsatzsteuer-Identifikationsnummer)

校验码(最后一位)基于ISO/IEC 7064, MOD 11,10进行验证,该规范已在1993年5月13日废除的“关于提交汇总报告的数据载体规定 – ZMDV”中有记载(BGBl. I S. 736)。

提示:此包仅验证输入的语法和校验码。它不确认提供的USt-ID是否分配给了企业家。请使用官方的VIES服务进行验证。

安装

您可以通过composer安装此包

composer require rechtlogisch/ust-id

用法

isUstIdValid('DE123456789'); // => true

use Rechtlogisch\UstId\UstId;

(new UstId('DE123456789'))
    ->validate() // ValidationResult::class
    ->isValid(); // => true

验证错误

您可以得到一个错误列表,解释为什么提供的输入无效。The validate()方法返回一个DTO,该DTO具有getErrors()方法。

提示:getErrors()的键是异常类的字符串化引用。您可以通过比较到::class常量来检查特定错误。例如:Rechtlogisch\UstId\Exceptions\InvalidUstIdLength::class

validateUstId('DE12345678')->getErrors();
// [
//   'Rechtlogisch\UstId\Exceptions\InvalidUstIdLength'
//    => 'USt-ID must be 11 characters long. Provided USt-ID is: 10 characters long.',
// ]

use Rechtlogisch\UstId\UstId;

(new UstId('DE12345678'))
    ->validate()
    ->getErrors();
// [
//   'Rechtlogisch\UstId\Exceptions\InvalidUstIdLength'
//    => 'USt-ID must be 11 characters long. Provided USt-ID is: 10 characters long.',
// ]

测试

composer test

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

有关详细信息,请参阅CONTRIBUTING

安全漏洞

如果您发现任何与安全相关的问题,请通过电子邮件open-source@rechtlogisch.de联系,而不是使用问题跟踪器。

致谢

许可协议

MIT许可(MIT)。有关更多信息,请参阅许可文件