giahojnost / credit-card-validator
Validates popular debit and credit cards numbers against regular expressions and Luhn algorithm. Also validates the CVC and the expiration date
1.0.0
2023-04-07 02:17 UTC
Requires
- php: >=7.4
- ext-ctype: *
- lib-pcre: >=7.3
Requires (Dev)
- phpunit/phpunit: ^10
This package is auto-updated.
Last update: 2024-11-07 05:36:37 UTC
README
Validates popular debit and credit cards numbers against regular expressions and Luhn algorithm. Also validates the CVC and the expiration date.
Based on inacho/php-credit-card-validator, for support PHP 8.
Installation
Require the package in composer.json
"require": { "giahojnost/credit-card-validator": "1.*" },
If you are using Laravel, add an alias in config/app.php
'aliases' => array( 'App' => 'Illuminate\Support\Facades\App', ... 'View' => 'Illuminate\Support\Facades\View', 'CreditCard' => 'Giahojnost\CreditCard', ),
Usage
Validate a card number knowing the type:
$card = CreditCard::validCreditCard('5500005555555559', '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', '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