Uber

A mobility as a service provider, allowing users to book a car and driver to transport them in a way similar to a taxi.
How do you ensure a payment API does not charge a customer twice if the network fails halfway through?
Hard
30 min read