The Murrayfield No 8 was cited after being accused of making contact with his opponents’ head as he cleared out a ruck during Edinburgh’s 31-10 Challenge Cup win at Stade Armandie on Friday night.
Haining was order to appear at a disciplinary hearing in London where he admitted committing an act of “dangerous play”.
A statement from tournament organisers European Professional Club Rugby said: “The committee upheld the citing complaint as Haining had committed an act of foul play that warranted a red card.
“It found that the offence was at the mid-range of World Rugby’s sanctions and four weeks was selected as the appropriate entry point.
“There were no aggravating factors, and due to the player’s guilty plea and clear disciplinary record, the committee decided to reduce the sanction by the maximum of 50 per cent before imposing a two-week suspension.”
Haining will miss Friday’s Challenge Cup game with Bordeaux Begles at Murrayfield and the Guinness Pro14 trip to Munster on 29 November.