Fork me on GitHub

Проверка чеков в налоговой

Полезные ссылки

curl -H 'Authorization: Basic Kzc5MjcyNDA5MDIyOjMwMjA5Ng==' -H 'Device-Id: ТУТ_ANDROID_ID' -H 'Device-OS: Adnroid 6.0.1' -H 'Version: 2' -H 'ClientVersion: 1.4.2' -H 'Host: proverkacheka.nalog.ru:8888' -H 'User-Agent: okhttp/3.0.1' --compressed 'http://proverkacheka.nalog.ru:8888/v1/inns/*/kkts/*/fss/8710000100730663/tickets/2860?fiscalSign=4249261172&sendToEmail=no'

Для того чтобы получить чек (пример чека из макдональдса в формате JSON) необходимо сделать GET-запрос на адрес вида http://proverkacheka.nalog.ru:8888/v1/inns//kkts//fss/XXXXXXXXXXXXXXXX/tickets/YYYYY?fiscalSign=ZZZZZZZZZZ&sendToEmail=no где XXXXXXXXXXXXXXXX - номер фискального накопителя (ФН) YYYYY - фискальные данные(ФД) ZZZZZZZZZZ - фискальный признак документа(ФПД) Запросе необходимо указать следующие заголовки:

  • Authorization - указывается basic авторизация (номер телефона:пароль в base64). Номер телефона указывается при регистрации в приложении "Проверка чека", пароль приходит в смс

  • Device-Id - на android это androidID (можно передать любой набор символов) CURL: curl -H 'Authorization: Basic ТУТ_НОМЕР_ТЕЛЕФОНА_И_ПАРОЛЬ_В_BASE64' -H 'Device-Id: ТУТ_ANDROID_ID' -H 'Device-OS: Adnroid 6.0.1' -H 'Version: 2' -H 'ClientVersion: 1.4.2' -H 'Host: proverkacheka.nalog.ru:8888' -H 'User-Agent: okhttp/3.0.1' --compressed 'http://proverkacheka.nalog.ru:8888/v1/inns//kkts//fss/XXXXXXXXXXXXXXXX/tickets/YYYYY?fiscalSign=ZZZZZZZZZZ&sendToEmail=no' Обязательны только заголовки Authorization и Device-Id Оригинальное приложение (проверка чека) делает запрос еще такой запрос: http://proverkacheka.nalog.ru:8888/v1/ofds//inns//fss/XXXXXXXXXXXXXXXX/operations/1/tickets/YYYYY?fiscalSign=ZZZZZZZZZZ&date=2017-07-15T15:01:00&sum=167000" Это запрос на проверку чека в налоговой. Как я понял он не обязательный и можно без него обойтись

Как уже писалось выше есть две проблемы: 1. Чек еще не переданный в налоговую

  1. Чек никогда не попадет в налоговую Первую проблему можно решить путем совершения запроса на получение чека с переодичностью 1-2 раза в сутки. Это можно сделать как на сервере (приоритетный вариант) так и на мобилке. А вот вторая проблема на данный момент не решаемая. Некоторый организации попросту увиливают от таких чеков и вместо валидных данных в qr-коде суют заведомо ложные данные. После получения JSON с позициями чека можно складывать их в отдельном месте где пользователь сможет раскидать по категориям. Если покупака совершалась с банковской карты и у пользователя в приложении есть доступ к списку операций по карте, то можно производить поиск этой покупки и по MCC коду расскидывать по категории (вот https://github.com/greggles/mcc-codes/blob/master/mcc_codes.json список mcc кодов). Если покупка совершалась не с банковской карты, то можно сделать какой-то анализ транзакций других пользователей. Например, Иван что-то купил в магазине "ООО Рога и копыта" . Просканил чек и распределил все по категориям. Потом некий Коля тоже совершил покупку в магазине "ООО Рога и копыта" (можно искать по номеру фискального накопителя, либо по наименованию магазина) и ему уже будут предложены категории, которые поставил Иван. Есть куча вариантов как это все организовать, но это очень много писать надо ( email для связи(вдруг кто-то захочет об этом поговорить :D ): nigol@protonmail.ch link_without_label

Вадик Мармеладик8 месяцев назад

Вот это качественный коммент по теме. Я два месяца назад не мог этой инфы нарыть. А есть API получить инфу по привязанным чекам? Ты кстати написал, что проверку нужно делать на сервере, уверен в обратном, запросы нужно проводить напрямую с устройства т.к. запросы с одного IP адреса рано или поздно заблокируют. Налоговое приложение, через 7 дней считает, что чек не получен https://prnt.sc/g0uu5d. P.s. Basic Auth ещё можно так записать -http://login:pass@proverkacheka.nalog.ru:8888/

social