Enrolment: Stripe Payment with SCA and Coupon

enrol_stripepayment
Maintained by Picture of DualCube TeamDualCube 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.
745 sites
856 downloads
42 fans
Current versions available: 2

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 https://stripe.com.

2) Complete your merchant profile details from https://dashboard.stripe.com/account.

3) Now set up secret key and publishers key at https://dashboard.stripe.com/account/apikeys.

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 >  Billing > 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. 


Screenshots

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

Contributors

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

Comments RSS

Comments

  • Picture of DualCube Team
    Fri, May 15, 2020, 5:55 PM
    Dear Jesus,
    All the settings are on the Stripe dashboard. Go to your Stripe Dashboard > Billing > 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.)

    Thank you.
  • Picture of Jesus Velasquez
    Sat, May 16, 2020, 1:50 AM
    Los cupones no cumplen con lo que necesito, busco que un pago por ejemplo de $1,000.00 lo cobre stripe completo en una sola exhibición, pero al cliente sus cobros de la tarjeta le lleguen diferido ya sea en 3, 6 o 9 meses sin intereses por parte de una promoción con el banco. ¿Stripe ofrece esa opción?
  • Picture of Ronak Katial
    Sat, May 23, 2020, 6:12 PM
    Hi,

    I have a stripe account i created and it was created from India lonked to my INR account, but the moodle plugin does not show the INR dropdown option, it shows in the website but not in the plugin.

    Due to this reason i am unable to accept payments using Stripe.

    Please tell me how to get Stripe Moodle Plugin to Take INR as Payment Currency
  • Picture of alejandro alves
    Wed, May 27, 2020, 4:44 PM
    Hello,
    I am using the plugin to buy curses from joomla if the user does not exist in moodle it will create it and then assign the user to the curse, but it does not work correctly. Some times it creates the user with all the info, other times it doesn't, some times it adds the user to the curse other times it doesnt. Has this happened to anyone?
    Regards
  • Picture of DualCube Team
    Wed, May 27, 2020, 7:00 PM
    Dear Alejandro,
    This is a Moodle plugin and can be used in a Moodle instance only. It is an enrolment plugin. A user must log in to Moodle before he/she gets to buy the course. So the user already has an account and when the course it bought, he/she is enrolled in the course. You might be using the Stripe Payment Gateway plugin with Joomdle. This is just an assumption. Thank you.
  • Picture of DualCube Team
    Wed, May 27, 2020, 7:01 PM
    Dear Ronak,
    We are adding all the currencies. You will get it via update to the plugin.
    Thank you.
  • Picture of Kat Ryland
    Wed, Jun 3, 2020, 10:12 AM
    Hi Dualcube, any plans to integrate Wechat Pay or Alipay? Both are processed within Stripe.
  • Picture of Allen Chow
    Wed, Jun 3, 2020, 11:56 AM
    Is it possible to change the layout of credit card entry form ?
  • Picture of Chandra Kishor
    Fri, Jun 19, 2020, 2:18 AM
    I think, the exception handler class should be changed in validate-coupon.php, as , with wrong coupon code, it doesn't catch the error. In version , 2020052800, the class is Stripe_InvalidRequestError, however, exception comes under Stripe\Exception\InvalidRequestException
  • Picture of Steve Zielinski
    Sat, Jun 20, 2020, 6:12 AM
    Is there anyway to change the graphic that reads "stripe"? It would be much clearer to users if we could display the more well known "Visa, Mastercard, ..." graphic.
  • Picture of Steve Zielinski
    Sat, Jun 20, 2020, 7:40 AM
    I answered my own question. I replaced the stripe.png file with my own graphic. stripe.png is found in moodle>enrol>stripepayment. It is a 300x300 png.
  • Picture of DualCube Team
    Tue, Jun 23, 2020, 8:32 PM
    Dear Steve,
    Great! That is a good solution.

    Thank you.
  • Picture of DualCube Team
    Tue, Jun 23, 2020, 8:32 PM
    Dear Chandra,
    Thanks for the feedback. We will look into it.
    Thank you.
  • Picture of D. D
    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
  • Picture of DualCube Team
    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.
Please login to post comments