Webhooks и события
Контракты delivery и inbound-событий, retries и идемпотентность — не только гигиена API-ключей.
Порядок событий vs posting в ledger
Out-of-order DLR и MO не должны ломать правила prepaid debit — порядок прибытия HTTP не закон денег.
Ops webhook-consumer на volume
Очереди, backoff и ownership DLQ, когда rate событий уходит из пилота — один ритм consumer, который открывают product и finance без hero-тредов.
Дубликат webhook не должен писать второй debit
Fail path: retries и replays остаются идемпотентными для prepaid money и inbox — один event ID, одна строка debit, одна строка inbox.
Гейт подписи и окна replay
Prod-гейт: проверить подпись и ограничить окно replay до того, как webhook станет money или status truth — unsigned/stale остаются fail-closed.
Контракт webhook до первой отправки
Путь покупателя: согласовать signed URL, типы событий и idempotency key до первого prepaid send — сначала контракт, потом платный трафик.