Чек icr что это – Icr чек что это — Открой бизнес

Содержание

Виза в Финляндию самостоятельно: оформление в 6 этапов

Посещение Финляндии с различными целями для граждан России и СНГ возможно только по въездной визе. Это государство является членом Шенгенского соглашения, поэтому обладатели финского «шенгена», могут без проблем наведываться в гости к своим северным соседям и даже к соседям соседей. Получение визы можно поручить специализированной службе или сделать это самостоятельно через визовые центры или Консульство Финляндии.

Как самостоятельно сделать визу в Финляндию?

Если вы решили выполнить это хлопотное дело своими силами, наше пошаговое руководство может вам пригодиться. Но перед ознакомлением с тонкостями процедуры заострите внимание на некоторых нюансах.

Во-первых, по финской визе «шенген» пребывание в Финляндии и других европейских государствах-участниках Шенгенского соглашения допускается не дольше срока, указанного в разрешении.

Во-вторых, не менее половины всего времени путешествия по визе необходимо провести именно на территории Суоми. Если пренебречь этим пунктом, шансы получить визу  в следующий раз могут резко сократиться. И, конечно, заявитель должен уже иметь на руках готовый загранпаспорт с трёхмесячным запасом времени действия после окончании срока визы.

Этап первый: выбор места обращения

Оформить визу в Финляндию самостоятельно можно двумя способами:


  • Обратиться в Генеральное Консульство, консульский отдел Посольства Финляндии в Москве или Санкт Петербурге (самый бюджетный вариант, требующий, однако, больших затрат времени и усилий). В этом случае обязательна заблаговременная запись на приём через официальный сайт Консульства или по телефону.
  • Действовать через специальный Визовый центр Финляндии (этот путь проще и быстрее, но дороже по деньгам). В отличие от Консульства, здесь можно будет сделать ксерокопии и сфотографироваться. По предварительной записи на сайте попасть на приём в Визовый центр получится быстрее, но можно подать заявление и в порядке живой очереди, не записываясь.

Этап второй: заполнение онлайн-анкеты

Заполните анкету-заявление на сайте Визового центра латинскими буквами (допускается русский язык, но на латинице). Распечатайте заполненный бланк визовой анкеты с уникальным штрих-кодом. Оригиналы и ксерокопии электронной анкеты и штрих-кода прилагаются к пакету документов при подаче в Визовый центр или Консульство.

Этап третий: подготовка фотографии

Необходимо обзавестись одной цветной или чёрно-белой фотографией анфас с нейтральным выражением лица и взглядом в объектив. Фото должно быть без уголка, размерами – 36×47 мм, фон – светло-серый. Правила гласят, что заявитель должен выглядеть на изображении соответственно его внешнему виду ко времени поездки.

Этап четвёртый: сбор документов

Для получения финской въездной визы понадобятся следующие документы:


  • Заполненная и распечатанная анкета с вашей личной подписью (в 2-х экземпярах).
  • Цветное фото, соответствующее требованиям (см. третий этап).
  • Заграничный паспорт (второй действующий, а также аннулированный паспорта). В загранпаспорте должно быть как минимум две пустые страницы.
  • Всем заявителям, не исключая детей, положено иметь медицинский страховой полис для стран Шенгена. Начало срока действия полиса должно совпадать с датой подачи заявления на визу, а окончание – наступать не раньше завершения поездки. Лимит страховой суммы – минимум 30 тыс. евро. Полис принимается к рассмотрению при условии, если он выдан страховой компанией, аккредитованной в финском Посольстве.
  • Распечатанное подтверждение бронирования отеля на весь срок поездки или гостевое приглашение (с контактной информацией и датой рождения пригласившего) или письмо от туристической фирмы, аккредитованной в Посольстве. Если цель поездки не входит в этот перечень, следует подробно, в произвольной форме описать её на отдельном листе.
  • Квитанция об оплате визового сбора (понадобится во время получения визы). При обращении в Визовый центр оплата производится во время подачи документов по предъявлении действующего российского паспорта.

