открыть чек через qr код

Универсальный API для получения информации по чекам

Привет жителям Хабра.

В данной статье хотелось бы рассказать про API для получения чеков, которое нам не предоставила всеми любимая ФНС.

Когда только появились QR-коды на чеках я подумал «Вау, как круто! Ты сканируешь код и видишь если не всю инфу по чеку, то ссылку на него». И какого же было мое разочарование, когда просканировав такой код я увидел что-то вроде

Но расстраиваться я не стал и подумал, что ФНС позаботилась о нас и предоставила API для получения такой информации. Погуглив некоторое время я понял, что ФНС нам предоставила только мобильное приложение для проверки чека и просмотра той информации, что поступила к ним от магазина.

Но! Между магазином и налоговой имеется ещё одно звено — ОФД — те, кто обрабатывают информацию по чекам, полученную от магазинов, и отправляют в налоговую. Вот они то и предоставляют API для получения нужной нам информации. Не все. И не всегда бесплатно.

Судя по информации из википедии по состоянию на 1 марта 2018 зарегистрировано 17 ОФД. Допустим 10 из них предоставляют открытое и бесплатное API. Учитывая то, что мы не знаем с каким ОФД работает конкретный магазин, нужно будет пройтись по API 10 операторов фискальных данных. Далеко не лучший вариант.

Спустя какое-то время, я случайно наткнулся на приложение (не от ФНС), которое по QR-коду с чека получает информацию по чеку. Не будут же они «пробегать» по всем ОФД и собирать оттуда информацию — подумал я. Снова отправился в гугл и наткнулся на такой ответ.

Казалось, после этого ответа можно заканчивать импровизированное расследование, но у меня оставались ещё вопросы:

Все параметры обязательные.

Если результат успешен, то пользователь создается, СМС с паролем отправляется на указанный номер, а в ответ возвращается 204 No content.

Если пользователь уже существует, то возвращается 409 Conflict и сообщение «user exists».
Если номер телефона некорректный, то возвращается 500 Internal Server Error и сообщение «failed with code 20101».

Если адрес электронной почты некорректный, то возвращается 400 Bad Request и сообщение «[«Object didn’t pass validation for format email: »]».
Если адрес электронной почты уже используется, а телефон нет, то ошибок не возникает и регистрация проходит успешно.

В заголовке передается Pre-emptive Basic Authorization, где в качестве username передается номер телефона, в виде «+79991234567», а в качестве пароля — код, полученный в смс при регистрации или восстановлении пароля.

Если все хорошо, то вернется 200 OK и сообщение в виде json

Если указать некорректный номер телефона или пароль, то вернется 403 Forbidden и сообщение «the user was not found or the specified password was not correct».

Если не указать номер телефона и/или пароль, то не вернется ничего.

Если номер телефона найден, то возвращается 204 No Content и на телефон приходит СМС с новым паролем.

Если номер телефона не найден или номер некорректный, то возвращается 404 Not Found и сообщение «the user was not found».

Если не указать номер телефона и/или пароль, то ничего не вернется.

Если чек не найден, то возвращается 406 Not Acceptable. Также чек может быть не найден, если он был получен достаточно давно. ФНС не хранит информацию по чекам за все время. На момент написания этой статьи ФНС хранила детальную информацию порядка 2-3 месяцев.

Если перед вызовом данного метода не происходила проверка существования чека, то вернется 202 Accepted (без сообщений и любого содержимого). При повторном вызове информация по чеку вернется.

Если в параметре «sendToEmail» попытаться подставить значение «yes», то вернется 500 Internal Server Error и сообщение «connect ECONNREFUSED 127.0.0.1:465». При попытке подставить другие значения («true», 1 и т.д.) вернется 400 Bad Request и сообщение «[«No enum match for: »]».

Если всё хорошо, то вернется 200 ОК и содержимое в формате json примерно такого вида:

Особого смысла в логине я не вижу, но он используется в их мобильном приложении. Возможно, в дальнейшем он для чего-нибудь пригодится.

