designbycode / credit-card-validator
The Credit Card Validator package provides a set of classes to validate credit card numbers, expiry dates, and CVV codes. This package is designed to help you ensure that the credit card information provided by users is valid and accurate.
Fund package maintenance!
designbycode
Requires
- php: ^8.1|^8.2|^8.3
- designbycode/luhn-algorithm: ^1.0
Requires (Dev)
- laravel/pint: ^1.0
- pestphp/pest: ^2.20
- spatie/ray: ^1.28
This package is auto-updated.
Last update: 2024-12-02 02:41:38 UTC
README
Introduction
The Credit Card Validator package provides a set of classes to validate credit card numbers, expiry dates, and CVV codes. This package is designed to help you ensure that the credit card information provided by users is valid and accurate.
Installation
You can install the package via composer:
composer require designbycode/credit-card-validator
Usage
CreditCardValidator
The CreditCardValidator
class validates a credit card number.
Constructor
__construct(string $cardNumber)
$cardNumber
: The credit card number to validate.
Methods
isValid()
: bool: Returns true if the credit card number is valid, false otherwise.getCardType()
: ?string: Returns the card type (amex, diners, visa, mastercard, discover, or null if unknown).
$card = new CreditCardValidator('4111 1111 1111 1111'); if ($card->isValid()) { echo 'Credit card number is valid'; } else { echo 'Credit card number is invalid'; }
ExpiryDateValidator
The ExpiryDateValidator
class validates the expiry date of a credit card.
Constructor
__construct(int $expiryMonth, int $expiryYear)
- $expiryMonth: The expiry month (1-12).
- $expiryYear: The expiry year (YYYY).
Methods
isValid()
: bool: Returns true if the expiry date is valid, false otherwise.
$validator = new ExpiryDateValidator(12, 2025); if ($validator->isValid()) { echo 'Expiry date is valid'; } else { echo 'Expiry date is invalid'; }
CvvValidator
The CvvValidator
class validates a CVV (Card Verification Value) code.
Constructor
__construct(string $cvv, string $cardType)
- $cvv: The CVV code to validate.
- $cardType: The card type (amex, visa, mastercard, etc.).
Methods
isValid()
: bool: Returns true if the CVV code is valid, false otherwise.
$validator = new CvvValidator('123', 'visa'); or $card = new CreditCardValidator('4111 1111 1111 1111') $validator = new CvvValidator('123', $card->getCardType()); if ($validator->isValid()) { echo 'CVV code is valid'; } else { echo 'CVV code is invalid'; }
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.