Stripe Integration

Stripe Integration


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!

Click here to read the official integration announcement.

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.

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: FREE




Add-On Terms

Unlimited support & upgrades for active LearnDash licenses.