If I make up charges for you and you refuse to pay, I can cease offering the service (to everybody) but I cannot just cut you out because you will not pay the out of contract charge.
These laws are to protect people who belong to groups that commonly get discriminated against.
That much is clear.
Charging a fee for providing bad payment info is legal. See "bounced check" fees.
First off, you need to stop using the (incredibly loaded) word "civilized".
Second, I am not aware of ANY jurisdiction in which businesses are required to provide their services or products to anyone.
Third, THIS IS NOT AN "OUT OF CONTRACT CHARGE". This is a charge which IS IN THE CONTRACT.
Fourth, anti-discrimination laws have ABSOLUTELY NOTHING to do with charging someone a fee when they don't pay you in a timely manner and/or cause you to incur higher costs (such as decline fees or NSF fees).