Plan Configuration

Plans are the heart of MyPaywall — they define what your readers pay, for how long, and how the pricing page looks. This guide covers every setting in detail.

Creating Your First Plan

Navigate to Settings → MyPaywall → Plans tab. Click + Add Plan.

â„šī¸
Default plans are already created

On first install, three default plans are created: Monthly (₹2,000), Half-Yearly (₹3,000), and Annual (₹4,000). You can edit these instead of creating from scratch. Delete any you don't want.

1

Enter the Plan ID

A unique slug for this plan — lowercase letters, numbers, underscores only. Examples: monthly, annual_pro, basic_30days. This cannot be changed after creation — it is used internally to link subscriptions to plans.

2

Enter a Display Name

What your readers see on the pricing page. Examples: "Monthly", "Annual Access", "1-Year Pro". Keep it short and clear.

3

Set Validity (days)

How many days of access this plan grants. Enter 30 for monthly, 365 for annual, 36500 for lifetime (100 years).

4

Select Currency and enter Price

Choose ₹ INR only for Indian plans, $ USD only for international, or ₹ INR + $ USD for both. Enter the price in actual currency value — type 999 for ₹999, or 9.99 for $9.99. The plugin converts to paise/cents internally.

5

Add Features (optional but recommended)

One feature per line. These appear as bullet points on the pricing card. Examples:

  • Full premium access
  • Unlock all articles
  • No ads
6

Click Create Plan

The plan is saved and immediately appears on your subscribe page. Check the subscribe page to confirm it looks correct.

All Fields Explained

Field Description Notes
Plan ID Unique machine-readable identifier Cannot change after creation. Used in webhook data and subscriber records.
Display Name Name shown on pricing page Also used in welcome/renewal emails. Keep it descriptive.
Validity (days) How many days access lasts Access expires automatically at midnight on the expiry day. Renewal extends from current expiry, not from today.
Currency INR only / USD only / Both Determines which currency grid this plan appears in. Controlled by the global Currency Mode in General settings.
Price (₹ INR) Enter rupees (e.g. 999) Only visible when currency is INR or Both. Minimum ₹1.
Price ($ USD) Enter dollars (e.g. 9.99) Only visible when currency is USD or Both.
Features One bullet point per line Optional. Shows as checkmark list on the plan card.
Badge None / Best Value / Popular / Offer / Sale Appears as a small label at the top of the plan card.
Highlight Plan Toggle to feature this plan visually Makes the card stand out with a dark background and border. Use for your most popular or recommended plan.
Status Active / Inactive Inactive plans do not appear on the subscribe page but are preserved in the database.
Enable Sale Show strikethrough original price Requires Original Price to be set higher than the current price.
Original Price The "before sale" price Shown with a strikethrough next to the sale price. Must be greater than the current price.

Currency Settings

Currency is configured at two levels:

1. Site-level Currency Mode (Settings → General)

This controls what the subscribe page shows overall:

2. Per-plan Currency

Each plan has its own currency setting. This controls which grid the plan appears in when "Both" mode is enabled.

âš ī¸
Per-plan currency options are filtered by site Currency Mode

If the site Currency Mode is "INR only", the per-plan currency field only shows "₹ INR" as an option. USD options only appear when the site mode is "USD" or "Both".

Badges and Highlights

Badges draw attention to specific plans and guide reader decisions.

âœĻ Best Value

Use on your annual or lifetime plan where the per-day cost is lowest.

đŸ”Ĩ Popular

Use on the plan most readers choose. Social proof drives conversions.

🏷 Sale

Use when running a limited-time discount. Combine with Sale Pricing.

⚡ Offer

General purpose — early bird, launch offer, seasonal.

The Highlight Plan toggle is separate from badges. It makes the entire card visually prominent with a different background. Use only one highlighted plan — having multiple defeats the purpose.

Sale Pricing

Sale pricing shows a strikethrough "was" price next to the current price, creating urgency and demonstrating value.

1

Set your sale (current) price in the Price field

This is what readers actually pay. For a plan on sale at ₹699, enter 699.

2

Enable the Sale toggle

In the Sale Pricing section, switch on Enable Sale. The original price fields appear.

3

Enter the Original Price (higher than current price)

For example, if the plan normally costs ₹999 and is on sale for ₹699, enter 999 in the Original Price field. The plan card will show ₹999 ₹699.

4

Add the Sale badge (optional)

In the Display section, set Badge to Sale for a small label at the top of the card.

💡
To end a sale

Edit the plan, switch off Enable Sale, and save. The strikethrough disappears and the current price shows normally. The original price is preserved but hidden until you re-enable the sale.

Reordering Plans

The order plans appear on the subscribe page matches their order in the Plans tab. Drag any plan row by the ⇅ handle on the left to reorder. The order is saved automatically.

Recommended order: most popular or recommended plan in the middle (centre position gets most attention on desktop). On mobile, plans stack vertically so put the most important one first.

How Plans Appear on the Subscribe Page

The subscribe page is automatically generated using the [rpw_subscribe] shortcode. You do not need to manually edit it.

What appears on the page is driven entirely by your plan settings:

âš ī¸
Subscribe page cached?

If you save a plan and the changes don't appear on the subscribe page, clear your page cache. MyPaywall automatically purges the subscribe page cache on every plan save, but some aggressive caching plugins may still serve stale HTML. In WP Rocket: Dashboard → Cache → Clear Cache. In W3TC: Performance → Purge All Caches.