Gravity Forms Integration

Gravity Forms Integration

The LearnDash Gravity Forms integration allows you to register new users on your site and instantly provide them access to one (or more) of your courses. It can be used to create a signup form, both for free courses, as well as those that require payment (using one of Gravity Forms payment add-ons).
Table of Contents [show]1 Requirements1.1 Upload & activate the Gravity Forms plugin1.2 Enter your Gravity Forms license key1.3 Enable the Gravity Forms User Registration add-on2 Install the LearnDash Integration3 Create a Form4 Configure User Registration5 Assign LearnDash Courses6 Require Payment6.1 Was this article helpful to you?
Requirements
Before you can use this integration, you will need:

LearnDash
Gravity Forms plugin (the Elite license)
Gravity Forms User Registration add-on enabled

Upload & activate the Gravity Forms plugin

Download the Gravity Forms plugin from your account page on gravityforms.com
In the WordPress admin area, navigate to PLUGINS > ADD NEW
Click the Upload Plugin button
Click the Choose File button
Select the Gravity Forms .zip file you downloaded in step 1
Click Install Now
Click Activate Plugin

Enter your Gravity Forms license key
You can follow along with the setup wizard, but if you’d rather enter your license key manually:

Navigate to FORMS > SETTINGS
Enter your license key (from your account page on gravityforms.com)
Click the Save Settings button at the bottom

Enable the Gravity Forms User Registration add-on

Navigate to FORMS > ADD-ONS
Scroll down to the User Registration Add-On
Click the Install button
Click the Activate button

Install the LearnDash Integration
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the Gravity Forms for LearnDash add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

Download the plugin file (must be logged in to download)
In WordPress, navigate to PLUGINS > ADD NEW
Click Upload Plugin
Browse for the .zip file you downloaded in Step 1
Click Install Now
Click Activate Plugin

Create a Form
To use the integration, you’ll need a form to assign courses to. Follow Gravity Forms documentation on creating a form.

You can include as many form fields as you’d like, but the email field is required for user registration to work. You might also want to include:

Name
Username
Password

* All of these fields can be found under “Advanced Fields.”
Name is not required, but in most cases, you’ll want to ask for it.
Username can be set to the email address, any other form field, or you can allow the user to choose one upon signup.
Password can be automatically generated upon completion of the form, or you may choose to include this field in your form to allow the user to choose one upon signup.
Now that your form is ready, you’ll need to set up a user registration feed.
Configure User Registration
Before assigning LearnDash courses to your new users, you’ll need to create a user registration feed. Since this is a Gravity Forms feature, please follow their instructions on setting up a user registration feed.

To get started, from the Edit Form page:

Navigate to Settings > User Registration

You are free to experiment with different settings, as there is no definitive way to set this up. However, for the simplest setup, we recommend the following:
Feed Settings

Name: Anything you’d like
Action: Create user

User Settings

Username: Either use the “Email” form field, or provide a specific “Username” form field
First Name: Name (First)
Last Name: Name (Last)
Nickname: Name (First)
Display Name: {first name} {last name}
Email Address: Use the “Email” form field
Password: Either provide a “Password” form field, or choose “Auto Generate Password”
Role: Subscriber
If you’re using custom roles, LearnDash groups, etc., you might want to assign a different role.

Additional Options
These are beyond the scope of this article. Please reference Gravity Forms documentation for more info.
Assign LearnDash Courses
The final step is to assign a course (or courses) that the user will be enrolled in once they submit the form.

Locate the final group of settings on the User Registration Feed titled LearnDash Settings
Check the box(es) next to the course(s) you want the user to be enrolled in
Save/Update your settings

Congratulations! Now when someone successfully submits the form, a new user account is created for them, and they will be automatically enrolled in the associated course(s).
Require Payment
In addition to allowing free user registration, Gravity Forms also provides a way to charge for your courses during the signup process. To enable this, you will need an account with one of Gravity Form’s payment gateway add-ons. Most of the payment add-ons require the Elite license of Gravity Forms.
IMPORTANT
When using paid courses the Paid Form feature needs to be enabled by ticking the box in the LearnDash Settings option.
Gravity Forms payment options include:

Stripe (docs)
PayPal Payments Standard (docs)
PayPal Payments Pro (docs)
2Checkout (docs)
Authorize.net (docs)

Use the “docs” links above to follow Gravity Form’s documentation on setting up each payment add-on.

Was this article helpful to you?

Yes

No

Event Espresso Integration

Event Espresso Integration

Event Espresso is a versatile, powerful event registration and ticketing solution for WordPress. You can use it alongside LearnDash to automatically provide access to an online course after someone signs up for an Event Espresso event. Both free & paid events are supported with the Pro version of the Event Espresso plugin.
NOTE
Both the LearnDash and Event Espresso (Pro version) plugins need to be installed & activated to use the “Event Espresso for LearnDash” plugin.
Table of Contents [show]1 Installation2 Create an Event3 Assign Course(s) to Event4 FAQ5 Support5.1 Was this article helpful to you?
Installation
First, be sure you have installed & activated both the LearnDash & Event Espresso plugins. View Event Espresso’s installation instructions here.
Then…
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the Event Espresso for LearnDash add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

Download the plugin file (must be logged in to download)
In WordPress, navigate to PLUGINS > ADD NEW
Click Upload Plugin
Browse for the .zip file you downloaded in Step 1
Click Install Now
Click Activate Plugin

Create an Event
You need to create an event before you can associate it with a LearnDash course. Event Espresso has great documentation on how to set up & publish your first event.

Assign Course(s) to Event

NOTE
You do not need to be logged-in in order to enroll into an event. The event will be assigned to an existing user based on the email used for enrolling. If the user email address doesn’t exist, a new user will automatically be created.
Before you publish your event, there is one last step to associate a LearnDash course (or courses) to the event.

Scroll down to Event Tickets & Datetimes
Make sure the Available Tickets section is expanded
Click the settings icon to open Advanced Settings
Under LearnDash Courses, choose the course(s) you’d like to provide access to upon successful registration of this event.
Hold down CTRL (CMD on Mac) to select multiple courses.

FAQ
Which payment gateways can I use?
You can use any payment gateway that Event Espresso supports. View all payment options »
Are there any payment methods that are not supported?
Manual payments and bank transfers are not supported. In order for the LearnDash integration to be triggered, there needs to be an instant payment notification (IPN). Payment gateways will trigger an IPN but manual payments and bank transfers will not.
Support
For specific questions related to Event Espresso functionality, please contact their support. LearnDash cannot answer Event Espresso related support requests.
NOTE
If you think you set your event up correctly, and course access is still not being provided upon the successful registration of an event, please open a support ticket with LearnDash.

Was this article helpful to you?

Yes

No

MemberPress Integration

MemberPress Integration

The LearnDash MemberPress integration enables you to connect your courses to MemberPress memberships. MemberPress can also handle the ecommerce & checkout experience for you, allowing you to bundle multiple courses into a single membership, and automatically granting & removing a member’s access to a course based on their membership status.
LearnDash has some content protection built-in, but MemberPress will expand upon that and provide a lot more ways for you to manage memberships, subscriptions & more.
NOTE
You need to purchase a license for the MemberPress plugin before you can use the free LearnDash integration.
Table of Contents [show]1 Why Use MemberPress?2 Installation3 How it Works3.1 Create a Membership3.2 Assign a Course to a Membership3.3 Retroactive Tool3.4 Using MemberPress with LearnDash4 FAQ4.1 Was this article helpful to you?
Why Use MemberPress?
A few reasons why you might want to use MemberPress in conjunction with LearnDash:

create membership levels, and assign a course (or multiple courses) to the different levels
offer coupons or discount codes for your courses
sell courses in a bundle (i.e. one price provides access to multiple courses)
sell access to courses as an ongoing subscription

View all MemberPress features »
Installation
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the MemberPress for LearnDash add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

Download the plugin file (must be logged in to download)
In WordPress, navigate to PLUGINS > ADD NEW
Click Upload Plugin
Browse for the .zip file you downloaded in Step 1
Click Install Now
Click Activate Plugin

How it Works
Before you can assign a LearnDash course to a membership in MemberPress, you need to:

create a LearnDash course
create a membership in MemberPress

We’ll assume you have already created a LearnDash course.
Create a Membership
We recommend you watch the 5-minute video below, or you can read the written instructions in the MemberPress documentation.

Assign a Course to a Membership
Now it’s time to associate your LearnDash course(s) with the membership you just created. Doing so will mean that once a user purchases (or simply gains access to) the membership, they will automatically have access to the course(s) as well.

On the Edit Membership page, scroll down & look for the Membership Options box
Click on the LearnDash tab
Choose the course(s) that you want to assign to this membership
NOTE: You may link multiple courses to a single membership.

When you’re finished editing your membership, be sure to click the “Publish” or “Update” button to save your changes.
IMPORTANT
When adding five or more courses to a single membership, course enrollment process is done in the background and you will need to set up a cron job. To set up a cron job please follow these steps.
Retroactive Tool
If you are using MemberPress and some customers and users have been added as members or purchased courses but have not been properly granted access, you can use the retroactive tool to fix the issue. The tool will scan all Memberships, Groups, Rules, Subscriptions, and Transactions, looking for Completed transactions that are connected to a LearnDash course, and automatically enroll the associated users.
Example Situation: If you add a course to a Subscription after someone has already purchased the subscription, running this tool will find that user and give them access to this new course you just added.

Navigate to MEMBERPRESS > SETTINGS
Click on the LearnDash tab
Click the “Run” button under Tools
Click “Update Options” once the process has completed

Using MemberPress with LearnDash
In this webinar we discuss setting up LearnDash with MemberPress as well as some key considerations to make sure everything works smoothly!

FAQ
Which payment gateways can I use with MemberPress to sell courses?
Please see the MemberPress documentation for a list of supported payment gateways

You might be interested in our other membership plugin integrations:

Paid Memberships Pro
Restrict Content Pro

Was this article helpful to you?

Yes

No

Notifications Add-On

Notifications Add-On

The LearnDash Notifications add-on can send emails to your students after certain actions occur on your site, like completing a course, finishing a lesson, passing/failing a quiz, etc. You can customize when these notifications are sent, who receives them, and the entire email message itself. You can even insert dynamic content for each user, and insert different content based on the specific action that occurred.
Table of Contents [show]1 Installation2 Status Menu2.1 Status2.2 Tools3 Create a Notification3.1 Title3.2 Email Content3.3 Email Trigger3.3.1 Complete List of Triggers3.4 Using Shortcodes3.5 Recipient(s)3.6 Delay3.7 Publish Notification4 Manage Existing Notifications5 Unsubscribe From Notifications6 Email Deliverability6.1 Getting Emails to Send7 FAQ & Troubleshooting7.1 Was this article helpful to you?
Installation
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the LearnDash Notifications add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

Download the plugin file (must be logged in to download)
In WordPress, navigate to PLUGINS > ADD NEW
Click Upload Plugin
Browse for the .zip file you downloaded in Step 1
Click Install Now
Click Activate Plugin

Status Menu
This menu is located under LEARNDASH LMS > NOTIFICATIONS > STATUS and is meant for helping you troubleshoot issues you are having with your notifications.

Status
This section provides an overview of the following information:

Server Cron Setup: Detects whether you have configured a cron job for sending notifications.
Queued Emails in DB: Number of emails that are scheduled to be sent in the database.
Last Run: The last time the cron job was successfully triggered.

NOTE
Cron jobs are used to improve the deliverability of notifications. See sections on Email Deliverability, FAQ: “My emails are not being delivered”, and “How can I make email notifications send on time?” to learn more about about cron jobs and how and when to use them.
Tools
This section provides two troubleshooting options:

Empty DB Table: Clears the database of queued emails.
Fix Scheduled Notification Recipients: Queries and refreshes the queued emails in the database.

Create a Notification
To get started creating a notification…

Navigate to LEARNDASH LMS > NOTIFICATIONS
Click the Add New Notification button

NOTE
There is no limit to the number of notifications you create, but you should give some thought to how much email you are sending your users. Also keep in mind that most web servers (where you host your website) are not designed to send a lot of email. See our email deliverability section below if you’re having issues.
Title
Your notification title will serve as the email subject line.
Email Content
The next section is where you’ll put the content of your notification—the message you want to send your users. You can use the formatting buttons at the top, insert images, switch from Visual to Text mode (if you’d like to write your own HTML), etc.
You have a lot of freedom here, but keep in mind the reason why you’re sending it, and your user’s attention span. Sometimes short & to the point is the most effective.

Email Trigger
The email trigger is the action that will cause your email to be sent. Depending on the trigger you choose, you might see a few additional options.
For example, when choosing the “User completes a course” trigger, you can send an email each time any course is completed (“All Courses”), or select a specific course from the Course dropdown. The same options apply for specific lesson, topic & quiz notifications.
Some triggers, like those for assignments & essay questions, don’t have any additional options, and apply universally.

Complete List of Triggers
As of LearnDash Notifications version 1.3.0, here is the complete list of triggers to choose from:

User enrolls into a group
User enrolls into a course
User completes a course
User completes a lesson
A scheduled lesson is available to user
User completes a topic
User completes a quiz
User passes a quiz
User fails a quiz
User submits a quiz
An essay has been submitted
An essay question has been graded
An assignment is uploaded
An assignment is approved
User hasn’t logged in for “X” days
“X” days before course expires
“X” days after a course expires

Using Shortcodes
Depending on the email trigger you select, some shortcodes are available to display dynamic content. You can use these shortcodes in the email content section to personalize your message.
You could start off with a personal greeting by using the student’s first name:
[ld_notifications field=”user” show=”first_name”]
If your trigger involved a specific course, show the course title:
[ld_notifications field=”course” show=”title”]
You could also provide a link directly to the course page, encouraging the user to continue learning or download a certificate. Highlight the text you want to link, click the link icon, and insert this shortcode:
[ld_notifications field=”course” show=”url”]
Don’t forget to choose your trigger first, and then look at the bottom of the Add New Notification screen to see a list of all available shortcodes.

Recipient(s)
All email notifications let you choose the recipient(s). There are a few predetermined options, as well as a place for you to add custom email addresses.

User: Check this box to send the notification to the user.
Group Leader: If you are using LearnDash groups, check this box to send the notification to the user’s group leader(s).
Admin: Check this box to send the notification to all people who have the “Administrator” role assigned to them.

You can choose one, two or all three of the above options.
Additional Recipients
For each notification, you can also provide additional email addresses. In the Additional Recipient field, enter as many emails as you’d like, separated by commas.

Ex: [email protected], [email protected]

NOTE
You must select at least 1 of the 3 recipient options (user, group leader, admin) in order for the additional recipients to receive the notification.
Delay
Delay specifies how many days this email is delayed after the trigger occurs. The default is 0 days, which means the email will be sent as soon as the trigger fires. You can specify a different number if you’d like your email to go out on a delay.
Publish Notification
The final step is to click the Publish button to make your notification live.

