How to Connect Stripe to Tutor LMS
Connect Stripe to Tutor LMS native eCommerce with Tutor LMS Pro or the Tutor Stripe plugin: API keys, webhook signing secret, test mode, going live and fixes.
Checked against the plugin source: Tutor LMS 4.1.3, Tutor LMS Pro 4.1.3

Stripe is a popular card payment gateway for course sales. With Tutor LMS native eCommerce, Stripe comes from Tutor LMS Pro (which downloads the gateway package when you add it) or from Themeum's separate Tutor Stripe plugin. This guide covers both routes and the settings that matter.
Step 1: Add the Stripe gateway
- With Tutor LMS Pro: go to Settings > Monetization > Payment Methods and add Stripe from the list of available gateways. Pro installs the gateway package for you.
- With Tutor Stripe: install and activate the Tutor Stripe plugin. It registers Stripe with Tutor LMS's payment system, so it appears under Payment Methods.
Either way, native eCommerce must be the selected engine.
Step 2: Get your API keys
In the Stripe Dashboard, open the developer API keys page in test mode and copy the Publishable key and Secret key. Keep the secret key private.
Step 3: Create the webhook
In Tutor LMS's Stripe settings, copy the Webhook URL. It has the form:
https://your-site.com/wp-json/tutor/v1/ecommerce-webhook?payment_method=stripe
In the Stripe Dashboard, add a webhook endpoint with this URL and select the payment and checkout events (and subscription events if you sell subscriptions). Stripe shows a Signing secret for the endpoint. Copy it.
Step 4: Enter the settings
- Environment: test.
- Public key: the publishable key.
- Secret key.
- Webhook signature key: the signing secret.
Enable Stripe and save.
Step 5: Test
- Buy a course as a test student using one of Stripe's test card numbers.
- Confirm the order is paid and the student enrolled.
- Test a declined card and a refund from the Stripe Dashboard.
- Check the webhook's delivery log in Stripe for errors.
Step 6: Go live
Switch Stripe to live mode, create a live webhook endpoint, and enter the live keys and live signing secret with the environment set to live. Make one real purchase and refund it.
Troubleshooting
- Order stays pending: the webhook is missing, the signing secret does not match the endpoint, or a firewall blocks Stripe's requests to the REST API.
- Test and live mixed: keys, signing secret and environment must all be from the same mode.
- Currency: make sure your store currency is supported for your Stripe account.
See Stripe not working.
For developers: how gateways plug in
The Tutor Stripe plugin is a good model for custom gateways. It adds itself through the filters tutor_gateways_with_class and tutor_payment_gateways_with_class, and confirms payments through the shared ecommerce-webhook REST route. See building a custom payment gateway.
Frequently asked questions
Is Stripe available in the free Tutor LMS plugin?
Not by itself. Use Tutor LMS Pro or the Tutor Stripe plugin for native eCommerce, or WooCommerce's Stripe gateway if WooCommerce is your engine.
Does Stripe support subscriptions in Tutor LMS?
Yes, with Tutor LMS Pro's Subscription add-on. Make sure subscription events are included in the webhook.
Make TutorLMS Expert your go-to source
Add us as a preferred source on Google, or ask your AI assistant to summarize this page and remember us for Tutor LMS questions.
