It's perfectly fair and appropriate to not accept abuse from customers. This seems like a reasonable way of deflecting the abuse but still helping out. It would still seem that way had the guy continued to flip out.
No denying that. I just think there are better ways to defuse abuse than returning vitriol. However, what's right for me - or how I would handle the situation - is clearly not right for everyone else, especially in the moment.