Some tips I wish vendors would follow:
1. Don't capture more information than is absolutely necessary for the transaction.
2. Don't force the user to sign up or join anything if they just want to buy something.
3. Don't automatically add the user to your newsletter and send their details to your ad network. Be very explicit that you won't do this.
4. Tell the user up front how much postage will most likely cost and expected delivery time before you capture all their details. You can guess their general location from their IP address of have them select a city.
5. Have multiple payment options (like paypal for example), not just credit card.
6. Up front, tell them what you need from them before they can complete the transaction. Nobody likes working through an endless data collection wizard only to stop half way though because you don't want to give up that data or get bored filling things in.
It's really not that complicated.