Settings Panel Demo

Explore the admin dashboard

Navigate through settings, manage members, view transactions, and configure your paywall. All from a clean, intuitive interface.

Dashboard

You're exploring the demo! Feel free to click around — save function is disabled in demo.
1,247
Total Members
892
Active Subscriptions
$12,450.00
Revenue This Month
3,156
Total Transactions

License

Licensed
Automatic updates enabled.

Getting Started

  1. 1
    Add License

    Register your license to enable automatic updates.

    Add License
  2. 2
    Configure Payment Gateway

    Set up Stripe or PayPal to accept payments.

    Configure
  3. 3
    Set Up Captcha Protection

    Protect your forms from bots and spam with captcha verification.

    Configure
  4. 4
    Create Subscription Plans

    Define your membership tiers and pricing.

    Create Plan
  5. 5
    Protect Your Content

    Configure which content requires a subscription.

    Configure
Member Email Plan Status Gateway Expires Registered
[email protected] Premium Active Stripe Jan 15, 2026 Dec 10, 2024
[email protected] Basic Active PayPal Mar 22, 2025 Jan 05, 2025
[email protected] Premium Cancelled Stripe Dec 31, 2024 Nov 15, 2024
[email protected] Enterprise Active Stripe Jun 30, 2025 Feb 01, 2025
[email protected] Basic Expired PayPal Nov 15, 2024 Oct 20, 2024
[email protected] Premium Active Stripe Apr 10, 2025 Mar 01, 2025
ID Member Type Plan Amount Gateway Status Date
#1001 John Smith Charge Premium Monthly $19.99 Stripe Completed Mar 15, 2025
#1002 Jane Doe Charge Basic Yearly $99.00 PayPal Completed Mar 14, 2025
#1003 Mike Johnson Refund Premium Monthly -$19.99 Stripe Refunded Mar 13, 2025
#1004 Sarah Williams Charge Enterprise Yearly $499.00 Stripe Completed Mar 12, 2025
#1005 Emily Chen Charge Premium Monthly $19.99 Stripe Completed Mar 11, 2025
#1006 David Brown Charge Basic Monthly $9.99 PayPal Failed Mar 10, 2025
#1007 John Smith Renewal Premium Monthly $19.99 Stripe Completed Mar 09, 2025
#1008 Jane Doe Charge Basic Monthly $9.99 PayPal Completed Mar 08, 2025
47
Total Cancellations
8
This Month
0.9%
Monthly Churn Rate
Too expensive
Top Reason

Cancellation Reasons

Too expensive 18
38%
Not using it enough 12
26%
Missing features 8
17%
Found alternative 5
11%
Other 4
8%

Recent Cancellations

Member Status Reason Date
Cancelled Too expensive Mar 13, 2025
Cancelling Not using it enough Mar 10, 2025
Cancelled Found alternative Mar 08, 2025
Cancelled Too expensive Mar 05, 2025
Cancelled Missing features Mar 01, 2025
Name Price Access Level Subscribers Status Actions
Free Free Free Always Active
Basic
$9.99/mo
$99.00/yr
1 45 Active
Premium Featured Most Popular
$19.99/mo
$199.00/yr
2 128 Active
Enterprise
$49.99/mo
$499.00/yr
3 12 Active

Page Assignments

Select pages to use for the frontend user system. Create these pages first, then assign them here.

Select a page using the "Paywall Login" template.

User account dashboard page with profile, billing, and purchase history.

Page displaying available subscription pricing.


Legal Pages

Select pages for legal documents. These are displayed on registration forms.

Terms of Service page. Leave unselected to hide.

Privacy Policy page. Leave unselected to hide.

Contact or support page for payment issues. Leave unselected to hide.

Login Page Settings

Configure the behavior and appearance of the login/register page.

Use a custom frontend login/register page instead of the default WordPress login.

Redirect all wp-login.php requests to the custom login page. Also handles logout redirects.

