They probably need some kind of token of authentication, bit In not sure what other methods they could use that would be better.
I can’t comment on the practices of Italian transit agencies, but in the US, when you buy a train or bus ticket, the email just contains a QR code which you give to the train conductor or bus driver to scan. It also typically includes your name as well (tickets are not transferrable to prevent resale) but I don’t see a reason that you couldn’t design a system with simple bearer tickets.
So this system could just take your payment (which is not anonymous anyway since a name is required to process card payments) and then show you a QR code and tell you to take a screenshot of it.
Step 1: Go to station ticket office
Step 2: Tell ticket agent where you want to go
Step 3: Give cash to ticket agent
Step 4: Receive ticket