← All plugins
Live · v1.0.0-alpha · Premium

OSubscribe

The full recurring-revenue engine for WooCommerce. Subscriptions of every cadence, smart dunning that recovers failed charges automatically, a customer self-service portal with magic-link entry, save flows that reduce cancels, fixed-installment payment plans, and a daily-rollup MRR / churn dashboard. All on your server.

WP 6.4+PHP 8.1+WooCommerce 8.0+HPOS-ready13 database tables
0Active subscriptions
0MRR (USD)
0Monthly churn
Lifetime updates
~ osubscribe / billing.log
● live
Alpha
v1.0.0-alpha is feature-complete and shipping. The schema, hooks, and REST surface are stable. We’re polishing the importer for legacy WooCommerce Subscriptions installs and adding two more gateway adapters before the 1.0 stamp. Buy now and lock in the $99 lifetime price; you get every alpha, beta, and stable update free.

Score your MRR.
See where it leaks.

This is a UI simulation of OSubscribe’s built-in store scoring panel, showing you exactly what the tool looks and feels like inside your WP admin. When installed, it pulls live numbers from your subscriptions, charges, and dunning tables.

Score your store.
Find the leaks.

Simulated demo. Runs automatically as you scroll. The real plugin reads live data from your billing tables.

Demo simulation
Active subs·awaiting lookup
MRR·awaiting lookup
Churn rate·awaiting lookup
Recovery rate·awaiting lookup

Everything subscriptions,
nothing extra.

One plugin. No external SaaS dependency for billing logic. Stripe and PayPal speak directly to your store. Your customers, your data, your server.

// 22 features · 13 database tables
Subscriptions of any cadence (day/week/month/year)
Trial periods with auto-conversion
Stripe + PayPal + offline gateways
Smart dunning with configurable retry schedule
Card-update emails on failure
Customer self-service portal shortcode
Magic-link portal entry (no password reset)
Pause / resume by customer
Plan swap with proration
Cancel with save-flow deflection
Save flows: pause, discount, downgrade offers
Fixed-installment payment plans
Access revocation on payment-plan default
Daily MRR / ARR / churn rollup table
New / expansion / contraction / churned MRR breakdown
Stripe + PayPal webhook receivers
Outbound webhooks (HMAC-signed)
Idempotency keys on every charge
Schedule-changes audit log
Full audit log per entity
WP-CLI for ops + cron debugging
HPOS-compatible (custom order tables)

Click around.
It’s all real.

Six interactive previews of the actual OSubscribe admin. No screenshots; these are working mock-ups of what ships in the plugin.

Subscriptions

Active, paused, past-due, and cancelled subscriptions in one admin view. Click any row for the full lifecycle, billing history, and audit log.

1,842Active subs
$42.10ARPU / mo
14Trialing
8In dunning
Recent subscriptionslive sample
CustomerPlanStatusMRRNext charge
Adaeze OkekePro monthlyactive$49.00in 4d
Tunde BelloStudio monthlyactive$99.00in 11d
Maryam OkaforPro monthlypast due$49.00retry tomorrow
Chiamaka NwosuQuarterly boxactive$43.00in 22d
Ifeoma EzePro annualactive$16.58in 287d

Billing runs

Every charge attempt with idempotency key, gateway response, and outcome. The cron tick processes due charges in batches of 50.

Charge volume · last 8 weeksgrowing
Recent charge attemptslast 5
SubAmountGatewayStatusIdempotency
#1842$49.00stripesucceededidem_8f2a...
#1817$99.00stripesucceededidem_3b1c...
#1729$49.00stripecard_declinedidem_5e9d...
#1701$199.00paypalsucceededidem_7c4f...
#1612$19.00stripesucceededidem_2a8b...

Dunning

Failed-charge recovery flow with configurable retry schedule. Click Simulate run to watch a recovery sequence.

