Review this checkout callback change before I merge it.
Finding: webhook retries may create duplicate credits if the idempotency key is not enforced. Risk: billing state can diverge from the user-visible wallet. Test gap: add replay and out-of-order event cases. Decision: block merge until persistence and retry behavior are covered.
Chat Prompt
Recommended model: Claude Sonnet 5
Code Review Risk Chat
Use a structured chat workflow to turn a code diff or implementation summary into a risk-first review.
