

Dashboard with revenue, new subscribers, and the content that converts readers.
PaywallProject helps publishers sell access to protected content with Stripe-powered subscriptions, gifts, coupons, subscriber management, and reporting.
Learn more, read the documentation and get support at paywallproject.com.
Payments go through Connect with Stripe. Connect your Stripe account in one click, with no API keys or webhooks to set up. PaywallProject charges a platform fee of 10% on each payment, on top of Stripe’s own fees. The fee is shown on the Connect button before you agree to it.
Let subscribers share single stories with people who don’t subscribe. Turn it on per level under Levels Gift articles and set how many gifts each subscriber gets a month. Each gift is a link that unlocks one article for one reader, once, and expires after 72 hours. A level gifts every article by default. You can limit it to some categories, or allow every category except some. A category includes its subcategories. When a level is limited to some categories, posts with no category can’t be gifted. When it allows every category except some, posts with no category can be gifted, and so can post types without categories. Gift links already sent keep working until they expire, even if you change the categories.
Keep AI companies from crawling your stories while Google, Bing and other search engines index your site as before. Turn it on under Settings AI Shield and PaywallProject adds a rule for each AI crawler to your robots.txt — training crawlers such as GPTBot, ClaudeBot and CCBot, and AI search and assistant fetchers such as ChatGPT-User and PerplexityBot. robots.txt only stops crawlers that respect it, so the tab also gives you a ready-to-copy Cloudflare WAF rule that blocks the same crawlers at the edge, which works even when your pages are served from a full-page cache. Untick any crawler you want to let in. Googlebot, Bingbot, Applebot and DuckDuckBot are never blocked. Off by default.
Connect your staff’s MCP client to your own site to read subscriber data and run support actions. MCP needs WordPress 6.9 or newer and the separate MCP Adapter plugin. Tested with MCP Adapter 0.7.1. Each staff member connects with an Application Password and the permissions of their WordPress account. Write tools allow 30 attempts per minute per Application Password. Read tools do not use the write allowance.
Open PaywallProject Settings AI and MCP to set it up in three steps: install the MCP Adapter with one click, connect, and copy the ready-made setup for Claude Code, Cursor, or Claude Desktop. A Test connection button checks it works. Support staff connect from their own Profile page. The bundled MCP connection guide covers manual setup.
This plugin connects to the third-party services below. Nothing is sent to a service until you configure it.
Stripe processes all payments. The plugin calls the Stripe API (api.stripe.com) when a reader checks out, buys a gift, changes or cancels a subscription, when tax is calculated at checkout, and when an administrator manages subscribers or coupons. It sends the reader’s email address, name, billing and shipping address, the plan and price, and for tax estimates without an address, the reader’s IP address. Checkout pages load Stripe.js from js.stripe.com, which collects card details directly; card numbers never reach your site.
Used for all payments made through Connect with Stripe. Before you connect, the plugin asks the hub for the platform fee rate and sends your site URL. When you connect, disconnect, or refresh the connection, it sends your site URL and the connection credentials. While connected, every Stripe API request listed above goes through the hub (https://paywallproject.com/wp-json/ppconnect/v1), which forwards it to Stripe and applies the platform fee. That includes the reader data listed under Stripe.
Used only when reCAPTCHA is selected as the signup protection. Registration and checkout forms load the reCAPTCHA script from google.com, which collects data about the visitor’s browser. When a form is submitted, the plugin sends the captcha token, your secret key and the visitor’s IP address to Google to verify it.
Used only when Turnstile is selected as the signup protection. Registration and checkout forms load the Turnstile script from challenges.cloudflare.com. When a form is submitted, the plugin sends the Turnstile token, your secret key and the visitor’s IP address to Cloudflare to verify it.
Used only when you enter a Slack webhook URL. When a subscriber signs up, renews or cancels, the plugin posts a message with the subscriber’s email address and plan to that webhook.
Used only when you add a webhook URL. On the subscriber events you select, the plugin posts the event name and subscriber details (email address, name, plan and status) to the URL you entered. The data goes to whichever service owns that URL, under that service’s terms.