Display login page without header/footer for a clean, focused design.

Show the registration form.

Role assigned to new users. Subscriber is recommended for security.


Email Settings

Configure how system emails are sent to users.

Convert password reset and new user notification emails to a styled HTML format.


Appearance Settings

Customize the look and feel of the login page.

Demo background

Upload a background image for the login page.

Add a dark overlay on the background image.

Enter the title for the login form.

Enter the subtitle for the login form.

Enter the title for the registration form.

Enter the subtitle for the registration form.


Security Settings

Configure security options for the login system.

Limit failed login attempts to prevent brute force attacks.

Maximum number of failed login attempts before lockout (3-10).

How long to lock out users after max failed attempts (5-60).

Add honeypot field to catch spam bots on registration.


Password Requirements

Set password strength requirements for user registration.

Minimum number of characters required for passwords (6-20).

Require at least one uppercase letter in passwords.

Require at least one number in passwords.


Admin Bar

Control the WordPress admin bar visibility for subscribers.

Hide the WordPress admin bar for subscribers on the frontend. Administrators and editors will still see it.

Profile Settings

Configure what users can edit on their profile page.

Allow users to upload a custom profile picture. When disabled, avatars will default to their social login picture or Gravatar.


Exclusive Content Tab

Display a tab showing protected posts to subscribers.

When enabled, subscribers will see their exclusive content. Free users will see an upgrade prompt.

Number of posts to load per page in the exclusive content tab.


Custom Tabs

Add custom tabs to the account page. Built-in tabs (Profile, Billing, Purchases) are always displayed.

Add custom tabs that display shortcode content. Useful for integrating other plugins like download managers or courses.

Display Settings

Configure how the pricing section appears on your site.

Main heading displayed above the pricing cards.

Short description displayed below the title.

Which billing cycle to show by default.

Display monthly/yearly toggle for users to switch between billing cycles.

Show percentage savings when yearly billing is selected.


Content Settings

Default text displayed on the pricing section.

Displayed below the pricing cards. Leave empty to hide.

Default button text for plans that do not have custom CTA text.


FAQ Section

Add frequently asked questions below your pricing table.

Display FAQ accordion below the pricing cards.

Heading displayed above the FAQ list.

Short description displayed below the FAQ title.

Add FAQPage structured data for rich search results.

Basic HTML allowed in answers: links, bold, italic.


Usage

Create a pricing page using the page template or use the shortcode for custom page builders.

Create a new page and select "Pricing" from the Page Template dropdown in the Page Attributes panel.

[paywp_pricing]

Use this shortcode to embed the pricing table anywhere. Ideal for page builders like Elementor.

Guest Display

Configure how the profile widget appears for visitors who are not logged in.

Display a user icon for guests.

Display login text next to or instead of the icon.

Custom text for the login button. Leave empty to use default.


Logged-In User Display

Configure how the profile widget appears for logged-in users.

Display the user avatar in the trigger button.

Display the user name next to the avatar.

Which name format to display.


Dropdown Menu

The dropdown menu displays all account tabs from your account page settings.

Include a logout link at the bottom of the dropdown.

Show a dashboard link for administrators.


Usage

Use the shortcode or Elementor widget to add the profile widget to your site.

[paywp_profile]

Displays a login button for guests or user menu dropdown for logged-in users.

General Options

Set your currency, date format, and branding options.

Currency for subscription prices and transactions.

Date format for displaying dates throughout the plugin.

Demo logo

Displayed on paywall overlays and used in structured data for search engines. Falls back to your site logo if not set.

Content Protection

Select which content types can be placed behind the paywall.

Select which post types can be protected.


Paywall Display

Customize the paywall message and call-to-action that appears on protected articles.

Use the <!--more--> tag to control teaser content. Falls back to word count if no tag exists.

words (fallback when no More tag)

Overlay slides up as readers reach the paywall point. Inline displays the paywall as a card below the teaser.

