All of these are correct. They can replace each other easily, and in the same conversation. If you want to stress that fact that you only did something once then throw 'once' in there.
"Yes, I have done that once before." or "Yes, I've lived there once before."
SHORT ANSWER:
The present perfect is used to describe an action which causes a present state.
The past perfect is used to describe an action which caused a past state.
LONG ANSWER:
The verb form usually employed to signify your started-and-finished in the past is the simple past.
I ate dinner.
This says nothing about what went before or came after. It is a complete 'historical' action, what grammarians call perfective (not 'perfect').
The perfect constructions in English signify something different. Although they name actions which occurred in the past, they define that past action as still relevant at a later time, as causing a state which endures into that later time.
The present perfect construction employs the present form of HAVE to signal that the later time is now, Speech Time, the time when you speak or write the sentence. You use this construction to describe your present state:
I have eaten dinner (so I'm not hungry now or so I can see you immediately without having to eat dinner first, or whatever the consequence is).
The past perfect construction employs the past form of HAVE to signal that the later time is then, Reference Time, the 'historical' time defined in the sentence's larger context by your use of simple past forms. You use this construction to describe your state at that time:
I had eaten dinner (so I wasn't hungry then).
Note that perfect constructions require a context. The context for using the present perfect construction need not be specified: it 'defaults' to the present, Speech Time. But you use the past perfect only when you are narrating past events: a Reference Time must be established by using one or more past forms.
Employing the present perfect makes a statement about Speech Time, the present.
Employing the past perfect makes a statement about Reference Time, a specific point in the past.
Note also that because the present perfect construction is a statement about the present, you are not permitted to use it with an adverbial referring to a point in the past:
✲ I have eaten dinner yesterday. This must be expressed as
I ate dinner yesterday.
✲ marks a usage as unacceptable
Best Answer
Have done --- Have done is a present perfect tense, generally it is used when the action is completed recently/just now.
Had done-- Had done is a past perfect tense, generally refers to something which happened earlier in the past, before another action also occured in the past.
For Example:
We have done the work -- Here the action completed recently/just now.
My friend offered me an apple in classroom yesterday, but I wasn't hungry because I had just eaten lunch -- Here the action happened earlier("yesterday"), and another action ("I had just eaten lunch") also occured in the past.