How to Integrate Drupal and Shopify

drupal shopify

One of the most frequent questions we get asked by OSTraining members is this:

“Is there an easy shopping cart for Drupal?”

Don’t get me wrong. Drupal Commerce is a great system, and we have a detailed video class explaining how to use it. But no-one would describe Drupal Commerce as easy, and Ubercart is equally difficult.

There are few other valid e-commerce options. One, called Basic Cart, works great but doesn’t actually have any payment options.

So in this tutorial, we’ll explain how to use Shopify.com and Drupal together. Shopify is a robust option and can reduce the burden of maintaining an e-commerce store.

Install the Shopify Modules and Library

To get started, make sure you have a Drupal site, plus a valid Shopify.com account

Install these modules, plus any dependencies:

You will also need to download the Shopify API library and upload that to /sites/all/libraries/shopify/

  • Go to Configuration > Web Services > Shopify API and you should see this success message:

Connect Your Drupal Site to Shopify

Now we’re going to import your Shopify.com details into D

  • Log in to your Shopify store at shopify.com
  • Click “Apps” on the left-side
  • Click “Private Apps” in the top-right corner of the page.
  • Enter a name for your application. This is private and the name isn’t important.
  • Click the “Save App” button.

Now you will have the information you need to enter into your Drupal site.

  • Go back to Configuration > Web Services > Shopify API
  • Enter the “Password” as the “Token” value.
  • Enter the “API key”.
  • Enter the “Secret”.
  • Enter your Shopify store URL as the “Domain”. It should be in the format of (store-name).myshopify.com.
  • Click the “Save configuration” button.

If you entered all the information correctly, you should see a “Shopify” tab appear in the admin menu.

  • Click “Shopify” and you’ll see a series of tabs. Click the “Sync” tab.

Now we’re going to import any products on your Drupal site:

  • Click the “Sync Products” button and wait for the import process to finish.
  • Click the “Sync Collections” button.
  • Check your site’s content. If the import was successful, any products in your Shopify.com will now be nodes:

Now we’re going to allow Drupal to update our Shopify.com store.

  • Click the “Webhooks” tab.
  • Click “Webhooks Registered”
  • Check all the boxes.
  • Click the “Save configuration” button.

Add a Drupal-friendly theme to Shopify

In this step, we’re going to add a custom theme to Shopify. This is a really important step. This theme will redirect the user to your Drupal site if they attempt to use any store features covered by this module.

The theme will also disable most Shopify store features except for the shopping cart and customer login area.

  • Click the “Theme” tab.
  • If your site is online, click “Upload and Publish Automatically”.
  • If you are on localhost, click “Download Only”.
  • Go to your Shopify.com store, click “Themes” and upload your theme.
  • Click “Publish theme”.

Work with your Shopify products

Now that the integration is complete, you’ll be able to treat your products as if they were normal Drupal nodes:

You’ll be able to add fields to extend your products:

A video on Shopify and Drupal

The developers of the Shopify module have a video to guide you through the integration:

Instructor

  • Steve is the founder of OSTraining. Originally from the UK, he now lives in Sarasota in the USA. Steve's work straddles the line between teaching and web development.

0 0 votes
Blog Rating
Subscribe
Notify of
11 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
xpersonas

Currently building a site with this integration now, and I must say it is by far the most pleasing Drupal commerce experience I’ve had. I’ve built Ubercart and Drupal Commerce stores. All capable platforms, but both bring their own headaches. So far working with this integration has been like a dream.

steve

Thanks, xpersonas. It’s good to hear real-world feedback. We’d like to recommend this to more people if it works well.

Daniel Pepin

Developer here. Thanks for the positive feedback! Really appreciate hearing what people think 🙂

Daniel Pepin

Thanks for the write-up Steve! We hope to get more people liking the idea of 3rd party commerce solutions for Drupal. We find that 90% of the time Drupal Commerce and Ubercart are just overly complicated and “heavy”. Most people don’t need a ton of crazy custom stuff with 20+ additional modules. Always looking for more feedback/ideas.

steve

Thanks Daniel. Yes, very much so. I think you’re filling a real gap. Drupal Commerce and Ubercart are enterprise-grade solutions. There’s a lot of Drupal users who want something simpler.

Mike

Daniel, Have you considered a Drupal Commerce Lite version? It wouldn’t be fully customizable and perhaps by being less intimidating it would drive user adoption.

Nicole Jacobson

Just wanted to say this is the most exciting thing I’ve found since I discovered Drupal! I love shopify, but feel it’s limited to only commerce. I’ve tried ubercart and ended up having to hire a developer to help me because it was so complicated. I just installed this module and was up in running in less than an hour! Just a bit of styling and I’ll have the best of drupal with the best of shopify! Thank you!!!

steve

@nicole_jacobson Wonderful, glad to hear that worked well

Jonah Brown

It does have strange quirks. For instance if you put in a description to the product it doesn’t seem to bring in the field to Drupal so you can apply a filter text. However on single product view you see raw HTML output of the description.
This leaves you to add a field for description on Drupal and make sure you have the same description in both Shopify and on Drupal.
Yes it is an easier commerce, just some quirks.
[urlcomment image]https://uploads.disquscdn.c…[/url]

Anonymous

Fantastic read – exactly what I was looking for. Thanks Steve!

Ethan

We have a very advanced integration of this with Apiece Apart (google it), a clothing brand.  Biggest complaints about the module is it pulls in all the assets from Shopify, rather than grabbing image paths, etc, so changes and updates are problematic.  Also, Shopify is changing their API and the changes we are recommending are required, Shopify will no longer allow these heavy API calls starting on July 1 (was April 1, but delayed due to COVID). 

11
0
Would love your thoughts, please comment.x
()
x