Manage Existing Notifications
You can manage your notifications from the main Notifications page. Navigate to LEARNDASH LMS > NOTIFICATIONS to access all of your existing notifications.

Some of the things you can do include:

Search for a specific notification
Filter your list of notifications to provide a better overview. Filter by:

Course
Lesson
Topic
Quiz
Trigger

Edit an existing notification by clicking the “Edit” link, or just click the notification title
Delete a notification by clicking the “Trash” link

NOTE
Once a notification has been published, you will not be able to edit the trigger. You will still be able to edit the content (text, images, shortcodes, etc.) and recipients. If you need to use a different trigger, please create a new notification.
Unsubscribe From Notifications
Any email sent from LearnDash Notifications includes an Unsubscribe option for recipients. There is not a setting to turn this off as it is a legal requirement.
Email Deliverability
By default, all emails sent from your website are sent by your web host. Generally speaking, hosting servers are designed to host websites, not send email. This could be preventing your emails from being delivered.
Luckily, there are ways to change how your email is sent. We recommend looking into the following options as a way to improve your email deliverability, and better ensure your notifications make it to their recipient(s).
Each option comes with different sending limits & features. We encourage you to do some research and choose the best option for your site.

SparkPost + SparkPost plugin
SendGrid + SendGrid plugin
WP Mail SMTP plugin, which allows you to use SendGrid, Mailgun, Gmail or any other SMTP server

NOTE
If you believe you have set up one of the recommended options properly, and your emails are still not being delivered, please open a support ticket.
Getting Emails to Send
In this webinar, we discuss why your WordPress emails are not sending and the options you have avaiable for getting your emails to send on-time, every time!

FAQ & Troubleshooting
Where can I see the status of my notifications?
The Status Menu will give you an overview of the current status of your cron job and notifications. Notification delivery, insert, update, and delete notifications are logged in a log file:
/wp-content/uploads/learndash/learndash-notifications-actions.log
How do I change the default FROM address for WordPress?
By default, your emails will use the default WordPress FROM name & email address:

From Name: WordPress
From Email: [email protected]

To customize this, you can use the following code. Change the “Company Name” and “[email protected]” values in the example below.
// Change Sender Email Address
function wpb_sender_email( $original_email_address ) {
return ’[email protected]’;
}
// Change Sender Name
function wpb_sender_name( $original_email_from ) {
return ‘Company Name’;
}
// Add Filters
add_filter( ‘wp_mail_from’, ‘wpb_sender_email’ );
add_filter( ‘wp_mail_from_name’, ‘wpb_sender_name’ );
We recommend installing the Code Snippets plugin, and adding this code as a snippet.

In the WordPress admin area, navigate to PLUGINS > ADD NEW
Search for “Code Snippets”
Click Install, then Activate
Navigate to SNIPPETS > ADD NEW
Give your snippet a title (for internal use only)
Paste the code in the Code area
Click Save Changes and Activate

My emails are not being delivered.
Scheduled notifications that miss their timestamp will then be sent when the next cron job runs. For additional guidance on improving the delivery of your emails, please see the section above on Email Deliverability.

Was this article helpful to you?

Yes

No

Paid Memberships Pro Integration

Paid Memberships Pro Integration

The LearnDash Paid Memberships Pro integration enables you to connect your courses to memberships that you set up in Paid Memberships Pro.
Despite its name, the core version of Paid Memberships Pro is actually free (but there are over 60 add-ons if you upgrade to premium).
Paid Memberships Pro can also handle the ecommerce & checkout experience for you, allowing you to bundle multiple courses into a single membership, and automatically granting & removing a member’s access to a course based on their membership status.
LearnDash has some content protection built-in, but Paid Memberships Pro will expand upon that and provide a lot more ways for you to manage memberships, subscriptions & more.
NOTE
Please install & activate the free Paid Memberships Pro plugin before you set up the LearnDash integration. The core plugin is free, and it comes with 6 popular payment gateways. There are over 60 add-ons available if you upgrade to their premium version.
Table of Contents [show]1 Why Use Paid Memberships Pro?2 Installation3 Create a Membership Level4 Assign a Course to a Membership Level4.1 Alternative Method5 Set Up Your Course6 Retroactive Member Access7 FAQ7.1 Was this article helpful to you?
Why Use Paid Memberships Pro?
A few reasons why you might want to use Paid Memberships Pro in conjunction with LearnDash:

create membership levels, and assign a course (or courses) to different levels
offer coupons or discount codes for your courses
sell courses in a bundle (i.e. one price provides access to multiple courses)
sell access to courses as an ongoing subscription

View all Paid Membership Pro features »
Installation
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the Paid Memberships Pro for LearnDash add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

Download the plugin file (must be logged in to download)
In WordPress, navigate to PLUGINS > ADD NEW
Click Upload Plugin
Browse for the .zip file you downloaded in Step 1
Click Install Now
Click Activate Plugin

Create a Membership Level
Before you can assign a LearnDash course to a membership in Paid Memberships Pro, you need to:

create a course
create a membership level

We’ll assume you have already created a LearnDash course.
To create a membership level in Paid Memberships Pro:

Navigate to MEMBERSHIPS > SETTINGS > LEVELS
Click the Create a Membership Level button
Fill out the required information

For more details, check out the video in their official documentation.
Before you finish this step, please read the next section on assigning a course to your membership level.
Assign a Course to a Membership Level
Before you save your new membership level, you’ll want to associate your LearnDash course(s) with it. You do this on the same page as you’re creating it.
This will mean that once a user purchases (or simply gains access to) the membership level, they will automatically have access to the course(s) as well.

 

On the MEMBERSHIPS > SETTINGS > LEVELS page…
Scroll down & look for the LearnDash heading
Next to Courses, choose the course(s) that you want to assign to this membership level
NOTE: You may link one, or multiple, courses.

Now you’re finished creating the membership level & assigning your courses to it. Be sure to click the “Save Level” button at the bottom to save your changes.
Alternative Method
Assigning a course to a membership level is most easily achieved at the time you’re creating your membership. However, you can also control course access via the course page itself.

Navigate to LEARNDASH LMS > COURSES
Click on the course you’d like to assign to a membership level
In the sidebar, look for Require Membership
Check the box next to the membership level that this course should be assigned to

NOTE
These two methods are synced up. This means, if you change the setting in one place, it will automatically be changed in the other. So just use whichever method is most convenient for you.
Set Up Your Course
After your membership level is set up in Paid Memberships Pro, you’ll need to make a few adjustments to your LearnDash course.

Navigate to LEARNDASH LMS > COURSES
Click on the course that corresponds with a Paid Memberships Pro membership level
Click the Settings tab at the top
Under Course Access Settings, look for Access Mode
Set this to Closed
In the Button URL field, enter the URL to your Paid Memberships Pro “Levels Page”

You can find the URL to your “Levels Page” in the WordPress admin area by going to MEMBERSHIPS > SETTINGS > PAGES, and click on the “view page” button next to “Levels Page.”
Now when people visit your course page, the “Take this Course” button will send them to the corresponding “Levels Page,” where they can add the membership level to their cart & complete the checkout process.
Retroactive Member Access
If you already have Paid Memberships Pro installed with live membership levels and members, then after activating Paid Memberships Pro for LearnDash there will be a prompt to run retroactive member access process.

Running this process will enroll your existing membership into the LearnDash courses that you associate with your membership levels.
If you are not ready to run this process, you can close the notice. When you are ready to run the retroactive process:

Navigate to MEMBERSHIPS > LEARNDASH
Click the Run button

Please allow time for the process to fully complete before moving to another page.
FAQ
Which payment gateways can I use with Paid Memberships Pro to sell courses?
Please see the Paid Memberships Pro documentation for a list of supported payment gateways.
Can I use other checkout methods alongside Paid Memberships Pro?
No. If you’re using Paid Memberships Pro to manage course access, you cannot use any other payment gateway or ecommerce integration to manage course access.
Can a user have multiple membership levels at the same time?
No. Please see Paid Membership Pro’s documentation for more information & workarounds.

You might be interested in our other membership plugin integrations:

MemberPress
Restrict Content Pro

Was this article helpful to you?

Yes

No

SamCart Integration

SamCart Integration

The LearnDash SamCart integration is one of several options for selling your courses. SamCart is a premium ecommerce solution that provides several payment options (one-time, subscriptions, trials), advanced analytics, cart abandonment recovery, A/B split testing and more.
SamCart is a premium service, but they do offer a free trial so you can test it out before making a decision. If you decide to stick with it, you can use this integration to sell courses on your LearnDash site.
NOTE
You need to sign up for a SamCart account before you can use this integration.
If you’re looking for a free and/or easier way to accept payments, consider our built-in PayPal integration or the free Stripe add-on.
Table of Contents [show]1 Who Should Use the SamCart Integration?2 Sign Up for a SamCart Account3 Install the SamCart Integration4 Create a Product in SamCart5 Create a Product in WordPress5.1 Title5.2 Slug5.3 SamCart Product ID5.4 Associated Courses5.5 Notification URL6 Course Configuration7 The User Experience8 FAQ8.1 Was this article helpful to you?
Who Should Use the SamCart Integration?
You should consider using the SamCart integration if:
✅ you want to use beautiful, pre-built checkout templates
✅ you have one, or only a few, courses to sell
✅ you’re looking for advanced analytics & other conversion-focused ecommerce features
You might not want to use the SamCart integration if:
❌ you’re selling a lot of courses (or other products)
❌ you want to closely manage the account creation & login process
❌ you’re on a tight budget
Sign Up for a SamCart Account

Navigate to samcart.com and follow the instructions for registering a new account
Once your account is set up, you can navigate to your SamCart dashboard to access your account settings, as well as the information you’ll need to set up the LearnDash integration

Install the SamCart Integration
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the SamCart for LearnDash add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

Download the plugin file (must be logged in to download)
In WordPress, navigate to PLUGINS > ADD NEW
Click Upload Plugin
Browse for the .zip file you downloaded in Step 1
Click Install Now
Click Activate Plugin

Create a Product in SamCart
Before you can connect a LearnDash course, you’ll need to create a product in SamCart that you can connect it to.

Navigate to samcart.com and click the Log In button
From your dashboard, click on Products
Click the New Product button
Fill in your product details
Click Create Product

For more information on creating your first product, check out SamCart’s getting started guide.
Create a Product in WordPress
Now that you have a product in SamCart, you’ll need to create a matching product in WordPress, and link it to a LearnDash course.

Navigate to LEARNDASH LMS > SAMCART
Click Add New Samcart Product

Title
Enter a title for your product. In most cases, this should match the title for your LearnDash course.
Slug
The slug is a unique identifier for this product. It should match your product title, but…

be all lowercase
spaces should be replaced with hyphens

If your product title is My Awesome Course, your slug should be:
my-awesome-course
SamCart Product ID
You can locate your Product ID from the SamCart dashboard.

Click on a product to edit it
Look in the URL bar at the top of your browser window
The product ID is the number located after /products/

Associated Courses
Select the LearnDash courses that you’d like to link to this product. As soon as someone buys the product via SamCart, they will be automatically added to the course.
Hold down CTRL (CMD on Mac) to select multiple courses.
Notification URL
The notification URL is automatically created for you, but you need to provide it to SamCart in order to complete the integration.

Copy the URL from the Notification URL box
Navigate to your SamCart dashboard
Click on Products
Click on the product that you’re linking
Go to the Advanced Settings tab
Scroll down to the Advanced area
Paste your Notification URL into the box

Course Configuration
After you’ve configured your SamCart for LearnDash settings, the final thing you need to do is set up your course to accept payments.

In the WordPress admin area, navigate to LEARNDASH LMS > COURSES
Click on the course you’d like to sell
Click on Settings at the top
Scroll down to Course Access Settings
Set the “Access Mode” to Closed
Enter your SamCart product URL in the Button URL field

To locate your SamCart product URL, click the eye icon in the top-right corner of your SamCart product details page:

The User Experience
Now, when someone navigates to your course page and clicks the “Take this Course” button, they’ll be directed to SamCart to complete their purchase.
After payment is complete, a new user account is automatically created, and that user is enrolled into the course they just purchased.
COURSE REMOVAL
The SamCart integration will automatically remove users from a course if you refund their payment or their subscription is cancelled.
FAQ
Which payment gateways does SamCart support?
As of May 2019, SamCart supports Stripe & PayPal. Please check SamCart’s docs on supported gateways for an up-to-date list.

Was this article helpful to you?

Yes

No

Restrict Content Pro Integration

Restrict Content Pro Integration

The LearnDash Restrict Content Pro integration allows you to provide access to courses when someone signs up for a membership level using Restrict Content Pro. Since you can associate courses with membership levels, this integration essentially provides another method for you to sell your courses.
You need the paid version (“Restrict Content Pro”), as the free plugin (“Restrict Content”) does not provide a LearnDash integration.
Restrict Content Pro is not required to sell LearnDash courses, but is one of several integrations we offer to provide a more robust ecommerce and/or membership experience for your users.
NOTE
Both the LearnDash and Restrict Content Pro plugins need to be installed & activated to use the “Restrict Content Pro for LearnDash” plugin.
Table of Contents [show]1 Why Use Restrict Content Pro?2 Installation3 How it Works3.1 Create a Membership Level3.2 Link a Course to a Membership Level4 FAQ & Troubleshooting4.1 Was this article helpful to you?
Why Use Restrict Content Pro?
A few reasons why you might want to use Restrict Content Pro (RCP) to sell your courses:

automatically grant access to a LearnDash course (or courses) when someone joins a membership level
provide a more robust checkout experience using any combination of several payment gateways supported by RCP
offer coupons or discount codes
sell courses in a bundle (i.e. one price provides access to multiple courses)
sell access to courses as an ongoing subscription

Learn more about all of Restrict Content Pro’s features »
Installation
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the Restrict Content Pro for LearnDash add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

Download the plugin file (must be logged in to download)
In WordPress, navigate to PLUGINS > ADD NEW
Click Upload Plugin
Browse for the .zip file you downloaded in Step 1
Click Install Now
Click Activate Plugin

How it Works
Before you can associate a LearnDash course with an RCP membership level, you need to:

create a LearnDash course
create a membership level in RCP

We’ll assume you have already created a LearnDash course.
Create a Membership Level

In your WordPress admin area, navigate to RESTRICT > MEMBERSHIP LEVELS
Fill out any pertinent information about your membership

The Restrict Content Pro documentation has a great article on creating membership levels.
Link a Course to a Membership Level
Now it’s time to associate a LearnDash course(s)* to this membership level. This means that once someone signs up for this membership, they will automatically be granted access to the associated course.
* You can assign one, or multiple, LearnDash courses to a single membership level.

