Note: You are currently viewing documentation for Moodle 3.3. Up-to-date documentation for the latest stable version of Moodle is probably available here: PayPal enrolment.
The PayPal enrolment plugin allows users to pay for courses and then be automatically enrolled.
PayPal account creation
- Go to https://www.paypal.com and create a PayPal account. Not required but recommended for selling: Upgrade your account to "Premier" status and get "Verified".
- Set the Encoding to UFT-8. In Paypal, go to Profile > Language Encoding (under the Selling Preferences column) and set your website's language (like select "Western European Languages (including English)" as it is the only English version). Then click on the "More Options" button and set the Encoding to "UTF-8", select "Yes" to use the same encoding for data sent from PayPal to you, and save.
- Optionally setup IPN in PayPal to interact with Moodle. Log into PayPal, go to "Profile > Instant Payment Notifications (IPN)”, click "Turn On IPN", click the "Edit settings" and enter a URL that references your IPN file in your Moodle installation (for example: http://<domain name>/moodle/enrol/paypal/ipn.php).
Enabling PayPal enrolment
An administrator can enable PayPal file enrolment as follows:
- Go to Site administration > Plugins > Enrolments > Manage enrol plugins and click the eye icon opposite PayPal. When enabled, it will no longer be greyed out. Manual enrolment must also be enabled, since the PayPal plugin requires it.
- Click the settings link, configure as required (see details of settings below), then click the 'Save changes' button.
- PayPal business email - This setting is case sensitive and must exactly match that in PayPal
- Default role assignment - This means the role that a new user will automatically be given in a course when they purchase access. Usually this would be "student" unless you have a special reason for choosing another role. As for other default settings, it may be overridden in individual courses.
Tip: If you wish to allow users to create their own accounts on your site then you need to set up Email based self registration.
Course settings for PayPal
Checking you have PayPal in your course
- If you are using the Boost theme, click the gear menu from the Participants link and then click Enrolment methods. If you are using a different theme, go to Course administration > Users > Enrolment methods
- If you do not see PayPal, use the pull down menu "Add method" and select PayPal
- Make sure PayPal has its "eye" opened:
|Note: Make sure you don't have Self enrolment enabled as this would allow users to access the course without paying. If you do need some users to self enrol for free, then add an Enrolment key in the self enrolment settings.|
Setting a price for your course
- In Course Administration > Users > Enrolment methods, click the edit/hand/pen icon to the right of the PayPal option.
- Optional: Give a name to this enrolment method if you wish in "Custom Instance name"
- Ensure that "Allow PayPal enrolments" is set to "yes"
- In "Enrol cost", type in the cost of your course and in "Currency" choose your currency.
- Usually you would leave the "Assign role" as "student" unless you have a very special reason for allowing your users to enrol as, say, editing teachers etc
- Choose an enrolment period and/or start/end dates if desired.
- Click the "Save changes" button.
What the new user sees
When a new user clicks on your course link, they will see a message inviting them to go to PayPal to purchase access to the course. In the list of courses, PayPal courses have a dollar sign icon next to them.
Changing the dollar symbol
The default currency symbol for PayPal is a dollar sign. If you are using GBP or Euros or another currency, you can change this by creating your own customised icon with your choice of currency. Make it 16x 16 pixels and call it icon.gif Upload your new icon via FTP to your moodle directory>enrol>paypal>pix. Your icon.gif will override the dollar sign. Make sure you refresh your page to be sure of the changes.
- Configure PayPal enrol instances
- Manage enrolled users
- Unenrol users from course
- Unenrol self from the course