Go to file
romantarkin 9fc99b81d4 fix
2026-05-30 22:19:28 +05:00
.env.example fix 2026-05-30 22:19:28 +05:00
.gitignore fix 2026-05-30 22:19:28 +05:00
error.json UpDaet 2026-02-01 03:21:09 +05:00
LICENSE Add MIT License to the project 2026-02-01 02:42:04 +05:00
package-lock.json fix 2026-05-30 22:19:28 +05:00
package.json fix 2026-05-30 22:19:28 +05:00
README.MD fix 2026-05-30 22:19:28 +05:00
server.js fix 2026-05-30 22:19:28 +05:00

FNS Receipt Service

Express-сервис на Node.js 22 для создания чеков через ФНС и отправки ссылки на чек по email.

Локальный запуск

npm install
cp .env.example .env
npm start

Сервис запустится на порту из PORT или на 4000 по умолчанию.

Переменные окружения

Заполните эти переменные в Timeweb Cloud в разделе переменных окружения:

INN=123456789012
PASSWORD=your_fns_password
APPNAME=Название проекта
ADMIN_EMAIL=admin@example.com
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=noreply@example.com
SMTP_PASS=email_app_password
SMTP_MAIL_FROM=noreply@example.com
API_PASS=strong_api_password
PORT=4000
HOST=0.0.0.0

API_PASS должен совпадать с api_pass в запросах к POST /api/v1/create-receipt.

Timeweb Cloud

Что заполнить при деплое:

Поле Значение
Runtime Node.js 22
Фреймворк Express
Команда сборки npm install
Зависимости npm install
Команда запуска npm start
Путь до директории проекта /fns-receipt-service
Путь проверки состояния /health

Если Timeweb Cloud сам устанавливает зависимости, в поле команды сборки можно оставить npm install или не указывать команду сборки, если интерфейс позволяет.

API

Проверка состояния:

GET /health

Создание чека:

POST /api/v1/create-receipt
Content-Type: application/json

{
  "api_pass": "strong_api_password",
  "email": "client@example.com",
  "items": [
    {
      "id": "order-1",
      "name": "Услуга",
      "price": 1000,
      "quantity": 1
    }
  ]
}