I used to run a railway station,so I encountered quite a few angry customers. I was also involved (both as 'trainee' and trainer') on relevant courses. So here are a few pointers
1. Remain calm and avoid getting into an argument.
2. Keep eye contact with the customer but don't stand too close to him. (Angry people can misinterpret excessive proximity as a threat . Keeping your distance is also a good way to avoid the punch which might be coming your way!).
3. Ensure that you've got an escape route! (The risk of violence from angry customers is actually extremely low but it's worth knowing how to get away in a hurry!
4. Ask to customer to explain the problem to you clearly.
5. Be quick to apologise that the customer has been upset but avoid apologising directly for any (alleged) failing of your company. (e.g. "I'm sorry that you've had a problem today, sir" is acceptable but "I'm sorry that our company has screwed everything up" is usually to be avoided!)
6. If you're satisfied that the customer has a genuine grievance, and you're authorised to deal with it (e.g. by providing a refund or replacement), do so quickly and calmly, repeating your apology for the customer's inconvenience.
7. If, under those circumstances, you're not sure as to whether you're permitted to provide a remedy yourself, always consult a senior member of staff.
8. If you believe that a customer's complaint is unreasonable, calmly explain the company's policy. If he continues to complain, don't get into an argument. Offer to call a manager.