carddetective / card-provider-detector
一个用于从卡号中检测卡提供商的PHP库
Requires
- php: ^7.4|^8.1
Requires (Dev)
- phpunit/phpunit: ^9.5
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)。有关更多信息,请参阅许可证文件。