freelancehunt / php-credit-card-validator
Validates popular debit and credit cards' numbers against regular expressions and Luhn algorithm. Also validates the CVC and the expiration date.
Installs: 382 780
Dependents: 2
Suggesters: 0
Security: 0
Stars: 18
Watchers: 5
Forks: 105
Open Issues: 1
Requires
- php: >=7.2
- ext-ctype: *
- lib-pcre: >=8.38
Requires (Dev)
- phpunit/phpunit: ^6
This package is auto-updated.
Last update: 2024-11-16 16:57:49 UTC
README
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