The simple answer to this is "Reduce the amount of steps to least amount possible"
I think e-commerce sites have ran away with themselves with the amount of information that is required, this has been pushed for the need to get contact information and accounts so that businesses can flood them with marketing material.
When working on e-commerce solutions the journey I try to replicate is that same as that when you are shopping in the high street. I find my product by browsing, I take my product to the till and pay by card. There is nothing more to my purchase than these simple steps, I get asked from time to time to give over my email address to which I refuse quite abruptly.
Why should the digital checkout not be the same as this, it's also becoming more apparent that people are more willing to purchase on their mobile devices, whilst mobile browsing has been growing rapidly, users were still wary of making a purchase, a 5 stage process with 20 fields to fill in will simply not work in this scenario. The key here is to build for mobile first and then scale this up to tablet then desktop. I was a bit dubious at first but it really does work.
I am currently working on an e-commerce system that will require nothing but the email address, delivery address and card details of that user.
The email is for any issues that may arise through the delivery process.
The address is for the delivery.
The card details for the payment.
This is all situated on one page, there is no reason for the user to create an account (though there is a non intrusive option to do so) and the process is over and done with quickly and efficiently.
On a side note, when selling this to a client I always use this scenario;
If your store was on the high street and 100 people came into your store, when they got to the checkout they had to fill out a myriad of forms and sign up to a discount card so you could send them junk mail do you think your customers would do this? If 75 of them walked away would you not change this process immediately?