Hi Relnah.
I don't think you've sussed how transactions work properly by the sound of it. You don't start one for the whole time somebody is browsing the site - that would in fact be catastrophic, as any table rows that you lock will be unable to be updated for the entire time they're on there.
Depending on how complicated your shopping system needs to be, i.e. do you need it to manage your stock levels, and need to put them back after orders aren't paid for or problems happen, you're going to need an order table that you add to during the current buying session, and add the user or session ID to.
It's too complicated to go into in a brief post as there are issues you might or might not have to address.