Charging for Course Enrollment (Paid Courses)

One of the most common reason to use an LMS is to be able to charge for premium courses. Namaste! LMS makes this easy, so here’s step-by-step guide how to do it.

1. Create your course.

A paid course is just like any other course but has a price attached to it:

2. Set Up Some Payment Methods

So far you have set up a price for the course, but paid enrollment will not happen until you set up at least one payment method. You can do this in Namaste! LMS Settings page, section Payment Settings:

Namaste! LMS has built-in support for Paypal and Stripe. You can enable one or both of these methods. If you have installed the MoolaMojo plugin it will also appear as payment method.

When you use these built-in payment methods everything will be handled automatically. In section 4 below you’ll learn how do students actually pay and enroll.

The Other Payment Methods Box:

Note that Namaste! LMS offers also allows you to accept any not-built payment method as long as it can be presented as a text or HTML code for button on the screen. This can be used for example to accept bank wires, checks, Bitcoin, or anything else.

Very important: Unlike the built-in payment methods these additional payment methods will not automatically enroll the student into the course. You will either have to do it manually or write your own code to process the enrollment.

3. Selling Courses through WooCommerce

If Paypal and Stripe do not work for you and you want to have users automatically enrolled into the paid course using your favorite payment processor, not all is lost. Maybe your payment processor is supported by the most popupal e-commerce plugin WooCommerce. If so, we have good news – our free bridge makes it possible to sell courses access as WooCommerce products.

4. User Action Flow: How Do Students Pay and Enroll

Students need accounts on your site to use the LMS. You can create them manually or let them register. It’s up to you whether to create a dedicated page with information about registering or just point users to your course pages – as long as you use the namaste-enroll shortcode on them they will see a message “You need to be logged in to enroll” with a link to the loginĀ  / registration page.

So, there are two methods for the users to pay and enroll:

  1. Through the course page itself. This will be possible only if you include the namaste-enroll shortcode on it:



    In this case the non-logged in user will see something like this:


    After logging in they’ll see the actual payment link:



    If you don’t include the shortcode namaste-enroll on the course page the students will not be able to enroll from it!
  2. The second method is through the My Courses page in the student’s dashboard. It shows all available courses with current status and enroll / unenroll buttons for each of them.
    If you don’t allow dashboard access on your site you can publish the My Courses page on the front-end using the namaste-mycourses shortcode (learn more about exposing backend student pages on the front-end here).

    In either case, this page is available only to logged in users so your students need to login first and then can pay and enroll.

5. Troubleshooting Paid Courses

If you are using the built-in payment methods and the enrollment did not happen after payment, please check the Payment Error Log link which will be shown right under the “Save payment settings” button. Clicking on the link will reveal the latest payment errors:

Please note that Paypal PDT is the recommended method of handling PayPal payments. We can provide technical support only for PDT payments.

If you are using the WooCommerce bridge please be careful about the following:

  • Correct attribute name and value
  • Your product should be Virtual and Downloadable
  • The order status in WooCommerce should be COMPLETED. Not pending, processed or any otherĀ  status. If it’s not completed then probably there is a payment error in WooCommerce (we can’t assist with these) or your product is not marked as virtual and downloadable and the order is waiting for you to ship it and manually mark as completed.

Leave a Reply

Your email address will not be published. Required fields are marked *