Optional description shown below the title. Use this to highlight your subscription benefits.


Free Article Metering

Let visitors sample your content by allowing a limited number of free articles before requiring a subscription.

articles

How often the free article counter resets.

Stripe Configuration

Get your API keys from the Stripe Dashboard.

Find this in Stripe Dashboard → Developers → Webhooks → Your endpoint → Signing secret.

Webhooks are required for subscriptions to work. View setup guide →

Connected

Verify your API keys are valid.

Configured

Verify webhook endpoint and required events are configured.


PayPal Configuration

Get your REST API credentials from the PayPal Developer Dashboard.

Webhooks are required for subscriptions to work. View setup guide →

Google Sign-In

Allow users to sign in with their Google account. Get your Client ID from the Google Cloud Console.

Your OAuth 2.0 Client ID from Google Cloud Console.

Bot Protection

Protect subscriber login and registration forms from spam and abuse.

Recommended: Cloudflare Turnstile provides invisible protection with better UX - no checkbox or badge required.

Need help getting your API keys? View setup guide →

Get your v3 (invisible) keys from Google reCAPTCHA admin.

Requests scoring below this threshold will be blocked (0.0 to 1.0).

Advertisement Settings

Display ads to non-subscribers while providing an ad-free experience for paying members.

Master switch for all ad zones. Ads are automatically hidden for members with ad-free subscriptions.


Auto Ads

Let ad networks automatically place ads throughout your pages. Commonly used for Google AdSense Auto Ads.

The code will be injected into the page head section.


Auto-Insert Ads

These ads are automatically inserted into post content. No shortcode required.

Auto-insert ads only appear on single post pages (not pages or archives).

Ads inserted between paragraphs within the article.

Comma-separated paragraph numbers. Example: 3,7,12 inserts ads after paragraphs 3, 7, and 12.


Ad displayed immediately after the article content ends.


Manual Ad Zones

These ads require shortcode placement in your theme or page builder.

Use this shortcode to display ads: [paywp_ad zone="zone_name"]

Replace "zone_name" with: header, sidebar, or footer.

Displays at the top of the page, below the site header.


Displays in widget areas or sidebar sections.


Displays at the bottom of the page, above the site footer.

Recommended Setup

Yoast SEO detected. Enable "Prevent Cache Bypass" and "SEO Plugin Integration" for optimal results. Leave "Schema Type" disabled to avoid duplicate schema.


Robots Directive Recommended: ON

Prevents readers from accessing full content via search engine cached pages.

Adds "noarchive" (no cached page link) and "max-image-preview:large" (rich image previews) to protected posts. This is the industry standard used by major publishers.


SEO Plugin Integration Recommended: ON

Automatically adds paywall properties to your existing SEO plugin schema. This is how major publishers handle paywalled content.

Adds "isAccessibleForFree: false" to Article schema from Yoast SEO, Rank Math, and All in One SEO. This tells search engines your content requires a subscription.


Built-in Structured Data

You have an SEO plugin active. Leave this disabled to avoid duplicate schema markup which can confuse search engines.

Choose the schema type that best matches your content type. The plugin will output complete JSON-LD with headline, author, dates, images, and paywall properties.


Search Bot Access Advanced

Allow search engine crawlers to view full protected content. Not recommended for most sites.

Security risk: User agents can be spoofed, allowing anyone to bypass your paywall. Major publishers like NYT and WSJ do NOT use this method. The schema markup approach above is more secure and recommended by search engines.

Typography

Select typography for paywall overlays, subscription pages, and member account areas.

Download and serve fonts from your server instead of Google Fonts CDN. Recommended for GDPR compliance. Note: First save may take a few seconds while fonts are downloaded.


Color Palette

Select colors for paywall overlays, subscription pages, and member account areas.


Exclusive Badge

Display an exclusive badge overlay on featured images of protected content. Note: This may not work with some themes that use custom featured image implementations instead of the standard WordPress function.