Кому интересен пример реализации подключения к этому API, вот ссылка на гитхаб проект библиотеки, написанной на C#.

По всем вопросам или замечаниям прошу в комментарии.

UPD После небольшой проверки выяснилось, что ФНС не хранит детальную информацию по всем чекам. По крайней мере у меня 22.05.2018 не удалось получить полный чек от декабря 2017, января и февраля 2018, при том, что у ОФД эта информация имеется и мобильное приложение ФНС сообщает, что чек корректен. За март 2018 чек получить уже удалось.

UPD Как заметили пользователи IvanG и neoman36, n=1 это «Вид кассового чека». 1 — значит «приход», 2 — «Возврат прихода». Это же число надо вставлять при проверке существования чека.

UPD Как заметил пользователь Echo77, начиная с декабря 2018 года API стал возвращать код ответа 451 «Illegal public API usage», поэтому теперь прежде чем запрашивать чек, необходимо делать запрос на проверку существования чека.

UPD По замечанию пользователя Actie, в ответ на этот вопрос на тостере, в конце 2018 года ФНС выпустила официальный API «Проверка чека». «Доступ к API дают если написать заявление, заверить электронной подписью, рассказать зачем и как будешь использовать.» (с)

Получить токен физическому лицу, насколько понимаю, невозможно. Только юр. лицо или ИП. Также при написании заявления необходимо явно указать с каких IP адресов будешь запрашивать информацию по чекам.
Этот же пользователь (организация(?)) — Actie реализовали gem для Ruby. Но опять же замечу, что использовать его без токена не получится. Ссылка на репозиторий.
В этом же репозитории указано, что при большом количестве проверок API, описанный в данной статье, работает не стабильно. Лично я не проверял.

UPD Как заметил один из пользователей — после большого количества запросов появляется ошибка блокировки аккаунта. На 25.03.2020 лимит составляет около 25 запросов в сутки. Раньше такого лимита вроде бы не было.

Источник

Зачем нужен QR-код на чеке онлайн-кассы?

открыть чек через qr код

QR-код на чеке — возможность проверки этого документа

Обязательность наличия QR-кода в чеке, формируемом онлайн-устройством, предусмотрена п. 1 ст. 4 закона № 54-ФЗ. Этот код должен:

Зачем QR-код на чеке? Он позволяет шифровать все основные реквизиты этого документа:

Для чего нужны данные документа, существующие в зашифрованном виде? Ответ на этот вопрос тоже содержит п. 1 ст. 4 закона № 54-ФЗ: чтобы можно было проверить чек по QR-коду.

Можно ли принять к расходам затраты на покупку ГСМ, если в чеке отсутсвует QR-код? Ответ на этот вопрос узнайте в «КонсультантПлюс». Если у вас нет доступа к системе, получите пробный демо-доступ бесплатно.

Подробнее о реквизитах, которые должны присутствовать в чеке, выдаваемом онлайн-устройством, читайте в материале «Сверьте реквизиты в новых кассовых чеках».

Что нужно сделать, чтобы проверить чек?

Как осуществляется проверка чека по QR-коду? Прежде всего следует скачать на сайте ФНС специальное бесплатное приложение для проверки выданных онлайн-устройством документов. Затем сам код нужно отсканировать с помощью любого осуществляющего такую функцию устройства (например, мобильного телефона с камерой).

Загрузка в это приложение сканированного кода позволяет:

Можно ли принять к расходам при подсчете прибыли затраты на оплату услуг физлица по проверке QR-кода для авансового отчета? Ответ на этот вопрос есть в «КонсультантПлюс». Если у вас нет доступа к системе, получите пробный онлайн-доступ бесплатно.

Кроме того, чек по QR-коду можно проверить на кэшбэк-сервисах, позволяющих вернуть часть денег, потраченных на покупки в крупных сетевых магазинах (таких как «Ашан», «Пятерочка», «Лента»). Для этого тоже нужно будет скачать специальное приложение, зарегистрировавшись предварительно на выбранном для этой цели сайте. Через приложение можно не только узнавать о проводимых акциях по начислению баллов за совершенные покупки, но и начислять баллы, загружая в приложение отсканированный QR-код, а затем выводить из личного кабинета накопленные деньги, перечисляя их на мобильный телефон или обменивая на сертификаты некоторых магазинов.