On the Add New Level page, scroll to the bottom & look for Courses
Select the course(s) to associate to this membership.
NOTE: Select multiple courses by holding down the CTRL key (CMD on Mac)

When you’re finished, be sure to click the Add Membership Level button.
FAQ & Troubleshooting
Why wasn’t a user created and enrolled into the associated course(s) after signing up for a membership?
The most common reason for this is that something went wrong during signup, and the user was not successfully added to the membership level.
To check the status of a membership:

Navigate to RESTRICT > MEMBERSHIPS
Locate the customer in question
Check the Status column
If the user has a status of Pending, check to see you set up your payment gateway correctly.

If the customer’s status is Active, and they still don’t have access to the associated LearnDash course, please open a support ticket.
Which payment gateways can I use with Restrict Content Pro to sell courses?
Here’s a complete list of Restrict Content Pro payment gateways.
Does Restrict Content Pro work with WooCommerce?
Yes. See this Restrict Content Pro article for more information.

You might be interested in our other membership plugin integrations:

MemberPress
Paid Memberships Pro

Was this article helpful to you?

Yes

No

Stripe Integration

Stripe Integration

The LearnDash Stripe integration is one of the simplest ways to start selling your LearnDash courses. Stripe is also one of the easiest payment gateways to set up, and their processing fees are on par with most other gateways.
NOTE
You need to register for a free Stripe account before you can use this integration. Stripe is not available in all countries. View available countries »
While the Stripe integration provides a quick and easy way to sell courses, it doesn’t come with a ton of flexibility. If you’re looking for more robust member management, a customizable checkout experience or integrations with other WordPress plugins or services, check out our ecommerce & membership add-ons.
For another simple way to accept payments, you may also consider our built-in PayPal integration.
Table of Contents [show]1 Who Should Use the Stripe Integration?2 Walkthrough Video3 Sign Up for a Stripe Account4 Install the Stripe Integration5 Stripe Settings5.1 Test Mode / Live Mode5.2 Integration Type5.3 Stripe Settings5.3.1 Add a Stripe Webhook5.3.2 Insert the Endpoint Secret5.4 Locate Your Stripe Keys5.5 Insert Stripe Keys5.6 Currency5.7 Payment Methods5.8 Return URL (optional)6 Course Configuration7 The User Experience7.1 Legacy Checkout User Experience7.2 Checkout (Support SCA) User Experience8 FAQ9 Troubleshooting9.1 Was this article helpful to you?
Who Should Use the Stripe Integration?
You should consider using the Stripe for LearnDash integration if:
✅ you’re looking for a quick & easy way to start selling courses
✅ you offer one course, or only a few courses, with a simple payment structure
You might not want to use Stripe for LearnDash if:
❌ you want to customize the user’s checkout experience
❌ you are creating a fully functional membership site
❌ you’re selling other products in addition to courses
❌ you want to closely manage the account creation & login process
Walkthrough Video
This video was created using LearnDash version 2.x, but the general setup and all the settings are the same in LearnDash 3.x.

 
Sign Up for a Stripe Account

Navigate to stripe.com and follow the instructions for registering a new account
Once your account is set up, you can navigate to dashboard.stripe.com to access all of your account settings, as well as the information you’ll need to set up the LearnDash integration

Install the Stripe Integration
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the Stripe for LearnDash add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

Download the plugin file (must be logged in to download)
In WordPress, navigate to PLUGINS > ADD NEW
Click Upload Plugin
Browse for the .zip file you downloaded in Step 1
Click Install Now
Click Activate Plugin

Stripe Settings
There are a few unique keys that Stripe creates for you when you set up a new account. You’ll need to provide these keys to LearnDash so that LearnDash can deposit your money in the proper Stripe account.
Test Mode / Live Mode
There are two ways you can set up the LearnDash Stripe integration: test mode or live mode.

Test mode should be used when you’re still testing your site internally. No money will actually change hands, but Stripe will record if the transaction succeeded or failed.
Live mode should be used when you’re ready to launch your course. All transactions in this mode are real transactions, and money will exchange hands. Once you’ve launched your site, you should stay in live mode indefinitely.

There are two different sets of keys, depending on which mode you’re using.
Integration Type
There are two options for integration type: Legacy Checkout or Checkout (Support SCA).

Legacy Checkout captures customer payments in a light-box popup checkout form on your website.
Checkout (Support SCA) captures customer payments in a checkout form hosted on the Stripe website. This is to comply with the European PSD2 regulation.

NOTE
See The User Experience section for examples of each checkout method.
Stripe Settings
Regardless of which integration type option you choose, there are two additional setting fields below the Stripe Keys fields.

Webhook URL is an auto-generated URL. This URL needs to be pasted to your Stripe account’s webhook settings.
Endpoint Secret is a key that is created after you configure your Webhook URL in Stripe. This key is required for both checkout types.

Add a Stripe Webhook

Login to your Stripe account and navigate to https://dashboard.stripe.com/webhooks
Click the Add endpoint button
From your WordPress dashboard, navigate to LEARNDASH LMS > SETTINGS > STRIPE SETTINGS and copy the auto-generated Webhook URL
Back in Stripe, paste the Webhook URL you copied into the Endpoint URL field
For Version, select the latest API version
Under Events to send, enable ONLY the following events:
customer.subscription.deleted
invoice.payment_failed
invoice.paid
checkout.session.completed

NOTE
If you’re having problems with duplicated users after a failed payment or cancelled transaction, you can also include the following events.
charge.failed
payment_intent.payment_failed
payment_intent.canceled
Click Add endpoint

Insert the Endpoint Secret
Now that your new webhook is created and enabled, the last thing you need to do is to retrieve your Endpoint Secret so that you can add it to the LearnDash-Stripe integration settings.

Locate the Signing secret section in the webhook you just created and select Click to reveal

Copy the secret key
From your WordPress dashboard, navigate to LEARNDASH LMS > SETTINGS > STRIPE SETTINGS and paste the signing secret into the Endpoint Secret field

Locate Your Stripe Keys

Navigate to your Stripe Dashboard
Click on Developers, then API keys
In the Standard keys section, you’ll see both a “Publishable key” and a “Secret key.” You’ll need both of these keys to set up the LearnDash integration.
Your LIVE keys will be prefixed with pk_live_ and sk_live_

NOTE
These are your LIVE keys. They should be used when you’re ready to launch your site to the public.

To find your TEST keys…

From the same API keys page, click the “View test data” toggle in the top-right corner
You may need to click the “Reveal key token” button to access your Secret key
You’ll know these are your TEST keys because they’ll be prefixed with pk_test_ and sk_test_

Insert Stripe Keys
Now that you know how to access your Stripe keys, you need to provide them to LearnDash.

In your WordPress admin area, navigate to LEARNDASH LMS > SETTINGS
Click the Stripe Settings tab at the top
For TEST mode… check the “Test Mode” box to enable test mode, then input your Stripe test keys
For LIVE mode… make sure “Test Mode” is unchecked, and input your Stripe live keys

Currency
You need to set the 3-letter ISO code for the currency you want to use.
For example:

USD for United States Dollar
CAD for Canadian Dollar
AUD for Australian Dollar

See Stripe’s list of supported currencies & ISO codes here.
Payment Methods
By default, Credit Card is selected and is what most people will use.
There is also the option to accept iDEAL Payments instead, or to offer both options (Credit Card & iDEAL) upon checkout.
Return URL (optional)
If no return URL is provided, the user will remain on the course page after their transaction is processed.
But you can choose to send the user to a confirmation page instead. This can be a page you create on your site, with WordPress, a page builder, etc. Or even a page on a completely different domain. It’s entirely up to you.
Enter the full URL, beginning with https://.
Course Configuration
After you’ve configured your Stripe for LearnDash settings, the final thing you need to do is set up your course to accept payments.

