МанитонДокументация
Контракты

События и повторная доставка

Источник события, повтор и подтвержденный результат.

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

Feature: Повтор платежного события
  Scenario: Повтор платежного события
    Given FiatDeposited с данным paymentId уже обработан
    When поступает тот же платеж
    Then используется существующий результат
    And второй выпуск актива не создается

Платежное событие и банковское уведомление — разные границы. В репозитории есть обработчики FiatDeposited и PayoutConfirmed; работающий отправитель от банка не подтвержден. Событие о выпуске или отправке транзакции не заменяет проверку receipt. Контракт должен задавать версию, идентификатор, связь с операцией и доверенный источник. Сроки хранения и порядок сверки определяются эксплуатацией. Гарантию exactly-once не заявляем. Источники: packages/contracts/proto/maniton/payments и events; обработчики CFA и общий outbox. Платежи.

Сценарии задают ожидаемое поведение. Наличие страницы не подтверждает реализацию, банковское исполнение или согласование Правил.