public function validate($vatNumber)
{
if (strlen($vatNumber) != 12) {
return false;
}
if ((int) substr($vatNumber, -2) < 1 || (int) substr($vatNumber, -2) > 94) {
return false;
}
$checksum = (int) $vatNumber[9];
$checkval = 0;
for ($i = 1; $i < 10; $i++) {
$checkval += $this->crossSum((int) $vatNumber[9 - $i] * ($this->isEven($i) ? 1 : 2));
}
if ($checksum != ($checkval % 10 == 0 ? 0 : 10 - $checkval % 10)) {
return false;
}
return true;
}