
內容簡介
Chala Subscriptions for WooCommerce 是一款強大的外掛,能將任何 WooCommerce 產品轉換為定期計費的訂閱產品,並自動處理付款、續訂及客戶管理,讓商家輕鬆管理訂閱業務。
【主要功能】
• 支援每日、每週、每月或每年定期計費
• 提供免費試用期,延遲首次付款
• 客戶可在我的帳戶中管理訂閱
• 完整的 Stripe 和 PayPal 整合
• 自動續訂及失敗付款重試功能
• 提供 MRR 儀表板,快速查看收入狀況
外掛標籤
開發者團隊
② 後台搜尋「Chala Subscriptions for WooCommerce」→ 直接安裝(推薦)
原文外掛簡介
Chala (pronounced CHOH-la, Bengali for “to keep going”) turns any WooCommerce product into one that bills on a schedule, using the payment gateway you already have configured.
Sell a product that bills weekly, monthly or yearly, and let Chala handle the rest: taking the renewal payment on time, retrying it when the card declines, emailing the customer, and giving them a place to pause or cancel without opening a support ticket.
Every amount is stored as an integer in the currency’s smallest unit, so JPY (no decimals) and KWD (three) are as correct as USD. Every webhook is de-duplicated before it is acted on, because payment providers deliver the same event more than once. Every subscription order is a real WooCommerce order under High-Performance Order Storage.
Built by the team behind Nishchoy Reviews and Uttor AEO.
Features (free)
Subscription products — recurring daily / weekly / monthly / yearly, billed every period or every Nth period
Free trials — delay the first payment by any number of days
Sign-up fees — a one-time charge taken with the first payment
Fixed-length subscriptions — stop automatically after a set number of payments
Stripe integration — full support for saved cards, SCA/3DS, and automatic renewals
PayPal integration — Reference Transactions for renewals
Manual renewal — for merchants who invoice offline
Customer portal — subscribers manage their own subscriptions in My Account (pause, resume, cancel, update payment method, update address)
Merchant admin — full subscription list with filters, individual editor, manual creation, bulk actions
Automatic renewals — powered by Action Scheduler, idempotent by design
Failed payment retries — retry on a fixed schedule, with a cap you set
MRR dashboard — see active count and monthly recurring revenue at a glance
Email notifications — subscription started, renewal successful, renewal failed, cancelled, and more
Full audit log — every subscription state change recorded with who/what/when
Migration from official WooCommerce Subscriptions — one-click, dry-run first
HPOS-native — first-class WooCommerce High-Performance Order Storage support
REST API — headless-friendly, works with block-based checkout
WP-CLI commands — wp chala list, wp chala renew, wp chala export
Gateway self-test — wp chala gateway-selftest
sandbox, replays the charge to prove a retried renewal will not bill twice,
and refunds it. It refuses to run against live credentials.
Data ownership — everything in your WordPress database, no third-party servers
Pro version
Chala Pro is a separate plugin that adds five more gateways (Authorize.Net, plus Razorpay, Mollie, Paystack and Square as experimental — see the FAQ), multiple plans per product, prorated upgrades and downgrades, configurable dunning retry ladders, subscriber-only coupons, cohort retention analytics, cancellation save flows, and priority support. Everything described above is in this plugin and stays that way.
Works with Nishchoy Reviews and Uttor AEO
Chala integrates with our other plugins when they are installed. Nishchoy Reviews can request a review from long-term subscribers. Uttor AEO adds recurring price information to your subscription products’ schema markup. Neither is required.
Migration from WooCommerce Subscriptions
If you’re on the official plugin, migrate in three steps:
Install Chala alongside the official plugin.
Run wp chala migrate --dry-run to preview.
Run wp chala migrate --commit to import.
Full guide at chala.bytloop.com/migration.
Security
Chala takes money-handling seriously. Payment method tokens are encrypted at rest. Webhook receivers verify cryptographic signatures. Every renewal is idempotent — replayed webhooks never cause double-charges. Every state change is audit-logged for reconstruction. Full details at chala.bytloop.com/security.
Chala never touches raw card data. Card entry happens in the payment gateway’s own iframes or redirects, keeping your PCI compliance scope at SAQ A.
External services
Chala talks to a payment provider only when you have configured that provider and only to move money you asked it to move. It has no analytics, no telemetry, and no phone-home of any kind. Nothing is sent anywhere if you use manual renewal.
Stripe
Used when you enable the Stripe gateway, to charge subscription renewals and to store a reusable payment method.
Chala sends to api.stripe.com: the renewal amount and currency, the Stripe customer and payment method identifiers created for that customer at checkout, an idempotency key generated by Chala, and your site’s Stripe secret key for authentication. It reads back the charge result. Renewal charges are sent when a subscription is due; payment method lookups happen when a customer opens or updates a subscription. Chala never sends or receives raw card numbers — card entry happens in Stripe’s own fields.
Stripe also sends webhooks back to your site to report payment outcomes.
This service is provided by Stripe: terms of service, privacy policy.
PayPal
Used when you enable the PayPal gateway, to charge subscription renewals against a billing agreement the customer approved at checkout.
Chala sends to api-m.paypal.com (or api-m.sandbox.paypal.com in sandbox mode): the renewal amount and currency, the billing agreement or vault identifier for that customer, a request identifier generated by Chala, and your site’s PayPal client credentials for authentication. It reads back the payment result. Requests are made when a subscription renewal is due and when a customer updates their payment method.
PayPal also sends webhooks back to your site to report payment outcomes.
This service is provided by PayPal: terms of service, privacy policy.
Source code
Chala ships no minified, obfuscated or compiled code that is not accompanied by its source.
The admin and front-end scripts under assets/ are the original, unminified source and are what runs in the browser.
The one bundled script is build/blocks-totals.js, used by the block-based cart and checkout. Its source is assets-src/blocks/blocks-totals.js, and the webpack.config.js, package.json and package-lock.json that build it are all included in this plugin. From the plugin directory:
npm install
npm run build
That rebuilds build/blocks-totals.js from that source, using @wordpress/scripts. No repository access or additional tooling is required.
