I would think that the customer would have to accommodate the method of payment offered by the retailer here, not the other way around. As a customer I would investigate or have an idea beforehand of whether I can pay by cash or card. Why don't I ever go to the train station (or anywhere else for that matter) with a cheque book? Because I know that they don't accept cheques (more of an assumption I suppose).
There are some specific differences though. I've been making occasional journeys on the Tyne & Wear Metro for a very many years now. Until recently, the only way to pay for Metro tickets was with coins (The machines did not accept notes or cards). Those were the breaks and everybody knew it. You always ensured you had a pocketful of poind coins, otherwise you couldn't take the train.
The National Rail network is different. There are terms and conditions around what payment types are acceptable. They may not include cheque, but they do include cash, cards and some other things (rail travel vouchers for instance.) There is an
expectation that those methods will be accepted (which did not exist in the Metro example above.) Additionally, these new card-only TVMs are being introduced at stations where either no facilities existed before, or are in-lieu of an open ticket office. In both previous cases, multiple payment methods would have been accepted (at the office, or on the train)
Lastly this does little to address the last major issue; what if the card-only TVM didn't have the fare I wanted in it?
And there's another key point. Clearly, TVMs can't sell the entire range of fares, it would be practically impossible to do so. Couple that with folks who genuinely
don't have cards, and you'll always have people buying on the train, unless you provide fully manned ticket offices everywhere.
If I turned up at a station where only a card TVM was evident, I'd likely use it. (Assuming it had the fare I wanted), but then I pay by card in preference. I would also hope that some folks who'd normally pay by cash would switch to it for convenience, but it's not the railway's business to check every cash-paying customer who buys on the train, that they aren't carrying a valid card.