Switch and Maestro are very inconsistent in the way they handle Start Date and Issue Number etc data.
There is a growing recommendation from PayPal to not pre-validate this information, and instead simply pass all the known information to PayPal so they can pass it to the actual CC company for verification instead of validating it on your site on the same screen where the customer entered the information.
In that light, you could simply bypass the date-validations in cc_validation.php, by adding two lines, like this:
Code:
if ($expiry_y == $current_year) {
if ($expiry_m < date('n')) {
return -4;
}
}
/*
// check the issue month & year but only for Switch/Solo cards
if (($start_m || $start_y) && in_array($this->cc_type, array('Switch', 'Solo'))) {
if (!(is_numeric($start_m) && ($start_m > 0) && ($start_m < 13))) {
return -2;
}
if (strlen($start_y) == 2) {
if ($start_y > 80) {
$start_y = '19' . $start_y;
} else {
$start_y = '20' . $start_y;
}
}
if (!is_numeric($start_y) || ($start_y > $current_year)) {
return -3;
}
if (!($start_y >= ($current_year - 10))) {
return -3;
}
}
*/
return $this->is_valid();
}
Bookmarks