Interviewer: You're building a payment system. User clicks "Pay." The request goes through. But the connection drops before they get a response. They try again. How do you make sure they're not charged twice?