All Plugins
Availability Condition FREE v1.4.0 Moodle 4.5 · 5.0 · 5.1 · 5.2

Stripe Payment Restriction

Monetise any Moodle activity or resource by placing it behind a secure one-time Stripe payment — instant access after checkout.

Overview Features Requirements FAQ Support

Sell access to any Moodle activity with a single Stripe payment

Stripe Payment Restriction is an availability condition plugin for Moodle 4.5+ that places any activity or resource — a quiz, file download, assignment, SCORM package, or any other activity type — behind a secure one-time payment powered by Stripe Checkout.

Students are redirected to a hosted Stripe Checkout page where they pay securely. No card numbers or payment data ever touch your Moodle server. On successful payment, Moodle immediately grants access and the student is returned to the course.

Teachers set the price directly in the activity availability settings — no coding or ecommerce knowledge required. Administrators can view all transactions and export them to CSV from a dedicated report page.

How it works

  1. Teacher adds the "Stripe Payment" availability condition to any activity and sets the price.
  2. Student sees a payment prompt instead of the activity content.
  3. Student is redirected to Stripe Checkout for secure payment.
  4. On success, access is granted immediately — the student is returned to the activity.
  5. Stripe webhook verifies payment server-side to prevent spoofing.
FEATURES

What's Included

Restrict any activity — quiz, file, assignment, SCORM

Works with every Moodle activity and resource type. Apply the condition to a quiz, a file download, a SCORM package, or any combination. Set a different price on each item.

Secure Stripe Checkout — no card data on your server

Students pay on Stripe-hosted Checkout pages. No card numbers, CVVs, or payment data ever reach your Moodle server. PCI-DSS compliance is handled entirely by Stripe.

Instant access granted on successful payment

Stripe sends a webhook to your Moodle site. The plugin verifies the payment and grants access in real time — no manual approval, no page reload required by the student.

Teacher and admin transaction reports

A dedicated report page shows every payment — student name, activity, amount, date, and Stripe payment ID. Filterable by course and date range.

CSV export and duplicate payment prevention

Export any filtered transaction report to CSV in one click. The plugin tracks successful payments per student so they are never charged twice for the same activity.

REQUIREMENTS

System Requirements

Moodle Version 4.5 or higher
PHP Version 8.1 or higher
Stripe Account Required (free to create)
Licence MIT (free)
FAQ

Frequently Asked Questions

Yes, a free Stripe account is required. Create one at stripe.com, then copy your Stripe Publishable Key and Secret Key into the plugin admin settings. Both test mode and live mode are supported.

No. Students pay on Stripe-hosted Checkout pages. No card numbers, CVVs, or payment data ever touch your Moodle server. PCI-DSS compliance is fully handled by Stripe.

Yes. The price is set per-activity in the availability condition settings. Different activities in the same course can have different prices.

The student is returned to the Moodle course page and access is not granted. They can attempt payment again. No partial records are created for failed payments.

Refunds must be issued through your Stripe Dashboard. The plugin does not process refunds automatically. After a manual Stripe refund, you will also need to remove the student's access to the activity.

Yes. The plugin is tested on Moodle 4.5, 5.0, 5.1, and 5.2.

Support

The plugin is free and open source (MIT licence). Download from GitHub or Moodle.org. For questions, bug reports, or feature requests, open an issue on GitHub or contact us via the form on this site.

GET STARTED

Ready to Deploy Stripe Payment Restriction?

Install it on your Moodle site in minutes. Need customisation or a bespoke plugin? Get in touch.

The word Moodle and associated Moodle logos are trademarks or registered trademarks of Moodle Pty Ltd or its related affiliates.