I suppose the easiest way to get around this problem is to use the ZVV app (the public transport authority for Canton of Zürich), or another official public transport authority. ZVV app also covers the whole Switzerland, and the link to Swisspass (including half-fare card), supersaver tickets, the EasyRide function (called check-in ticket in ZVV) are all the same as in SBB app.
I have been always travelling with the ZVV app and have not encountered this credit card problem. Both my Chinese Visa card and my Swiss debit card are accepted in ZVV app. I have also travelled to other Cantons (AG, LU, NW, SH) with the EasyRide in ZVV app and they all worked very well too.