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.
| Chala | WooCommerce Subscriptions | |
|---|---|---|
| Price | Free, or $99/year for Pro | $199/year |
| Payment gateways | Eight, none of them ours | Effectively steers you to WooPayments |
| HPOS | Native — never touches the posts table for orders | Supported |
| Source | GPL, readable, on WordPress.org | Commercial 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
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.