jlorente / laravel-credit-cards
Laravel >=5.6 集成,用于PHP信用卡包,允许对借记卡和信用卡进行格式化、验证品牌、号码和Luhn算法等操作。
Requires
- php: >=7.0.0
- illuminate/support: >=5.6
- jlorente/php-credit-cards: ^1.0.2
Requires (Dev)
- orchestra/testbench: ^3.6
- phpunit/phpunit: ^8.0.0
This package is auto-updated.
Last update: 2024-09-07 13:44:10 UTC
README
Laravel >=5.6 集成PHP Credit Cards包,允许对借记卡和信用卡进行格式化、验证品牌、号码和Luhn算法等操作。
它可以验证流行的品牌,如Visa、Mastercard、American Express等。
安装
安装此扩展的首选方式是通过composer。
安装Composer后,您可以使用以下命令安装扩展
$ php composer.phar require jlorente/laravel-credit-cards
或者添加
... "require": { "jlorente/laravel-credit-cards": "*" }
到您的composer.json
文件的require
部分。
配置
- 在config/app.php服务提供者列表中注册ServiceProvider。
config/app.php
return [ //other stuff 'providers' => [ //other stuff \Jlorente\Laravel\CreditCards\CreditCardsServiceProvider::class, ]; ];
- 将以下外观添加到$aliases部分。
config/app.php
return [ //other stuff 'aliases' => [ //other stuff 'CreditCardValidator' => \Jlorente\Laravel\CreditCards\Facades\CreditCardValidator::class, ]; ];
- 发布包配置文件。
$ php artisan vendor:publish --provider='Jlorente\Laravel\CreditCards\CreditCardsServiceProvider'
- 如果您想限制系统中可用的信用卡类型,您可以使用credit_cards.php配置文件来指定它们。
config/credit_cards.php
<?php use Jlorente\CreditCards\CreditCardValidator; return [ 'allowed_cards' => [ CreditCardValidator::TYPE_VISA, CreditCardValidator::TYPE_MASTERCARD, CreditCardValidator::TYPE_AMERICAN_EXPRESS, ], ];
或者通过在.env配置中添加以逗号分隔的数组元素字符串来实现。
.env
//other configurations
CREDIT_CARDS_ALLOWED_CARDS="visa,mastercard,unionpay"
使用方法
CreditCardValidator外观
您可以通过外观访问CreditCardValidator类的单例。
CreditCardValidator::isVisa($cardNumber); CreditCardValidator::isMastercard($cardNumber); $creditCardConfiguration = CreditCardValidator::getType($cardNumber);
要查看该包的完整方法列表,请参阅PHP Credit Cards文档。
CreditCardRule
在Laravel验证流程中使用的一个规则包含在该包中。
您可以通过其字符串形式
class Request { public function rules() { return [ 'card' => 'credit_card' ]; } }
或类形式
class Request { public function rules() { return [ 'card' => CreditCardRule::make() ]; } }
验证安全码格式
如果规则的第一个参数是整数值,则将验证安全码(CVC、CVV等)的格式。
class Request { public function rules() { return [ 'card' => 'credit_card:651' ]; } }
或者
class Request { public function rules() { return [ 'card' => CreditCardRule::make(null, '651') ]; } }
验证信用卡类型
您还可以提供由逗号分隔的接受信用卡类型的列表。请记住,信用卡类型应该是配置的系统可用类型的子集。
public function rules() { return [ 'card' => 'credit_card:' implode(',', [CreditCardValidator::TYPE_VISA, CreditCardValidator::TYPE_MASTERCARD]), ]; }
或者
class Request { public function rules() { return [ 'card' => CreditCardRule::make([ CreditCardValidator::TYPE_VISA, CreditCardValidator::TYPE_MASTERCARD, CreditCardValidator::TYPE_AMERICAN_EXPRESS, ]), ]; } }
您还可以将信用卡类型与安全码验证组合
class Request { public function rules() { return [ 'card' => 'credit_card:651,' . implode(',', [CreditCardValidator::TYPE_VISA, CreditCardValidator::TYPE_MASTERCARD]), ]; } }
或者
class Request { public function rules() { return [ 'card' => CreditCardRule::make( [ CreditCardValidator::TYPE_VISA, CreditCardValidator::TYPE_MASTERCARD, CreditCardValidator::TYPE_AMERICAN_EXPRESS, ], '651', ), ]; } }
许可证
版权所有 © 2020 José Lorente Martín jose.lorente.martin@gmail.com。
在BSD 3-Clause许可证下授权。有关详细信息,请参阅LICENSE.txt。