Availability conditions: PayPal

Maintained by Picture of Daniel Neis Araujo Daniel Neis Araujo
An Availability Condition to require a PayPal payment to access activities and resources.
347 sites
35 fans

PayPal Availability Condition

With this plugin you can put a price in any course content and ask for a PayPal payment to allow access.
The person in charge to configure the enrolment method on the course will be able to configure the enrolment cost's value and currency.
The user will be able to pay in some other currency at PayPal website. The conversion rates will be calculated and applied by PayPal.


  • Put these files at moodle/availability/condition/paypal/
  • Log in your Moodle as Admin and go to "Notifications" page
  • Follow the instructions to install the plugin
  • You must activate the IPN at your PayPal account
  • You must also use HTTPS on your Moodle site


This works like the PayPal enrol plugin, but instead of restricting the full course, you can restrict individual activities, resources or sections (and you can combine it with other availability conditions, for example, to exclude some group from paying using and "or" restriction set).

For each restriction you add, you can set a business email address, cost, currency, item name and item number.


The development of this plugin was funded by TRREE - TRAINING AND RESOURCES IN RESEARCH ETHICS EVALUATION - http://www.trree.org/

Dev Info

Please, report issues at: https://github.com/danielneis/moodle-availability_paypal/issues

Feel free to send pull requests at: https://github.com/danielneis/moodle-availability_paypal/pulls


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3