Adds a visual indicator on featured images to highlight premium content. Works with archive pages, widgets, and related posts.

Developer Options

Advanced settings for developers and troubleshooting.

Logs detailed information for troubleshooting. Check the debug log in Tools > Site Health.

Permanently deletes all plugin data including subscribers, subscriptions, and transaction history.


Cache Management

Clear cached data if you experience display issues.

Clears all cached data. Use if you notice display issues.

Removes all locally hosted Google Fonts files. Fonts will be re-downloaded when needed.


Export / Import

Backup your configuration or migrate settings between sites.

Download current settings as a JSON file.

Upload a previously exported settings file.


Create Default Pages

Automatically create Login, Account, and Pricing pages with the correct templates.

Creates pages if they do not exist and assigns them in Page Assignments.

Welcome to PaywallWP Pro

Paywall Pro helps you monetize your content through subscriptions. Follow this guide to get started in minutes.

View Full Documentation

Setup Guide

1

Configure Payment Gateway

Connect your Stripe or PayPal account to accept payments. We recommend starting with test mode to verify everything works before going live.

For Stripe:

  1. Log in to your Stripe Dashboard
  2. Go to Developers > API Keys
  3. Copy your Publishable and Secret keys
  4. Paste them in Settings > Payments

For PayPal:

  1. Log in to PayPal Developer Dashboard
  2. Create a REST API app
  3. Copy your Client ID and Secret
  4. Paste them in Settings > Payments

Payment Settings

2

Create Subscription Plans

Set up your membership tiers. We recommend creating 2-3 plans with different access levels to give users options.

Plan Settings:

  • Name - e.g., "Basic", "Premium", "VIP"
  • Price - Monthly or yearly subscription price
  • Access Level - Higher levels can access more content (1-10)
  • Features - Benefits displayed on pricing page

Manage Plans

3

Configure Webhooks Required

Set up webhooks to receive payment notifications and automatically activate subscriptions.

Webhooks are essential for:

  • Automatic subscription activation
  • Handling recurring payments
  • Processing refunds and cancellations

Webhook Setup Guide

4

Set Up Captcha Recommended

Protect your login and registration forms from bots and spam with captcha verification.

We recommend Cloudflare Turnstile (Invisible)

  • Free with no request limits
  • Invisible to users - best experience
  • Privacy-friendly - no tracking

Captcha Setup Guide

5

Set Up Google Login Optional

Allow users to sign in with their Google account for a smoother experience.

Setup Steps:

  1. Go to Google Cloud Console and create a new project (or select existing)
  2. Go to APIs & Services > OAuth consent screen, choose "External" and fill required fields
  3. Go to APIs & Services > Credentials > Create Credentials > OAuth client ID
  4. Select "Web application" as the application type
  5. Add your site URL to "Authorized JavaScript origins": http://localhost
  6. Copy the Client ID and paste it in Settings > Google OAuth

Note: You only need the Client ID. "Authorized redirect URIs" and "Client Secret" are not required for this integration.

Google Cloud Console Google OAuth Settings

6

Customize Appearance

Fine-tune the paywall appearance and messaging to match your brand.

Customization options:

  • Paywall Message - Text shown to non-subscribers
  • Content Blur - Blur effect intensity
  • Free Articles - Number of free articles per month
  • Excerpt Length - How much content to show before paywall

General Settings

7

Protect Your Content

Choose which posts and pages require a subscription to view.

How to protect content:

  1. Edit any post or page
  2. Find the "Content Protection" meta box in the sidebar
  3. Select the required access level
  4. Update/Publish the post

Tip: Access level 0 means public (no restriction). Higher levels require a matching subscription.

Edit Posts

Go Live Checklist

Before accepting real payments, make sure you have:

  • Tested the complete checkout flow in test mode
  • Configured webhooks in your payment gateway dashboard
  • SSL certificate installed (HTTPS required for payments)
  • Created all necessary pages (pricing, account, login)
  • Protected at least one piece of content
  • Switched to live API keys in Settings > Payments

