Free on WordPress.org

Subscriptions for WooCommerce that keep the revenue you already won.

Most failed renewals are expired cards, not customers leaving. Chala retries them properly, shows you the MRR and churn underneath, and works with whichever payment gateway you already use — because we do not sell one.

GPL-2.0-or-later · HPOS-native · WooCommerce 8.0+ · PHP 7.4+

What Pro is for

The money you lose without noticing

A store on $5,000 a month with a six percent renewal failure rate loses around $300 a month to cards that expired. Recovering half of that pays for Pro several times over, in the first month.

Recover the payments that fail

Most failed renewals are expired cards and temporary declines, not customers leaving. Pro retries on a ladder you configure — day 1, 3, 5, 7 by default — and branches on why the payment failed, because a hard decline and an insufficient-funds decline deserve different treatment.

See what is actually happening

MRR per currency, churn split into voluntary and involuntary, recovery rate, lifetime value, and cohort retention. Computed from your own subscription table, not estimated.

Let customers move between plans

Upgrades apply immediately and charge the prorated difference; downgrades wait until the renewal so nobody pays for time they lose. The proration is measured in real seconds, not assumed months.

Give people a reason to stay

A cancellation flow that offers a pause before it offers goodbye, recurring coupons that survive renewal, and a survey that records why people actually left.

How it handles money

A subscriptions plugin is a program that charges people’s cards while nobody is watching. These are the rules it is built on, and they are worth reading before you trust any plugin with that.

Money is never a floating-point number

Every amount is an integer in the currency's smallest unit, wrapped in a value object that refuses to add dollars to euros. JPY has no minor unit and KWD has three — the plugin knows, because getting that wrong is a rounding error in someone's revenue.

A webhook that arrives twice charges once

Every gateway retries. Every handler checks a unique index before it acts, processes inside a transaction, and returns 200 either way. Duplicate delivery is a certainty, not an edge case.

“Don't know” is not “declined”

If a gateway times out mid-charge, the renewal is left claimable rather than recorded as a failure. Treating an unknown outcome as a decline is how customers get billed twice or cancelled for a payment they made.

The subscription advances only after the money does

The next billing date moves inside the same database transaction that records the successful charge. Nothing is granted on the strength of a payment that has not settled.

And it works with your gateway

Chala reads credentials from whichever gateway plugin your store already runs. There is no second set of API keys to configure, and nothing to migrate if you change processor.

Free

  • StripeVerified

    Verified against Stripe's own test mode

  • PayPalExperimental

    Reference transactions

  • Manual renewal

    Invoice and mark paid — no gateway at all

Pro

  • Authorize.NetVerified

    CIM payment profiles. Verified against the live sandbox

  • RazorpayExperimental

    Saved tokens, for India

  • MollieExperimental

    SEPA Direct Debit, iDEAL and cards

  • PaystackExperimental

    Nigeria, Ghana, Kenya, South Africa

  • SquareExperimental

    Cards on file

What “experimental” means, and why we say it

Every gateway is written against its provider’s published API and covered by tests that assert exactly what Chala sends — endpoint, authentication, idempotency, amount format, and how each decline is read. Stripe and Authorize.Net go further: they have been charged for real, repeatedly, against the providers’ own sandboxes.

The others have not, because their sandboxes require a business registered in India, the EEA, Africa, or one of Square’s supported countries. That is an eligibility wall, not a to-do list. We say so because charging a real provider is what finds the bugs mocks cannot: doing it to Authorize.Net found four, including one that made the integration completely non-functional while every one of its contract tests passed.

If you run one of them, wp chala gateway-selftest will charge your sandbox, replay the charge to prove a retried renewal cannot bill twice, refund it, and print a report. Send it to us and that gateway comes off this list.

Against the official plugin

WooCommerce Subscriptions is a good plugin. These are the differences that actually decide it.

ChalaWooCommerce Subscriptions
PriceFree, or $99/year for Pro$199/year
Payment gatewaysEight, none of them oursEffectively steers you to WooPayments
HPOSNative — never touches the posts table for ordersSupported
SourceGPL, readable, on WordPress.orgCommercial licence

Pricing

The free plugin is genuinely free: no feature is crippled, no limit is artificial, and it will not nag you. Pro adds the revenue tooling a growing store starts to need.

Free

$0

Forever, on WordPress.org

  • Stripe, PayPal and manual renewal
  • Full subscription lifecycle
  • Customer portal in My Account
  • Automatic retry on a failed payment
  • Migration from WooCommerce Subscriptions
  • WP-CLI, REST API and an audit log
Download
Most stores

Pro

$99/year

One site

  • Everything in Free
  • Dunning — a configurable retry ladder
  • MRR, churn, recovery rate and cohort retention
  • Multiple plans per product, trials and sign-up fees
  • Prorated upgrades and downgrades
  • Recurring coupons and cancellation save flows
  • Authorize.Net, plus four experimental gateways

Agency

$299/year

Up to 25 sites

  • Everything in Pro
  • 25 client sites on one licence
  • White-label — your branding, not ours
  • Priority support

Deploying to client stores? Stripe and Authorize.Net are the two verified against their providers. Run the self-test on any other gateway before you roll it out.

Buying Pro for one of the experimental gateways?

Then that risk is ours, not yours. Install Pro, put your gateway in sandbox mode, and run wp chala gateway-selftest <gateway>. If it fails, send us the report and we refund you in full. We would rather have the bug report than your money.

Bundle Chala with Nishchoy Reviews and Uttor AEO for one price.

Start free. Keep your gateway.

Install it, import your existing subscriptions with one WP-CLI command, and see whether it earns the upgrade.