seisigmasrl/dgii-rnc-validator

一个简单的包,用于检查多米尼加共和国官方税务机构(Dirección General de Impuestos Internos,DGII)的给定RNC。

1.1.7 2024-05-16 17:12 UTC

This package is auto-updated.

Last update: 2024-09-08 14:05:53 UTC


README

Latest Version on Packagist Tests Total Downloads FOSSA Status

一个简单的包,用于检查多米尼加共和国官方税务机构(Dirección General de Impuestos Internos,DGII)的给定RNC,以及一些其他选项。

安装

您可以通过composer安装此包

composer require seisigmasrl/dgii-rnc-validator

用法

此包旨在为您提供一种简单的方法来检查和验证给定的RNC是否有效,以及它当前的税务状态。大多数现有解决方案都是基于解析由多米尼加共和国官方税务机构(Dirección General de Impuestos Internos,DGII)提供的包含所有现有RNC的月度共享文件。

这种方法对于提高性能非常出色,但它对于需要实时、可靠信息的服务来说并不理想。因此,当前包提供了一个简单的API来

  • 验证RNC
  • 验证给定的RNC是否有效。

但如何实现?在某个地方😅,有一个“真实”的公开非文档化的端点,税务机构使用它来验证与DGII的信息。此端点提供了一些选项,但我们只为本包的范围使用RNC验证。

以下是本包提供的函数列表

检查

验证给定的RNC是否有效,如果有效则返回纳税人的详细信息,否则返回false。
如何使用它

require Seisigma\DgiiRncValidator\DgiiRncValidator;
...
// 132620951 is a valid RNC
$validatedRnc = DgiiRncValidator::check("132620951");
var_dump($validatedRnc);

// array(4) {
//    ["rnc"]=> string(9) "132620951"
//    ["name"]=> string(29) "KOI CORPORATION BY SAIKOV SRL"
//    ["commercial_name"]=> string(25) "KOI CORPORATION BY SAIKOV"
//    ["status"]=> string(6) "Active"
// }

// 123456789 is an invalid RNC
$validatedRnc = DgiiRncValidator::check("123456789");
var_dump($validatedRnc); // bool(false)

validateRNC

验证给定的字符串是否是有效的RNC。
如何使用它

require Seisigma\DgiiRncValidator\DgiiRncValidator;
...
// 132620951 is a valid RNC
$validatedRnc = DgiiRncValidator::validateRNC("132620951");
var_dump($validatedRnc); // bool(true)

// 123456789 is an invalid RNC
$validatedRnc = DgiiRncValidator::validateRNC("123456789");
var_dump($validatedRnc); // bool(false)

rncType

验证给定的字符串是否是有效的RNC。
如何使用它

require Seisigma\DgiiRncValidator\DgiiRncValidator;
...
// 132620951 is a valid RNC
$rncType = DgiiRncValidator::rncType("132620951");
var_dump($rncType); // enum(Types::RNC)

// 123456789 is an invalid RNC
$rncType = DgiiRncValidator::rncType("04800009577");
var_dump($rncType); // enum(Types::CEDULA)

类型枚举包含两个函数

  • toString: 从返回的枚举中返回字符串值。例如
var_dump(Types::RNC->toString()) // string(RNC)
  • toCode: 从返回的枚举中返回DGII类型代码值。例如
var_dump(Types::RNC->toCode()) // string(01)

辅助函数

如果您需要一些额外的工具,以下是一些实用函数的列表

getNumbers

此函数从提供的任何字符串中返回所有数字。
如何使用它

require Seisigma\DgiiRncValidator\helpers\Utils;
...
$results = Utils::getNumbers("abc123456");
var_dump($results); // string(6) "123456"

$results = Utils::getNumbers("asdfasdfs");
var_dump($results); // bool(false)

luhnAlgorithmValidation

此函数验证给定的数字序列是否具有有效的键(校验和)。
如何使用它

require Seisigma\DgiiRncValidator\helpers\Utils;
...
$result = Utils::luhnAlgorithmValidation("79927398713");
var_dump($result); // bool(true)

$result = Utils::luhnAlgorithmValidation("79927398715");
var_dump($result); // bool(false)

validateDominicanCitizenId

此函数验证给定的数字序列是否是有效的多米尼加公民身份证。
如何使用它

require Seisigma\DgiiRncValidator\helpers\Utils;
...
$result = Utils::validateDominicanCitizenId("04800009575");
var_dump($result); // bool(true)

$result = Utils::validateDominicanCitizenId("04800009577");
var_dump($result); // bool(false)

测试

composer test

变更日志

请参阅CHANGELOG以了解最近的变化信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全漏洞

请查阅我们的安全策略以了解如何报告安全漏洞。

致谢

许可证

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

FOSSA Status