Almost all garages sell petrol at the maximum price permitted by the government. This can vary.
As a general rule, most stations are self service. The exception is in some rural areas.
Credit cards are universally accepted and tipping is not expected – regardless of what you might read in a guide book.
At self service stations, some pumps might be marked for 'pre pago' or pre-payment. This is usually the case for any pump that is located in such a way as to allow an easy escape to someone looking to avoid payment. Pre-payment is often required at night after 23.00 hrs when the station is manned by a single attendant and payment is made in the window. If you are filling the tank and don't know the quantity, go to the pay stations and offer to leave the credit card with attendant, fill the tank, return to pay with the card.
Petrol stations are generally outfitted with window washing supplies and air pumps, as would be expected in any European country. Restrooms are generally well maintained. If located outside, they may be locked and you will need to ask for the 'llave por los servicios' (key for the toilets).
Gasolina 95 - This is the standard lead free for all petrol cars. Price in August 2020 is about 1.23 € per litre.
Gasolina 98 - This is the higher octane lead free. not generally available in all stations. Price in August 2020 is about 1.35€ per litre.
Gasoil A - This is the standard diesel. Price in August 2020 is about 1.11 € per litre.
Gasoil Extra/Super/Ultra - This is the special diesel which is supposed to offer better engine protection. Price in August 2020 is about 1.21 € per litre.
This government website has a map and gives current petrol prices at 11.000 stations in Spain. www.geoportalgasolineras.es