System Design Interview: How Would You Prevent a Payment from Being Processed Twice?

There are some system design questions that look deceptively simple.