Hacker News new | ask | show | jobs
by colesantiago 1918 days ago
Shopify is an extremely restrictive platform for merchants and developers, I urge people not to use it if they wish to build on top of it.

There isn't ways to have a custom checkout (one page) with this system and subscriptions are not natively built in, relying on a third party ecosystem.

Theme development is also arcane and not the standard way web developers build a simple website.

Oh and they disallow you to use Stripe for your store and you have to go through Shopify payments instead.

5 comments

While I agree with the first and second point.

Theme development is the same as any other system. It's very similar to a Drupal or Wordpress commerce. I am not sure I fully see what you mean.

Obviously they don't allow you to use another payment processor, why would they? They make money by having people use their payment processor. There is no benefit to them allowing people to bypass this and implement their own payment system.

The custom checkout can be a con, but it's also a pro. It allows your customers to feel at home in a native environment. Not having to deal with every ecommerce site completely different checkout system.

The Shopify Billing API is extremely restrictive. Our application works with all e-commerce platforms (BigCommerce, Magento, Woocommerce, etc). We charge 1 monthly fee so a user can connect all of their shops. How are we supposed to charge the user if the first shop they connect is not Shopify? What if the 2nd shop is Shopify and they have already paid using Stripe? Shopify says they won't approve our application. Guess they don't like it when applications support more than just Shopify.

On top of that, there are applications that can have this payment flow except you need permission to accept outside payments. Shopify only gives this to established companies.

Late last year, they also got rid of unlisted applications and now all applications have to be approved even if you don't want it in their app store.

Shopify is building its moat and getting more and more restrictive. I'm very glad we abstracted all of the operations out of Shopify directly and now can use any platform or even Stripe directly. If you want to build an e-commerce store with Shopify still, use the $9/month plan and use Shopify just as a CMS and integrate with payments separately.

This was exactly the same problem for us. Worse, we were integrating Amazon and Shopify testers wanted our Amazon keys for their testing. Our users have already paid with Stripe and we are not allowed to use Shopify app since payments are not Shopify Payment.

if your app fails their ludicrous testing (one was failed as our icon had wrong font from website) they ban any submission for few months, don't allow integration with other ecommerce platforms, don't allow shopify orders to be cross platform, don't allow non-shopify payments.

And they always nickel and dime their users including Shopify payments. You think Amazon is bad? Wait till you get on Shopify

With one site I developed with Shopify, I have a huge cart abandonment rate because of that 3 step checkout, even with the accelerated checkouts like Apple/Google Pay.

A single page modal checkout on the same page is the way to go these days, even Stripe's new checkout is unfortunately doing the same thing with not keeping the user on the same page.

One thing with Shopify that drives the high abandonment rate is that shipping rates are usually not calculated until the second page of checkout. On many stores the only way to get a shipping estimate is to add something to a cart and get to the second page of checkout.
And that suggests to me that these are not the kind of abandonments that are going to be avoided by redesigning your checkout. This user weld simply bounce somewhere else instead. It is trivial to put a shipping estimate on the product pages, and make customers bounce there instead...but they will still bounce
This is huge - and annoying. I like to avoid Amazon when I can, but if I can't figure out what shipping is going to cost until the cart is almost finished being checked out, I'll bounce.
In small business stores most users checkout as guests, so the website only has enough info to provide a shipping estimate after they have your address.
At least let me pick a country or something and give me a ballpark.

With a lot of US-only retailers the only way to find out they won’t ship outside the US is to try and checkout and look for a country drop down.

And the ones that will ship, shipping for a small parcel can range from inconsequential (free/$10) through punishing ($80) to absurd ($300).

I don’t need an exact amount, but there can be a couple order of magnitude difference between stores when trying to ship to Canada and often no way to determine they even will at all without going through the checkout flow.

Agree. Started off using it because everyone is and it's quick to get going and setup a store, but as soon as you do any custom stuff it's a nightmare. We eventually ran in to a problem where any site updates wouldn't save, and there's no way to debug anything. We'd started to move to bigcommerce so that just accelerated it. Bigcommerce is more flexible but settings all over the place.
Subscriptions is now available as part of their API. It does require a bit of time* to understand it though.

* - May vary depending on your level of experience with GraphQL

*API

But not natively within Shopify's UI, You have to use 3rd party apps have to make use of this API. For merchants this is useless to them if they don't want to use a 3rd party app for this feature.

We just built our own subscriptions on the Subscription API and it is extremely thin. Just a few gripes that I had to build around: 1. The "SubscriptionContract" isn't much of a contract at all. You can set a subscription to cancelled but still bill against it for example. 2. It keeps track of a "next billing date" but it does not bill the customer for you like Stripe does, you have to keep track of the next billing date and attempt to bill against the contract yourself.
Is this subscription api suitable for digital only businesses that have say a membership system?.

Last time I checked most of the shopify apps out there are not suited to this.

Are you thinking for digital products like a PDF or purely for membership access?

When you create a billing attempt against a subscription, it creates a Shopify order that is tied to that subscription. You could definitely have the order be tied to a digital product.

While you could definitely make it work for a membership system, I think I'd recommend literally anything else. Happy to elaborate or answer any specific questions you might have.

What would you recommend for a membership system, thinking about this route since waiting for Shopify's subscription API's to mature but time isn't on my side on this.
If you're not already in the Shopify ecosystem, I'd look at Stripe Subscriptions with Checkout which requires a small amount of development that lives in something like a lambda or netlify function. - https://stripe.com/docs/billing/subscriptions/checkout - https://www.netlify.com/blog/2020/07/13/manage-subscriptions...

If you want something out of the box, there are tools like Memberful, Gumroad, etc that take quite a vig on top of the payment processing.

They integrate with a lot of payment gateways, even if Stripe isn't one of them.

https://www.shopify.com/payment-gateways/united-states

Have to admit, while this is good and reassuring for accepting worldwide payments, Shopify is no good on the subscriptions front and this is very poor if your subscriptions business is digital, like a membership system.
Is Gumroad a better fit perhaps for this use case?
Gumroad looks cool, but the percentages they are taking are extortionate, not sure if they are better.

It would get to a point where I am giving thousands of pounds to Gumroad to lock myself in. How customisable is it, can it do Apple / Google Pay?

Not sure if it does mobile payments natively. Depending on your content, Ghost [1] might be another option with a more palatable cost.

[1] https://ghost.org/

In that case they still take 2% which is pretty absurd.
> not the standard way web developers build a simple website

I would like to see this standard described and what level of agreement you get.

Not OP, and I don't know if you've ever worked within Shopify, but the developer experience is generally terrible. They've given up supporting most of their own tools and basically just tell you to work within their site admin IDE which is also lacking in many ways.