/**
* Импорт ИНН из данных налоговой.
*/
public function importInn()
{
$passportValidation = $this->xlsxFile->getCellValue('passport.validation');
if (
!$passportValidation || $passportValidation === 'находится в списке недействительных'
|| $this->xlsxFile->getCellValue('inn')
) {
return;
}
$fio = $this->xlsxFile->getCellValue('fullname');
$birthdate = $this->xlsxFile->getCellValue('birthdate');
$passportNo = $this->xlsxFile->getCellValue('passport.number');
if (is_numeric($passportNo)) {
$passportNo = preg_replace('/^(\d{2})(\d{2})(\d+)$/', '$1 $2 $3', $passportNo);
}
$passportDate = $this->xlsxFile->getCellValue('passport.issue_date');
$result = $this->request(
'https://service.nalog.ru/inn-proc.do',
[
'c' => 'innMy',
'captcha' => '',
'captchaToken' => '',
'fam' => $fio->lastName,
'nam' => $fio->firstName,
'otch' => $fio->patronymic,
'bdate' => $birthdate ? $birthdate->format('d.m.Y') : '',
'bplace' => '',
'doctype' => 21, // 21 - Паспорт гражданина Российской Федерации
'docno' => $passportNo,
'docdt' => $passportDate ? $passportDate->format('d.m.Y') : '',
],
true
);
$this->xlsxFile->setCellValue('inn', empty($result['inn']) ? self::NO_INN : $result['inn']);
}