Итоги

QR-код, который, согласно требованиям закона № 54-ФЗ, обязательно должен отображаться в чеке или БСО, выдаваемом онлайн-устройством, содержит в зашифрованном виде основную информацию об операции продажи. Сканированный вариант этого кода позволяет проверить чек на сайте ФНС и на кэшбэк-сервисах.

Источник

Зачем нужен QR-код на чеке онлайн-кассы?

Свежие новости

открыть чек через qr код

открыть чек через qr код

открыть чек через qr код

Бесплатно по России

Для всех мобильных

115280, Москва,
ул. Ленинская Слобода, 26 строение 5, офис 2604, БЦ «Симонов Плаза»

КЛИЕНТА

АГЕНТА

Благодарим за регистрацию личного кабинета на сайте Оператора фискальных данных ОФД-Я!

На указанный адрес электронной почты отправлено письмо с учетными данными.
Используйте их для входа в личный кабинет.

Политика обработки персональных данных

УТВЕРЖДАЮ

Генеральный директор ООО «Ярус»

Политика ООО «Ярус» в отношении обработки персональных данных

Юридический и фактический адрес:

Фактический адрес: 115280 г. Москва, ул. Ленинская Слобода, д. 19, стр.4

Юридический адрес: 117292, г. Москва, Нахимовский просп., д. 52/27, помещение Б

1. Общие положения

1.1. Настоящий документ (далее — Политика) определяет цели и общие принципы обработки персональных данных, а также реализуемые меры защиты персональ ных данных в ООО «Ярус» (далее — Оператор). Политика является общедоступным документом Оператора и предусматривает возможность ознакомления с ней любых лиц.

1.2. Политика разработана в соответствии и на основании Конституции Российской Федерации, Федерального закона от 27.07.2006 N 152-ФЗ «О персональных данных», Федерального закона от 22.05.2003 N 54-ФЗ «О применении контрольно-кассовой техники при осуществлении наличных денежных расчетов и(или) расчетов с использованием электронных средств платежа», а также иных нормативных правовых актов Российской Федерации, локальных актов ООО «Ярус».

1.3. Политика неукоснительно исполняется руководителями и работниками всех структурных подразделений и филиалов ООО «Ярус».

1.4. Действие Политики распространяется на все персональные данные субъектов, получаемые и обрабатываемые ООО «Ярус» с применением средств автоматизации и без применения таких средств.

2. Определения

2.2. Обработка персональных данных – любое действие (операция) или совокупность действий (операций) с персональными данным, совершаемых с использованием средств автоматизации или без использования таких средств. К таким действиям (операциям) можно отнести: сбор, получение, запись, систематизацию, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передачу (распространение, предоставление, доступ), обезличивание, блок ирование, удаление, уничтожение персональных данных.

2.3. Субъект персональных данных — любое лицо, персональные данные которого обрабатываются оператором персональных данных.

2.4. Оператор персональных данных — ООО «Ярус».

3. Обработка персональных данных

3.1. О бработка персональных данных осуществляется с учетом следующих требований:

— обработке подлежат только персональные данные, которые отвечают целям их обработки;

— содержание и объем обрабатываемых персональных данных должны соответствовать заявленным целям обработки;

— обрабатываемые персональные данные не должны быть избыточными по отношению к заявленным целям их обработки;

— при обработке персональных данных должны быть обеспечены точность и достаточность сведений по отношению к целям обработки персональных данных.

3.2. Содержание и объем обрабатываемых персональных данных определяются исходя из уставных целей деятельности Оператора, на основании и во исполнение требований законодательства РФ, в т. ч. Федерального закона от 22.05.2003 N 54-ФЗ «О применении контрольно-кассовой техники при осуществлении наличных денежных расчетов и(или) расчетов с использованием электронных средств платежа».