В Консульстве могут дополнительно затребовать подтверждение финансового благополучия, справку с места работы и другие документы.

Имеющими разные фамилии супругами предоставляется копия свидетельства о браке.

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

Этап пятый: подача документов

Когда пакет документов собран, следует подать его в выбранную вами службу (см. первый этап). Сделать это можно как лично, так через близких родственников (потребуется документальное подтверждение родства) или турфирму, аккредитованную в Посольстве.

Приняв документы, вам выдадут:


  • Договор.
  • Чек-ICR.
  • Чек за услуги визового центра.

Заявление можно будет отследить здесь, указав дату рождения и номер квитанции.

Этап шестой: получение визы

Забрать паспорт с визой можно лично, по предъявлению российского паспорта, договора и чека-ICR.

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

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

Как избежать всех этих хлопот?

Стремление всё делать своими силами достойно уважения, однако, если вы не располагаете достаточным количеством свободного времени, упорства и терпения, не стоит браться за оформление визы в Финляндию самостоятельно. Для этого существуют специалисты, которые избавят вас от вникания во все тонкости этого процесса, помогут собрать комплект документов, заполнят за вас онлайн-анкету на латинице и т.д.

Доверьте эти заботы нам, посвятив освободившееся время и силы приятным хлопотам по подготовке к поездке. Пусть во время путешествия вас сопровождает только приподнятое настроение!

visa4you.ru

Проверка и сертификация чека 2019

Кассовые чеки и сертифицированные чеки — это способ оплаты, который считается относительно безопасным и надежным по сравнению с личными чеками или наличными. Обе эти проверки предоставляют гарантии против платежа и позволяют продавцу продавать транзакцию добросовестно, доставляя товары и услуги до совершения платежа. Эти проверки требуются в различных ситуациях, например, в онлайн-транзакции в юридическом разрешении или для первоначального платежа.

Каждый способ оплаты имеет свои преимущества и недостатки. Таким образом, вы должны знать разницу между этими двумя вариантами оплаты до финализации предпочтительного способа оплаты для своей бизнес-транзакции.

Удостоверенный чек

Сертифицированные проверки называются «сертифицированными», так как банк плательщика приносит гарантии с этими чеками, что средства будут доступны после получения чека. Сторона, которая должна внести платеж, и банк, участвующий в транзакции, должны одобрить сертифицированную проверку, чтобы добавить дополнительный уровень защиты для стороны, получающей платеж. Подпись банка представляет собой обещание третьей стороны, которое подтверждает наличие средств против конкретной проверки.

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

Проверка кассы

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

ru.esdifferent.com

RRN в чеке — что это за номер?

Дополнительная информация в чеках транзакций иногда может стать преимуществом при возникновении некоторых проблем с переводом средств. Данный материал расскажет о строке RRN в чеке, а вы поймете что это значит и для чего используется.

Что означает данная аббревиатура?

RRN расшифровывается как Reference Retrieval Number, что в дословном переводе означает «Поиск ссылочного номера». В специализированной среде данный набор цифр называется “Референс”.

Данное сочетание состоит из 12 символов – чаще сочетания цифр и латинских букв. При отсутствии кода в основной части чека, его можно найти посредством использования настроек платёжной системы, интернет-банкинга.

Для этого проводим следующие манипуляции с приложением/личным кабинетом:

  • Находим вкладку «Параметры операции».
  • Далее прожимаем графу «Параметры запроса».

Искомая информация должна располагаться в нижней части первого столбца детализации отправки.

RRN-идентификатор-на-чеке

RRN идентификатор на чеке

Для чего предназначена?

RRN идентификатор, полученный из деталей платежа, может потребоваться для уточнения деталей по проведённой транзакции, узнать статус выполнения операции. В большинстве случаев речь идёт о правильном завершении перевода, получении денежных средств.

