Since the veteran earned the Purple Heart, he has every right to pass the honor on to any friend or family member at his discretion. Since the decoration is widely acknowledged by both military and civilians alike, such transactions should be valued by all. Additionally, in regards to the Marine being offended, he was not affected negatively in any way.
The gesture on the part of the veteran comes from a good place. Trump does not want to offend the veteran or any other person who served their country in the military. As such, Trump should thank the veteran for his service and return the award back to the veteran who truly "earned" it.
Donald Trump did not deserve to receive the Purple Heart from the veteran that gave it to him. Trump has never served in the military, In fact, he went out of his way to avoid being drafted and serving in the Vietnam War. He has shown no respect for the Khan family, either.
Purple hearts are supposed to be given to people who have endured great stress in order to save the lives of others while in combat. Trump has never served in the military, let alone in combat, so for Trump to have one because he wanted it is rediculous and insulting.