This is not something a company should require for multiple reasons. First off, this is taking away money from people who worked for it against their will. Basically stealing. I would suggest that instead, the company could urge employees to donate, but they should not require it. Another alternative to this is for the company itself to donate to their choice of charity, rather than relying on their employees to make them look better as a company.
Was that ok?