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 Optionsmenu on your
Profilepage. 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.
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.
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.
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.
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.