carddetective/card-provider-detector

一个用于从卡号中检测卡提供商的PHP库

v1.0.3 2023-01-18 21:37 UTC

This package is auto-updated.

Last update: 2024-09-27 03:27:20 UTC


README

card-provider-detector包允许开发人员快速轻松地确定给定卡号的卡提供商。该包使用卡号的前六位数字,也称为“bin”,来确定卡提供商。

该包使用bin范围和正则表达式组合来准确检测卡提供商。目前支持检测Visa、MasterCard、American Express、Diners Club、Discover和JCB卡类型。

安装

安装包很简单,可以通过在项目中要求carddetective/card-provider-detector来使用composer完成。

composer require carddetective/card-provider-detector

使用方法

安装后,该包可以用作门面或直接对象。可以通过传递卡号到detect方法来使用该包检测卡提供商。

以下代码片段展示了如何在php中使用该包作为门面

use CardDetective\CardProviderDetector\CardDetection\CardDetector;

$cardNumber = '4111111111111111';
$cardDetector = new CardDetector();
$cardProvider = $cardDetector->detectCardProvider($cardNumber);

echo $cardProvider; // "Visa"

如果检测成功,该方法将返回卡提供商名称,否则将返回null

Laravel支持

该包支持Laravel 5.5及以上版本。

要使用Laravel中的该包,您需要在config/app.php文件中注册服务提供者和门面。

'providers' => [
    // ...
    CardDetective\CardProviderDetector\Providers\CardDetectiveServiceProvider::class,
],

'aliases' => [
    // ...
    'CardDetective' => CardDetective\CardProviderDetector\Facades\CardDetective::class,
],

您可以通过从服务容器解析或使用门面来使用该包。

以下是如何从服务容器中解析该包的示例

use App\CardDetective;

class MyController extends Controller
{
    public function detect(CardDetective $detector)
    {
        $detector->detectCardProvider('1234567812345678');
    }
}

以下是如何使用门面使用该包的示例


use CardDetective;

class MyController extends Controller
{
    public function detect()
    {
        CardDetective::detectCardProvider('1234567812345678');
    }
}

支持卡号掩码

该包还支持卡号掩码。这在您需要向用户显示卡号,但不想显示完整卡号时非常有用。该包可以通过传递卡号到maskCardNumber方法来掩码卡号。

以下是如何使用该包掩码卡号的示例

use CardDetective;

class MyController extends Controller
{
    public function mask()
    {
        CardDetective::maskCardNumber('1234567812345678');
    }
}

配置

该包附带一个默认配置文件,其中包含所有支持卡提供商的bin范围和正则表达式。您可以通过运行以下命令发布配置文件

php artisan vendor:publish --provider="CardDetective\CardProviderDetector\CardProviderDetectorServiceProvider"

测试

该包还包含所有支持卡提供商的单元测试,以确保检测准确且正常工作。

要运行测试,您需要通过运行以下命令安装开发依赖项

./vendor/bin/phpunit

意图

本包旨在用于需要验证和处理信用卡支付的项目,或任何需要知道卡提供商的其他项目。

免责声明

本包仅用于教育目的,不应在生产环境中使用。使用风险自负。

致谢

许可证

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