3.3. К основным категориям субъектов персональных данных, чьи данные обрабатываются и/или могут обрабатываться Оператором в соответствии с целями их получения, относятся физические лица:

3.4. Для указанных категорий субъектов могут обрабатываться сведения, в том числе запрашиваемые на сервисах Оператора, включая, но не ограничиваясь: фамилия, имя, отчество; год, месяц, дата рождения; место рождения, адрес; семейное положение; социальное положение; имущественное положение; образование; профессия; доходы; ИНН, СНИЛС, контактная информация (телефон, адрес, адрес электронной почты и т. п.), а также иные сведения, необх одимые для целей обработки.

3.5. Оператор вправе обрабатывать персональные данные субъектов, в том числе следующими способами:

сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передачу (распр остранение, предоставление, доступ), обезличивание, блокирование, удаление, уничтожение персональных данных.

3.6. Оператор осуществляет обработку персональных данных с использованием средств автоматизации и без использования средств автоматизации.

3.7. Обработка и хранение персональных данных осуществляются не дольше, чем этого требуют цели обработки персональных данных, если отсутствуют законные основания для дальнейшей обработки.

4. Меры по обеспечению безопасности персональных данных

4.1. Оператор принимает технические и организационные меры обеспечения безопасности с целью защиты персональных данных от случайного или незаконного уничтожения, потери или изменения, а также от несанкционированного разглашения или доступа к персональным данным.

5. Права субъектов персональных данных

5.1. Субъект персональных данных принимает решение о предоставлении его персональных данных и дает согласие на их обработку свободно, своей волей и в своем интересе. Согласие на обработку персональных данных может быть дано субъектом персональных данных или его представителем в любой позволяющей подтвердить факт его получения форме, если иное не установлено законодательством РФ.

5.2. Субъект персональных данных имеет право отозвать согласие на обработку персональных данных, направив соответствующий письменный запрос Оператору.

5.3. Субъект персональных данных имеет право на получение информации, касающейся обработки его персональных да нных, в том числе содержащей:

5.4. Субъект персональных данных вправе требовать от Оператора уточнения его персональных данных, их блокирования или уничтожения в случае, если персональные данные являются неполными, устаревшими, неточными, незаконно полученными или не являются необходимыми для заявленной цели обработки, а также принимать предусмотренные законом меры по защите своих прав.

5.5. Если субъект персональных данных считает, что Оператор осуществляет обработку его персональных данных с нарушением требований законодательства РФ или иным образом нарушает его права и свободы, субъект персональных данных вправе обжаловать действия или бездействие Оператора в уполномоченный орган или в судебном порядке.

6. Доступ к Политике

6.1. Действующая редакция Политики на бумажном носителе хранится по месту нахождени я исполнительного органа Оператора по адресу: 115280 г. Москва, ул. Ленинская Слобода, д.19, стр.4

6.2. Электронная версия действующей редакции Политики общедоступна на сайте Оператора в сети Интернет: здесь

7. Актуализация и утверждение Политики

7.1. Политика утверждается и вводится в действие руководителем ООО «Ярус».

7.2 Оператор имеет право вносить изменения в настоящую Политику.

8. Ответственность

8.1. Лица, виновные в нарушении норм, регулирующих обработку и защиту персональных данных, несут ответственность, предусмотренную законодательством РФ, локальными актами Оператора и договорами, регламентирующими правоотношения Оператора с субъектом персональных данных и/или третьими лицами.

9. Заключительные положения

9.1. Оператор вправе вносить изменения и дополнения в настоящую Политику в отношении обработки персональных данных в любое время без предварительного уведомления Пользователей.

При этом субъект персональных данных обязан самостоятельно отслеживать изменения и дополнения в настоящую Политику. В случае несогласия с условиями настоящей Политики и/или отдельных ее положений, а также изменений и дополнений к ней, Оператор просит воздержаться от посещения и использования сервисов Оператора и не предоставлять свои персональные данные. В противном случае Оператор вправе обрабатывать персональные данные в соответствии с Политикой и не несет какой-либо ответственности в связи с этим.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *