Selling digital products with Shopify, FetchApp and Stripe

In my book, The Profitable Side Project Handbook, I advise readers to get to launch as quickly as possible. As anyone who has launched a product will know, you can spend as long working on the infrastructure to sell and support the product as you do on developing the first version of the product itself. However there are a number of services available that can save you needing to write a lot of code to start selling, at least initially.

As a developer my first instinct is to write code to solve problems. When I started thinking about how I would sell and deliver my book, my first thought was that I could write something to take payment via Stripe and then deliver the files. In the interests of getting quickly to launch I also investigated Gumroad, a platform that Nathan Barry recommends in his book Authority. The problem with Gumroad is that for UK customers they transfer payments via PayPal. I wasn’t keen on a total reliance on PayPal as they seem to be a law unto themselves (something else I talk about in the book).

I then had a conversation with Keir Whitaker about Shopify. I had always thought Shopify more of a solution for people setting up shops selling physical, shippable items. On investigation I found that I could sell a single item through Shopify, using the FetchApp plugin for delivery. I’m in good company using Shopify for e-books as this combination is also used by A Book Apart for delivery of their digital books.

It took me around two hours to pull together the component parts of a sales and delivery system using Shopify, FetchApp and Stripe and this post is just a quick rundown of what I needed to do as a reference for anyone else. All three services have excellent documentation and getting up and running is mostly just a case of following your nose.

Sign up for your Shopify account and add your product. If you are selling a single product like me then you can customize the templates so if anyone goes to your store homepage they will just see your single product displayed. Ideally I wanted my customers to just be able to go straight to the checkout page from my website as I am only selling one product, and the instructions on Shopify for Cart Permalinks helped me do that.

Hooking up FetchApp involves creating an account on FetchApp, installing the FetchApp App on Shopify and then importing your Shopify products and uploading the digital files. There are some notes in FetchApp support– on how to configure your products in Shopify so that when a customer purchases a product they will be sent the download link without you needing to do anything.

You can change the default emails sent by both Shopify and FetchApp so they give good instructions to your customer after purchase.

To take payments you need to link Shopify with a payment provider, however they do have a dummy gateway you can link up in order to test without needing to put actual card payments through. I would suggest doing this to check your integration with FetchApp and the emails that are being sent out, before setting up a real gateway. One of the nice things about using Shopify is that you can set up multiple gateways easily and give your customers a choice of how to pay. In my case I linked up my Stripe account and also PayPal. The integration is handled mostly at the Shopify side – just read and follow any instructions displayed as you link the gateways.

After making your Shopify store live you should test real payments by each of the methods you have set up. You can also refund yourself, and test that refunds go through. You are then able to go live.

Additional things to look at

You can customize the Shopify store heavily if you want to and also set up your own custom domain – although for a single product where people are linking straight to the cart from your site, the default look and feel is probably fine.

I installed the Shopify iPhone app, and it is fun to get a notification on my home screen when someone buys my book. I also installed the Xero App from Carry the One in order to push my payments through to Xero, as I use this for accounts.

As my mailing list is in MailChimp I took a look at the Chimpified App which will keep your MailChimp list and Shopify in sync. I think this would work better if I created a new list just for customers rather than trying to link it up with my existing mailing list as it only adds those people who sign up for marketing emails to the list, and removes those who don’t. As my email list isn’t a marketing list I was concerned that people who wanted to receive my weekly email, but didn’t want to be sold to, might get removed so I uninstalled that app. Even without an App it is easy to get your Shopify customers and add them to a list on MailChimp. You download the customers filtering on those who have agreed to be emailed and can then import that into a list at MailChimp, MailChimp will handle the deducing of addresses, so people won’t be emailed twice if they were already on the list.

What does all this cost?

Taking payments costs money and the biggest chunk will go to PayPal or your other payment gateway. Shopify has a monthly subscription and takes a percentage on their plans with a lower monthly fee, FetchApp is free for files under 1MB and then a monthly subscription based on storage required.

There is no way to avoid payment provider costs. Rolling your own cart and delivery would save you some money but the monthly costs are not high, and percentage amounts only apply if you are actually selling your product. If you don’t have requirements that mean you need to develop a more complex system I’d advise using and paying for third party solutions and investing your time in marketing your product rather than writing code to sell it.

If you have first hand experience of other solutions please add your suggestions in the comments.

One Comment

Glen Scott January 21, 2014 Reply

Just another point regarding Gumroad. It is a very simple system to use, but there is another disadvantage for UK users: Even though you can price in £, the amount is actually taken from customers in $ and there may be additional international/exchange fees because of that.

Leave a Reply