live · демо-режим ФНС

Полигон загрузки чеков

Четыре способа приёма — один контракт и один вердикт. Все формы бьют в живой dev-бэкенд на этом же домене; статус подтягивается из ФНС-симулятора в реальном времени.

конфигурация запросов

Подставляется во все формы ниже. На dev сидируются промо 101 (кофе) и 102 (молочка+шоколад), ключи site-a-keysite-d-key.

① виджет

Встраиваемый виджет

<script src="https://widget.fnfd.ru/fnfd-widget.js"> · FnfdWidget.init()

Тот же скрипт, что вставляется на сайт бренда (Shadow DOM, изолирован). Кнопка «Сканировать QR» — камера + авто-распознавание (BarcodeDetector / jsQR), «Загрузить фото» — drag&drop + распознавание QR из фото. Камера требует HTTPS — работает на этом домене.

①+ супер-виджет

Один виджет — выбор способа

FnfdWidget.init({ … mode: 'super' })

Отдельное решение: одна кнопка → экран выбора Сканировать QR / Загрузить фото / Ввести вручную. Пользователь сам выбирает удобный способ — бэкенд один.

② api · qr

Приём по QR-строке

POST /api/receipts/qr
— ответ появится здесь —
③ фото

Загрузка фото чека

POST /api/receipts (multipart, ≤5 фото, ≤20МБ)

Фото уходит в очередь Проверятора (ARRIVED). zbar на dev не установлен — это ожидаемо.

— ответ появится здесь —
④ по url

Фото по ссылкам

POST /api/receipts/url
— ответ появится здесь —
⑤ utility

Синхронный разбор QR

POST /api/qr → ФН · ФД · ФП
— фискальный ключ появится здесь —
⑥ статус

Проверить статус чека

GET /r/{uuid}.json (без авторизации)
— приём чека автоматически опрашивает статус —