Charge failsStripe returns card_declined. OSubscribe enters subscription into dunning_runs and queues retry #1.
Retry attempt 2Three days later, OSubscribe re-charges. Customer gets a card-update email with a magic link to the portal.
Customer updates cardCustomer follows the magic link, swaps payment method in the portal. Next retry succeeds, dunning closes.
Recovery loggedosub/dunning/recovered fires. Daily metrics rollup credits the recovered amount. Webhook fires to your CRM.
Active dunning runs8 in progress
Sub #1729attempt 2 of 4retry in 3drecovering
Sub #1488attempt 3 of 4retry in 1drecovering
Sub #1402attempt 4 of 4final todayfinal attempt
Sub #1366recovered$49.00closed

Save flows

When a customer hits cancel, OSubscribe presents a configurable offer. Pause, discount, downgrade. Conversion data per flow.

3Active flows
38%Save rate (30d)
$8,210MRR retained
52Offers presented
Top save flowsby acceptance
OFFER
Pause instead of cancel
60-day pause18 accepted
OFFER
50% off next 3 months
discount12 accepted
OFFER
Downgrade to Starter
$19/mo plan8 accepted
OFFER
Skip next billing cycle
one-cycle skip6 accepted
OFFER
Half-off annual upgrade
switch to year4 accepted
OFFER
Founder call before cancel
support touch4 accepted

Payment plans

Sell a fixed-price item over a finite number of installments. Access policy revokes content if the customer defaults.

Configured plans4 active
NameTotalInstallmentsCadenceActive buyers
Annual course, 4 payments$480.004every 30d118
High-ticket coaching, 6mo$1,800.006every 30d22
Workshop, pay-as-you-go$297.003every 14d41
Membership, biannual$240.002every 180d67
248Active buyers
$71kOutstanding A/R
3.2%Default rate
$28kCollected this month

Analytics

Daily-rollup MRR, churn, and dunning recovery. The osub_metrics_daily table is computed on cron and rebuildable from raw events.

$42,180MRR
+$3,420Net new (30d)
2.1%Monthly churn
38%Dunning recovery
MRR breakdown · last 6 monthsby movement
MonthNewExpansionContractionChurnNet
Dec 2025$2,840$610$180$890+$2,380
Jan 2026$3,210$720$240$910+$2,780
Feb 2026$2,980$540$310$870+$2,340
Mar 2026$3,440$680$220$940+$2,960
Apr 2026$3,810$790$280$880+$3,440
May 2026$3,920$840$310$1,030+$3,420
Open the live WordPress playgroundRead the developer docs

What you get
vs. what they sell you.

Most subscription stacks for WooCommerce charge yearly fees and lock the recovery and analytics pieces behind paid add-ons. OSubscribe ships every feature in one install, with a one-time price.

WooCommerce SubscriptionsStripe SubscriptionsSubscriptionProOSubscribe
Recurring billing engineNative
Multiple intervals (day/week/month/year)Built in
Trial periods + free trial gatingBuilt in
Stripe + PayPal + offline gatewayspaid add-onStripe onlyBuilt in
Smart dunning (retry schedule, backoff)basicbasicBuilt in
Card-update emails on failurepaid add-onBuilt in
Customer self-service portalpaid add-onhosted off-sitelimitedBuilt in
Pause / resume by customernoBuilt in
Save flows (cancel deflection)nonopaid add-onBuilt in
Payment plans (fixed installments)paid add-onnopaid add-onBuilt in
MRR / ARR / churn analyticsnoin dashboardpaid add-onBuilt in
Daily metrics rollup tablenononoBuilt in
Magic-link customer portal entrynononoBuilt in
Webhook receivers (Stripe, PayPal)Built in
Outbound webhooks for eventslimitednoBuilt in
Idempotency keys on every chargenonoBuilt in
Schedule changes audit lognononoBuilt in
Audit log for every state changelimitednolimitedBuilt in
WP-CLI for ops + cron debugginglimitednonoBuilt in
HPOS-compatible (custom order tables)nopartialNative
Importer for legacy subscriptionspaid add-onnopaid add-onBuilt in
Pricing model$249/yr$10/mo + 0.5% fees$199/yr$99 once

Clean public API.
Read the source.

PSR-4 namespaced classes, helper repos for the common stuff, REST endpoints under /wp-json/osub/v1/, WP-CLI commands for ops, and a hook surface that lets you extend any subsystem without forking.

