Migrating from WooCommerce Subscriptions? Migrate free
How-to Guide 6 steps

How to Set Up PayPal Subscriptions in WooCommerce

Enable PayPal recurring billing for WooCommerce subscriptions using WPSubscription.

PayPal is the second most popular payment gateway for WooCommerce subscriptions, particularly important for customers in regions where it is the preferred payment method (Germany, parts of Europe, and many international markets). However, PayPal subscriptions require "Reference Transactions" to be enabled on your account before recurring billing will work — a feature that PayPal does not enable by default and that requires a manual request.

This guide covers the complete setup including the Reference Transactions enablement process.

Why This Matters

Offering PayPal as a payment option can lift conversion by 5-15% in markets where customers prefer it. PayPal users often trust the brand for security and dispute resolution more than entering card details directly.

For international customers especially, PayPal removes friction around foreign currency conversion and unfamiliar merchant names. While Stripe should be your primary gateway, adding PayPal as a secondary option captures the segment of customers who would otherwise abandon checkout.

The setup work is meaningful but a one-time effort.

Before You Start

  • A PayPal Business account (personal accounts do not support recurring payments)
  • Reference Transactions enabled on your PayPal account (requires manual request)
  • WPSubscription installed and activated
  • PayPal API credentials (Client ID and Secret from PayPal Developer dashboard)
  • Admin access to your PayPal account for webhook/IPN configuration

Step-by-Step Instructions

1

Enable Reference Transactions on your PayPal account

PayPal's Reference Transactions feature is required for automatic recurring billing but is not enabled by default. Contact PayPal Merchant Technical Support and explicitly request "Reference Transactions" be enabled on your Business account.

The request typically takes 1-5 business days to process. Without this, WooCommerce can only process the first subscription payment — all subsequent renewals will fail.

This is the single most common reason PayPal subscriptions don't work properly.

2

Connect PayPal to WooCommerce

Go to WooCommerce → Settings → Payments → PayPal. You have two connection options: 1) Click "Connect with PayPal" and log into your PayPal Business account to authorize the connection (easier, recommended), or 2) Use manual API credentials by getting your Client ID and Secret from PayPal Developer → My Apps & Credentials → your app, and entering them in the WooCommerce PayPal settings.

Either method works; the OAuth connection is simpler for non-developers.

3

Enable Sandbox mode for testing

In the PayPal gateway settings, enable Sandbox mode and enter sandbox (test) credentials. Go to developer.paypal.com → Sandbox → Accounts to create sandbox buyer and merchant accounts for testing.

The sandbox lets you test the complete subscription flow without using real money. Complete a test subscription purchase using a sandbox buyer account to verify the integration works before going live.

4

Configure IPN notifications

PayPal uses Instant Payment Notifications (IPN) to notify WooCommerce of subscription events. In your PayPal account, go to Account Settings → Notifications → Instant payment notifications.

Set the notification URL to: https://yoursite.com/?wc-api=WC_Gateway_Paypal. Enable IPN.

Save changes. Without IPN configured correctly, WooCommerce will not be notified of renewal payments and your subscription state will desync from PayPal.

5

Test the full subscription flow

Subscribe as a sandbox buyer to a test subscription product. Verify the initial payment processes correctly and the subscription appears in WooCommerce → Subscriptions.

Then verify a renewal: PayPal does not have a "test clock" feature like Stripe, so you may need to wait for an actual renewal cycle or use the sandbox's simulated time advancement features. Check that the renewal email is sent, the order is created in WooCommerce, and the payment posts to your PayPal sandbox account.

6

Switch to live mode and activate

When end-to-end testing confirms everything works in sandbox, switch to live mode: disable Sandbox mode in WooCommerce → Settings → Payments → PayPal, replace sandbox API credentials with live ones, update the IPN URL to point to your live PayPal account, and confirm Reference Transactions is enabled on your live account. Make one small real-money test subscription to verify the live integration works before launching publicly.