Content Restriction

[paywp_protected]...[/paywp_protected]

Wrap any content to restrict it to members with a specific access level. Perfect for partial content restriction within a post.

Parameters:

Parameter Default Description
level 1 Minimum access level required
message "" Custom message for non-members

Example:

[paywp_protected level="2" message="Upgrade to Premium to see this content"]
This content is only visible to Premium members or higher.
[/paywp_protected]

Member-Only Content

[paywp_member]...[/paywp_member]

Shows content only to logged-in members with an active subscription. Content is completely hidden from non-members (no message shown).

Example:

[paywp_member]
Thank you for being a member! Here is your exclusive content.
[/paywp_member]
Unlike [paywp_protected], this shortcode shows nothing to non-members - no upgrade message or subscribe button.

Pricing Section

[paywp_pricing]

Displays a responsive pricing table with all active plans. Includes billing cycle toggle and feature comparison.

Parameters:

Parameter Default Description
title "" Section title (uses settings default if empty)
subtitle "" Section subtitle (uses settings default if empty)
show_toggle true Show monthly/yearly billing toggle
show_header true Show section title and subtitle
default_cycle monthly Default billing cycle: monthly or yearly

Example:

[paywp_pricing title="Choose Your Plan" default_cycle="yearly" show_toggle="true"]

Profile Widget

[paywp_profile]

Displays a login button for guests or a user menu dropdown with avatar for logged-in members. Perfect for navigation menus and headers.

Parameters:

Parameter Default Description
text Sign In Text displayed on the login button for guests
class "" Additional CSS classes for custom styling
show_avatar true Show user avatar in the dropdown trigger

Example:

[paywp_profile text="Log In" show_avatar="true" class="my-custom-class"]

Ad Zone

[paywp_ad]

Displays an advertisement from a specific ad zone. Ads are automatically hidden for members with ad-free subscriptions.

Parameters:

Parameter Default Description
zone sidebar Ad zone identifier: header, sidebar, or footer

Example:

[paywp_ad zone="header"]
[paywp_ad zone="sidebar"]
[paywp_ad zone="footer"]
The "In Content" and "After Content" zones are automatically inserted into posts and do not require shortcodes.

Quick Setup Summary

Webhooks notify your site when payments happen. Follow the checklist for your payment gateway:

Stripe Setup

  1. Create webhook in Stripe Dashboard
  2. Add 7 events (listed below)
  3. Copy signing secret to Settings
View Stripe Guide ↓

PayPal Setup

  1. Create webhook in PayPal Developer
  2. Add 6 events (listed below)
  3. Copy Webhook ID to Settings
View PayPal Guide ↓
Without webhooks, subscriptions will not activate automatically after payment.

Stripe Webhook Setup

http://localhost/wp-json/paywallwp/v1/stripe-webhook
1

Open Stripe Dashboard and Create Webhook

Open Stripe Webhooks

Click "Add endpoint", select "Your account" for events, then paste the webhook URL above.

2

Select These 7 Events

Click "Select events", then search and add:

checkout.session.completed customer.subscription.created customer.subscription.updated customer.subscription.deleted invoice.paid invoice.payment_failed charge.refunded

Search "checkout", "subscription", "invoice", "charge" to find each quickly.

3

Copy Signing Secret to Settings

After creating the webhook, click on it and find "Signing secret". Click "Reveal" to copy it.

Go to Settings Paste in "Stripe Webhook Secret" field (starts with whsec_)

For testing, toggle "Test mode" in Stripe Dashboard and create a separate test webhook.

PayPal Webhook Setup

http://localhost/wp-json/paywallwp/v1/paypal-webhook
1

Open PayPal Developer Dashboard

Open PayPal Developer

Choose Sandbox (for testing) or Live (for real payments) at the top, then click your app name.

