Live data from Hacker News

What I wish I knew before building a Shopify App

ma.ttias.ch

131–140 of 175 posts

Re: What I wish I knew before building a Shopify App

#131

In support of the platform: * I've never had zero options for solving a problem. Ten years ago, I needed to build a customer login system on top of Shopify. (Like, before Shopify had one of its own.) I had enough room to do that in javascript, and it became an app called Gatekeeper. (Today's spiritual successor: Locksmith.) * Whoever works on patterns at Shopify does a really, really good job. They think through thin…

>Locksmith

Are your customers B2B mainly?

Re: What I wish I knew before building a Shopify App

#132
post #76

Earlier quoted context omitted.

The fact that you can have side effects on imports, and that a lot of libraries relied on side effects on import, was one of my biggest sources of frustration with Python

What other packages have you seen abusing import side effects? Shopify is the first one I've seen, so I don't think it's quite as common as you are implying, but I'm curious to know what other bad behavior you have found

LaunchDarkly does. It does some querying behind the scenes and added a significant delay to the coldstarts of our lambda apis

Re: What I wish I knew before building a Shopify App

#134
post #76

Earlier quoted context omitted.

The fact that you can have side effects on imports, and that a lot of libraries relied on side effects on import, was one of my biggest sources of frustration with Python

Is there any real way around that? The import keyword might as well be renamed to exec.

I think this depends on how brutal the workarounds you will accept are

Re: What I wish I knew before building a Shopify App

#135

Earlier quoted context omitted.

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 pa…

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. Gu…

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

Re: What I wish I knew before building a Shopify App

#136

So I appear to be on a Shopify black list. I've called them, my bank, and on a few occasions even tried other people's cards. I'm declined no matter what, by Shopify. It's been this way for well over a year. Sometimes retailers will manually process a transaction, but otherwise it's infuriating for me to see Shopify grow in the market.

anything to do with marijuana, they will ban you because they are processed by stripe and american company

Re: What I wish I knew before building a Shopify App

#137

Earlier quoted context omitted.

What other packages have you seen abusing import side effects? Shopify is the first one I've seen, so I don't think it's quite as common as you are implying, but I'm curious to know what other bad behavior you have found

LaunchDarkly does. It does some querying behind the scenes and added a significant delay to the coldstarts of our lambda apis

Their PHP one had a similar shell_exec after-affect (c2017), caused some odd things in our logs but we backed away from that solution

Re: What I wish I knew before building a Shopify App

#138

I just don’t get why people continue to build around Shopify. Is Stripe/Square not good enough? Don’t you save a ton by forgoing Shopify?

Former Magento Cloud team member here. Most ecomm businesses are more complex than connecting a front end to a payments gateway. Generally requires multiple complex systems (Product Management System, Order Management System, CRM, etc) to work together seamlessly. This is where platforms like Shopify or Magento are really valuable. They give you all the pieces you need to build your business w/o needing to reinvent t…

Don't forget inventory management, warehouse management, shipping etc.

Often platforms do a little of these themselves but lots of businesses have needs that require them to use specialised solutions that handle those aspects of their business better than Shopify does as each is a complex domain in its own right.

Re: What I wish I knew before building a Shopify App

#139

Earlier quoted context omitted.

Depends to be honest. Where they expose OpenAPI docs it's dead simple to generate the models from that. In .NET I use those plus Refit and boom. Now I have full control and it took barely any time.

I like this approach too, but a non trivial amount of time the models come out wrong. I assume this is because of bad openapi docs, but maybe I'm wrong. What do you use to consume the openapi docs and generate models with?

Haha yes we got bitten by that on a recent project but it resulted in a minor bug we patched pretty quick. I don't mind taking that downside.

Can't remember the exact name of it but it's one of the open API generators that supports all the major languages. Unfortunately the csharp and dotnet core generator generates clients with RestSharp which doesn't use the almighty HttpClient, so I consider them unusable, but it generates the models faithfully. If it so happens the open API spec is wrong that's unfortunate. Though usually if they have an SDK I just use the models directly from the SDK! That's the absolute sweet spot for me. Especially if their SDK is generated off open API it probably stays perfectly or acceptably accurate with incentives to correct any inaccuracies.

Re: What I wish I knew before building a Shopify App

#140
post #91

I built a print-on-demand system that integrates into Shopify stores. To vent a little... * I can concur that their API is unreliable. About 1 in 5 of my CI runs fail with mysterious 500 errors. It's infuriating. * The support channels are a wasteland. Do not expect help. * The documentation is super thin. At first glance it looks decent - there's the objects, there's the fields those objects have. But it's missing a…

Naming differences are the product of having names and enough surface area to where you can't remember all of what's in the API at once imo. You can get variations in 2 digit country code vs 3 digit vs some other representation easily regardless of what language you're using

If you had a statically-typed language, you could have a single Address type and that's that.
Post reply on HN