Switzerland has a great program. The municipal truck, apparently, charges every time it picks up your garbage. This makes citizens NOT bring home the excess packaging from shops. Shopkeepers don't want to pay for this unwanted packaging either. They refuse it from the manufacturer. The manufacturer is happy to be forced not make excess packaging.

Unfortunately making the public pay for the garbage they generate won't go well with the vote bank...

But it works great...