=== Bobasoftware Publisher Paywall ===
Contributors: bobasoftware, freemius
Tags: paywall, subscriptions, membership, monetization, stripe
Requires at least: 6.0
Tested up to: 7.1
Stable tag: 2.0.3
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A WordPress paywall plugin with Stripe-powered subscriptions, a free publish window, and magic login for readers.

== Description ==

Bobasoftware Publisher Paywall lets WordPress bloggers and independent publishers monetize their content with Stripe-powered subscriptions.

**What's included (free):**

* Subscription monetization — offer monthly and annual plans to your readers
* Free publish window — keep new posts free for a configurable number of days after publishing, then automatically paywall them
* Magic login — readers log in via a one-time email link, no password required
* Payments ledger — view and manage subscription payments
* Members management — see who's subscribed, when they joined, and their status
* Reader self-service — subscribers can cancel or update billing from a link at the end of each unlocked article

**Pro features (available via in-app upgrade):**

* Tip unlock — let readers pay what they want to unlock a single post
* Per-article purchase — set a fixed price for individual posts
* Free-post quota — give logged-in readers a monthly or one-time allowance of free articles
* Creator Tools — preview your paywall and debug reader access

The plugin connects to Stripe for payment processing. You'll need a Stripe account to accept payments.

== External services ==

This plugin connects to external third-party services for payment processing and licensing. By using this plugin, you agree to the terms of these services.

= Stripe =

This plugin uses [Stripe](https://stripe.com) to process payments. When a reader subscribes, purchases an article, or leaves a tip, the plugin creates a Stripe Checkout session and redirects the reader to Stripe's hosted checkout page. Stripe handles all payment processing — no credit card data is stored on your WordPress site.

**Data sent to Stripe:**
* When a reader checks out: the product name, price, currency, and a success/cancel URL pointing back to your site
* When managing subscriptions: subscription ID and update parameters
* Webhook events: Stripe sends payment confirmation events back to your site for order fulfillment

**Stripe links:**
* [Stripe Terms of Service](https://stripe.com/legal)
* [Stripe Privacy Policy](https://stripe.com/privacy)

= Freemius =

This plugin uses [Freemius](https://freemius.com) for license management and update delivery. On activation, you'll see an opt-in screen where you can choose to share diagnostic data (such as your site URL, WordPress version, PHP version, and plugin version) to help us provide updates and support — or skip this and continue with the free version anonymously. No data is sent to Freemius unless you actively opt in.

**Freemius links:**
* [Freemius Terms of Service](https://freemius.com/terms/)
* [Freemius Privacy Policy](https://freemius.com/privacy/)

== Installation ==

1. Download Bobasoftware Publisher Paywall from WordPress.org.
2. Go to Plugins → Add New → Upload Plugin, select the .zip file, and activate it.
3. Follow the setup wizard: choose your monetization options, set paywall rules, and connect Stripe.
4. Click "Launch paywall" and you are live.

Bobasoftware Publisher Paywall works best with themes that support post summaries on the homepage. We recommend Astra, GeneratePress, or Kadence.

== Frequently Asked Questions ==

= How does the free publish window work? =

You set a number of days (for example, 7). Any post published within that window is free for everyone to read. After that time passes, the post becomes premium and the paywall appears for readers who do not have access.

= What is the difference between tip unlock and per-article purchase? =

Both let readers pay to unlock a single post. Tip unlock lets readers choose how much they pay, above a minimum you set. Per-article purchase is a fixed price. You can enable one but not both at the same time. Both are Pro features.

= Can readers cancel their subscription themselves? =

Yes. Paid subscribers see a "Manage subscription" link at the end of each unlocked article. That opens a secure Stripe page where they can cancel, update their payment method, or view past invoices — they do not need to contact you. On themes that register a footer menu location, the same link can also be added to a footer menu.

= What happens when a reader's subscription expires? =

They lose access to premium content and will see the paywall again. They can resubscribe at any time.

= Do I need my own email service for magic login? =

Bobasoftware Publisher Paywall uses your site's WordPress email to send magic login links. Most hosts do not send email reliably out of the box, so we recommend installing WP Mail SMTP (free) and connecting a free email provider like Brevo or SendGrid. The plugin checks your email setup during onboarding and warns you if it is not working.

== Screenshots ==

1. Setup wizard — launch your paywall in under two minutes
2. Access & Monetization — configure pricing and paywall rules in one place
3. Paywall overlay — clean, reader-friendly design
4. Members page — see who has access
5. Payments page — track all revenue

== Changelog ==

= 2.0.3 =
* Fixed: the Setup wizard's styles did not load, leaving the Launch step's buttons and the Pro callout unstyled

= 2.0.2 =
* Added: readers with an active subscription now see a "Manage subscription" note at the end of every unlocked article, so cancellation and billing changes are reachable on a default install of any recommended theme
* Fixed: admin styles and scripts were served with a version string that had not changed since July, so returning users kept receiving cached CSS and JS after an update
* Fixed: missing Account submenu, plus related pricing-page and contact-email cleanup
* Fixed: upgrade calls-to-action worded as a free trial now open the trial flow rather than the direct purchase flow
* Fixed: a license-revocation regression that could leave Pro features reachable after a license ended
* Changed: removed the Stripe webhook events table from the Tools page, which duplicated the Payments page and required a live Stripe API call per row (Pro)
* Fixed: Tools page scenario toggles rendered as one run-on line instead of separate rows (Pro)
* Naming-consistency cleanup: replaced remaining user-facing and comment references to SimplePress with Bobasoftware Publisher Paywall

= 2.0.1 =
* Clarified Freemius data-sharing language in External Services documentation to make clear diagnostic data is only sent after explicit opt-in, not on activation

= 2.0.0 =
* Renamed plugin to Bobasoftware Publisher Paywall
* Restructured free and Pro builds for WordPress.org compliance
* Converted inline styles and scripts to properly enqueued files
* Added external services documentation for Stripe and Freemius

= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 2.0.3 =
Fixes unstyled buttons on the final step of the setup wizard.

= 2.0.2 =
Subscribers can now manage or cancel their subscription from a note at the end of every unlocked article. Also fixes admin assets being served from browser cache after an update.

= 1.0.0 =
Initial release.