// Create a subscription programmatically. Wires up the user, plan, gateway, and first charge.
use OSub_Subscription_Repo;

$id = OSub_Subscription_Repo::create([
    'user_id'          => $user_id,
    'amount_recurring' => 49.00,
    'currency'         => 'USD',
    'interval_unit'    => 'month',
    'interval_count'   => 1,
    'gateway'          => 'stripe',
    'payment_method_id' => $pm_id,
    'started_at'       => current_time('mysql'),
    'next_charge_at'   => gmdate('Y-m-d H:i:s', strtotime('+1 month')),
]);

// Triggers, in order:
//   1. osub/subscription/created action fires
//   2. First charge scheduled in osub_charges with idempotency key
//   3. MRR rollup recomputed for today (osub_metrics_daily)
//   4. Welcome email queued via the notification engine

One purchase.
Lifetime updates.

No tiers based on subscriber count. No per-charge tax. Pay once, install on the sites in your tier, get every future update free.

// solo

Single.

For one WooCommerce store building recurring revenue.
$99
once · lifetime updates
  • 1 production site
  • All 13 tables
  • All 22 features
  • Email support · 48hr

Checkout is briefly offline while we migrate processors.

// most popular

Studio.

For agencies running subscription stores for multiple clients.
$249
once · lifetime updates
  • Up to 10 production sites
  • All 13 tables
  • Priority support · 24hr
  • Importer for legacy WC Subscriptions
  • Free onboarding call

Checkout is briefly offline while we migrate processors.

// scale

Unlimited.

For platforms and SaaS businesses shipping subscriptions at scale.
$599
once · lifetime updates
  • Unlimited sites
  • All 13 tables
  • Priority support · same-day
  • Custom gateway integration sprint
  • Webhook + analytics starter pack

Checkout is briefly offline while we migrate processors.

Asked & answered.

Does OSubscribe replace WooCommerce Subscriptions? +
Yes. OSubscribe is a complete recurring-revenue engine that runs alongside WooCommerce. You keep your WooCommerce store, products, checkout, and order history. OSubscribe adds the subscription lifecycle, billing engine, dunning, save flows, payment plans, customer portal, and analytics. If you currently run WooCommerce Subscriptions, OSubscribe ships an importer to migrate your live subscriptions in place.
Which payment gateways are supported? +
Stripe and PayPal are first-class with full webhook receivers and tokenized re-charging. Offline (manual / wire) is supported for high-ticket B2B subscriptions. Additional gateways register through the osub/gateways/register hook; if you can speak the gateway’s API in PHP, you can plug it in.
What does the dunning engine actually do? +
When a charge fails, OSubscribe enters the subscription into a dunning run (osub_dunning_runs). It retries on a configurable schedule (default 3, 5, 7, 14 days), sends card-update emails to the customer, and fires osub/dunning/recovered or osub/dunning/exhausted depending on outcome. The retry schedule, max attempts, and email copy are all filterable. Industry-typical recovery rate on the default schedule is 35-45% of failed charges.
How does the customer portal work? +
Drop the [osubscribe_account] shortcode on a page. Logged-in WooCommerce customers see all their subscriptions: active, paused, cancelled. They can pause, resume, swap payment methods, view billing history, download invoices, and trigger save flows. For passwordless support entry, OSubscribe ships magic-link tokens (osub_magic_links table) so you can email a one-tap portal link.
What MRR and churn metrics are computed? +
OSubscribe rolls up a daily metrics row per site (osub_metrics_daily): MRR, new MRR, expansion MRR, contraction MRR, churned MRR, active subscribers, new subscribers, cancelled subscribers, dunning recoveries, and recovered amount. Reports tab visualizes the last 90 days. The rollup runs on cron once daily and can be rebuilt from raw events with wp osub metrics rebuild.
Refund policy? +
14-day no-questions refund. We’re a small studio in Abuja and we’d rather you tell us what didn’t work and let us fix it, but we won’t argue if you’d rather have your money back.

Stop renting your billing engine.
Run subscriptions on your own server.

Get OSubscribe from $99