Есть ли единое API для доступа к данным чека онлайн касс?

С 01.07.2017 г. на вех чеках есть QR-код, по которому в специальном приложении ФНС можно проверить чек и скачать его. Если легальное API для доступа к данным чека для использования в своих приложениях/сервисах?
  • Вопрос задан
  • 36709 просмотров
Пригласить эксперта
Ответы на вопрос 14
@IvanG
<тут был старый ответ, на устаревшее апи>
информация по новому апи (август 2020)
тут в комментах: leftjoin.ru/all/sobiraem-dannye-s-chekov-gipermark...
и тут в ишью разбирают новый формат запросов:
https://github.com/kosov/fns-check/issues/3#issuec...
https://github.com/DmitriyBobrovskiy/CheckReceiptS...

спойлер - чуть усложнилось, нужно получать сессионный айди, который живет пару дней, а после обновляеть его по токену (сессия и токен первоначально при верификации номера / регистрации выдаются, дальше при обновлении сессии сразу пара обновляется токен/сессионный ключ)

p.s. ссылки взяты из темы обсуждения приложения, может еще что полезное там есть: https://4pda.ru/forum/index.php?showtopic=835790&s...
Ответ написан
@BorisKorobkov
Web developer
QR-код на чеке дублирует ту же самую информацию, что и человек может прочитать на чеке.

Куда именно приложение ФНС отправляет данные для проверки, вы можете проверить самостоятельно, если установите их программу https://kkt-online.nalog.ru/ и воспользуетесь любым сниффером.

Также можно проверить чек на
https://kpkcheck.ru/System/ExpressCheck.aspx
https://ofd.ru/checkinfo
https://ofd-ya.ru/check
https://consumer.1-ofd.ru/#/landing
и пр.
Ответ написан
@mikecoon
Решение на PHP

В строчке
curl_setopt($ch, CURLOPT_USERPWD, "8(800)555-35-35" . ":" . "554400");

свои данные подставляй.

$base = "https://proverkacheka.nalog.ru:9999";

$derviceId = uniqid();
$deviceOS = "Android 4.4.4";
$protocol = "2";
$clientVersion = "1.4.1.3";
$userAgent = "okhttp/3.0.1";

$fn = $_GET["fn"];
$fd = $_GET["fd"];
$fs = $_GET["fs"];

$query = http_build_query([
    'fiscalSign' => $fs,
    'sendToEmail' => "no"
]);

$ch = curl_init("$base/v1/inns/*/kkts/*/fss/$fn/tickets/$fd?".$query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Device-Id: $derviceId",
    "Device-OS: $deviceOS",
    "Version: $protocol",
    "ClientVersion: $clientVersion",
    "ClientVersion: $clientVersion",
]);

curl_setopt($ch, CURLOPT_USERPWD, "8(800)555-35-35" . ":" . "554400");

$result = curl_exec($ch);
$json = json_decode($result);

var_dump($json);
Ответ написан
@sb_user
Каждый ОФД имеет свой API. Т.е. если вы пишите софт под определенную кассу, то необходимую ссылку вы собрать сможете
Например ссылка на чек такскома будет выглядить так:
https://receipt.taxcom.ru/v01/show?fp=[fpd]&s=[sum...
где fpd - фискальная подпись документа
summ - итоговая сумма чека

Для ofd.ru будет выглядить вот так:
https://ofd.ru/rec/[inn]/[rn]/[fn]/[docNumb]/[fpd]
inn - инн юр лица пробившего чек
rn - рег. номер кассового аппарата
fn - номер фискального накопителя
docNumb - номер чека
fpd - фискальная подпись

Но согласен, ответ на вопрос интересен =) Если будет универсальный API единый для всех, то это конешно удобнее.
Ответ написан
@Apollon_Diamed
Ответ скорее всего неактуален, но вдруг в будущем кому понадобится - пост на хабре
Ответ написан
rhrn
@rhrn
В shell окружении c curl

Получаем пароль
EMAIL=email@example.ru
NAME=Name
PHONE=+79xxxxxxxxxx
curl -X POST -H "Content-Type: application/json; charset=UTF-8" https://proverkacheka.nalog.ru:9999/v1/mobile/users/signup -d "{\"email\":\"$EMAIL\", \"name\": \"$NAME\", \"phone\": \"$PHONE\"}" -i

Запрос на детали
PHONE=+79xxxxxxxxxx
PASS=555xxx
FN=87100001017610xx
FDP=41709130xx
FD=128xx

DERVICEID=curl
DEVICEOS=linux

curl -H "Device-Id: $DERVICEID" -H "Device-OS: $DEVICEOS" "https://$PHONE:$PASS@proverkacheka.nalog.ru:9999/v1/inns/*/kkts/*/fss/$FN/tickets/$FD?fiscalSign=$FDP&sendToEmail=no" -i
Ответ написан
Actie
@Actie
Команда разработки CRM для промоакций
В конце прошлого года ФНС выкатило официальное API «Проверка чека». Доступ к API дают если написать заявление, заверить электронной подписью, рассказать зачем и как будешь использовать. Мы сделали гем для Ruby если кто-то хочет заюзать.
https://github.com/actie/fnsapi

Нет смысла серыми путями пытаться проводить проверки через ОФД.
Ответ написан
Есть ли легальное API для доступа к данным чека для использования в своих приложениях/сервисах?

ФНС не предоставляет такого API.
Наши госорганы вообще не стремятся подобное делать (аналогично, например, с сервисом проверки акцизных марок - только через их приложуху (в том случае еще и только с зарегистрированного у них девайса :-) ) или их сайт).
Ответ написан
@enzoshnik
full stack web-developer
А тут можно получить Json из ОФД по строке из qr-кода
https://get-ofz-json-from-qr.enzolab.ru
Ответ написан
@yante
Я списывался с разработчиками "приложения ФНС", они сказали, что "через 2 месяца чек уходит в Архив, и получить его содержимое ПОКА не получится - нет такой возможности..."
По поводу самой проверки чека - у них есть алгоритм вычисления поля ФП, по которому они, даже не получая чека, понимают, валиден он или нет...
Ответ написан
@drypa
состояние август 2020.
старый API proverkacheka.nalog.ru начал выдавать ошибку:
{"update":true,"appstore":"https://apps.apple.com/ru/app/%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0-%D1%87%D0%B5%D0%BA%D0%BE%D0%B2-%D1%84%D0%BD%D1%81-%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B8/id1169353005","playmarket":"https://play.google.com/store/apps/details?id=ru.fns.billchecker","appstorebutton":"Обновить","playmarketbutton":"Обновить","message":"Уважаемый пользователь! \nДоступна новая версия приложения, пожалуйста установите обновление."}
Ответ написан
geebv
@geebv
Сталкивался кто нибудь с ошибкой 402 при получении данных с проверкачека.налог.ру?
В целом кейс напрямую тянуть информацию по чекам с ОФД провайдеров рабочий? Поделитесь пожалуйста опытом
Ответ написан
@petrov1975av
Cтолкнулись с недавним изменением api налоговой. Были на нем завязаны. Пришлось в срочном порядке искать альтернативу. Обнаружили такой сервис: проверка чека proverkacheka.com У сервиса есть собственное API. Разработчики предоставляют его по обращению. Из общения с ними - сервис использует разные варианты в том числе и открытое API. Как вариант - рекомендую. Все контакты - на сайте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы