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.

Maintainers

👁 claudemyburgh

Package info

github.com/designbycode/credit-card-validator

pkg:composer/designbycode/credit-card-validator

Fund package maintenance!

designbycode

Statistics

Installs: 11

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 1

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

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 4914de4578d64771eae830c14e44b563c5191423

  • Claude Myburgh <claude.woop@designbycode.co.za>

credit cardcredit-card-validatordesignbycodecredit card validator

This package is auto-updated.

Last update: 2026-06-29 02:32:48 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.