Short answer: poll logs and the errors API into a shadow decision process first, then alert only on distinct failed checkout operations; keep rollback behind a separately tested state check. For a property-management checkout, that separation matters more than whether the final notification goes to email or a Slack webhook. A Node.js service can emit the evidence while a small Python cron job evaluates it without sharing application memory or deployment fate. Don't let an exception count beco...