architecture decision

ADR-008: Cache payment status for short-lived reads

Payment status lookups use a short TTL cache to reduce repeated read model traffic during checkout polling.

Decision RecordOctober 1, 2024AcceptedPerformance

Context

Checkout pages poll payment status while waiting for provider callbacks. Without caching, short polling windows create unnecessary load on the payment read model.

Decision

PaymentService may cache GetPaymentStatus responses for a short TTL. Terminal states can be cached longer than pending states.

Consequences

Polling traffic is reduced without hiding state transitions for long periods. Clients must treat status as eventually consistent during active payment processing.