System Design Interview: How Would You Prevent a Payment from Being Processed Twice?
A payment request times out. The customer sees an error and presses Pay again. The first request may have failed, or it may have successfully charged the card while only the response was lost.
Oleksandr Andrushchenko
Sep 05