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
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.
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.
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.
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.
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.
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?
Should I use PayPal as my primary gateway or secondary?
What's the difference between IPN and webhooks?
Are PayPal's subscription fees higher than Stripe?
Can I migrate existing PayPal subscriptions to Stripe?
Related Glossary Terms
More Guides
How to Set Up Recurring Payments in WooCommerce
6 steps · Connect your payment gateway and configure automatic billing schedules for subscription products.
How to Integrate Stripe with WooCommerce Subscriptions
6 steps · Connect Stripe to WPSubscription for reliable recurring billing, webhooks, and payment recovery.
How to Handle Failed Payments in WooCommerce
6 steps · Configure automatic retry logic and customer notifications to recover failed subscription payments.