Pro Tips

  • Request Reference Transactions enablement early — it takes 1-5 business days, plan for it in your launch timeline
  • Offer PayPal alongside Stripe rather than instead of — different customers prefer different gateways
  • Test renewal flows thoroughly — PayPal has more edge cases than Stripe for subscriptions
  • Monitor PayPal disputes weekly — PayPal dispute volume is typically higher than Stripe chargebacks
  • Document your PayPal setup in detail — the Reference Transactions requirement catches many merchants off guard

Result

PayPal is fully configured for recurring subscription billing in WooCommerce. Customers who prefer PayPal can now subscribe with automatic renewal charges at each billing cycle.

Combined with Stripe as your primary gateway, you capture customer preferences across multiple payment method preferences.

Troubleshooting

Problem:PayPal is only charging for the first payment, not renewing automatically

Solution:This almost always means Reference Transactions are not enabled on your PayPal Business account. Contact PayPal Merchant Technical Support to verify and enable this feature. It is a manual approval process that PayPal does not enable by default. There is no workaround — without Reference Transactions, automatic recurring payments simply cannot work through PayPal.

Problem:Renewal order is created in WooCommerce but PayPal is not charging

Solution:Check WooCommerce → Status → Logs for PayPal IPN errors. Common causes: incorrect IPN notification URL, PayPal sandbox vs live mode mismatch, or an IP block preventing PayPal from reaching your server (some firewalls block PayPal IPs). Confirm the IPN URL is publicly accessible and PayPal's servers can reach it.

Problem:PayPal disputes are accumulating faster than Stripe

Solution:PayPal's dispute process is more customer-friendly than chargebacks, which leads to higher dispute volume but easier resolution. Respond to every dispute promptly with evidence (signup terms, communication records, usage data). Make cancellation easy through My Account — PayPal disputes are often filed by customers who couldn't figure out how to cancel.

Problem:Customers cannot complete checkout because they don't have a PayPal account

Solution:PayPal can be configured to accept card payments from customers without PayPal accounts — this is called "Guest Checkout" or "PayPal Smart Buttons." Enable this in your PayPal account settings. Without it, customers without PayPal accounts cannot use this gateway, which significantly reduces conversion compared to Stripe.

Frequently Asked Questions

Why do I need to enable Reference Transactions for PayPal subscriptions?
Reference Transactions is PayPal's technology for charging stored payment authorizations without customer involvement — the foundation of recurring billing. PayPal disables it by default to prevent fraud and unauthorized recurring charges. You must request enablement from PayPal Merchant Technical Support, which typically takes 1-5 business days.
Should I use PayPal as my primary gateway or secondary?
Use Stripe as primary, PayPal as secondary. Stripe offers better subscription features (Smart Retries, Card Updater, more reliable webhooks). Offering PayPal as an option captures customers who prefer it, lifting conversion 5-15% in markets where PayPal is popular. Run both simultaneously.
What's the difference between IPN and webhooks?
IPN (Instant Payment Notification) is PayPal's legacy notification system. Webhooks are the modern standard used by Stripe and increasingly by PayPal. PayPal supports both; for WooCommerce subscriptions, IPN is still the primary mechanism. Both serve the same purpose: notifying your store of payment events.
Are PayPal's subscription fees higher than Stripe?
Generally comparable — PayPal charges 3.49% + fixed fee per transaction (US) vs Stripe's 2.9% + $0.30. PayPal can be higher for international transactions or premium services. The fee difference is usually less important than feature differences (Smart Retries, Card Updater) that affect overall subscription economics.
Can I migrate existing PayPal subscriptions to Stripe?
Not directly — payment methods cannot be transferred between gateways for security/regulatory reasons. To migrate, you would need to ask customers to re-subscribe via Stripe. This typically loses 30-50% of existing subscribers, so most stores keep PayPal subscriptions on PayPal and route new signups to Stripe.

The #1 Subscription Plugin for WooCommerce

Start Selling Subscriptions at Zero Cost.

Download, install, and start collecting recurring revenue from all around the world with WPSubscription.