Hello @jamesyliu1210
Thank you very much for your post.
No, it is not too early; sometimes EC trains from/to Milan are quickly fully booked acutally.
If there is a bug and you cannot end the purchase successfully, I suggest you create a SwissPass Login (www.swisspass.ch).
Afterwards, you can log in onto www.sbb.ch with your SwissPass credentials and save the payment method unter "my account" > "payment method".
And only after try and purchase the ticket.
If you are in Switzerland, you can also buy the tickets by phone caling the SBB Contact Center (0041 848 44 66 88, CHF 0.08/min): we will then send you the tickets by mail to your adress or you can pick them up at any SBB ticket counter before the journey.
I wish you a nice day
EleonoraS