What's better for a checkout process?
- One relatively long checkout page?
- Multiple short pages/steps ?
Multiple pages. I've been burned before by single-page checkouts where I wasn't given the oppertunity to verify my details before submitting the payment.
Always give the user the oppertunity to confirm and change their shipping address in a seperate step, as this is what people are used to and expect.
Also, the user doesn't have to re-enter 27 fields if they accidentally refresh their page (you should always allow the user to refresh their page without re-submitting the payment as well).
I have always been a fan of multiple, short steps, but make sure the state for each step is saved should the user need to go back and change some of their responses.
Single 'form' page + verify page. (something like Magento has) It's easier to implement and when properly organized more user friendly.
Use Javascript to hide/show sections like customers details, shipping adress, etc. This way you can have more steps on single page.