Для этого отправитель делает запрос в банковскую структуру или же электронную систему, через которую была проведена оплата. Указание данного кода производится для подтверждения личности и получения необходимой информации без дополнительных проверок.

Рекомендуем наш материал о новой опции Защита платежа от Халвы.

Где и как генерируется RRN?

Числовое значение RRN, указанное в электронном чеке, формируется при инициализации платежа непосредственно банком Эквайрером. Далее соответствующий параметр проходит через соответствующий ПЦ (процессинговый центр) для дополнительной безопасности и невозможности получения третьими лицами вследствие хакерской атаки на сервера.

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

Заключение

По информации с форумов, рассматриваемый пункт деталей платежа может в принципе отсутствовать в некоторых платёжных системах. Это может относится к некоторым конвертерам валют, недавно созданным способам перевода. Надеемся, что эта статья помогла вам разобраться с RRN в чеке и использовать быстрый способ проверки завершения перевода в случае необходимости.


Поделиться новостью в соцсетях

Оценка статьи:

RRN-идентификатор-на-чеке Загрузка…

 

kredithub.ru

Вайб чек — что такое vibe check и причем тут смайл с рукой

Вайб чек (Vibe Check, чекай вайб, сделать вайбчек)

— сленговое выражение, используемое в соцсетях для передачи эмоционального состояния. В широком смысле это синоним фразы «как дела?» или Current Mood. Но в мемах «вайб чек» чаще всего связан с изображениями насилия над человеком.

Что такое вайб чек?

Vibe Check в своем оригинальном смысле — это процесс передачи психического или эмоционального состояния другому человеку. Дословно эта фраза переводится как «проверка вайба» или «проверка вибраций».

Под вибрациями понимаются колебания человеческих мыслей и душевных потоков. Некоторые религии и эзотерические учения полагают, что эти колебания могут передаваться другим людям. Отсюда происходит сленговое слово вайб (vibe), которое в широком смысле переводится как «настроение», «атмосфера». Термин был широко распространен в субкультурах растафари, хиппи и рейверов.

Первое упоминание фразы vibe check в сети датируется апрелем 2011 года. Тогда на сайте Urban Dictionary появилось его определение.

вайб чек

Vibe Check — это процесс, посредством которого группа или индивид получают субъективную оценку психического и эмоционального состояния другого человека, места или вещи.

Вайб чек в 2019 году

Только в 2019 году фраза vibe check стала мемом. Все началось с твита пользователя @umru_. 24 марта он опубликовал пост, состоящий из этих двух слов.

Vibe Check twitter

2 апреля другой юзер продублировал фразу и положил начало распространению мема. Он же начал ежедневно постить картинки или мемы, приписывая к ним предложение gm can I get a vibe check? (Доброе утро, могу я получить вайб чек?)

gm can I get a vibe check? pic.twitter.com/KzzOC3dmER

— 𝖈𝖚𝖒 𝖒𝖆𝖓 (@cake_hoarder) October 4, 2019

За несколько месяцев фраза распространилась в твиттере, но мало кто понимал ее значения. И только в сентябре 2019 года она сформировалась в полноценный мем.

Vibe check щитпостинг и картинки с насилием

3 сентября пользователь Tumblr starion опубликовал микро-комикс, в котором один нарисованный человечек кричал vibe check и бил другого человечка бейсбольной битой по голове.

Vibe Check Comic

Подразумевалось, что у этого человечка такое поганое настроение, что он хотел выплеснуть свой негатив на другого. Это обернулось банальным насилием.

Пост положил начало серии мемов, в которых изображались похожие акты насилия вкупе с фразой vibe check. Появился даже вариант с комиксом известного художника Ctrl+Alt+Del, придумавшего Loss.

Vibe Check Comic

Проверка на вайб чек

К октябрю фраза vibe check уже стала частью сленга зумеров. Появились производные конструкции, такие как get vibe check (получить вайбчек) или vibe check passed (вайбчек пройден). Последняя распространилась благодаря тесту на сайте ShindanMaker. Там можно было в прямом смысле пройти проверку на вайб чек. В качестве результата предлагалась странная диаграмма и диагноз: вайб чек пройден или провален.

Vibe Check passed

Вайб чек эмоджи

В сентябре конструкцию vibe check стали использовать в сочетании с другим мемом. Это смайл с красными глазами, который тянется рукой к экрану.

Vibe Check emoji

Так появилась постироничная ветка мемов про вайб чек. В основном это были короткие видео-скримеры или гифки.

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

Смайл с руками

Что же на самом деле означает фраза вайб чек?

Единого и понятного определения нет. С одной стороны, вайб чек — это серия мемов с персонажами, которые собираются нанести вред другим людям. Перед этим они кричат vibe check.

С другой стороны, vibe check стал частью молодежного интернет-сленга. В соцсетях встречаются посты, в которых фразу используют в самых разных значениях. Чаще всего пишут «сделать вайбчек» или «устроить вайбчек» — то есть ударить по голове кого-то, кто несет чушь или портит настроение. Но также вайбчек — это обычное приветствие. Мем стал альтернативой таких конструкций, как Current Mood (Текущее настроение), GM (Good Morning, Доброе утро) или «Привет, чят».

что такое вайб чек

Не стоит забывать и об этимологии мема. Если в оригинале vibe check — это обмен эмоциями на метафизическом уровне, то в сленге фраза может быть ретранслятором текущего настроения человека. Если оно плохое — нужно сделать вайб чек другому.

Галерея

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

memepedia.ru

То, что нужно знать о проверке чека App Store (App Store receipt) / Apphud corporate blog / Habr

В StackOverflow по-прежнему появляется много вопросов о валидации App Store чеков, поэтому мы решили написать статью на эту тему в формате вопросов и ответов.


Что представляет собой App Store чек?

Это зашифрованный файл в формате PKCS#7, который содержит в себе информацию обо всех покупках в приложении. Находится в бандле приложения и его можно легко получить, вызвав: Bundle.main.appStoreReceiptURL.


Всегда ли есть этот файл?

Если приложение было скачано из App Store, то да, всегда. А если было установлено через Xcode или Testflight, то первоначально у приложения sandbox-чек отсутствует до первой покупки или восстановления чека.


Что значит «провалидировать чек»?

Это означает расшифровать файл, получить JSON дату и сверить совершенные пользователем покупки. Сделать это можно локально или отправив запрос в Apple.


В каких случаях разработчику требуется валидация чека?

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

При восстановлении покупок.
Если пользователь переустановил ваше приложение или запустил с другого устройства, вы должны предоставить ему доступ к функционалу, за который он уже заплатил. Расшифровав App Store чек, вы сможете выяснить, была ли приобретена встроенная покупка.

При покупке авто-возобновляемых подписок.
Для определения текущего статуса подписки и даты истечения.


Какие покупки можно восстановить при валидации?

Существует 4 вида встроенных покупок:


  • расходуемые (consumable purchases),
  • нерасходуемые (non-consumable purchases),
  • невозобновляемые подписки (non-renewing subscriptions),
  • авто-возобновляемые подписки (auto-renewable Subscriptions).
    Восстановить можно все, кроме расходуемых покупок. К ним можно отнести, например, монетки в вашем приложении – что-то, что можно купить сколько угодно раз. Вы должны сами сохранять текущее количество монеток у пользователя на своем сервере.

Какие способы валидации существуют?

Их три:


  • локальная валидация с использованием OpenSSL,
  • валидация по запросу в Apple прямо с iOS устройства,
  • валидация по запросу в Apple с использованием вашего сервера.

Какой способ валидации лучше?

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

Apple не рекомендует проверять чеки на самом iOS-устройстве. Это небезопасно: запрос можно перехватить с помощью man-in-the-middle атаки.

Лучше всего валидировать чеки на сервере. Тем более, что Apple время от времени добавляет туда новые поля, например, grace_period_expires_date и subscription_group_identifier. На своем сервере мы сможете быстро вносить изменения без обновления приложения. А еще предыдущие два метода валидации можно легко обмануть, просто поменяв системное время на iOS устройстве.


Для чего нужен Shared Secret?

Это специальная строка-ключ, которая необходима для расшифровки чеков с авто-возобновляемыми покупками. Apple использует Shared secret как параметр в HTTPS запросе к Apple.


Где взять Shared Secret?

Перейдите в App Store Connect, откройте приложение, перейдите во вкладку Функции, в разделе Встроенные покупки увидите кнопку Общий ключ для приложения. Сгенерируйте новый ключ, если его еще нет.


Пример кода для валидации чека

func validateReceipt(){

        #if DEBUG
                   let urlString = "https://sandbox.itunes.apple.com/verifyReceipt"
               #else 
                   let urlString = "https://buy.itunes.apple.com/verifyReceipt"
               #endif

        guard let receiptURL = Bundle.main.appStoreReceiptURL, let receiptString = try? Data(contentsOf: receiptURL).base64EncodedString() , let url = URL(string: urlString) else {
                return
        }

        let requestData : [String : Any] = ["receipt-data" : receiptString, 
                                            "password" : "YOUR_SHARED_SECRET", 
                                            "exclude-old-transactions" : false]
        let httpBody = try? JSONSerialization.data(withJSONObject: requestData, options: [])

        var request = URLRequest(url: url)
        request.httpMethod = "POST"
        request.setValue("Application/json", forHTTPHeaderField: "Content-Type")
        request.httpBody = httpBody
        URLSession.shared.dataTask(with: request)  { (data, response, error) in
            // convert data to Dictionary and view purchases
        }.resume()        
    }

Это пример валидации чека на iOS. Не забудьте заменить значение YOUR_SHARED_SECRET на ваш shared secret.

Получив data, сконвертируйте его в Dictionary:

DispatchQueue.main.async {
    if let data = data, let jsonData = try? JSONSerialization.jsonObject(with: data, options: .allowFragments){
    // your non-consumable and non-renewing subscription receipts are in `in_app` array
    // your auto-renewable subscription receipts are in `latest_receipt_info` array
  }                
}

Пример расшифрованного App Store чека

Здесь можно посмотреть пример чека с двумя транзакциями в приложении с авто-возобновляемой подпиской.


В чем отличия между in_app и latest_receipt_info?


  • latest_receipt_info содержит все транзакции, включая продления авто-возобновляемых покупок. Вам стоит использовать только этот массив.


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



Заключение

Мы в Apphud реализовали валидацию App Store чеков для приложений с авто-возобновляемыми подписками в удобном open-source SDK. А еще Apphud помогает отслеживать статус подписки, анализировать ключевые метрики, автоматически предлагать скидки отписавшимся пользователям и многое другое. Если при работе с подписками вы испытываете боль, попробуйте наше решение бесплатно.

habr.com

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

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

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

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

t=20180518T220500&s=975.88&fn=8710000101125654&i=99456&fp=1250448795&n=1

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

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

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

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

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

  • Что будет, если использовать другие заголовки?
  • Что делать, если пользователь не зарегистрирован? Скачивать мобильное приложение и регистрироваться? (Сайт ФНС не предоставляет возможности зарегистрироваться в этом контексте)
  • А если забыл пароль?

Запустив Android Device Monitor и SoapUI я начал разбираться. Выкладываю здесь всю обобщенную информацию, что удалось получить. ФНС предоставляет следующее публичное API:РегистрацияPOST
https://proverkacheka.nalog.ru:9999/v1/mobile/users/signup
Content-Type: application/json; charset=UTF-8

Содержимое:

{"email":"[email protected]","name":"SomeName","phone":"+79991234567"}

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

Если результат успешен, то пользователь создается, СМС с паролем отправляется на указанный номер, а в ответ возвращается 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: <адрес электронной почты, который вы указали>»]».
Если адрес электронной почты уже используется, а телефон нет, то ошибок не возникает и регистрация проходит успешно.


ЛогинGET
https://proverkacheka.nalog.ru:9999/v1/mobile/users/login

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

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

{
   "email": "<адрес электронной почты, указанный при регистрации>",
   "name": "<имя, указанное при регистрации>"
}

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

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


Восстановление пароляPOST
https://proverkacheka.nalog.ru:9999/v1/mobile/users/restore
Content-Type: application/json; charset=UTF-8

Содержимое:

{"phone":"+79991234567"}

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

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


Проверка существования чекаGET
https://proverkacheka.nalog.ru:9999/v1/ofds/*/inns/*/fss/<номер ФН>/operations/<вид кассового чека>/tickets/<номер ФД>?fiscalSign=<номер ФПД>&date=2018-05-17T17:57:00&sum=3900
Где
  • Номер ФН (Фискальный Номер) — 16-значный номер. Например 8710000100518392
  • Номер ФД (Фискальный документ) — до 10 знаков. Например 54812
  • Номер ФПД (Фискальный Признак Документа, также известный как ФП) — до 10 знаков. Например 3522207165
  • Вид кассового чека. В чеке помечается как n=1 (приход) и n=2 (возврат прихода)
  • Дата — дата с чека. Формат может отличаться. Я пробовал переворачивать дату (т.е. 17-05-2018), ставить вместо Т пробел, удалять секунды
  • Сумма — сумма с чека в копейках

Если чек найден, то вернется 204 No Content.
Если чек не найден, то вернется 406 Not Acceptable.
Если дата/сумма некорректная или не совпадает с датой/суммой, указанной в чеке, то возвращается 406 Not Acceptable. При этом секунды не учитываются.
Если не указать параметр дата/сумма, то возвращается 400 Bad Request и сообщение «[«Missing required property: »]».

Получение детальной информации по чекуGET
https://proverkacheka.nalog.ru:9999/v1/inns/*/kkts/*/fss/<Номер ФН>/tickets/<Номер ФД>?fiscalSign=<Номер ФПД>&sendToEmail=no
Где
  • Номер ФН (Фискальный Номер) — 16-значный номер. Например 8710000100518392
  • Номер ФД (Фискальный документ) — до 10 знаков. Например 54812
  • Номер ФПД (Фискальный Признак Документа, также известный как ФП) — до 10 знаков. Например 3522207165

Также обязательно указать хотя бы пустые заголовки device-id и device-os
Если указаны некорректные данные пользователя, то возвращается 403 Forbidden и сообщение «the user was not found or the specified password was not correct».

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

Если чек не найден, то возвращается 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 примерно такого вида:

{"document": {"receipt": {
   "operationType": 1,
   "fiscalSign": 3522207165,
   "dateTime": "2018-05-17T17:57:00",
   "rawData": "AwAzAREEEAA4NzEwMDAwMTAwNTE4MzEzDQQUADAwMDExOTM1MTQwNDE0MDUgICAg+gMMADc4MjU3MDYwODYgIBAEBAAJ2gAA9AMEAGzC/Vo1BAYAMQTSDyLSDgQEABYBAAASBAQAogAAAB4EAQAB/AMCADwPPAQPAD0EAwCKrqQ+BAQARzYzNyMERQAGBCcAKjM0OTIyNzcgTkVTVC6MruAuTUFYSUIukZKQgJeAkoWLLjE0MKyrNwQCAJ8P/wMEAAZAQg8TBAIAnw9PBAIAbAH9Aw4AhK6ro+PopaKgIICtraAHBAIAPA85BAEAAE8EAgBsARgEDACAo+Cu4q7goyCOjo7xAyoANjIwMDE3LCCjLiCFqqDipeCoraHj4KMsIOOrLiCAp6itoCwgpC4gMTimHwQBAAE=",
   "totalSum": 3900,
   "nds10": 364,
   "userInn": "7825706086",
   "taxationType": 1,
   "operator": "<Данные кассира>",
   "fiscalDocumentNumber": 54812,
   "properties": [   {
      "value": "G637",
      "key": "Код"
   }],
   "receiptCode": 3,
   "requestNumber": 162,
   "user": "Агроторг ООО",
   "kktRegId": "0001193514041405",
   "fiscalDriveNumber": "8710000100518392",
   "items": [   {
      "sum": 3999,
      "price": 3999,
      "name": "*3492277 NEST.Мор.MAXIB.СТРАЧАТЕЛ.140мл",
      "quantity": 1,
      "nds10": 364
   }],
   "ecashTotalSum": 0,
   "retailPlaceAddress": "620017, г. Екатеринбург, ул. Азина, д. 18ж",
   "cashTotalSum": 3900,
   "shiftNumber": 278
}}}

