rechtlogisch / ust-id
验证德国增值税号(Umsatzsteuer-Identifikationsnummer)
v1.0.0
2024-07-09 14:48 UTC
Requires
- php: ^8.1
- ext-mbstring: *
Requires (Dev)
- laravel/pint: ^1.0
- pestphp/pest: ^2.20
- pestphp/pest-plugin-type-coverage: ^2.8
- phpstan/phpstan: ^1.11
README
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)。有关更多信息,请参阅许可文件。