Задача: реализовать на сайте сервис определения ИНН физического лица по его ФИО и паспортным данным.

Воспользуемся формой "Узнать ИНН "на сайте nalog.ru (https://service.nalog.ru/inn.do). Форма защищена Captcha, поэтому придется ее заимствовать для нашего сайта. Картинка с капчей формируется по запросу https://service.nalog.ru/static/captcha.html?a=", где для параметра a указывается токен капчи.

Токен можно запросить по адресу https://service.nalog.ru/static/captcha.html?r=, где параметр r это текущее время, служит для обхода кеширования.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://service.nalog.ru/static/captcha.html?r=" . time());
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);

Отправляем POST-ом поля формы (c, fam, otch, bdate, bplace, doctype, docno, docdt, captchaToken и captcha) по адресу https://service.nalog.ru/inn-proc.do и получаем JSON с ИНН (или ошибку).

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_URL, "https://service.nalog.ru/inn-proc.do");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$res = curl_exec($ch);

Предыдущая запись