You're absolutely right on the issue of principles, on correct behaviour. Of course we have to convince people to act ethically and not break the law. Given human nature, however, there aren't many places in the world where, despite our best efforts, people act perfectly ethically or appropriately. Those contributions can come indirectly from businesses and the issue must be examined closely.
I have a solution to suggest. I would suggest treating businesses as corporate citizens who contribute in their own way to democratic development. They should be regulated in order to prevent them from breaking the law and making indirect contributions. The regulations would be very strict and parameters would be set requiring very appropriate behaviour on their part.