In the WordPress admin area, navigate to LEARNDASH LMS > COURSES
Click on the course you’d like to sell with Stripe
Click on Settings at the top
Scroll down to Course Access Settings
Set the “Access Mode” to one of two values:

Buy Now: Use “Buy Now” for one-time payments
Recurring: Use “Recurring” if you’d like to set up a recurring payment (aka: subscription)

And finally, enter your price in the Course Price field. Ex: 29.99

The currency symbol will be added automatically for you
If your price is an even dollar amount, you may omit the decimal point & cents (ex: 29)

For recurring payments, you need to include the “Billing Cycle” in days, weeks, months or years.

The User Experience
When users visit your course page, they will see a “Take This Course” button (this language can be customized using custom labels). The user experience will depend on which option you select for the Integration Type.
Legacy Checkout User Experience
When a user clicks the purchase button, they will be presented with a popup window (powered by Stripe), where they can enter payment details and complete their purchase.

The first line is your site’s title, auto-generated from the SETTINGS > GENERAL page in WordPress
The smaller text underneath the site title is your course title, which is what you’ve named your course in LearnDash
The button will display the price you entered in the “Course Price” field

After payment is complete, a new user account is automatically created, and that user is enrolled into the course they just purchased.
Checkout (Support SCA) User Experience
When a user clicks the purchase button, they will be taken to a secure checkout page (that is hosted on Stripe’s secure servers), where they can enter payment details and complete their purchase.

After payment is complete, a new user account is automatically created, and that user is enrolled into the course they just purchased.
NOTE
Existing website users must first be logged in before purchasing another course via Stripe to prevent duplicate customer account creation in Stripe, or failed transactions on the customer’s end.
FAQ
Can I use both PayPal AND Stripe?
Yes. You will need to configure the PayPal settings within LearnDash, but once you’ve added that information, along with all the Stripe information, users will be presented with two options when they click the “Take This Course” button. It will look like this:
(design may vary based on your theme)

When will I receive my money?
This is determined by your settings in Stripe. Please reference Stripe’s documentation on payouts.
Can I set up recurring payments (aka: subscriptions)?
Yes. In the course settings, just set your “Access Mode” to “Recurring,” and choose a billing cycle.
Can I offer coupons or discounts?
No. The LearnDash Stripe integration does not allow you to offer discounts. Consider using one of our other ecommerce or membership add-ons.
How do I issue refunds and/or cancel subscriptions for my customers?
Issuing refunds and canceling subscriptions is done from your Stripe account, not from LearnDash or this add-on.
Are users automatically removed from a course if they are issued a refund?
No. You can remove the course access from their profile.
Where can I learn more about SCA (Strong Customer Authentication)?
See this article in Stripe’s documentation for more details.
Troubleshooting
My “Take this Course” button is missing.
By default, all site administrators are automatically enrolled in all courses, so they will not see the “Take this Course” button. You can either log out of your account and refresh the page, or view your course page in a private browsing window (or a completely different browser).
My transactions are not going through.
Please make sure your webhook settings are configured correctly. In order for the webhook to work it needs to have at least these events active in your Stripe account:

checkout.session.completed
invoice.paid
invoice.payment_failed
customer.subscription.deleted

I’m seeing a 500 HTTP and timeout error.
If you are seeing the above error when checking out, make sure that the webhook settings are configured to ONLY the following events (enabling all events will likely cause a timeout error).

checkout.session.completed
invoice.paid
invoice.payment_failed
customer.subscription.deleted

I’m getting duplicate customer accounts created after an initial failed or cancelled transaction.
If you see duplicate customer accounts being created after an initial failed or cancelled transaction, and a subsequent successful purchase, you must have the following events enabled on your webhook settings in addition to the events above:

charge.failed
payment_intent.payment_failed
payment_intent.canceled

In case your user is an existing user or customer, kindly ask them to first log in to their account prior to purchasing another course via Stripe to avoid account duplication.

Was this article helpful to you?

Yes

No

ThriveCart Integration

ThriveCart Integration

The LearnDash ThriveCart integration is one of several options for selling your courses. ThriveCart is a premium eCommerce solution that provides several payment options (one-time, subscriptions, trials), advanced analytics, cart abandonment recovery, A/B split testing, upsells, and more.
ThriveCart is a premium service, and at this time don’t offer a free trial. You can use this integration to sell courses on your LearnDash site.
NOTE
You need to sign up for a ThriveCart account before you can use this integration.
If you’re looking for a free and/or easier way to accept payments, consider our built-in PayPal integration or the free Stripe add-on.
Table of Contents [show]1 Who Should Use the ThriveCart Integration?2 Sign Up for a ThriveCart Account3 Install the ThriveCart Integration4 Create a Product in ThriveCart5 Create a Product in WordPress5.1 Title5.2 Slug5.3 ThriveCart Product ID5.4 Associated Courses6 Webhook URL7 Secret Word8 Course Configuration9 The User Experience10 FAQ10.1 Was this article helpful to you?
Who Should Use the ThriveCart Integration?
You should consider using the ThriveCart integration if:
✅ you want to use beautiful, pre-built checkout templates
✅ you have one, or only a few, courses to sell
✅ you’re looking for advanced analytics & other conversion-focused eCommerce features
You might not want to use the ThriveCart integration if:
❌ you’re selling a lot of courses (or other products)
❌ you want to closely manage the account creation & login process
❌ you’re on a tight budget
Sign Up for a ThriveCart Account

Navigate to ThriveCart.com and follow the instructions for registering a new account
Once your account is set up, you can navigate to your ThriveCart dashboard to access your account settings, as well as the information you’ll need to set up the LearnDash integration.

Install the ThriveCart Integration
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the ThriveCart for LearnDash add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

Download the plugin file (must be logged in to download)
In WordPress, navigate to PLUGINS > ADD NEW
Click Upload Plugin
Browse for the .zip file you downloaded in Step 1
Click Install Now
Click Activate Plugin

Create a Product in ThriveCart
Before you can connect a LearnDash course, you’ll need to create a product in ThriveCart that you can connect it to.

Navigate to ThriveCart.com and click the Log In button
From your dashboard, click on Products
Click the Create Product button
Select Digital on the product type selection pop-up
Click the Create New Product button
Fill in your product details, clicking Next on each tab until all the necessary details are complete
Click Save & Get URL to finish creating your product

For more information on creating your first product, check out ThriveCart’s getting started guide.
Create a Product in WordPress
Now that you have a product in ThriveCart, you’ll need to create a matching product in WordPress, and link it to a LearnDash course.

Navigate to LEARNDASH LMS > THRIVECART
Click Add New ThriveCart Product

Title
Enter a title for your product. In most cases, this should match the title for your LearnDash course.
Slug
The slug is a unique identifier for this product. It should match your product title, but…

be all lowercase
spaces should be replaced with hyphens

If your product title is My Awesome Course, your slug should be:
my-awesome-course
ThriveCart Product ID
You can locate your Product ID from the ThriveCart dashboard.

Click on a product to edit it
Look in the URL bar at the top of your browser window
The product ID is the number located after /products/

