Отличия протоколов кассовых провайдеров¶
Провайдеры фискализации похожи на уровне общей идеи: получить токен, принять чек, вернуть статус и фискальные реквизиты. На практике это разные контракты. Отличаются адреса API, способ передачи токена, версии ФФД, обязательные поля, формат ошибок и поведение чеков коррекции.
Эта страница нужна для интеграционного решения: можно ли переносить сценарий между провайдерами без адаптации. Короткий ответ: нельзя.
Карта отличий¶
| Провайдер | Версия для ФФД 1.05 | Версия для ФФД 1.2 | Главное отличие |
|---|---|---|---|
| АТОЛ Онлайн | v4 | v5 | Наиболее близок к базовой АТОЛ-модели; v5 заметно строже валидирует чек. |
| Эвотор | partner v1 | partner v2 | Партнерский путь API, собственные требования к кассиру и более долгий опрос итогового статуса. |
| Ferma / OFD.RU | v1 | v1 с отдельным контуром | Токен передается иначе, ответы часто менее подробные, коррекции в ФФД 1.2 ненадежны. |
| Бизнес.Ру | v4-контур | v5-контур | Строгая JSON-schema валидация и подробные ошибки на регистрации. |
Что это значит для банка¶
Банковский шлюз не должен считать провайдеров взаимозаменяемыми реализациями одного API. Даже если названия операций похожи, адаптеру нужны отдельные правила:
- как получить и передать токен;
- какой путь регистрации использовать;
- какие поля обязательны в конкретной версии ФФД;
- как читать ошибку регистрации и финальный статус;
- какие операции коррекции реально поддержаны;
- когда промежуточный статус еще не ошибка, а когда фискализация уже сорвалась.
Регистрация и статус¶
Успешная регистрация задания у провайдера означает только то, что провайдер принял запрос в обработку. Она не доказывает, что чек фискализирован. Финальный вывод можно делать только после итогового статуса с фискальными реквизитами или после понятной ошибки.
Для поддержки это важное разделение:
| Слой | Что известно | Чего еще не известно |
|---|---|---|
| Платеж | Деньги авторизованы, списаны или возвращены | Сформирован ли кассовый чек. |
| Регистрация чека | Провайдер получил задание | Дошел ли чек до ККТ, ОФД и ФНС. |
| Финальный статус | Есть итог обработки | Нужно сверить тип чека, сумму, позиции и ФФД-реквизиты. |
| ОФД-витрина | Чек можно открыть публично | Не все ФФД-теги обязательно видны на странице. |
Коррекции¶
Коррекция - самая чувствительная зона различий. В проверенных test-контурах общий вывод такой:
| Провайдер | Практический вывод |
|---|---|
| АТОЛ Онлайн | Самая широкая поддержка коррекций, но ФФД 1.2 требует полноценный состав чека. |
| Эвотор | Коррекции требуют кассира; часть операций в ФФД 1.05 не поддерживается. |
| Ferma / OFD.RU | В ФФД 1.05 часть коррекций проходит, в ФФД 1.2 поведение ненадежно. |
| Бизнес.Ру | В текущем банковском контуре коррекции не считаются рабочим сценарием. |
Если задача связана с исправлением фискальной ошибки, сначала нужно определить бизнес-событие и нормативное основание. Выбор API-операции идет вторым шагом.
Практические правила¶
- Не переносить payload между провайдерами без адаптации.
- Не считать отсутствие подробной ошибки подтверждением корректности чека.
- Не считать публичную страницу ОФД полным источником по всем ФФД-тегам.
- Для ФФД 1.2 закладывать более строгую валидацию состава чека.
- Для коррекций фиксировать провайдера, ФФД, операцию, основание и полный состав реквизитов до запуска.