Stripe Payment Availability Condition

Restrict access to any Moodle activity behind secure Stripe payments.

What This Plugin Does

This plugin allows you to lock any Moodle activity (quiz, assignment,course certificate, file, or page) behind a one-time Stripe payment.

Once the payment is completed, access is granted instantly and automatically — no manual intervention required.

Teachers and administrators always bypass the restriction.

How It Works

Payment button displayed directly on the course page

Secure Stripe Checkout (hosted by Stripe)

Admin dashboard with full transaction reporting

Restrict any activity (quiz, assignment, file, page,course certificate)

Instant access granted immediately after payment

Per-activity payment reports for teachers

Export transactions easily as CSV files

Key Features

  • Restrict any activity (quiz, assignment, file, page)
  • One-time Stripe payments
  • Instant access after payment
  • Supports all major currencies (including zero-decimal currencies)
  • Secure Stripe Checkout — no card data stored on your server
  • Webhook-based automation for payment verification
  • Admin transaction dashboard with revenue summary
  • Per-activity payment reports for teachers
  • Duplicate payment prevention
  • Automatic cleanup of expired payments
  • CSV export of transactions

Use Cases

  • Sell access to premium courses
  • Charge for exams or certifications
  • Monetise learning resources
  • Offer paid workshops or training modules

Requirements

  • Moodle 4.5 or later
  • PHP 8.1 or later
  • A Stripe account
  • HTTPS enabled on your Moodle site
View on GitHub

Interested in supporting development or exploring more plugins?

View All Plugins