I "solved" the issue by displaying a summary page with all the products and delivery charges etc, with the typical "to confirm and pay for your purchases, click the continue button below" type message. The continue button causes the site to POST the product data and everything across to the payment processor.
The short answer - there is another step for the user. However, the key is to make it seem as natural and as much part of the checkout experience as you can. This way, it doesn't come across too much as "just another step".
However, if you do come across a better way, I'll be very interested to hear what it was :)