{"id":"payment-error-strategy-split","text":"Programming errors (unknown account, duplicate account, invalid refund state) raise `ValueError`; business-rule failures (insufficient balance, currency mismatch, processor failure) return a `Payment` with `status=\"FAILED\"`","truth_value":"IN","source":"entries/2026/06/05/payment-system-payment_system.md","source_url":"","source_hash":"","justifications":[],"dependents":["error-signaling-lacks-codebase-convention"],"metadata":{},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"payment-error-strategy-split","truth_value":"IN","reason":"premise"}]}}