public function validate($vatNumber)
{
if (strlen($vatNumber) != 11) {
return false;
}
if ((int) $vatNumber[0] <= 3) {
return false;
}
$weights = array(9, 1, 4, 8, 3, 10, 2, 5, 7, 6);
$checksum = (int) substr($vatNumber, -1);
$checkval = $this->sumWeights($weights, $vatNumber);
$checkval = 3 - $checkval % 11;
if ($checkval == -1) {
return false;
}
if ($checkval < -1) {
$checkval += 11;
}
if ($checksum != $checkval) {
return false;
}
return true;
}