Помощь кассиру

Обмен через кассу: два канала

актуальная

Ваша программа отправляет документ, касса пробивает чек и принимает оплату на своём терминале. Связь через сервер или напрямую.

Физический терминал обслуживает сама YaKassa: запускает банковскую операцию, печатает чек, отправляет его в ОФД. Ваша программа только передаёт документ и получает результат. Формат документов на обоих каналах один и тот же.

HTTP, через сервер

 Ваша система              Сервер YaKassa               Касса
      │  POST /gate/receipt-v4  │                          │
      │  заголовок token ─────► │ документ ждёт в сессии   │
      │  ◄── OK, документ принят│ ◄── касса сама опрашивает│
      │                         │     сервер каждую секунду│ чек
      │  POST /gate/receipt-status-v4                      │ оплата
      │  ─────────────────────► │ ◄── результат от кассы ──│
      │  ◄── PROCESSING или OK  │                          │

Касса сама ходит на сервер, поэтому её не нужно публиковать в сеть. Ваша система общается только с сервером.

TCP, напрямую в кассу

 Ваша система                                     Касса
      │  POST http://<ip кассы>:8090/gate/receipt-v4  │
      │  ───────────────────────────────────────────► │ чек
      │  ◄── OK, документ принят                      │ оплата
      │  POST /gate/receipt-status-v4                 │
      │  ───────────────────────────────────────────► │
      │  ◄── PROCESSING или OK                        │

В кассе работает маленький HTTP-сервер. Чек в ОФД уходит самой кассой, как при обычной продаже.

Сравнение

HTTPTCP
Кто кого зовётвы и касса зовут сервервы зовёте кассу
Интернетнужен у вас и у кассынужна только локальная сеть
Токенда, заголовок tokenнет
Касса видна в сетине нужнонужно, по IP и порту
Где хранится результатв базе сервера, доступен и через суткив памяти приложения: 100 документов, не дольше суток
Задержка доставки документадо 1–2 секундсразу
Приложение свёрнутоне работаетне работает
Смена/gate/shiftдокументом в receipt-v4
Внесение и изъятие/gate/cashнет
Оплата картой без чекаfiscal: falsefiscal: false и /payment

Для облачных систем и удалённых точек берите HTTP. Для кассового ПО в том же магазине, весов, киоска берите TCP. Каналы можно держать включёнными одновременно.

Подготовка кассы

ЧтоГдеПримечание
Включить HTTPНастройки → Обмен → Обмен по httpпоявится «Номер для обмена», это и есть токен
Включить TCPНастройки → Обмен → TCP серверпорт указан в заголовке настройки, обычно 8090, адрес кассы показан под ней
Проверить связьправый верхний угол экраназелёные Обмен и TCP, красная плашка означает ошибку, нажмите для описания
Открыть сменуэкран кассы или запросиначе ошибка «Смена закрыта. Откройте смену»

Настройки обмена относятся к конкретному устройству. Заменили кассу или сеть: заново проверьте IP, порт и токен.

Смотрите также