Enable PayPal To Sell Complete Full Courses Or Sections In Moodle

AI in Education Leaderboard Post Page
Ai In Education Square Post Page

--- Advertisement ---

Many modern LMS allow you to set up shop with PayPal. Now thanks to Brazilian developer Daniel Neis Araujo and TRREE, Moodle allows price tagging to sections or even specific content. It works by taking advantage of Moodle’s Availability Conditions, which gives you control over who can access specific places within a site. All of this means that in Moodle, full and partial courses can be sold using PayPal.

Let’s go through each of the options. To implement on your site you will need:

  • A PayPal account. A “Premium” version with “Verified” status will likely give you less hassle at the time of accepting and processing payments, as the Moodle documentation suggests.
  • A Moodle site with administrative options, including plugin installation and enrollment keys generation.
  • Making sure both your PayPal and Moodle site encoding is UTF-8. On PayPal, check the Language Options > More Options menu on your Profile page. Moodle is UTF-8 encoded, unless deliberately chosen otherwise at installation.

Authentication, Registration, Enrollment: what’s the difference?

Before diving into PayPal access, let’s dispel some confusions. A Moodle course lives within a Moodle site, which is installed on a server or the cloud. A user looking to become a student, free or paid, must have an account on the Moodle site before joining any particular course.

  • Authentication refers to the process of validating the identity of a user. It first takes place when a user account is created, and afterwards whenever a user logs in the Moodle site.
  • Registration refers to the methods available to create and authenticate user accounts. Moodle offers manual and self-registration methods.
  • Enrollment (or Enrolment, for the British) refers to the process of joining a course by an authenticated user. When a user account is enrolled to a Moodle course, it receives a role (“student”, “teacher”, etc.) which determines the extent of the access they will enjoy to course contents.

Read the Moodle Documentation on Authentication.

Full course sale with PayPal Enrolment

PayPal is an enrollment method. When it is active, Moodle verifies the enrollment status of a user for a particular course. If the user is not enrolled, PayPal appears as a gateway. If the user chooses to purchase access, PayPal notifies Moodle when the transaction has been successful, so they can get in.

“PayPal enrolment” is already listed in Moodle as an enrollment option. Activate is by going to Site administration > Plugins > Enrolments > Manage enrol plugins . Make sure the Edit icons for PayPal include the “eye open”:


Click the “gear” on the Edit icon section of PayPal to activate it for users and enter the PayPal account info where the funds from course payment will be collected. Other options include adding currency and price, optional enrolment time ranges, and more.

Read the Moodle Documentation on PayPal enrolment.

 A word on Manual and Email enrolment

PayPal enrolment requires “Manual enrolment” activated also. By default, this requires admins to manually open a user menu to find users, enroll them into the course and assign them a “student” role. It also means that options from Manual enrolment, such as enrollment start and end dates, and email notifications, are available for PayPal enrolment also.

To automate enrollments, you can activate email-based self-registration, which authenticates and enrolls users in one step. This and other self-registration options, however, open the way to free enrollments along with the PayPal gateway. This can be remedied by adding an “Enrolment key” option. Even if you do want to provide a free gateway, an Enrolment key gives you control over who has access, with the added benefit of spam prevention.

Other enrollment methods, such as third-party log in or SSO are compatible with PayPal enrolment. Just make sure of the enrollment options you want to allow.

Read the Moodle documentation on Manual enrolment.

Partial or section course access with PayPal Availability Condition Plugin



The PayPal Availability Condition Plugin brings PayPal as a gateway again. But this time, it stands between regions inside a course rather than the course itself. This could be useful to give interested users a taste of what the course is about, and make a more compelling call to purchase. Or to get an additional revenue from a subset of your students with particular content interests. Or to set Moodle Activities, such as Chat, Quizzes (just about any of them really) as premium services.

The PayPal Availability Condition Plugin is a contribution of TRREE, an international learning consortium focused on ethics in health research. It is compatible with Moodle versions from 2.9 to 3.2.

Install or Download the Plugin from here.

Some final advice from a ‘payments pal’

  • Consider a refunds policy, with the conditions that make a customer eligible for full or partial refund, applicable penalties and fees, and the refund process.
  • Consider an enrollment void policy, in case user activity or behavior deserves a suspension or “no login” without recourse options.
  • Make sure your offer complies with applicable laws, consumer protection rules and tax regulations in particular.
  • As PayPal merchant, you can configure Instant Payment Notifications so Moodle receives notice of PayPal transactions made by users.

Would you rather partial or full Moodle course sales through PayPal? Let us know your case in the comments:

moodlerooms-logoThis Moodle Practice related post is made possible by: MoodleRooms the open source learning experience by Blackboard. Rediscover Moodle. Click here to learn more.

2 Responses

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

The Latest

The eLearn Podcast

--- Advertisement ---

Subscribe to our newsletter

Education technology has the power to change lives. 

To get the latest news, information and resources about online learning from around the world by clicking on the button below.