As long as he avoids practices which are specifically prohibited by law (such as racial discrimination) any shopkeeper is free to choose whom he admits and whom he bars.. He doesn't need to give a reason. Indeed, he doesn't need to have any reason. (He can act entirely upon a whim if he so chooses).
If a shopkeeper wants to bar people in green coats but admit people in grey coats, he's free to do so. If he also wants to admit people in red coats, but charge them 100 times as much as the people in grey coats, he's free to do so. It's his shop and he makes the rules.
Chris