When the time came to setup my online shop, I looked around for available choices. It basically boils down to these two:
- Do it all yourself solution: setup a merchant account and payment gateway, accept credit card payments and maybe purchase orders, phone and fax orders.
- Go with an established e-commerce provider like share-it, 2checkout, Kagi, eSellerate etc. You can find a comparison of many such services at http://www.regshare.com/ and http://www.blackcatsystems.com/regservices/.
At the time I felt that a completely integrated system is more appropriate for business software. However I changed my mind and went with an e-commerce provider for 3 reasons:
- Some people believe it’s more secure to give their credit card to an established company specialized in receiving payments, than to a new, small company.
- I wasn’t sure how hard it would be to handle purchase orders, phone and fax orders. I don’t think it’s that complicated or demanding but then again I had no experience in this area.
- At the same time I read an excellent article by Dennis Gurock, describing how they did their shop using share-it. I think their shop is very well done: clear and professional while offering multiple ways to order.
So I followed their advice while building my shop, only I took it a step further: I created a customer area, where customers can login to download the latest version of Magna CRM and find their serial numbers. Although I also went with share-it, it is because I find their rates and service good. I think the same shop could be built with any other advanced e-commerce provider.
In order for this to work I had to take advantage of the share-it serial number generator API. Share-it allows developers to generate serial numbers for their products in real time. They do this using a generator you provide them: either an EXE or a specific URL that is hosted by you. I used this second way, only I don’t just generate a serial number I also create an account for the customer area.
So, when someone buys something from my shop, share-it calls a specific PHP script hosted by me. They pass information like customer details and what he ordered (obviously they don’t give any payment details). In this script, I create a new account for the customer area and return the username / password combination to share-it. This information is then sent to the customer who can immediately login and download the product.
Advantages of this approach:
- The procedure is completely automated. The customer can pay and download his software without any human intervention.
- Exactly the same system is used for the trial version.
- The customer area can provide more benefits in the future (apart from product downloads and serial numbers)
- The generator script also works as an event for a new / returning customers. I use it to update customer details and assets in Magna CRM or insert new leads in case of trial sign-ups.