ThriveCart uses ascending product IDs. In general, if you have 1 product the product ID will be 1.
Associated Courses
Select the LearnDash courses that you’d like to link to this product. As soon as someone buys the product via ThriveCart, they will be automatically added to the course.
Hold down CTRL (CMD on Mac) to select multiple courses.
Webhook URL
The Webhook URL is automatically created for you, but you need to provide it to ThriveCart in order to complete the integration.

Navigate to LEARNDASH LMS > THRIVECART
Click on the Settings tab
Copy the URL from the “Webhook URL” box

Navigate to your ThriveCart dashboard
Click on your Profile
Click on Settings
Click on API & Webhooks
Click on Webhooks & Notifications
Click on Add a Webhook
Paste in your webhook URL into the box and save

Secret Word
The Secret Word is automatically generated by ThriveCart from your ThriveCart account. Having the correct Secret Word added to your LearnDash website will ensure that both platforms, ThriveCart and your website, can communicate securely and payments are well validated. Here is how you can set it up

On your ThriveCart dashboard, navigate to SETTINGS > API & WEBHOOKS > THRIVECART ORDER VALIDATION
Click on View Settings
Copy the generated Secret Word

Go back to your WordPress admin area
Navigate to LEARNDASH LMS > THRIVECART
Click on the Settings tab
Paste your Secret Word on to the Secret Word field

If you’re having problems with the integration, you have the option to generate a new Secret Word from your ThriveCart settings page. Just make sure that you also update the Secret Word on your LearnDash ThriveCart Addon settings.
Course Configuration
After you’ve configured your ThriveCart for LearnDash settings, the final thing you need to do is set up your course to accept payments.

In the WordPress admin area, navigate to LEARNDASH LMS > COURSES
Click on the course you’d like to sell
Click on Settings at the top
Scroll down to Course Access Settings
Set the “Access Mode” to Closed
Enter your ThriveCart product URL in the Button URL field

To locate your ThriveCart product URL, navigate to your Products page from your ThriveCart Dashboard, then, click the “Get URL” button next to the product that you created. It should automatically be copied to your clipboard, otherwise, copy the URL from the box that shows up on the page.

The User Experience
Now, when someone navigates to your course page and clicks the “Take this Course” button, they’ll be directed to ThriveCart to complete their purchase.
After payment is complete, a new user account is automatically created, and that user is enrolled into the course they just purchased.
COURSE REMOVAL
The ThriveCart integration will automatically remove users from a course if you refund their payment or their subscription is cancelled.
FAQ
Can I still use and set up “Bumps” and “Upsells”?
Yes, you can still add “Bumps” and “Upsells” to your products from your ThriveCart product set up. Since ThriveCart will handle the checkout process, any upsells or promotions that you associate with a product will be reflected when the user is redirected to the ThriveCart checkout page. You can learn more about setting up ThriveCart “Bumps” and “Upsells” on ThriveCart’s official support site. 
On the LearnDash side, you have to create a new ThriveCart Product on the ThriveCart addon for every new Upsell or Bump that you associate with your main product. Under the ThriveCart Product ID field, you have to enter:

For Bumps: bump-main product number (Substitute your main product number with the real values, e.g., bump-1)
For Upsells: upsell-upsell product number (Substitute your Upsell number with the real values, e.g., upsell-1. You can get this number from the URL of the Upsell on your ThriveCart Upsells Page.)

Was this article helpful to you?

Yes

No

WooCommerce Integration

WooCommerce Integration

The LearnDash WooCommerce integration is very popular because it provides an enormous amount of flexibility for selling your courses. WooCommerce works with dozens of payment gateways, and there’s a WooCommerce extension for nearly any type of ecommerce functionality you can think of. If you’re looking to build the ultimate ecommerce experience, our WooCommerce integration might be your best option.
While it is incredibly powerful, WooCommerce does come with more of a learning curve than most other plugins & integrations. We’ll walk you through the LearnDash integration step-by-step below, but there is much more to WooCommerce that we won’t be covering in this article.
Table of Contents [show]1 Why Use WooCommerce with LearnDash?2 Walkthrough Video3 Requirements4 Installation5 Set Up Your Product5.1 WooCommerce Settings5.2 Create a Product & Assign Your Course6 Set Up Your Course7 Additional Tips7.1 Add a Purchase Note7.2 Use Different Product Types7.3 Post-Purchase Redirect7.4 Using WooCommerce with LearnDash7.5 Selling Course Subscriptions7.6 Sales Funnel Using CartFlows8 The User Experience9 Course Access & Auto-Enrollment9.1 Retroactive Course Access Tool9.2 Access Removal on Expiration10 FAQ10.1 Was this article helpful to you?
Why Use WooCommerce with LearnDash?
You should consider using the WooCommerce for LearnDash integration if:
✅ you want full control over the checkout experience
✅ you want to customize the My Account area for your customers
✅ you sell physical products, in addition to your courses
✅ you want to control the emails sent to course enrollees
✅ you want to offer coupons & discounts
✅ you want to sell courses in a bundle (multiple courses for a single price)
✅ you want to use a payment gateway other than Stripe, PayPal or 2Checkout
WooCommerce offers a wide variety of extensions to power your ecommerce store. If you’d like to use any of this additional functionality, consider using the LearnDash WooCommerce integration to sell your courses.
You might not want to use WooCommerce for LearnDash if:
❌ you’re looking for a quick & easy setup
❌ you have a small number of courses or a small audience that you manage manually
Walkthrough Video

Requirements
Before you can use this integration, you will need:

LearnDash
WooCommerce (version 3.0 or above)

Installation
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the WooCommerce for LearnDash add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

Download the plugin file (must be logged in to download)
In WordPress, navigate to PLUGINS > ADD NEW
Click Upload Plugin
Browse for the .zip file you downloaded in Step 1
Click Install Now
Click Activate Plugin

Set Up Your Product
The integration connects your WooCommerce products with LearnDash courses, and helps the two systems communicate with each other. There’s some setup involved in both plugins, but we’ll walk you through the steps.
NOTE
If you’re new to WooCommerce, consider reviewing their Getting Started guide before continuing. We’ll show you how to create a simple product, but there are many other setup options to consider.
WooCommerce Settings
IMPORTANT
Don’t skip this step! This is required for the integration to work.
When someone buys your course using WooCommerce, LearnDash needs to know who to provide course access to. Therefore, LearnDash needs a specific user within WordPress to enroll into the course. This is why Guest Checkout must be disabled, and your users must create an account when using this integration.

Navigate to WOOCOMMERCE > SETTINGS
Click on the Accounts & Privacy tab
Uncheck the box next to “Allow customers to place orders without an account”

You also need to make sure customers have the ability to create an account during checkout.

On the same page, check the box next to “Allow customers to create an account during checkout”
Be sure to Save Changes at the bottom

You can still enable “Allow customers to log into an existing account during checkout,” so existing users can return and purchase additional courses.
Create a Product & Assign Your Course
Now let’s create a product in WooCommerce.

Navigate to PRODUCTS > ADD NEW
Fill in the appropriate information for your product (see WooCommerce’s guide on adding products)
Scroll down to the Product data section
Next to the Simple Product dropdown menu, check the box for Virtual
Open the Simple Product dropdown menu and choose Course
Next to Related Courses, click on the course you’d like to associate with this product
Be sure to publish or update your product when you’re finished

BUNDLE COURSES
You can bundle multiple courses and sell them with a single WooCommerce product. Hold down the SHIFT key when selecting courses from the list.
IMPORTANT
When adding five or more courses to a single product, course enrollment process is done in the background and you will need to set up a cron job. To set up a cron job please follow these steps.
Set Up Your Course
After your product is set up in WooCommerce, you’ll need to make a few adjustments to your LearnDash course.

