---
title: Stripe Payment Pro
description: "### Brief Introduction Stripe Payment Pro lets you accept recurring payments for Moodle courses using Stripe. You can create course subscriptions, offer trial periods, control billing cycles, provide coupons, and allow students to manage their subscriptions directly from Moodle. ###…"
url: "https://dualcube.com/docs/stripe-payment-pro/"
updated: "2026-08-29"
category: "Stripe Payment Free & Pro"
---

# Stripe Payment Pro

### Brief Introduction

Stripe Payment Pro lets you accept recurring payments for Moodle courses using Stripe.

You can create course subscriptions, offer trial periods, control billing cycles, provide coupons, and allow students to manage their subscriptions directly from Moodle.

### Key Features

- **Recurring Payments:** Charge students weekly, monthly, yearly, or at a custom interval.
- **Trial Periods:** Offer students a trial before subscription billing starts.
- **Billing Cycles:** Decide how many times a student should be charged.
- **Coupons:** Create discounts for selected courses.
- **Multi-Currency:** Accept payments in supported currencies.
- **Subscription Management:** Let students view and cancel their subscriptions.
- **Secure Payments:** Payments are securely processed through Stripe.

### Requirements

- Minimum PHP is version 5.6
- Moodle 3.0
- [Stripe Payment](https://moodle.org/plugins/enrol_stripepayment)
-

### Installation

- Step 1: Download Stripe Payment Pro
- Log in to your DualCube account and go to: [https://dualcube.com/my-account/api-downloads/](https://dualcube.com/my-account/api-downloads/)

### Step 2: Install the Plugin

Log in to Moodle as an administrator.

Go to:

**Site Administration → Plugins → Install plugins**

Upload the plugin ZIP file and complete the installation.

### Step 3: Get Your License Key

Install the plugin in your moodle site

- Get API keys from here : [https://dualcube.com/my-account/api-keys/](https://dualcube.com/my-account/api-keys/).

To activate the license for Stripe Pro and ensure proper webhook registration:

> 💡 Once activated, the plugin will automatically register the required webhook with your Stripe account.
>
>
>
> ![](https://dualcube.com/wp-content/uploads/2023/04/Stripe-Payment-Pro-_-Licence-1-1024x589.png)

#### Step 3: Verify Webhook on Stripe

Ensure that a new webhook has been added with the correct endpoint URL and events.

Log in to your **Stripe Dashboard**.

Go to **Developers** → **Webhooks**. For example : [https://dashboard.stripe.com/test/webhooks](https://dashboard.stripe.com/test/webhooks)

### Configuration

Once you will install the plugin, you need to follow these steps :

- Before settings up Stripe Pro, you need to configure Stripe Payment plugin. For this follow this doc : [https://dualcube.com/docs-category/stripe-payment-with-sca-and-coupon/](https://dualcube.com/docs-category/stripe-payment-with-sca-and-coupon/)

- **User Token**: In order to get the token, goto Web services >> Manage tokens >> Create token for moodle_enrollment_stripepaymentpro. Once the token is generated, add this into settings.

![](https://dualcube.com/wp-content/uploads/2023/04/image-1-1-1024x216.jpg)

- **API Key and Product keys** : to obtain API key and product key goto [https://dualcube.com/my-account/api-keys/](https://dualcube.com/my-account/api-keys/)

### Enable payment mode

To enable Stripe as payment mode, go to Enrolments >> Manage to enroll plugins and enable Stripe Payment Pro.

![](https://dualcube.com/wp-content/uploads/2023/04/mdl311-Administration-Plugins-Enrolments-Manage-enrol-plugins-1024x434.png)

### Configuring subscription product

Open the course where you want to accept subscription payments and add **Stripe Payment Pro** as an enrolment method.

Configure the following settings:

### Recurring Cost

Enter the amount students will pay for each billing cycle.

**Example:** Enter `25` if students should pay $25 each time the subscription renews.

### Product ID

The Stripe Product ID will be **created automatically**.

You don't need to enter anything manually.

### Renewal Interval

Choose how often the subscription should renew:

- Day
- Week
- Month
- Year

### Renewal Interval Period

Enter how many intervals should pass before the next payment.

For example:

**1 + Month** = Every month
**3 + Month** = Every 3 months
**1 + Year** = Every year

### Trial Period

Enable this option if you want to give students a trial before subscription billing starts.

Enter the trial duration and select the time unit.

**Example:** `7 Days`

The minimum trial period is **2 days**.

### Subscription Billing Cycles

Enter how many times the student should be charged.

For example:

If the course costs **$25 per month** and you enter **6 billing cycles**, the subscription will run for 6 billing cycles.

### Enrolment Group

Use **Enrolment Group** to automatically add students to a specific Moodle group when they purchase the subscription.

This is useful when the same course has different batches, plans, or groups of students.

For example, if a course has groups called **January Batch** and **February Batch**, you can select **January Batch** here. Anyone who purchases through this subscription will be enrolled in the course and automatically added to the January Batch group.

If you don't need to organize students into groups, you can leave this option unselected.

#### Example

For a course costing **$25/month for 6 billing cycles with a 7-day trial**, configure:

- **Recurring Cost:** $25
- **Renewal Interval:** Month
- **Renewal Interval Period:** 1
- **Trial:** Enabled
- **Trial Period:** 7 Days
- **Subscription Billing Cycles:** 6
- **Enrolment Group:** Select a group if required

Save the settings and your subscription course is ready.

![](https://dualcube.com/wp-content/uploads/2023/04/Stripe-Settings-683x1024.png)

### Students Flow

When a student will purchase a product, they can see all the details in the checkout page :

![](https://dualcube.com/wp-content/uploads/2023/04/RCA_moodledualcube-ezgif.com-video-to-gif-converter.gif)

### Creating Coupon

With Stripe Pro, you can now create and manage coupons directly from your Moodle site. Follow these steps to add a coupon:

- Navigate to Coupon Management: Go to Site Administrator > Enrollment > Stripe Payment Pro - Coupon Management > Generate Coupon.
- Provide the Required Coupon Details:
  - **Coupon Name**: Enter the name of the coupon. This will appear on receipts and invoices.
  - **Discount Type**: Choose whether the coupon offers a discount as a fixed amount or a percentage off the subscription.
  - **Discount Amount**: Specify the exact amount or percentage of the discount.
  - **Coupon Currency**: Select the currency for the coupon.
  - **Duration**: When creating a coupon in Stripe Pro, you can specify how long the discount will be valid by choosing from three duration options:
    - **Forever**: The coupon applies to all invoices indefinitely, including recurring orders.
    - **Once**: The coupon applies only to the first invoice.
    - **Multiple Months:** Set the duration for which the discount is valid. For example, a 50% off coupon with a 4-month duration will apply to all invoices within those 4 months. If a customer uses this coupon for a yearly subscription during this period, the 50% discount will cover the entire year.
  - **Coupon Expiry**: Define how long the coupon will be valid. For example, a coupon set to last forever for a customer will continue to provide discounts indefinitely, but new customers won’t be able to use it after the expiration date.
  - **Coupon for Specific Courses**: Select the products (courses) that are eligible for the discount. The coupon will only apply to the selected products. If a subscription doesn’t include any eligible products, the coupon won’t be applied. ***Note**: Only products with Stripe as the payment gateway will be listed here.*

![](https://dualcube.com/wp-content/uploads/2023/04/moodle_coupon.gif)

### Student Subscription Management

Every student can easily manage their subscriptions from their account.

- **View Subscriptions**: Students can check the list of all their active subscriptions.
- **Next Payment Date**: Each subscription displays the upcoming payment date for clarity.
- **Cancel Subscription**: Students can cancel their subscription at any time.

![](https://dualcube.com/wp-content/uploads/2023/04/Screenshot-2025-08-21-170358-1024x269.png)

**Important:**
If a student cancels a subscription, they will still have access to the enrolled courses until the end of the subscription period they have already paid for. After this period ends (when the next billing cycle starts), access to those courses will automatically be removed.

### Invoice Download

Admins can download invoices for course subscriptions directly from the platform.

- Each subscription record includes a **Download Invoice** option.
- When the **Download** button is clicked, the admin will be redirected to the Stripe site.
- From there, the invoice for that specific transaction can be downloaded.

![](https://dualcube.com/wp-content/uploads/2023/04/moodle_cancel.gif)