2

Add Webhook with URL

Scroll to "Webhooks" section, click "Add Webhook", and paste the URL above.

3

Select These 6 Events

Search and select:

BILLING.SUBSCRIPTION.ACTIVATED BILLING.SUBSCRIPTION.CANCELLED BILLING.SUBSCRIPTION.EXPIRED BILLING.SUBSCRIPTION.SUSPENDED PAYMENT.SALE.COMPLETED PAYMENT.SALE.REFUNDED

Search "BILLING.SUBSCRIPTION" and "PAYMENT.SALE" to find them quickly.

4

Copy Webhook ID to Settings

After saving, copy the Webhook ID (e.g., "5GP028458F637750H") from the list.

Go to Settings Paste in "PayPal Webhook ID" field

Webhook ID is NOT the same as Client ID. Copy from the webhook you just created.
Create separate webhooks for Sandbox (testing) and Live (production). Add both Webhook IDs to Settings.

Verify Your Setup

Test your webhook setup by making a test purchase. Check these logs if something is wrong:

Common Issues

SSL Required Webhooks require HTTPS. Use ngrok for local testing.
Blocked by Firewall Allow POST requests to the webhook URL in your firewall/security plugin.
REST API Disabled Some security plugins disable REST API. Enable it for webhooks to work.

Local Development Testing

For local development, use Stripe CLI to forward webhooks:

stripe listen --forward-to http://localhost/wp-json/paywallwp/v1/stripe-webhook

The CLI will output a webhook secret to use for local testing. For PayPal, use ngrok to expose your local server with HTTPS.

Why Use Captcha?

Captcha protects your login and registration forms from bots and spam. We recommend Cloudflare Turnstile for the best user experience.

Recommended: Cloudflare Turnstile (Invisible) - Free, privacy-friendly, and invisible to users.

Cloudflare Turnstile Setup Recommended

1

Create Cloudflare Account

If you don't have a Cloudflare account, create one for free. You don't need to use Cloudflare for DNS.

Create Cloudflare Account

2

Go to Turnstile Dashboard

In your Cloudflare dashboard, navigate to Turnstile in the left sidebar and click "Add site".

Open Turnstile Dashboard

3

Configure Your Widget

