chapdel/credit-card is a Laravel package for validate credit card number, expiration date, cvc.
It currently has 0 GitHub stars and 519 downloads on Packagist (latest version 1.7.0).
Install it with composer require chapdel/credit-card.
Discover more Laravel packages by chapdel
or browse all Laravel packages to compare alternatives.
Last updated
This rule will validate that a given credit card number, expiration date or cvc is valid.
composer require chapdel/credit-card
<?php
namespace App\Http\Requests;
use LVR\CreditCard\CardCvc;
use LVR\CreditCard\CardNumber;
use LVR\CreditCard\CardExpirationYear;
use LVR\CreditCard\CardExpirationMonth;
use Illuminate\Foundation\Http\FormRequest;
class CreditCardRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'card_number' => ['required', new CardNumber],
'expiration_year' => ['required', new CardExpirationYear($this->get('expiration_month'))],
'expiration_month' => ['required', new CardExpirationMonth($this->get('expiration_year'))],
'cvc' => ['required', new CardCvc($this->get('card_number'))]
];
}
}
$request->validate(
['card_number' => '37873449367100'],
['card_number' => new LVR\CreditCard\CardNumber]
);
(new LVR\CreditCard\Cards\Visa)
->setCardNumber('4012888888881881')
->isValidCardNumber()
// CardExpirationYear requires card expiration month
$request->validate(
['expiration_year' => '2017'],
['expiration_year' => ['required', new LVR\CreditCard\CardExpirationYear($request->get('expiration_month'))]]
);
// CardExpirationMonth requires card expiration year
$request->validate(
['expiration_month' => '11'],
['expiration_month' => ['required', new LVR\CreditCard\CardExpirationMonth($request->get('expiration_year'))]]
);
// CardExpirationDate requires date format
$request->validate(
['expiration_date' => '02-18'],
['expiration_date' => ['required', new LVR\CreditCard\CardExpirationDate('my')]]
);
LVR\CreditCard\Cards\ExpirationDateValidator(
$expiration_year,
$expiration_month
)->isValid();
// Or static
LVR\CreditCard\Cards\ExpirationDateValidator::validate(
$expiration_year,
$expiration_month
);
// CardCvc requires card number to determine allowed cvc length
$request->validate(
['cvc' => '123'],
['cvc' => new LVR\CreditCard\CardCvc($request->get('card_number'))]
);
LVR\CreditCard\Cards\Card::isValidCvcLength($cvc);
This project is licensed under an Apache 2.0 license which you can find in this LICENSE.
If you have any feedback, comments or suggestions, please feel free to open an issue within this repository!