Submit a ticket My Tickets
Login  Sign up
Open navigation

Shopify Payment Gateway

Pro Trainer
Learning Center
High Volume & Corporate

Using the Shopify integration, your users will have the opportunity to buy your courses either directly from your Shopify store or via your Learnworlds school. With Shopify, you can handle the VAT of EU customers since it has geolocation, so the VAT in the invoices will be issued automatically according to your customer's country.

If you choose to connect Shopify as your Payment gateway, you cannot connect any additional Payment Gateway options. You will only be able to sell your courses via Shopify.

As of January 24, 2024, recent updates to Shopify have affected custom apps. These changes include a restriction on access to Personal Identifiable Information (PII), such as email addresses, which is not available as an option in all Shopify plans.

Since the Shopify checkout process in a LearnWorlds school requires our customers to create a custom app that needs to access PII (the end user's email address), we suggest that you connect with Shopify and ensure you are in the correct Shopify plan.

Set up Shopify as your Payment Gateway

Shopify Store

1. Log in to your Shopify account, choose the Apps option, and click on App and sales channel settings, after clicking on Settings.

2. In the pop-up, select Develop apps for your store. You will need to click on the Allow custom app development buttons that will appear. Then, click on Create an app button and fill in the App name.

3. Click on Configure Admin API scopes button. 

4. In the search bar, type "Write_orders" and press return on your keyboard. Scroll down to find the Orders section and select both available options in the checkboxes (write_orders & read_orders, similarly write_customers & read_customers and write_products & read_products). Do the same process for "write_customers" and "write_products" and hit Save.

5. Go to Webhook subscriptions a bit further down and choose the 2024-01 (Latest) Event version

6. Select the API credentials tab and press the Token Install app button. In the pop-up, click on Install.

7. Click on Reveal Token once option and copy the API credentials.

LearnWorlds School

1. Go to SettingsFinancial → Payment Gateway, click on the Shopify option, and activate Shopify.

2. Fill out your Shopify URL (The Shopify URL ends with

3. Paste the Admin's Access token from step 6 above, add it in the respective field, and hit Save.

Don't forget to deactivate Sandbox (it is activated by default for testing purchases if you have not selected a payment gateway).

Synchronize your Courses

1. You will need to synchronize your courses (i.e., load your courses from LearnWorlds onto your Shopify store) by clicking on Sync.


2. A confirmation prompt will be displayed to start the synchronization process. When the synchronization process is completed, you will be informed about the products added/updated

3. Toggle Shopify ON and click on Save.

The Sync function is working one way from LearnWorlds to Shopify. If you modify your Shopify account and then click on the Sync button (in your LearnWorlds school), the update will not apply to your LearnWorlds school. 

For instance, if you update a course price in your Shopify account and press Sync, this change will not be updated to your LearnWorlds school. On the other hand, if you change a price in a course within your LearnWorlds school and click on Sync (in your LearnWorlds school), then the updated price will be reflected in your Shopify store.

Tips on Product Sync

  • Removing LearnWorlds products from your Shopify account is not advisable because the sync will fail.
  • Synced products show up without any options:

  • It is not recommended to use product variants for LearnWorlds products. Adding options will create product variants that cannot be synced with your LearnWorlds school. Only the first variant in the list is the one synced with LearnWorlds (it can be recognized by the SKU and will be the same as the main/parent product). 
  • Deleting the first variant will break the sync between LearnWorlds and Shopify.
  • You can use the description and the media sections in your Shopify account. However, they will not be shown in your LearnWorlds school.
  • Free courses cannot be synced.
  • Private or Draft courses in your LearnWorlds school do not sync in Shopify; both course types remain unpublished. If you switch the access of these courses to Paid or Coming soon in LearnWorlds, and then sync Shopify, then the courses will be available (Active) in the Shopify list. If, then, you switch the access of these courses back to Private or Draft in LearnWorlds, then in Shopify, they will remain Active, but in Learnworlds, they won’t be available to the users. In that case, if, for any reason, you wish to deactivate these courses in Shopify, too, you will have to do it manually via your Shopify account.

Every time you upload or change a course in your LearnWorlds school, you must synchronize with your Shopify Store. If you publish a new course or make any changes to the title/price of an existing course, click on Sync for the changes to reflect in your Shopify store. Removing LearnWorlds products from your Shopify account is not advisable because the sync will fail.

Shopify Settings: After purchase navigation

In your Shopify account: 

1. Customer contact setting:

LearnWorlds uses the user’s email as an identifier to link their purchase in Shopify to their LearnWorlds account. You will need to check the second option of the Customer contact setting, Customers can only check out using email.

2. Order processing: After an order has been paid setting:

If you want to fulfill a paid order automatically, you can achieve it by selecting the Automatically fulfill the order’s line items option.

Once this setting is selected, it will be applied to all of your Shopify products. You will need to be careful about using this setting when your store also provides products of different kinds, e.g., physical, etc., external from LearnWorlds.

3. Additional scripts: Order status page setting:

If you wish to set up an after-purchase navigation back to LearnWorlds, once your users complete their purchase in Shopify,  in the above field, add the following script (make sure to alter with your LearnWorlds school URL, including the https://, followed by the slash symbol /):

<script>window.location = "";</script>

Once this setting is selected, it will not be limited to LearnWorlds customers only but will be applied to all of your Shopify customers. You will need to be careful if you wish to use this setting when your store also provides products of different kinds, e.g., physical, etc., external from LearnWorlds. In that case, we would suggest you add a note at the bottom of the Shopify thank you message to redirect users to your online school.

Users can purchase the courses from the Shopify interface even if they don't have a Shopify account (visitors).

Shopping Cart 

It is feasible for users to add multiple LearnWorlds courses to their Shopify cart, check out the total amount, and then they will be automatically enrolled in these courses in LearnWorlds.

Promotions (Coupons)

Shopify supports its own coupon codes (the ones that you have created in your Shopify account), and the built-in coupon codes of your school are not valid - you need to share with your users the Shopify coupon codes. 

You may create coupons with the same code on both LearnWorlds and ShopifyIf the coupon is generated in both the school and Shopify, it is automatically tracked on the school's Sales page, displaying the final discounted amount as well. You will need to create and maintain the same coupons on both systems manually.

Important Notes

  • One Shopify account can be used for more than one school, and all products from all schools can sync in one Shopify account, even if the course slug is the same.
  • The language of the school is independent of the default language of your Shopify store; so if the LeanWorlds school is in Spanish, but the Shopify Store is in English, then the user will view the checkout and the Shopify Store in English. The admin could install a translation app within their Shopify account to add multiple languages. Thus, after the checkout, the user could manually switch to the preferred language.
  • Without an activated Shopify store, LearnWorlds' Shopify integration will not work. This means that Shopify Lite (since it doesn't provide a shop) will not allow the integration to be successful.
  • In case you have Shopify Plus, if it provides a Shopify store, you can use the Shopify integration with LearnWorlds.
  • We suggest you always make a test purchase after setting up your payment method in order to see that everything is working as expected.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.