At first glance, building a store for your own digital products seems simple to a developer. Hook up Stripe payment link for orders and get it a to ping a webhook. Capture order details, email, deliver product. Job done. We can code something ourselves and use it forever more.
But it can be a whole more complex than that…
Here’s a bunch of reasons why I don’t do it and you might want to avoid it.
Firstly, that customer and order detail data needs to be stored somewhere where you/your company will be responsible for it. Here in the UK, that comes with certain rules from the Government and ICO concerning how it will be processed, protected and destroyed that we’ve all very familiar with known as Data Protection or GDPR. You’ll want to make sure that it’s stored in a place free from prying hackers since that’s going to be attractive data for them. If you don’t take appropriate measures, you could be fined.
There’s also the small matter of Tax - a complex beast with different rates for each country and different rules for when it should be charged. Here in the UK in 2022, we have VAT at 20%. But in Germany it’s 19% and in Switzerland 7.7%. Except it might not be, since there’s different rates of VAT for the type of product you’re selling. So for an ebook in Switzerland it currently is 2.2%. When you’re selling directly to the customer you may need to pay tax in every country where you’ve had a purchase, which is no small feat if you’re planning on having a lot of customers from around the world. We’ve spoken here about VAT, but there’s also Sales Tax (GST) which applies when selling in the US and rules for it differ from state to state.
There’s a ton of services that you can connect together to handle the delivery for you, but every one that you introduce adds another dependency to your system. If you code it yourself, you’ll need a landing page to point to your payment processor and a web hook to handle what happens when a payment is made. You’ll need services to manage delivery of your products, say from a S3 bucket - but you probably want to proxy that link since you wouldn’t want to expose the original one. You may also want the link to expire after a certain amount of time. You’ll also want something to handle email delivery and storage of a customer mailing list.
I only have so much attention I can give out each day (something my wife can attest to!). I really don’t want to be splitting it between the thing I want to deliver and the software I’m delivering it with, especially when money and personal details are in the mix. You’re going to need to support any software that you glue together. Anything that goes down is now on you, along with the original digital products that you want to sell. Context switching like that is going to be draining. Additionally, your customers will likely expect a level of service that other solutions provide which you may be unable to match.
Some of the above may not apply when you’re making a small amount of money. It may even fun for you to tinker with to figure out and handle in the first instance. But when you’re dealing with it as a business the amount that can go wrong makes competing services seem like a steal at 5%. All these problems go away and you can get back to focusing on your primary goal - delivering quality products for your customers.
If you enjoyed this you might like my previous post on ”Comparing VAT Solutions for Bootstrapped UK Businesses”