Fill in the following:

  • Site name: Ruby Paywall Pro
  • Domain: localhost
  • Widget Mode: Invisible
    (Best UX - users won't see any challenge)
4

Copy Keys to Settings

After creating, copy your Site Key and Secret Key.

Go to Captcha Settings Select "Turnstile" and paste your keys

Turnstile is completely free with no request limits. It works even if you don't use Cloudflare for your website.

Google reCAPTCHA Setup Alternative

Google reCAPTCHA is another option. We support both v2 (checkbox) and v3 (invisible).

1

Register Your Site

2

Choose Version

  • reCAPTCHA v3 - Invisible, scores user behavior (recommended)
  • reCAPTCHA v2 - Shows "I'm not a robot" checkbox
3

Add Domain and Get Keys

Add your domain: localhost

Copy Site Key and Secret Key to Settings > Captcha.

reCAPTCHA v3 may affect page load speed. Turnstile is generally faster and more privacy-friendly.

Comparison

Feature Turnstile reCAPTCHA v3 reCAPTCHA v2
User Experience Invisible Invisible Checkbox
Privacy Privacy-first Google tracking Google tracking
Speed Fast Moderate Fast
Cost Free Free Free

Content Protection

Content is not being protected / Paywall not showing

Possible causes:

  1. Access level not set

    Edit the post and check the "Content Protection" meta box. The access level must be greater than 0.

  2. You are logged in as admin

    Administrators always have access. Test in an incognito window or log out.

  3. Caching issue

    Enable cache compatibility in Settings → Advanced and clear your cache.

  4. Theme compatibility

    Some themes use custom content filters. Try switching to a default theme temporarily to test.

Protected content is showing to non-members
  1. Clear all caches (page cache, object cache, CDN)
  2. Enable "Cache Compatibility" in Settings → Advanced
  3. If using a CDN, add the member cookie to bypass cache
  4. Test in an incognito browser window
Meta box not showing in post editor
  1. Check Screen Options (top right) and enable "Content Protection"
  2. If using Gutenberg, look in the sidebar under Document settings
  3. Some page builders may hide meta boxes - check builder settings

Payments

Checkout not loading / Payment form blank
  1. Check API keys

    Verify your Stripe/PayPal API keys are correct and match your mode (test/live).

  2. Check browser console

    Open Developer Tools (F12) and look for JavaScript errors.

  3. Plugin conflicts

    Temporarily deactivate other plugins to identify conflicts.

Payment succeeds but subscription not activated

This is almost always a webhook issue.

  1. Verify webhooks are configured. See Webhook Setup Guide
  2. Check webhook logs in your Stripe/PayPal dashboard
  3. Verify the webhook signing secret is correct
  4. Check that your firewall/security plugin allows webhook requests
"Invalid API key" or authentication errors
  1. Double-check you copied the complete API key
  2. Ensure you are using the correct keys for your mode (test vs live)
  3. For Stripe: Use sk_test_ keys for test mode, sk_live_ for live
  4. Try generating new API keys from your gateway dashboard
How to test payments without real money?

Stripe Test Mode:

  1. Enable "Test Mode" in Settings → Payments
  2. Use test API keys from Stripe (starts with sk_test_)
  3. Test card numbers:
    • 4242 4242 4242 4242 - Success
    • 4000 0000 0000 0002 - Declined
    • 4000 0025 0000 3155 - 3D Secure
  4. Use any future expiry date and any 3-digit CVC

PayPal Sandbox:

  1. Enable "Sandbox Mode" in Settings → Payments
  2. Use sandbox API credentials
  3. Create sandbox buyer accounts at developer.paypal.com

Member Access

Member cannot access content after subscribing
  1. Check member status in Members section
  2. Verify the subscription status is "active"
  3. Check that member's access level meets or exceeds the content requirement
  4. Ensure the subscription has not expired
  5. Ask the member to log out and log back in
  6. Clear any page cache
Subscription shows as "expired" but should be active
  1. Check the subscription status in your payment gateway dashboard
  2. Verify webhooks are working properly
  3. You can manually update the member's status in the Members section
Member logged out unexpectedly
  1. Check WordPress session settings
  2. Security plugins may have session timeout settings
  3. CDN or caching issues can sometimes affect sessions

Technical Issues

REST API errors / 401 Unauthorized
  1. Check if REST API is enabled (some security plugins disable it)
  2. Verify permalink settings are not "Plain"
  3. Check .htaccess file for blocking rules
  4. Whitelist the plugin's REST endpoints in your security plugin
Plugin conflicts

To identify plugin conflicts:

  1. Deactivate all plugins except Paywall Pro
  2. Test if the issue persists
  3. Reactivate plugins one by one, testing after each
  4. Once you identify the conflicting plugin, contact support
Email notifications not sending
  1. Check if WordPress can send emails (test with a plugin like WP Mail SMTP)
  2. Use an SMTP plugin for reliable email delivery
  3. Check spam folders
  4. Verify email templates exist in templates/emails/
How to enable debug mode?
  1. Go to Settings → Advanced
  2. Enable "Debug Mode"
  3. Check wp-content/debug.log for detailed error messages
  4. Remember to disable debug mode after troubleshooting

System Information

Server and plugin configuration details.

Plugin Version 1.0.0
WordPress Version 6.4.2
PHP Version 8.2.0
MySQL Version 8.0.32
Server Software nginx/1.24.0
SSL Enabled Yes
cURL Enabled Yes
Memory Limit 256M
Max Execution Time 300 seconds
This is a demo preview. The admin panel may differ slightly from the actual plugin version.