Picture of Daniel Neis Araujo
Daniel Neis Araujo (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Madhukar Reddy
    Sat, Jul 21, 2018, 7:54 PM
    Hi Daniel, i have configured paypal enrollment procedure as mentioned on moodle paypal integration document, also modified setting on paypal account same, but when i click on send paypal payment, it is showing error like : Things don't appear to be working at the moment. Please try again later. can you please help me to resolve my issue
  • Picture of Daniel Neis Araujo
    Mon, Jul 23, 2018, 10:53 PM
    Hi, Madhukar

    the enrol plugin is part of Moodle, you may look at the general developers forum to get support.
    But if your problem is with the availability condition, it may be that there is some information you mistyped when configuring the plugin. Aslo, paypal requires your site to be under SSL/HTTPS to work.
  • Picture of Yannick Vrolant
    Mon, Sep 3, 2018, 7:38 PM

    Is it possible to have end-users select their preferred currency among a list of several currencies (e.g. US dollar, Euro...) as they pay to enrol in a course ?

    Thanks for helping,

  • Picture of Daniel Neis Araujo
    Mon, Sep 3, 2018, 8:14 PM

    the person in charge to configure the enrolment method on the course will configure the cost's value and currency.
    At paypal, user will be able to pay in some other currency and the conversion rates will be calculated and applied by Paypal.
  • Picture of Shriram Joshi
    Fri, Sep 7, 2018, 3:36 PM
    Hi Daniel

    It's a great utility for moodle and I must appreciate efforts by the team

    I am having my Moodle 3.5 Hosting on AWS through Bitnami Moodle stack.
    Site is configured to work on HTTPS and is associated with elastic IP and public domain.
    Domain is registered with Godaddy.

    Everything working fine.............
    Site URL is - https://learncomputeronline.in

    I had my PayPal business account in India and is absolutely clear in terms of all commercial and technical requirements.

    For last three weeks, I am struggling to have my course payment made through PayPal.
    PayPal button on Cours Page successfully takes me to my PayPal payment page but after giving details though my PayPal account or even with any credit or debit card........payment was not getting successfully processed. IT use to give error - "We can not process your payment this time. Please go back to your merchant site and try to pay with some alternate payment method."

    I raised this concern to may agencies.........Including Forum of Moodle, Forum of Bitnami etc.

    Later on Moodle's technical coordinator helped me with trying payment to one of my Course "TYBom IT" which i purposefully kept at just 0.10 USD.

    Surprisingly Her payment went through smoothly and I got entry of her payment in My PayPal account as successfully. Even she got the enrolment to course also as expected by this integration.

    So I wondered what's going wrong with me when I am trying to make payment for same scenario.

    Few things then noted are mentioned here .......

    When I used to submit for payment, address bar of browser displays one PayPal error code at the end of URL.........


    I searched through this error code in google.

    Then I found below forum link where all people facing similar error from pay pal for various applications they hosted in which currency was not Indian Rs - INR and all of them were having PayPal account in India and all of them trying to get money form their Indian cusotmers only but in USD.


    This forum implies that there is regulation or restriction in India..........that PayPal can not receive or process any payment from Indian Customers in any other currency other than INR.

    This is the reason............PayPal could process Moodle technical coordinator's payment in USD since she was not from India.

    But it ultimately rejected my all payments because I was from India.

    Even though PayPal has officially started with Indian currencies from 1st March 2018 this year, they still seems to be bounded by this regulation act.

    So there seems to be no way if i had account of PayPal in India..............I will not be able to accept payment from Indian Customers.

    Unless Moodle's PayPal plugin provides INR currency in PayPal configuration screen.

    There is option that I should Create specific payment button in PayPal to accept Indian payment and include the same in my Moodle's course page. This will resolve my problem of getting payment from Indian customers..............but then it will not register user to course.

    in fact there is option in configuring this button to specify INP URL which I can do ............but then I need to know the Specific attribute variables that need to pass to that URL.

    Can you gibe me exact nature of Attribute variables that should get passed through PayPal IPN notification in normal case..........so that same i can try to configure in my custom PayPal button.

    Or it will be simple if you can release the new version of PayPal plugin with INR as in built currency option.

    Please support,

  • Picture of Shriram Joshi
    Fri, Sep 7, 2018, 3:41 PM
    Further to my comment above - I got Below confirmation mail form PayPal Technical support team,

    As you rightly mentioned, Indian buyers cannot pay Indian merchants in USD currency. Domestic transactions must be made only in INR currency.

    "We could see that your account is KYC verified and ready to accept domestic payments. In order to resolve the issue, you need to implement a currency switcher in your website which will toggle between INR and USD based on buyer location. If buyer is from India show INR else otherwise."

    So PayPal is definatly not supporting Indian customers to apply for my course through PayPal since my own PayPal account is in India.

    So only hope of option remains is to get INR currency in you PayPal Plugin for your next version.

    Till that time, I will not be able to have online payment in anyway for my courses.

  • Picture of Daniel Neis Araujo
    Wed, Oct 10, 2018, 5:27 AM
    Big thanks to Maj Shirish Patil that discovered that we need a change on the PayPal enrolment plugin to make Indian Rupee available on this plugin too.
    For all of you with problems using this on India, please take a look and vote on MDL-63603
  • Picture of G J
    Wed, Oct 31, 2018, 9:02 AM
    Any suggestions on how a discount code would be integrated into this plugin? Ex: If I can create coupon codes to reduce the price for customers who have the code?
  • Picture of Rekha C
    Thu, Nov 22, 2018, 10:35 PM

    How would paypal work for INR?

    When INR is enabled in the plugin, suppose in the drop down of a course i select INR, can i get payments by foreign buyers who have USD balances? or any other currency balances?

    or, can i put 2 paypal buttons - one for USD and one for INR?

  • Picture of Daniel Neis Araujo
    Thu, Nov 29, 2018, 9:59 PM

    converting between currencies are managed by PayPal that has different rules in different countries.
    You can have more than one button on same course (just add more enrol methods with other currencies) but I am not sure how PayPal will handle that at the end (if it will allow people to pay you in dollars, or other currencies)
  • Picture of Sven Niland
    Fri, Nov 30, 2018, 5:52 AM
    Is there a version of this plugin updated to work properly in Moodle 3.5+? Is that expected soon?
  • Picture of Daniel Neis Araujo
    Wed, Jan 9, 2019, 8:44 PM

    I made available a version tested on 36. It may work from 3.2 onwards.
  • Picture of Sven Niland
    Thu, Jan 10, 2019, 2:53 AM

    I got it working after that post. Thanks for replying.
  • Picture of Irith Herman
    Mon, Feb 25, 2019, 3:10 AM
    I use Paypal plugin in moodle 3.5.
    The plug-in worked fine but recently people are paying and the plugin does not enrolled them to the course
  • Picture of Camille S
    Tue, Apr 23, 2019, 6:52 PM
    Hi, I am having the same problem as Irith - did someone find a solution to this in between? I am using the latest Paypal and Moodle version. Thank you for your help!
1 2 3 4
Please login to post comments