Rome2Rio provides links to bus and train companies but doesn't itself sell tickets.
I took a lot of buses in Spain this summer and usually just bought my tickets at the bus station shortly before departure. However, there can occasionally be a hold-up at the ticket window, and the windows are not necessarily staffed during periods when there are no buses departing. Stations in larger cities (including San Sebastian and Zaragoza) normally have ALSA ticket-vending machines. They worked fine with my US chip-and-signature credit card except on the occasion when the computer system was down.
A couple of times I was not able to get on the (sold-out) bus due to depart immediately and had to wait an hour or so. Since there are not tons of buses making the SS-Zaragoza run, you might want to buy that ticket the night before your trip if you know which bus you want. I saw locals with downloaded tickets on their smartphones, but I have never done that in the US, so I preferred to have a physical ticket.
As for the Zaragoza-Barcelona leg, it appears that the train can be a lot faster than the bus but is also quite a bit more costly. I see that ALSA has a weekday gap in its departures between 7:35 and 11:05 AM. Again, you might want to pick up the outbound ticket when you arrive in Zaragoza if you plan to take the bus or a train with mandatory seat reservations (if any--the Renfe web site isn't working for me at the moment). It appears from the ALSA website that you have a choice of three drop-off points in Barcelona, so check a map to see which works best for you. Note that there is considerable price variation for the ALSA buses, depending on departure time.
The train and bus stations in Zaragoza are co-located ("Zaragoza Delicias") and not particularly close to the old part of town--perhaps 30 minutes on foot. I found no decent meal options in that immediate area. There are frequent city buses from the station to the center of town, which has a lot of restaurants. The historic area is definitely worth wandering through. The Aljaferia Palace (English-language audio guide available) is roughly midway between the station and the city center. On the top floor of the train/bus station there's a city tourist office that will supply a map and can help with bus info and general tourist guidance.