How to Connect PayPal to Tutor LMS
Connect PayPal to Tutor LMS native eCommerce: create a PayPal REST app, enter client ID, secret and webhook ID, set the environment and test payments.
Checked against the plugin source: Tutor LMS 4.1.3, Tutor LMS Pro 4.1.3

PayPal is the payment gateway included in the free Tutor LMS plugin for native eCommerce. It supports one-time payments and, with Tutor LMS Pro subscriptions, recurring payments. This guide connects it step by step.
Before you start
- Native eCommerce is selected under Settings > Monetization > Options.
- You have a PayPal Business account.
- Your site uses HTTPS.
Step 1: Create a PayPal REST app
- Log in to the PayPal Developer Dashboard with your business account.
- Under Apps & Credentials, choose Sandbox for testing and create an app.
- Copy the Client ID and the Secret.
Later you repeat this in Live mode for real payments; sandbox and live credentials are different.
Step 2: Add a webhook in PayPal
Tutor LMS needs PayPal to tell it when a payment completes. In Tutor LMS, open Settings > Monetization > Payment Methods > PayPal. It shows the Webhook URL for your site, which has the form:
https://your-site.com/wp-json/tutor/v1/ecommerce-webhook?payment_method=paypal
In your PayPal app, add a webhook with this URL and subscribe to the payment and order events PayPal offers for captures and refunds (and subscription events if you sell subscriptions). PayPal then shows a Webhook ID. Copy it.
Step 3: Enter the details in Tutor LMS
In the PayPal settings in Tutor LMS, fill in:
- Environment: test (sandbox) or live.
- Merchant email: your PayPal business email.
- Client ID and Secret ID: from the PayPal app.
- Webhook ID: from the webhook you created.
Enable PayPal and save.
Step 4: Test in sandbox
- Use a PayPal sandbox buyer account (created in the Developer Dashboard).
- Buy a course as a test student.
- Check that the order in Tutor LMS > Orders is marked paid and the student is enrolled.
- Issue a refund from PayPal and check the order and enrollment update.
If the order stays unpaid, the webhook is the usual cause. Check the webhook's event history in PayPal for failed deliveries.
Step 5: Go live
Create the live app, add the live webhook, switch the environment to live and enter the live Client ID, Secret and Webhook ID. Make one real, low-value purchase and refund it.
Common problems
- Order stays pending: webhook missing, wrong Webhook ID, or the site's REST API blocked by a security plugin or firewall.
- "Currency not supported": choose a currency PayPal supports for your account.
- Sandbox and live mixed up: credentials, webhook and environment must all match.
See PayPal not working for detailed fixes.
Frequently asked questions
Does PayPal in Tutor LMS support subscriptions?
Yes. The PayPal gateway supports subscriptions when you sell plans with Tutor LMS Pro's Subscription add-on.
Can I use PayPal with WooCommerce instead?
Yes. If WooCommerce is your engine, use a WooCommerce PayPal plugin; these Tutor LMS settings then do not apply.
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.
