Payment gateways ::: paygw_stripe
Maintained by Alex Morris
Connect Moodle with Stripe to collect payments through various providers. E.g. credit cards, Alipay, Sofort. Requires a Stripe account.
Latest release:
148 sites
5 fans
Current versions available: 1

Connect Moodle with Stripe to collect payments through various providers. E.g. credit cards, Alipay, Sofort.
Requires a Stripe account.


  1. Install the plugin
  2. Register for Stripe
  3. Grab your Stripe API and Secret keys
  4. Configure the Stripe payment gateway in Moodle with those keys
  5. Add 'Enrolment on payment' to the Moodle courses that you want


Stripe offers 106+ currencies however certain payment gateways only support a subset of those.
E.g. Alipay only supports CNY and NZD currencies.

The plugin supports using promotion/coupon codes and automatic tax calculation.

This plugin can be used with these payment gateways:

  • Card
  • Alipay
  • Bancontact
  • EPS
  • giropay
  • iDEAL
  • P24
  • SEPA Direct Debit
  • Sofort

Some of those payment gateways will only work in Stripe if you have provided additional verification details.

Potential privacy issues

Email or create a GitHub issue


Screenshot #0
Screenshot #1
Screenshot #2


Alex Morris (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Sat, May 15, 2021, 5:30 PM
    Approval issue created: CONTRIB-8550
  • Thu, Jul 1, 2021, 1:35 PM
    Awesome! Does it by any chance work with subscriptions or individual activities?
  • Thu, Jul 1, 2021, 4:13 PM
    Hi Andy, unfortunately no it does not support subscriptions or paying for individual activities. Payment gateway plugins use the Moodle Payment API for enrolling users to and from courses and as such can't easily support those features until added into Moodle itself.

    It would be possible to create a normal enrolment plugin that could support subscriptions (or even individual activities, though I imagine subscriptions have a bigger use case?), if you'd be interested in this email me and we can talk about features.
  • Wed, Sep 15, 2021, 10:17 AM
    Can you set Stripe Moodle plugin to adjust tax rate based on regional settings? Not national, but provincial - such as in Canada the GST/HST/PST - the rate is different depending on which province you reside.
  • Sat, Sep 18, 2021, 12:48 PM
    Hi Ian, you should be able to configure that within Stripe. The plugin creates a 1-1 mapping of courses to products in Stripe, where you are able to configure settings.
  • Thu, Sep 23, 2021, 3:37 AM
    I am able to use the Stripe plugin using my Stripe test keys, but when I try to use the live keys, I get the following error:

    Error: mdb->get_record() found more than one record!

    line 1683 of /lib/dml/moodle_database.php: call to debugging()
    line 1643 of /lib/dml/moodle_database.php: call to moodle_database->get_record_sql()
    line 1622 of /lib/dml/moodle_database.php: call to moodle_database->get_record_select()
    line 86 of /payment/gateway/stripe/classes/stripe_helper.php: call to moodle_database->get_record()
    line 202 of /payment/gateway/stripe/classes/stripe_helper.php: call to paygw_stripe\stripe_helper->get_product()
    line 45 of /payment/gateway/stripe/pay.php: call to paygw_stripe\stripe_helper->generate_payment()

    Do you have any suggestions?
  • Tue, Sep 28, 2021, 4:22 PM
    Hi Greg,
    You can fix this by removing the database records in the tables `paygw_stripe_products` and `paygw_stripe_customers`.
    I will update the plugin soon with a fix that will prevent this from happening in the future.
  • Thu, Oct 28, 2021, 3:53 AM
    Hello Alex,
    I installed the plugin. The stripe payment box is also appearing in the selected course but the buy now button is not working...
  • Sun, Oct 31, 2021, 3:57 AM
    Hi Devansh, can you provide more information? Try with debugging output on?
Please login to post comments