/** * Validate that number is a swedish personal id * * @param AccountNumber $number * @return null * @throws InvalidCheckDigitException If checkdigit is not valid * @throws InvalidAccountNumberException If number is not a valid personal id */ public function validate(AccountNumber $number) { try { new PersonalId($number->getSerialNumber() . $number->getCheckDigit()); } catch (\byrokrat\id\Exception\InvalidCheckDigitException $e) { throw new InvalidCheckDigitException("Invalid check digit {$number->getCheckDigit()} in {$number}", 0, $e); } catch (\byrokrat\id\Exception\RuntimeException $e) { throw new InvalidAccountNumberException("Account number {$number} is not a valid personal id number", 0, $e); } }
protected function processNumber(AccountNumber $number) { return substr($number->getClearingNumber(), 1) . $number->getSerialNumber() . $number->getCheckDigit(); }
protected function processNumber(AccountNumber $number) { return $number->getSerialNumber() . $number->getCheckDigit(); }