{"id":258641,"date":"2025-12-01T16:16:51","date_gmt":"2025-12-01T16:16:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/recast-paywall\/"},"modified":"2026-01-13T09:41:27","modified_gmt":"2026-01-13T09:41:27","slug":"recast-paywall","status":"publish","type":"plugin","link":"https:\/\/fr-be.wordpress.org\/plugins\/recast-paywall\/","author":23379417,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.0.30","stable_tag":"0.0.30","tested":"6.8.5","requires":"6.2","requires_php":"8.0","requires_plugins":null,"header_name":"Recast Paywall","header_author":"recastplugin","header_description":"Monetize your content with Recast Paywall. Features automatic content synchronization, dual editor support, and comprehensive theme customization options.","assets_banners_color":"30e9d6","last_updated":"2026-01-13 09:41:27","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/recastpay.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":179,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.0.29":{"tag":"0.0.29","author":"recastplugin","date":"2025-12-01 16:37:50"},"0.0.30":{"tag":"0.0.30","author":"recastplugin","date":"2026-01-13 09:41:27"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3407050,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3407050,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3438449,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3438449,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"recast-paywall\/paywall-section":{"name":"recast-paywall\/paywall-section","title":"Recast Paywall Section"}},"tagged_versions":["0.0.29","0.0.30"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3407050,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3407050,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3407050,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3407050,"resolution":"4","location":"assets","locale":""},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3407050,"resolution":"5","location":"assets","locale":""}},"screenshots":{"1":"Plugin settings pages","2":"Post paywall settings","3":"Post-level paywall example","4":"Block-level gating with toolbar integration","5":"Block-level paywall example"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[251469,506,377,12688,511],"plugin_category":[35],"plugin_contributors":[251470],"plugin_business_model":[],"class_list":["post-258641","plugin","type-plugin","status-publish","hentry","plugin_tags-content-gating","plugin_tags-micropayments","plugin_tags-monetization","plugin_tags-paywall","plugin_tags-premium-content","plugin_category-advertising","plugin_contributors-recastplugin","plugin_committers-recastplugin"],"banners":{"banner":"https:\/\/ps.w.org\/recast-paywall\/assets\/banner-772x250.png?rev=3438449","banner_2x":"https:\/\/ps.w.org\/recast-paywall\/assets\/banner-1544x500.png?rev=3438449","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/recast-paywall\/assets\/icon-128x128.png?rev=3407050","icon_2x":"https:\/\/ps.w.org\/recast-paywall\/assets\/icon-256x256.png?rev=3407050","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/recast-paywall\/assets\/screenshot-1.jpg?rev=3407050","caption":"Plugin settings pages"},{"src":"https:\/\/ps.w.org\/recast-paywall\/assets\/screenshot-2.jpg?rev=3407050","caption":"Post paywall settings"},{"src":"https:\/\/ps.w.org\/recast-paywall\/assets\/screenshot-3.jpg?rev=3407050","caption":"Post-level paywall example"},{"src":"https:\/\/ps.w.org\/recast-paywall\/assets\/screenshot-4.jpg?rev=3407050","caption":"Block-level gating with toolbar integration"},{"src":"https:\/\/ps.w.org\/recast-paywall\/assets\/screenshot-5.jpg?rev=3407050","caption":"Block-level paywall example"}],"raw_content":"<!--section=description-->\n<p>Transform your WordPress site into a premium content platform with Recast Paywall - a flexible paywall solution for WordPress.<\/p>\n\n<h3>Themeable Design<\/h3>\n\n<ul>\n<li>Custom paywalls with theme integration support<\/li>\n<li>Responsive design that works on all devices<\/li>\n<li>Dark mode support<\/li>\n<li>Smooth animations and hover effects<\/li>\n<li>Theme customization via WordPress hooks and filters<\/li>\n<\/ul>\n\n<h3>Content Gating<\/h3>\n\n<ul>\n<li>Post-level gating - Gate entire posts<\/li>\n<li>Block-level gating - Gate individual blocks<\/li>\n<li>Toolbar integration - Easy toggle controls in the block editor toolbar<\/li>\n<li>Excerpt-based previews - Paywalls display post excerpts as preview text<\/li>\n<li>Automatic content synchronization with Recast inventory<\/li>\n<li>Real-time pricing display from your Recast dashboard<\/li>\n<\/ul>\n\n<h3>User Experience<\/h3>\n\n<ul>\n<li>Login-first flow - Users must log in before purchasing (WordPress authentication)<\/li>\n<li>Seamless purchase process with immediate content access<\/li>\n<li>Status indicators showing availability (Pre-sale, Available, Coming Soon)<\/li>\n<li>One-click purchase with automatic content reveal<\/li>\n<li>Progressive enhancement for optimal performance<\/li>\n<\/ul>\n\n<h3>Developer &amp; Theme Integration<\/h3>\n\n<ul>\n<li>HTML customization via WordPress filters<\/li>\n<li>CSS framework with modern design patterns<\/li>\n<li>JavaScript hooks for custom purchase flows<\/li>\n<li>REST API for custom integrations<\/li>\n<li>WP-CLI support for command-line management<\/li>\n<li>Logging for troubleshooting<\/li>\n<\/ul>\n\n<h3>Performance &amp; Reliability<\/h3>\n\n<ul>\n<li>Smart caching - Entitlement decisions cached for 5 minutes<\/li>\n<li>Memory optimization - Efficient processing for large sites<\/li>\n<li>Webhook support - Real-time updates from Recast<\/li>\n<li>Multisite ready - Works with WordPress multisite installations<\/li>\n<li>Security focused - API secrets never exposed, proper nonces, XSS protection<\/li>\n<\/ul>\n\n<h3>Dual Editor Support<\/h3>\n\n<ul>\n<li>Classic Editor - Meta box integration for traditional workflows<\/li>\n<li>Block Editor (Gutenberg) - Native block support with Document Settings<\/li>\n<li>Toolbar Integration - Easy toggle controls for block-level gating<\/li>\n<li>Shortcode support - Easy integration with any theme<\/li>\n<li>Custom blocks - Dedicated Recast Paywall blocks<\/li>\n<\/ul>\n\n<h3>Modern Web Standards<\/h3>\n\n<ul>\n<li>Mobile-first responsive design<\/li>\n<li>Accessibility compliant (WCAG guidelines)<\/li>\n<li>Keyboard navigation support<\/li>\n<li>Screen reader friendly<\/li>\n<li>Modern CSS with fallbacks<\/li>\n<\/ul>\n\n<h3>Use Cases:<\/h3>\n\n<ul>\n<li>Content creators looking to monetize premium articles<\/li>\n<li>News sites wanting to gate exclusive content<\/li>\n<li>Educational platforms selling courses and tutorials<\/li>\n<li>Membership sites with tiered access levels<\/li>\n<li>Theme developers needing customizable paywall solutions<\/li>\n<li>Agencies building premium content sites for clients<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the Recast API service to manage content monetization, inventory synchronization, and user entitlements. The Recast API is essential for the plugin's core functionality.<\/p>\n\n<p>Sandbox keys are obtained via: http:\/\/business.recast-sandbox.tv\/api-register<\/p>\n\n<p>To setup a production Recast Merchant Account and obtain API keys, visit: http:\/\/business.recast.tv\/api-register<\/p>\n\n<h3>Recast API Service<\/h3>\n\n<p><strong>Service Provider<\/strong>: Recast (recastpay.com)<\/p>\n\n<p><strong>Production API<\/strong>: <code>https:\/\/api.recast.tv\/api\/v0<\/code><br \/>\n<strong>Sandbox API<\/strong>: <code>https:\/\/api.recast-sandbox.tv\/api\/v0<\/code> (used when sandbox mode is enabled in settings)<\/p>\n\n<p><strong>What the service is used for:<\/strong>\n* Managing content inventory - Syncing WordPress posts as products in Recast inventory\n* Checking user entitlements - Verifying if users have purchased access to premium content\n* Creating purchase intents - Initiating purchase flows for users to buy premium content\n* Receiving webhooks - Processing real-time updates about entitlements and inventory changes<\/p>\n\n<p><strong>What data is sent and when:<\/strong><\/p>\n\n<ul>\n<li><p><strong>API Credentials<\/strong> (API Key, API Secret, Brand ID)<\/p>\n\n<ul>\n<li>Sent: When authenticating API requests (used to generate JWT tokens)<\/li>\n<li>When: On every API request after initial authentication<\/li>\n<li>Stored: Only in WordPress database (never exposed to frontend)<\/li>\n<\/ul><\/li>\n<li><p><strong>User Identification Data<\/strong> (WordPress User IDs, mapped to external user IDs)<\/p>\n\n<ul>\n<li>Sent: When checking if a user has access to premium content<\/li>\n<li>When: Every time a user views a paywalled post (if not cached)<\/li>\n<li>Purpose: To verify purchase entitlements<\/li>\n<\/ul><\/li>\n<li><p><strong>Product\/Post Data<\/strong> (Post titles, descriptions, IDs, pricing, status, geographic availability)<\/p>\n\n<ul>\n<li>Sent: When posts are published or updated in WordPress<\/li>\n<li>When: Automatically when posts are saved if paywall is enabled<\/li>\n<li>Purpose: To synchronize WordPress content with Recast inventory<\/li>\n<\/ul><\/li>\n<li><p><strong>Purchase Intent Data<\/strong> (User ID, Product ID, optional pricing details)<\/p>\n\n<ul>\n<li>Sent: When a user initiates a purchase of premium content<\/li>\n<li>When: When the purchase button is clicked on a paywall<\/li>\n<li>Purpose: To create purchase intents in the Recast system<\/li>\n<\/ul><\/li>\n<li><p><strong>Webhook Receipt<\/strong> (Entitlement and inventory event data)<\/p>\n\n<ul>\n<li>Received: When events occur in Recast (entitlements created\/updated, products updated)<\/li>\n<li>When: Real-time when webhooks are configured<\/li>\n<li>Purpose: To keep WordPress in sync with Recast system state<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p><strong>Links to Service Policies:<\/strong>\n* Merchant Terms of Service: https:\/\/recastpay.com\/vendor-terms-and-conditions\n* User Terms and Conditions: https:\/\/recastpay.com\/terms-and-conditions \n* Privacy Policy: https:\/\/recastpay.com\/privacy-policy<\/p>\n\n<p><strong>Note<\/strong>: All API communications use HTTPS encryption. API secrets are stored securely in your WordPress database and are never exposed to the frontend or transmitted in a way that could be intercepted.<\/p>\n\n<h3>Usage<\/h3>\n\n<h3>Content Gating Modes<\/h3>\n\n<p>The plugin supports two gating modes that can be toggled per post:<\/p>\n\n<h4><strong>Post-Level Gating (Default)<\/strong><\/h4>\n\n<ul>\n<li>Gates the entire post content behind a paywall<\/li>\n<li>Shows a beautiful Medium.com-style paywall with post excerpt<\/li>\n<li>Best for premium articles and exclusive content<\/li>\n<li><strong>Preview Text<\/strong>: Uses the post excerpt (set in post editor sidebar)<\/li>\n<\/ul>\n\n<h4><strong>Block-Level Gating<\/strong><\/h4>\n\n<ul>\n<li>Allows selective gating of individual blocks within a post<\/li>\n<li>Provides more granular control over what content is premium<\/li>\n<li>Perfect for mixed free\/premium content strategies<\/li>\n<\/ul>\n\n<h3>Setting Up Content Gating<\/h3>\n\n<h4>1. Choose Your Gating Mode<\/h4>\n\n<ol>\n<li>Create or edit a post<\/li>\n<li>In the <strong>Document Settings<\/strong> panel (Block Editor) or <strong>\"Recast Paywall\"<\/strong> meta box (Classic Editor)<\/li>\n<li>Select your gating mode:\n\n<ul>\n<li><strong>\"Post\"<\/strong> - Gate the entire post (default)<\/li>\n<li><strong>\"Block\"<\/strong> - Enable block-level gating<\/li>\n<\/ul><\/li>\n<li>Save and Publish the post - it will automatically sync with Recast<\/li>\n<\/ol>\n\n<h4>2. Post-Level Gating<\/h4>\n\n<p>When using <strong>Post<\/strong> mode:\n* The entire post content is gated behind a paywall\n* Users see the post excerpt and purchase options\n* On archive\/list pages, only the excerpt is shown (no content leak)\n* <strong>Tip<\/strong>: Set a compelling excerpt to encourage purchases!<\/p>\n\n<h4>3. Block-Level Gating<\/h4>\n\n<p>When using <strong>Block<\/strong> mode:\n* Individual blocks can be marked for gating using the block's toolbar\n* Users see full content except for gated blocks\n* Gated blocks show streamlined paywall sections<\/p>\n\n<h3>Block-Level Gating with Toolbar Integration<\/h3>\n\n<h4>Using the Block Toolbar<\/h4>\n\n<ol>\n<li><strong>Enable Block Mode<\/strong>: Set the post gating mode to <strong>\"Block\"<\/strong> in Document Settings<\/li>\n<li><strong>Select a Block<\/strong>: Click on any block in the editor<\/li>\n<li><strong>Access the Toolbar<\/strong>: Look for the <strong>\"Recast Paywall\"<\/strong> toggle in the block toolbar<\/li>\n<li><strong>Toggle Gating<\/strong>: Click the toggle to mark\/unmark the block for gating<\/li>\n<li><strong>Visual Indicator<\/strong>: Gated blocks show a paywall icon in the editor<\/li>\n<\/ol>\n\n<h4>Supported Block Types<\/h4>\n\n<p>Block-level gating works with most Gutenberg blocks:\n* Paragraphs\n* Headings\n* Images\n* Videos\n* Lists\n* Custom blocks\n* And more!<\/p>\n\n<!--section=installation-->\n<h3>1. API Setup<\/h3>\n\n<ol>\n<li>Log in to your <a href=\"https:\/\/business.recast.tv\">RecastPay Dashboard<\/a><\/li>\n<li>Navigate to <strong>API Settings<\/strong><\/li>\n<li>Copy your <strong>API Key<\/strong>, <strong>API Secret<\/strong> and <strong>Brand ID<\/strong><\/li>\n<li>In WordPress, go to <strong>Settings &gt; Recast Paywall<\/strong><\/li>\n<li>Enter your credentials and save<\/li>\n<\/ol>\n\n<h3>2. Content Settings<\/h3>\n\n<ul>\n<li><strong>Show Teaser to Search Engines<\/strong>: Allow search engines to see full content (use carefully)<\/li>\n<li><strong>Archive on Delete<\/strong>: Archive Recast inventory items when posts are deleted<\/li>\n<\/ul>\n\n<p><strong>Note<\/strong>: Paywalls always display the WordPress post excerpt as the preview text. Set the excerpt in the post editor to control what visitors see before purchasing.<\/p>\n\n<h3>3. Webhook Setup (Alpha)<\/h3>\n\n<ol>\n<li>In your Recast Dashboard, go to <strong>Webhooks<\/strong><\/li>\n<li>Add a new webhook with the URL: <code>https:\/\/yoursite.com\/?recast_webhook=1<\/code><\/li>\n<li>Select the events you want to receive (entitlement and inventory events)<\/li>\n<li>Save the webhook<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='what%20is%20recast%20paywall%3F'><h3>What is Recast Paywall?<\/h3><\/dt>\n<dd><p>Recast Paywall is a WordPress plugin that integrates with RecastPay to monetize your content. It allows you to gate posts or individual blocks behind paywalls.<\/p><\/dd>\n<dt id='what%20are%20the%20system%20requirements%3F'><h3>What are the system requirements?<\/h3><\/dt>\n<dd><ul>\n<li>WordPress 6.2 or higher<\/li>\n<li>PHP 8.0 or higher<\/li>\n<li>Recast account with API credentials<\/li>\n<li>Modern web browser with JavaScript enabled<\/li>\n<\/ul><\/dd>\n<dt id='how%20do%20i%20set%20up%20the%20plugin%3F'><h3>How do I set up the plugin?<\/h3><\/dt>\n<dd><ol>\n<li>Install and activate the plugin<\/li>\n<li>Go to Settings &gt; Recast Paywall<\/li>\n<li>Enter your Recast API credentials (API Key, API Secret, Brand ID)<\/li>\n<li>Configure your content settings<\/li>\n<li>Start creating premium content!<\/li>\n<\/ol><\/dd>\n<dt id='what%20are%20the%20different%20gating%20modes%3F'><h3>What are the different gating modes?<\/h3><\/dt>\n<dd><p><strong>Post-Level Gating<\/strong>: Gates the entire post content behind a paywall\n<strong>Block-Level Gating<\/strong>: Allows selective gating of individual blocks within a post using the toolbar<\/p><\/dd>\n<dt id='how%20do%20i%20customize%20the%20paywall%20appearance%3F'><h3>How do I customize the paywall appearance?<\/h3><\/dt>\n<dd><p>The plugin provides extensive customization options via WordPress hooks and filters. You can customize HTML, CSS, and JavaScript to match your theme's design.<\/p><\/dd>\n<dt id='is%20the%20plugin%20compatible%20with%20my%20theme%3F'><h3>Is the plugin compatible with my theme?<\/h3><\/dt>\n<dd><p>Yes! The plugin is designed to work with any WordPress theme and provides comprehensive customization options for seamless integration.<\/p><\/dd>\n<dt id='does%20it%20work%20with%20multisite%3F'><h3>Does it work with multisite?<\/h3><\/dt>\n<dd><p>Yes, the plugin is fully compatible with WordPress multisite installations.<\/p><\/dd>\n<dt id='how%20do%20i%20handle%20user%20authentication%3F'><h3>How do I handle user authentication?<\/h3><\/dt>\n<dd><p>The plugin uses WordPress's built-in authentication system. Users must log in to your WordPress site before they can purchase content.<\/p><\/dd>\n<dt id='can%20i%20customize%20the%20purchase%20flow%3F'><h3>Can I customize the purchase flow?<\/h3><\/dt>\n<dd><p>Yes, the plugin provides JavaScript hooks and REST API endpoints for customizing the purchase flow to match your needs.<\/p><\/dd>\n<dt id='is%20the%20plugin%20secure%3F'><h3>Is the plugin secure?<\/h3><\/dt>\n<dd><p>Yes, the plugin follows WordPress security best practices including proper nonces, input sanitization, and API secret protection.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Completely themeable paywall system<\/li>\n<li>Recast API integration<\/li>\n<li>Medium-style post paywalls<\/li>\n<li>Gutenberg block-level paywalls<\/li>\n<li>Login-first user flow<\/li>\n<li>Real-time pricing display from Recast Inventory<\/li>\n<li>Comprehensive theme customization hooks<\/li>\n<li>Toolbar integration for block-level gating<\/li>\n<li>Webhook handling (alpha)<\/li>\n<\/ul>","raw_excerpt":"Integrates RecastPay to monetize your content. Features automatic content synchronization and theme customization options.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/258641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=258641"}],"author":[{"embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/recastplugin"}],"wp:attachment":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=258641"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=258641"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=258641"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=258641"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=258641"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=258641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}