⚡ tldr;
Airbnb needed to design a payment system that wouldn't double charge users if they made duplicate requests like clicking the "purchase" button twice.
They achieved this using idempotency, or making sure the same request keeps returning the exact same failure or success response.
The overall design was to save a request id with it's response to the database and simply return that if the same request was made.
What's the Problem?
When making any payment request for AirBnB, the company needed a reliable system to avoid making double payments.
Nobody wants to get charged twice... ever.
Give me the Requirements
Keep reading with a 7-day free trial
Subscribe to Byte-Sized Design to keep reading this post and get 7 days of free access to the full post archives.