We will be travelling to Switzerland on April 26 from Innsbruck. I have already purchased ticket till Buchs SG on railjet and will be reaching the station by 9:00 AM in the morning. My final destination is Lucerne via Uznach and Arth-Goldau. Since it is bit late I am planning to buy the Swiss travel pass from Buchs SG station. As per this page: www.sbb.ch/en/station-services/railway-stations/further-stations/station.9404. buchs-sg.html, the travel cards can be bought on station from 7:00 AM in the morning. Is there any recommendation in favor of buying it earlier online from SBB or HappyRail?

HappyRail has standard delivery option with CHF 0 but I am not sure whether this is "print at home" option or not. It also has not mentioned the amount to be charged for credit card.

Thank you very much for your recommendation. I have purchased ticket for me and my wife as well as family card for my daughter from HappyRail. I hope to get the passes by tomorrow. Indeed there was no charge for using my MasterCard prepaid card. And I also saved few CHF.