LearnDash comes with the ability to accept payment for courses by leveraging PayPal. Using this add-on, you can quickly and easily accept payments using the Stripe payment gateway. Use it with PayPal, or just use Stripe – the choice is yours!

Add-On Features

Accept payments using Stripe
Use your free Stripe account to accept credit card payments for courses.

Automatic user creation and enrollment
After successful payment the customer receives a user account and is auto-enrolled into the course.

Compatible with built-in PayPal option
Activate both the PayPal and Stripe options to allow your customers to choose how they want to pay.

Lightbox overlay
Users stay on your site and enter their details into the secure Stripe overlay.


February 3, 2021 – V1.8.0

  • Updated the Stripe PHP SDK
  • Fixed syntax error
  • Fixed 404 /customers/ Stripe error in legacy checkout
  • Fixed undefined property error
  • Fixed 404 error response when retrieving Stipe customer object

October 22, 2020 – V1.7.0

  • Added dependencies check
  • Added allow_promotion_codes arg in Stripe session creation API
  • Updated add ‘customer’ arg in Stripe session API so that Stripe only create 1 customer object for each WP user
  • Fixed token used more than once error on legacy checkout
  • Fixed fatal error due to uncaught Stripe API Exception
  • Fixed Stripe JS is loaded multiple times if there’s multiple payment button on a page

August 7, 2020 – V1.6.0

  • Added support for older browsers
  • Updated force load jquery dependency on frontend
  • Fixed wrong purchase button label for groups

June 15, 2020 – V1.5.0

  • Added webhook support for legacy checkout
  • Added support for Group purchase to existing logic
  • Added filter hook for Stripe session args
  • Updated Stripe PHP SDK dependency to v6.43.1
  • Updated refactor integration classes
  • Updated to move Stripe session creation on payment button click event
  • Updated integration object variables to be global
  • Updated initiate integration class in variables so that it can be referenced somewhere else
  • Updated decimal currency support for amount with decimal in transaction record
  • Updated two decimals arg in amount_number_format args
  • Fixed wrap function in try catch block to fix fatal error when retrieving customer when it does not exist in webhook POST data
  • Fixed PHP warning because arithmetic operation expects variable to be always numeric

April 28, 2020 – V1.4.0

  • Added filter hook to allow bailing from processing webhook
  • Added subscription cancellation handler
  • Added logic for payment intent data not to be used other than for paynow product
  • Added payment methods options update
  • Added `get_payment_methods` helper and apply payment method options
  • Added payment methods settings
  • Added `invoice.payment_succeeded` webhook event handler
  • Added `invoice.payment_failed` webhook event handler
  • Added filter hook for checkout sca integration payment method types
  • Added ideal to SCA payment methods
  • Added test endpoint secret settings field
  • Updated to rename webhook handler function
  • Updated to set up Stripe session and store it in cookie to prevent multiple session creations in Stripe
  • Updated call to `stripe_button` function only once
  • Updated global exception
  • Updated endpoint secret setter and getter and change endpoint secret retrieval to use getter method
  • Updated admin script to accomodate test endpoint secret field
  • Updated default username to use email address format and add filter to create short username if needed
  • Fixed wrap session creation in try catch block to prevent fatal error and return button if session is not created
  • Fixed non active subscription pass logic checks and enroll users to courses
  • Fixed Bail process if payload or signature is empty
  • Fixed undefined index error
  • Fixed prevent creating Stripe session if the product type is not paynow or subscribe to prevent Stripe error
  • Fixed ideal payment method addition logic
  • Fixed change response code for `SignatureVerification` error
  • Fixed ideal payment not available for currency other than euro
  • Fixed duplicate customer creation in Stripe account because of unnecessary `add_stripe_customer()` call

September 6, 2019 – V1.3.0

  • Added new Stripe checkout integration button
  • Added receipt_email prop to Stripe API Charge object
  • Added endpoint secret setting
  • Added webhook URL readonly setting
  • Added new checkout fields toggle scripts
  • Updated Stripe PHP SDK
  • Updated the order of PK and SK fields on settings page
  • Updated Stripe plan to comply with latest Stripe API
  • Updated language files
  • Removed new checkout code from legacy checkout class

August 8, 2018 – V1.2.2

  • Added user email handle as username instead of full email address
  • Fixed assets queue logic and change hardcoded plugins url to constant

April 12, 2018 – V1.2.1

  • Added zero decimal currency check to decide if the price needs cents multiplier
  • Added site name and product name to charge object’s description
  • Added translation/update class
  • Updated all currency code to lowercase
  • Updated subscription payment and user creation process
  • Updated PHP library to v3.23.0
  • Updated to work with courses that have quotes in title
  • Updated input type to match the styling
  • Updated CSS styles
  • Fixed non-numerical value error
  • Fixed undefined index in Admin
  • Fixed price regex pattern/build

September 5, 2017 – V1.2.0

  • Updated live secret and publishable key logic
  • Updated to work with subscriptions already existing in Stripe
  • Updated to delete old plan first when creating a new plan
  • Updated to allow a user to have multiple Stripe subscription and charge IDs
  • Fixed illegal offset of ‘paypal_email’
  • Fixed get paypal email function

January 11, 2017 – V1.0.1.3

  • Added default $user_email value in Stripe button to fix issue with recurring payments

September 13, 2016- V1.0.1.2

  • Updated logic to prevent Stripe payment option from showing on a free course

April 26, 2016 – V1.0.1.1

  • Updated to be compatible with LearnDash v2.2.0.1
  • Updated logic to allow more than one instance of Stripe payment button on a page
  • Added hook in button label to user LD custom label

February 23, 2016 – V1.0.1

  • Added support for Stripe payment option to be used with the [course_payment_buttons] shortcode

January 19, 2016 – V1.0

  • Initial release

  • Pricing
    Pricing: FREE
  • Author
  • Terms

    Unlimited support & upgrades for active LearnDash licenses.


Your course could already be online!

We offer a 15 day money-back guarantee and have a world class community to help you get your course online today!

See LearnDash in action. Online Demo

Join Our Next Webinar!

LearnDash webinars are designed to teach you how to build, grow, and scale your course-building business. Join our team in one of our next live webinars.