Stripe, similarly, can decide to boot an asshole off their platform. That's well within their legal rights. They cannot go the other direction - they can't opt to allow Iranian nationals to violate sanctions on Stripe, for example, or take donations for North Korea's nuclear program.
What's the legal definition of "an asshole?"
Can I just discriminate against my customers on the basis of some protected class and when asked just say "they're an asshole" and I don't wish to serve them.
None is needed. "I believe you are an asshole" is sufficient, as long as that belief is not based on your membership in a protected class.
> Can I just discriminate against my customers on the basis of some protected class and when asked just say "they're an asshole" and I don't wish to serve them.
Yes, you've discovered the widely-used loophole.
It's not a perfect loophole if you draw attention for using it too much. https://en.wikipedia.org/wiki/Disparate_impact