But charges of match-fixing against Petersen, who has spent the past two years playing for Lancashire, were withdrawn by Cricket South Africa.
It follows a lengthy investigation into South Africa's domestic Ram Slam T20 Challenge Series competition in 2015.
"I accept the punishment that CSA has imposed on me," said the 36-year-old.
Petersen, who played the last of his 36 Test matches in January 2015 and has spent the last two English summers playing county cricket for Lancashire, admitted 13 breaches of CSA's anti-corruption code:
In January, as part of the same investigation, former South Africa spinner Gulam Bodi was banned for 20 years after admitting charges of contriving or attempting to fix matches.
Then in August, CSA banned former wicketkeeper Thami Tsolekile for 12 years for his part in the scandal, while Pumelela Matshikwe, Ethy Mbhalati and Jean Symes received lesser bans for accepting money from Bodi.
A CSA statement said: "After considering representations made by Petersen, CSA has withdrawn certain charges against him, including those relating to fixing or contriving to fix any match and seeking, accepting or offering to accept any bribe or other reward to fix or influence any match."
Petersen added: "I would like to apologise to my family, friends, the public who are fans of the game of cricket, my team-mates, Gauteng cricket, Lions cricket and especially to Cricket South Africa for my actions.
"At the time that the meetings with Bodi and the fixers happened, I never had any intention of fixing matches or taking money.
"I now deeply regret having participated in these meetings and not to have immediately reported them to the authorities as I am obliged to do."
A statement by Petersen's former county said: "Lancashire County Cricket Club respects the outcome of the recent proceedings between Alviro Petersen and Cricket South Africa (CSA), and as such can confirm that the player won't be playing for the club in the 2017 season."
Petersen was Glamorgan's captain for the 2011 season and also had spells with Essex and Somerset.
Former South Africa batsman Alviro Petersen has been banned for two years after admitting he attempted to cover up match-fixing by others.