LifterLMS Stripe Setup: Cards, Subscriptions, Webhooks and SCA
How to accept card payments and subscriptions in LifterLMS with the Stripe add-on: connecting your account, test mode, webhooks, the two payment…
Read articleMany buyers trust PayPal more than a card form on a site they have never visited, and in some markets offering it lifts conversion noticeably. Setting up PayPal for LifterLMS is straightforward for one-time payments. Recurring payments are where it gets complicated, because of a PayPal account feature that new accounts can no longer get.
This guide covers the LifterLMS PayPal add-on from start to finish: what it supports, how to connect it, how to test in the PayPal sandbox, how subscriptions behave with and without Reference Transactions, and how it compares with Stripe. By the end you will know whether PayPal alone is enough for your pricing, or whether you should run it alongside another gateway.
PayPal is not part of the free LifterLMS plugin. It comes from the paid LifterLMS PayPal Payments add-on, which the LifterLMS team describes as accepting PayPal transactions for one-time and recurring payments. Its documentation lists LifterLMS 6.0 or later, WordPress 5.4 or later and PHP 7.4 or later as requirements.
Once set up, buyers choose PayPal as a payment method on your normal LifterLMS checkout and approve the payment with their PayPal account. Successful payments enroll the student automatically, exactly as with any other gateway.
The short version of its capabilities:
| Scenario | Works with PayPal? | Notes |
|---|---|---|
| One-time course or membership purchase | Yes | The straightforward case |
| Subscriptions and payment plans, automatic renewal | Only with Reference Transactions | A PayPal account feature PayPal no longer enables for new accounts |
| Subscriptions and payment plans, manual renewal | Yes | The student pays each instalment themselves when it is due |
| Automatic retry of failed renewals | Only with Reference Transactions | Per the LifterLMS retry documentation |
The add-on connects to PayPal with API credentials from your PayPal business account.
The LifterLMS documentation notes that the credentials can be defined in wp-config.php instead of being stored in the database, which is the safer choice on sites where several people have admin access. The getting started with LifterLMS PayPal guide shows the current settings screen.
Check your store Currency on the Checkout tab too. It must be a currency your PayPal account can receive.
PayPal provides free sandbox accounts for testing. Sandbox credentials are separate from your live ones:
LifterLMS has a step-by-step guide to creating PayPal sandbox API credentials. Run a one-time purchase and a recurring purchase with the sandbox buyer and confirm the order status, the enrollment and the receipt email. Sandbox accounts always have Reference Transactions enabled, so the sandbox can make recurring payments look easier than they will be in live mode. Test renewal behaviour with your real account's status in mind.
Reference Transactions are a PayPal feature that lets a merchant charge a buyer's PayPal account again later without the buyer approving each payment. LifterLMS PayPal relies on it for automatic subscription renewals.
The problem: PayPal has stopped enabling Reference Transactions for new accounts. The LifterLMS documentation is direct about it: if your account does not already have the feature, contacting PayPal support will not turn it on. Accounts that already have it can keep using it.
To find out where you stand, open the PayPal section under Settings > Checkout and click Check Now in the Reference Transactions area. The check runs against your live account. The Reference Transactions documentation explains the result.
Subscriptions behave like they do with Stripe. LifterLMS schedules each renewal, charges the buyer's PayPal account, and retries failed payments according to the retry rules when Retry Failed Payments is on.
Recurring plans still work, but each renewal is paid by the student:
This is workable for a six-instalment payment plan where buyers expect to pay each month. It is a poor fit for an ongoing membership, because every renewal depends on the student remembering to act, and every lapse briefly locks them out. LifterLMS describes the flow in using manual recurring payments with PayPal.
| PayPal Payments add-on | Stripe add-on | |
|---|---|---|
| One-time payments | Yes | Yes |
| Automatic subscription renewals | Only with Reference Transactions | Yes |
| Failed payment retries | Only with Reference Transactions | Yes |
| Card entry on your own checkout | No, buyers use their PayPal account | Yes, with the default payment flow |
| Buyer without a PayPal account | Depends on PayPal's options for the buyer's country | Pays by card |
| Typical role | Second option for buyers who prefer PayPal | Main gateway |
For most course businesses the answer is both: Stripe as the main gateway, PayPal as an extra option. If you sell subscriptions and your PayPal account lacks Reference Transactions, consider offering PayPal only on one-time plans. Our LifterLMS Stripe guide covers the other half of that setup. A third route, recommended in the LifterLMS documentation for accounts without Reference Transactions, is selling through WooCommerce with a PayPal extension that supports subscriptions; see LifterLMS with WooCommerce before you commit to it, because it changes how your whole store works.
LifterLMS has no per-plan gateway setting, but core exposes a filter that decides whether a gateway can process a given access plan. This snippet hides PayPal on recurring plans so subscribers are steered to Stripe. Add it to a small custom plugin:
<?php
/**
* Plugin Name: LLMSX PayPal One-Time Only
*/
// The gateway ID is the "section" value in the URL of the gateway's settings screen.
const LLMSX_PAYPAL_GATEWAY_ID = 'paypal';
add_filter( 'llms_can_gateway_process_access_plan', 'llmsx_paypal_one_time_only', 10, 4 );
function llmsx_paypal_one_time_only( $can_process, $plan, $order, $gateway_id ) {
if ( LLMSX_PAYPAL_GATEWAY_ID !== $gateway_id || ! $can_process ) {
return $can_process;
}
// Recurring access plans and existing recurring orders.
if ( ( $plan && $plan->is_recurring() ) || ( $order && $order->is_recurring() ) ) {
return false;
}
return $can_process;
}
Confirm the gateway ID on your site before using it: open the PayPal settings and look at the section= parameter in the address bar. Test on staging, and make sure another gateway that supports recurring payments is enabled, or recurring plans will have no payment method at all.
No. It requires the LifterLMS PayPal Payments add-on. Core only includes the manual gateway.
According to LifterLMS, PayPal is not accepting new users for the feature, and support cannot enable it. Accounts that already have it keep it.
Yes. With Reference Transactions, instalments are charged automatically. Without them, each instalment is paid manually by the student from their dashboard.
Yes. Enable both gateways on the Checkout tab and buyers choose at checkout. Drag the rows in the gateway table to set which appears first.
Click Check Now before you design your pricing. If Reference Transactions are available, PayPal can carry subscriptions; if not, use it for one-time sales and let Stripe handle renewals.
If you are moving subscribers between gateways, untangling manual renewals, or need a payment setup the add-ons do not cover, our LifterLMS integrations service handles exactly that work. Contact us with your current setup and we will suggest a plan.
How to accept card payments and subscriptions in LifterLMS with the Stripe add-on: connecting your account, test mode, webhooks, the two payment…
Read article
The LifterLMS WooCommerce add-on replaces the native checkout with the WooCommerce cart. See when that trade is worth making, what changes for…
Read article
Start with payments and email, then add tools as real needs appear. See which LifterLMS integrations are official add-ons, which are third-party…
Read articleSkip the trial and error. Get specialist LifterLMS help and ship faster.