Navigate to LEARNDASH LMS > COURSES
Click on the course that corresponds with a WooCommerce product
Click the Settings tab at the top
Under Course Access Settings, look for Access Mode
Set this to Closed
In the Button URL field, enter the URL to your WooCommerce product page

Now when people visit your course page, the “Take this Course” button will send them to the corresponding WooCommerce product page, where they can add the product to their cart & complete the checkout process.
TIP
Want to speed up the checkout process? You can add the product to a user’s cart AND redirect them to the cart page all in one step. In the Button URL field, enter your cart URL (typically /cart/), followed by ?add-to-cart=123, where 123 is the WooCommerce product ID. The entire URL will look like this:
https://yoursite.com/cart/?add-to-cart=123
Additional Tips
While not required, there are a few additional things you might want to consider with your setup.
Add a Purchase Note
WooCommerce has a built-in field called “Purchase Note.” This note is shown to the customer in a few places, after a successful purchase:

On the purchase confirmation page
In the customer’s receipt email

Consider using this field to provide instructions or next steps for taking your course, along with a link to the course page.

Navigate to PRODUCTS
Click on the product you’d like to add a purchase note for
Scroll down to the Product data section
Click on the Advanced tab
Enter your instructions and/or a link to your course

This field accepts HTML. Here’s an example to create a link to your course. Replace the URL with the URL to your specific course.
Start This Course
Use Different Product Types
Did you know you can leverage any WooCommerce product type while keeping the course association?
Learn more about different product types and why you might want to use them.

On your WooCommerce product, scroll down to the Product data section
Select the Course product type & choose your Related Course (as outlined above)
Now you can switch your product type, and WooCommerce will remember your course selection in the background

Post-Purchase Redirect
After purchase your customers are sent to the WooCommerce purchase confirmation page. You can bypass this step and send customers directly to the course instead by following the steps in this video:

Using WooCommerce with LearnDash
In this webinar we go through the set-up steps and key considerations when configuring WooCommerce with LearnDash.

Selling Course Subscriptions
In this webinar we cover how to configure subscription products in WooCommerce, and then how to link those subscriptions to LearnDash courses.

Sales Funnel Using CartFlows
To optimize the checkout process for conversions, we recommend using the free CartFlows plugin which has an integration with LearnDash. The video below details the configuration.

The User Experience
NOTE
When testing, we recommend visiting your site in a private browsing window. To see how the integration works, you should be logged out of your account (by default, administrators will already be enrolled in the course).
Once everything is set up correctly, there are a few ways in which potential customers can go through the process of purchasing one of your courses. (These are only some examples. This list is not meant to be exhaustive.)

They could start on your main shop page, which is automatically created by WooCommerce, and contains a list of all of your products, including all the ones you’ve set up for your courses.

They click on a product to visit the product page.
Add the product to their cart.
Finish the WooCommerce checkout process.
If online payment was successful, they are automatically enrolled to the corresponding LearnDash course.

They might land on your LearnDash course page first.

They click the “Take this Course” button to visit the product page.
The remaining steps are the same as above.

You can create a separate landing page using the new WordPress editor (Gutenberg), a page builder, or even a completely different platform outside of WordPress.

Include a “Buy Now” button on your landing page.
Use the link to directly add the course to the WooCommerce cart, bypassing the product page altogether (ex: https://yoursite.com/cart/?add-to-cart=123)
The remaining steps would be followed to complete checkout through WooCommerce.

Course Access & Auto-Enrollment
The WooCommerce integration has some built-in logic that helps auto-enroll users into the corresponding LearnDash course. Here’s how it works:
NOTE
This assumes you’re using version 1.5.0.14 or higher of the WooCommerce for LearnDash add-on.
Which WooCommerce payment methods can enroll users into a LearnDash course?
All payment methods can be associated with a LearnDash course, including both online & offline payments.

Online Payments: Stripe, PayPal, and all other WooCommerce payment gateways
Offline Payments: Direct bank transfer (BACS), Check payments, and Cash on delivery (COD)

Are users auto-enrolled into the course after completing checkout?

Online Payments → Yes
The WooCommerce order status is set to Completed.
Offline Payments → No
The WooCommerce order status will remain Pending.

If a user pays online, but the order also contains a physical product the WooCommerce order status will remain Processing. The order status needs to be set to Completed for the user to be enrolled in the course.
When do offline payment customers receive course access?
As soon as you change the WooCommerce order status to Processing.
Can I auto-enroll users who choose an offline payment method?
Yes. To do this, you can use the Autocomplete WooCommerce Orders plugin, which allows you to automatically mark ALL orders as Completed, regardless of online or offline payment. Be careful with this option, as it could grant a user access to a course before you receive payment.
Retroactive Course Access Tool
If some WooCommerce customers have purchased courses and haven’t been properly granted access, you can use the retroactive course access tool. The tool will scan all WooCommerce orders, looking for Completed orders that are connected to a LearnDash course, and automatically enroll the associated users. It will also unenroll the customers who should no longer have course access.
Example Situation: If you add a course to a WooCommerce product after someone has already purchased the product, running this tool will find that user and give them access to this new course you just added.

Navigate to WOOCOMMERCE > STATUS
Click on the Tools tab
Scroll down until you see “LearnDash retroactive course access”
Click the “Check LearnDash course access” button

The tool works for regular WooCommerce course products, as well as those using the WooCommerce Subscriptions extension.
Access Removal on Expiration
By default, if you have subscriptions set up with your WooCommerce and LearnDash setup, the associated course access will be removed as soon as the subscription expires. However, there is a way to disable this default behavior.
Example Situation: You may want the course access to be an add on to another (main) product that you sell with the course. In that case even if the subscription expires (i.e. access to the main product), you may want to keep the course access for the customer. In that situation, you want to check this option to disable the course expiry option and ensure that your customer will still have access to the courses even after their subscription expires.

Navigate to WOOCOMMERCE > SETTINGS
Click on the “Subscriptions” tab
Scroll down to where it says “LearnDash”
Check the box to disable Access Removal on Expiration
Click “Save Changes”

This tool only works with the WooCommerce Subscriptions extension and the LearnDash WooCommerce addon installed.
FAQ
Why wasn’t a user created & enrolled into the associated course(s) after purchase?
Auto-enrollment should work as stated above. Please update to version 1.5.0.14 or higher of the WooCommerce for LearnDash add-on.
Which payment gateways can I use with WooCommerce?
WooCommerce offers the most payment gateways of any LearnDash integration—several of them are free, while others come with an additional fee. Check out all WooCommerce payment gateways here.
Does this integration support manual/offline payments?
It does, but manual/offline payments work a bit differently than online payments. Please see the section above.
Can I use Variable Products in WooCommerce with the integration?
Yes. However, when you set a product as a Variable Product, the associated course is not retained in the WooCommerce settings. You will need to set it for each variation.
Can I create bundles & memberships with WooCommerce and LearnDash?
Yes. This article explains how you can do this in more detail.
Is this integration compatible with WooCommerce Subscriptions?
Yes. Learn more about the WooCommerce Subscriptions extension.
A user’s course access is automatically removed if you provide them a refund or they cancel their subscription.
Why doesn’t “Add to Cart” translate to my language when the integration is active?
This is due to a setting in the integration. To resolve this, edit the WooCommerce product and once the LearnDash course is selected, go back to the Simple Product dropdown menu (the course selection will be saved) – then click Update.

Was this article helpful to you?

Yes

No