Re: Yes, I have
Strictly speaking, the correct response is "Yes, I do". However, you are right that many people will reply "Yes I have" - and it is perfectly acceptable in normal speech, because the listener knows that you mean "Yes, I have money".
The correct response is "Yes, I do" because the question was phrased as "Do you....?" If the question had been phrased as "Have you money?", then the strictly correct answer would be "Yes, I have" - although, once again, "Yes, I do" would be acceptable.
I'm not a teacher of English, but I have spoken it for (almost) all of my life....