"Have you done that" asks if the action took place in the immediate past, continuing right up to the present time. Answers could be "Yes, I've done it," or "No, I haven't done it yet." ... "Did you do that" asks if the action took place in the past, with no particular time implied.