Stripe Payment with SCA and Coupon

Enrolment ::: enrol_stripepayment
Maintained by DualCube Team
Now avail the much-awaited coupon functionality while enrolling students in Moodle courses using a Stripe payment gateway for paid courses with Strong customer authentication (SCA). Stripe Receipt sent to customers for any successful transaction. This plugin will help the admins and webmasters to offer their students a percent-off or amount-off discount for the paid courses. This plugin helps admins and webmasters use Stripe as the payment gateway.
Latest release:
1104 sites
51 fans
Current versions available: 3

Stripe Payment: 

Introducing the newest offering from Team Dualcube: Stripe Payment!

Now avail the much-awaited coupon functionality while enrolling students in Moodle courses using Stripe payment gateway for paid courses with Strong customer authentication (SCA).

This plugin will help the admins and webmasters to offer their students a percent-off or amount-off discount for the paid courses.

Stripe Payment:

1. Registered users can login to the Moodle site and happily apply the promo codes for a discount before payment. On successful payment, they can access the course.

2. Admins and Webmasters, now, can create, manage and keep track of all promotional codes directly in their Stripe dashboard.

3. Strong customer authentication (SCA) implemented with 4 layers of complex security to comply with EU Revised Directive on Payment Services (PSD2) on payment service providers within the European Economic Area.

4. The first of it's kind to use Payment intent method for Stripe-coupon. 

5. Works with all stable versions of Moodle till v 3.8.1

6. Latest Stripe SDK

Stripe Payment Documentation:

This plugin has all the settings for development as well as for production usage. Its easy to install, set up and effective.

Creating Merchant Account :

1) Create account at

2) Complete your merchant profile details from

3) Now set up secret key and publishers key at

4) For test mode use test api keys and for live mode use live api keys.

Now you are done with merchant account set up.

Installation Guidance : 

Login to your moodle site as an “admin user” and follow the steps.

1) Upload the zip package from Site administration > Plugins > Install plugins. Choose Plugin type 'Enrolment method (enrol)'. Upload the ZIP package, check the acknowledgement and install.

2) Go to Enrolments > Manage enrol plugins > Enable 'Stripe' from list

3) Click 'Settings' which will lead to the settings page of the plugin

4) Provide merchant credentials for Stripe. Note that, you will get all the details from your merchant account. Now select the checkbox as per requirement. Save the settings.

5) Select any course from course listing page.

6) Go to Course administration > Users > Enrolment methods > Add method 'Stripe' from the dropdown. Set 'Custom instance name', 'Enrol cost' etc and add the method.

Adding coupons:

Go to your Stripe Dashboard >  Product > Coupons > Create a coupon.

Type in the coupon’s name: it can be anything and for your reference only.
Type in the Coupon’s ID : This is the Coupon code which your students will need to enter if they want to avail the discount.

Choose Coupon Type: 
1. Percentage discount : offers % off on the course price 
2. Fixed amount discount : Offers a fixed amount off on the course price.

Duration: For duration, when using the value repeating, also specify duration in months as the number of months for which the coupon should repeatedly apply. Otherwise the coupon can be set to apply only to a single invoice or to them all.

Redemption : The max_redemptions and redeem_by values apply to the coupon across every customer you have. For example, you can restrict a coupon to the first 50 customers that use it, or you can make a coupon expire by a certain date. If you do the latter, this only impacts when the coupon can be applied to a customer. If you set a coupon to last forever when used by a customer, but have it expire on January 1st, any customer given that coupon will have that coupon’s discount forever, but no new customers can apply the coupon after January 1st.

If a coupon has a max_redemptions value of 50, it can only be applied among all your customers a total of 50 times, although there’s nothing preventing a single customer from using it multiple times. (You can always use logic on your end to prevent that from occurring.)


This completes all the steps from the administrator end. Now registered users can login to the Moodle site and view the course after a successful payment of the discounted price. 


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


DualCube Team (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS


  • Tue, Jun 23, 2020, 8:32 PM
    Dear Chandra,
    Thanks for the feedback. We will look into it.
    Thank you.
  • Fri, Jun 26, 2020, 8:59 PM
    Hi Dualcube team, I have added the stripe plugin inside my moodle site,when I made the payments using Rupay cards It was not working...I have added the publishable key as well as secret key manage enrol plugins...It accepted only visa card..can you help me with it
  • Mon, Jun 29, 2020, 2:44 PM
    Dear DD,
    It uses Payment intent method. If Stripe supports this method for Rupay cards, it should work. Please contact Stripe.
    Thank you.
  • Wed, Jul 22, 2020, 11:40 PM
    I did everything that you said. There is only a problem. "Submit payment" button isn't working.

    Please help me.
    Thank you.
  • Fri, Jul 24, 2020, 3:49 PM
    Dear Ali
    We will need to check that. Please send your Moodle credentials to

    Thank you.
  • Fri, Jul 24, 2020, 5:46 PM
    Thank you very much for your response. Moodle credentials? Is it my moodle address, my admin username and password?

    Thanks a lot.
  • Thu, Jul 30, 2020, 12:29 PM
    I dose not work on Moodle 3.9
  • Fri, Aug 7, 2020, 12:29 PM
    DualCube Team thank you for the useful plugin. However the submit button is not working in Moodle 391. Nothing is happening when i press submit button after entering values in all fields. Please help.
  • Fri, Aug 7, 2020, 1:03 PM
    Dear Manibhushan,

    Please install the last update. Thank you.
  • Fri, Aug 7, 2020, 4:24 PM
    Thank you for the prompt reply. I installed the last update today itself but still the Submit Payment button is not working. The Coupon code button is however working perfectly fine
  • Fri, Aug 7, 2020, 5:12 PM
    Dear Manibhushan,
    Please share your site's details to so that we can debug the issue.

    Thank you.
  • Tue, Aug 11, 2020, 12:23 AM
    Dear DualCube Team,
    After updating to Release 3.0 (Build: 2020013100), the button "Submit Payment" isn't working. Moodle is update to the latest. The website is Moodle is the latest.
    Thanks for your help!
  • Wed, Aug 12, 2020, 1:51 PM
    Hello DualCube Team, after I installed the latest update the plugin is working fine now. I have successfully completed the payment. Thanks a lot.
  • Wed, Aug 12, 2020, 2:45 PM
    Dear DualCube Team,
    The new version 2020081100 work fine with latest Moodle release. Thanks for the update and thanks again for this great plugin!
    Best regards,
  • Fri, Aug 14, 2020, 5:14 PM
    Good morning,
    I understand how the system works with COUPONs, but I would also like to ask you something else. I am looking for an easy way to allow a user to purchase a course (we publish the list on our website), paying with a credit card and that can automatically receive login credentials and immediately access the course. Is this possible using Stripe and your plugin? Can you tell me how to proceed or ev. can someone give me some information about a similar system? Ours is a small business and I would like to avoid paying expensive subscriptions. The idea of a cost on consumption seems right to me.
Please login to post comments