If by correct you mean grammatical, then both sentences are correct. The second utterance (When I met him yesterday, he told me: "I will give you your money tomorrow") reports your friend's exact words - indicated here by the speech marks (i.e. direct speech). The use of direct speech in the spoken reporting of what someone told you, however, is very unusual and needs to have the appropriate prosody to be easily interpreted.
The first utterance (When I met him yesterday, he told me, he will give me my money today) uses indirect / reported speech, which is far more common in spoken language than direct speech. When reporting what was said to them, speakers often backshift the tense of the verb, so that the words "I will give you the money" become: He said he would give me the money.
However, backshift is not mandatory. Very often speakers retain the tense of the verb if they believe that what was said to them still holds true. So, for example, if Friend A told me yesterday "I will give you the money tomorrow" and I see Friend B early in the morning of today (firmly believing that A will keep his promise), then I can say:
When I met him yesterday, he told me he will give me my money today.
Of course, if it is the end of the day, and the probability of getting your money back is now low, then you would use would:
When I met him yesterday, he told me he would give me my money today.
Note: if you are learning this grammar for an exam, you are probably better off sticking with the backshifted version, which some consider to be the default usage in such contexts.