Canada went 2-1 on the day to finish second in Pool A behind South Africa, ensuring that they will remain one of the core teams on the circuit next season. The U.S. also secured its core status.
The Canadians started the day in 11th place overall, looking to secure its status as one of the core teams on the circuit. Teams ranked 13 through 15 after the Scottish event will have to take part in a relegation/promotion tournament.
Jeff Hassler, Sean Duke and Nanyak Dala scored tries and Nathan Hirayama's second conversion of the game gave Canada the win against Samoa.
"It wasn't our greatest start against Samoa but to come back like we did against them, some people would say we were probably quite lucky, but you make your own luck," said Canadian coach Geraint John. "We won those restarts to win."
The Springboks needed a last-minute try by Stephan Dippenaar to defeat the Canadians, who finished the day with a 21-10 win over Kenya.
Canada will face Wales on Sunday in the quarter-final of the Cup competition.
New Zealand, meanwhile, needs only to win its quarter-final to secure its 11th world sevens rugby series title in 14 seasons.
New Zealand, the only team to reach the quarter-finals in all eight tournaments so far, swept all three of its pool games, conceding only one try and beating Scotland 28-0 in Saturday's finale. That condemned the tournament host to playoffs at next weekend's London Sevens to hold onto their top-15 core status for next season.
The Kiwis, who have a 32-point lead over South Africa in the standings, can wrap up their third straight world series triumph against Argentina in the quarter-finals at Scotstoun Stadium.
"That's the exciting thing about it," captain Tim Mikkelson said. "But Argentina, you never know what they will bring, they have a lot of flair and passion in their jersey and it will be a tough game to win."
South Africa, Fiji and Wales also won their pools unbeaten. In the other quarters, South Africa will face the United States and Fiji will meet England.
Fiji easily handled Spain and Argentina, but against Australia had to come from 10-0 down early and 17-12 behind in the second half before coming through 19-17.
Wales needed a late try from James Davies to beat the United States 26-21, while the Americans secured core status by beating France for the first time in more than a year, Folau Niua's dummy and try sealing a 21-14 win.
With files from The Associated Press