Где
  • все суммы указаны в копейках
  • данные кассира в разных магазинах имеют разные форматы (в одном случае может вернуться «Фамилия Имя», в другом «Фамилия И. должность»
  • порядок элементов может меняться
  • разные магазины используют разные наборы параметров и, если какой-то параметр возвращается в чеке от одного магазина, то не факт, что этот параметр будет в чеке от другого магазина
  • формат адреса магазина может различаться

Ещё один пример возвращаемого чека
{"document": {"receipt": {
   "cashTotalSum": 0,
   "fiscalSign": 1301551154,
   "nds18": 4859,
   "operationType": 1,
   "userInn": "7728029110",
   "dateTime": "2018-05-18T22:05:00",
   "fiscalDocumentNumber": 12654,
   "receiptCode": 3,
   "ecashTotalSum": 97588,
   "nds10": 5976,
   "requestNumber": 395,
   "retailPlaceAddress": "г.Екатеринбург, ул.Сулимова, д.50",
   "fiscalDriveNumber": "871000010459859",
   "taxationType": 1,
   "user": "АО ТД Перекресток",
   "operator": "<Данные кассира>",
   "items":    [
            {
         "sum": 3799,
         "quantity": 1,
         "price": 3799,
         "name": "18074 Укроп пакет 100г",
         "nds10": 345
      },
            {
         "sum": 7490,
         "quantity": 0.872,
         "nds18": 1143,
         "name": "2000339 Яблоки СЕЗОН.ПРЕДЛОЖЕНИЕ 1кг",
         "price": 8590
      }
   ],
   "totalSum": 97588,
   "rawData": "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",
   "shiftNumber": 262,
   "kktRegId": "0001248888049341"
}}}



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

Кому интересен пример реализации подключения к этому 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, описанный в данной статье, работает не стабильно. Лично я не проверял.

habr.com

В ПОМОЩЬ ПЕРЕВОДЧИКУ


Сокращения в кассовых чеках (английский язык)

ACQ-ID – идентификатор эквайера
A/R NUMBER – код плательщика
AIC – опознавательный код учреждения
AID – идентификатор EMV приложения
AMT-AUTH – сумма авторизованная
AMT-CLEAR– сумма без комиссии и скидки
AMT-COMM – сумма комиссии
AMT-DISC – сумма скидки
AMT-ORIG – исходная сумма (при в возврате)
APP-LABEL – название приложения
APPROVED – переменная определена, если операция одобрена
ARC-HOST – код ответа процессинга
ARC-ISSUER — код ответа эмитента
ARC-MESSAGE – расшифровка кода ответа процессинга
AUTH-CODE – код авторизации
AUTH-CODE-SOURCE – источник кода авторизации
AS-PROC-CODE – код платежной операции
ATC (automated transaction code) – автоматический код транзакции
AVN-CARD – номер версии приложения карты
AVN-TERM — номер версии приложения терминала


BALANCE – остаток на счете клиента, если определен
BATCH – серия, партия

CASHIER – Ф.И.О. кассира
Capt.-ref. – код операции по безналичной оплате
CDP (cisco discovery protocol) – проприетарный протокол
CID (cryptogram information data) – криптограмма идентификационных данных, криптограмма приложения
CIN (code identification number) – опознавательный номер кода
CIN (customer identification number) – номер клиента
CHIP-DECISION – переменная определена, когда операция отменена по решению карты
CLIENT-NAME – имя клиента
CLIENT-COPY — переменная определена, чек для клиента
Clipper e-purse – пополнение электронного платежа
Convenience fee – сбор за обслуживание
CRYPTOGRAM — криптограмма
CTS (central sales tax) – налог на добавленную стоимость
CVM (Cardholder verification method) – подтверждение владельца карты

DCC (direct client to client) – напрямую от клиента к клиенту (тип перевода)
DDOL – список элементов данных, необходимых для динамической аутентификации
DUPLICATE – дубликат

EMV — переменная определена, если операция проводилась с EMV картой
EMV-FLOOR – лимит транзакции
ETF – электронная система платежей
EXPIRY-DATE – срок годности карты

IAC-DEF – код действия эмитента по умолчанию
IAC-DEN — код действия эмитента для отмены операции
IAC-ONL — код действия эмитента для онлайн
IAD (integrated access device) – устройство интегрированного доступа
ICC (information coordination center) – информационно-координационный центр
ICC (International Chamber of Commerce) – Международная Торговая Палата
INVOICE-NR – номер чека
ISR – результат выполнения скрипта эмитента


MERCHANT-COPY — переменная определена, если печатается чек для продавца
MID (merchant ID) – номер продавца

OFFLINE-PIN – оффлайн
ONLINE — переменная определена, если операция выполнялась в онлайн
ONLINE-PIN – введен онлайн ПИН
OP-NAME – название операции


PAN number – номер карты
PAN-SEQN (PAN sequence number) – последовательный номер карты
PIN — переменная определена, если вводился ПИН
PNR – код бронирования при покупке билета
POS info – информация о кассовом терминале
Powered by… — при поддержке

Response code – код отклика
REVERSED — переменная определена, если операция была отклонена

RRN (retrieval reference number) – уникальный номер транзакции
Sales voucher – кассовый чек, платежная квитанция, товарная квитанция, товарный чек
Settlement summary – итоговый расчет
SIGNATURE – подпись клиента, если переменная определена
STAN (standardization) – порядковый номер операции с банковской картой
SVS tax (service tax) – налог на услуги
Swipe – проводить пластиковую карту через считывающее устройство

TAC-DEF- коды действий терминала по умолчанию
TAC-DEN — коды действий терминала для отмены операции
TAC-ONL — коды действий терминала для онлайн

TC (target classification) – классификация целей
TDOL – список данных, участвующих при вычислении сертификата
TERM-ACAPS – дополнительные свойства терминала
TERM-CAPS – свойства терминала
TERM-ID – идентификатор терминала по процессингу

TERM-TYPE- тип терминала
TID (terminal input data) – терминал ввода данных, идентификатор терминала
TIN (taxpayer identification number) – идентификационный номер налогоплательщика
TIN (trade identification number) – номер торгового предприятия
TRACE – запись
TSI (transaction information) – информация о статусе транзакции
TSN-BATCH – последовательный номер пакета
TSN-TXN — последовательный номер транзакции
TVR (transaction verification) – результат верификации
TXN-DATE – дата выполнения транзакции
TXN-TIME – время выполнения транзакции

< Предыдущая   Следующая >

www.perevod71.ru

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

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