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.

v1.0.2 2024-07-20 19:07 UTC

README

Latest Version on Packagist Tests Total Downloads

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.