Skip to content

Latest commit

 

History

History
executable file
·
111 lines (82 loc) · 2.57 KB

README.md

File metadata and controls

executable file
·
111 lines (82 loc) · 2.57 KB

PHP Credit Card Validator

Build Status codecov PHP from Packagist Packagist Packagist License

Validates popular debit and credit cards numbers against regular expressions and Luhn algorithm. Also validates the CVC and the expiration date.

Since original project seems to be abandoned, we plan to maintain this fork.

Requirements

PHP 7.1+. We don't plan to support EOL PHP versions.

Require the package in composer.json

"require": {
    "freelancehunt/php-credit-card-validator": "3.*"
},

Usage

Validate a card number knowing the type:

$card = CreditCard::validCreditCard('5500005555555559', CreditCard::TYPE_MASTERCARD);
print_r($card);

Output:

Array
(
    [valid] => 1
    [number] => 5500005555555559
    [type] => mastercard
)

Validate a card number against several types:

$card = CreditCard::validCreditCard('5500005555555559', [CreditCard::TYPE_VISA, CreditCard::TYPE_MASTERCARD]);
print_r($card);

Output:

Array
(
    [valid] => 1
    [number] => 5500005555555559
    [type] => mastercard
)

Validate a card number and return the type:

$card = CreditCard::validCreditCard('371449635398431');
print_r($card);

Output:

Array
(
    [valid] => 1
    [number] => 371449635398431
    [type] => amex
)

Validate the CVC

$validCvc = CreditCard::validCvc('234', CreditCard::TYPE_VISA);
var_dump($validCvc);

Output:

bool(true)

Validate the expiration date

$validDate = CreditCard::validDate('2013', '07'); // past date
var_dump($validDate);

Output:

bool(false)

Tests

Execute the following command to run the unit tests:

vendor/bin/phpunit