ReCurr is the WooCommerce subscription billing plugin built specifically for South African businesses using PayFast. Sell annual subscriptions with automatic renewal, secure card tokenisation, and customer self-management — all native to WordPress and WooCommerce. Whether you run a membership organi
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.2 and PHP 7.4.
SourceWordPress plugins · Nov 12, 2026
01 / Source details
Aboutthistool.
ReCurr is the WooCommerce subscription billing plugin built specifically for South African businesses using PayFast. Sell annual subscriptions with automatic renewal, secure card tokenisation, and customer self-management — all native to WordPress and WooCommerce.
Whether you run a membership organisation, an annual SaaS, a recurring donation programme, or any business with annual recurring revenue, ReCurr gives you the foundation to bill your customers reliably every year on the same date.
Why ReCurr?
Most subscription plugins built for WooCommerce focus on US/EU payment gateways. ReCurr is built from the ground up for PayFast , South Africa’s leading payment gateway, with proper handling of:
PayFast tokenisation for secure recurring payments
Anniversary-based annual billing (renews on the same date each year)
At-a-glance widget — WordPress dashboard widget with active counts, annual recurring value, and upcoming renewals
WooCommerce Blocks support — works with both Classic and Blocks checkout
HPOS-compatible — declared compatible with WooCommerce High-Performance Order Storage
GPL-licensed, plain readable PHP — no obfuscation, no phone-home calls, no telemetry
About this plugin
This plugin provides annual subscription billing only. It is fully functional with no licence required, no time limits, and no usage restrictions. A separate, more advanced subscription plugin is sold by the same developer at https://cyberdummies.co.za/recurr — it is not bundled with, downloadable from, or required by this plugin.
Requirements
WordPress 6.2 or higher
WooCommerce 5.0 or higher
PHP 7.4 or higher
SSL certificate (HTTPS) — required for PayFast
PayFast Merchant Account with tokenisation enabled
Privacy
ReCurr does NOT collect any usage data, telemetry, or analytics. The plugin makes no outbound calls to any server other than PayFast (for processing payments) and your own WordPress site. No data is shared with the plugin author.
PayFast itself is a third-party payment service. When customers complete a subscription purchase, their card is tokenised by PayFast and the token is stored in your database for future renewals. See PayFast’s privacy policy at https://payfast.io/privacy-policy/ for details on how PayFast handles cardholder data.
External services
This plugin connects to one external service: PayFast , the South African payment gateway. PayFast is required — the plugin cannot process subscription payments without it, and this processing cannot be performed locally. You must have your own PayFast merchant account to use this plugin.
The plugin contacts PayFast in three ways:
01Hosted checkout (https://www.payfast.co.za/eng/process, sandbox: https://sandbox.payfast.co.za/eng/process). When a customer places a subscription order, the customer is redirected to PayFast to enter and tokenise their card. The data sent is the order amount, a signed request signature, the customer’s billing first name, last name and email address, the order ID, the item name, and your PayFast merchant ID/key. This happens once per signup, at checkout.
02Instant Transaction Notification validation (https://www.payfast.co.za/eng/query/validate, sandbox: https://sandbox.payfast.co.za/eng/query/validate). When PayFast notifies your site of a payment result, the plugin posts the received notification back to PayFast to confirm it is genuine. The data sent is the exact notification payload PayFast sent. This happens once per payment event (signup and each renewal).
03Ad Hoc charge API (https://api.payfast.co.za/subscriptions). On each annual renewal, the plugin charges the stored card token. The data sent is the renewal amount, item name, your merchant ID, a timestamp, and a signed request signature. This happens once per subscription per year (on renewal).
No data is sent to the plugin author or any analytics/telemetry service. PayFast’s general terms and conditions: https://payfast.io/legal/general-terms-conditions/ — PayFast’s privacy policy: https://payfast.io/privacy-policy/
See it in action
Screenshots & previews.
Admin subscriptions list — view, filter, search, and export all subscriptionsSubscription detail — full payment history with admin status controlsAt-a-glance dashboard widget — active counts and annual recurring valueCustomer self-service — subscriptions and cancellation from My AccountOne-click setup — enable annual billing from the product editorCustomisable transactional emails with merge-tag placeholdersPayFast gateway configuration under WooCommerce Payments
02 / Source details
Gettingstarted.
01Install the plugin via Plugins → Add New → Search → “ReCurr” in your WordPress admin, or upload the zip via Plugins → Add New → Upload Plugin .
02Activate the plugin.
03Make sure WooCommerce is active first (ReCurr requires it).
05Enter your PayFast Merchant ID, Merchant Key, and Passphrase. The Passphrase is required. It must be set on your PayFast account (PayFast dashboard → Settings → Security passphrase) and the value entered here must match it exactly (no leading or trailing spaces). ReCurr signs every PayFast request with this passphrase; if it is missing or does not match, PayFast rejects the payment with a signature error.
06Confirm Tokenisation is enabled on your PayFast account (contact PayFast support if not).
07Set the PayFast ITN URL in your PayFast dashboard to: https://yourdomain.com/?wc-api=recurr_payfast (replace yourdomain.com with your actual domain).
08Create a subscription product: Products → Add New , set price, then in the Product Data section check Enable Annual Subscription .
09Test the flow with PayFast Sandbox Mode before going live.
03 / Source details
Frequently asked questions.
Does this plugin support monthly billing?
No. This plugin supports annual subscriptions only — the renewal interval is fixed at one year.
Does this plugin support free trials?
No. Customers are charged the annual amount at signup; there is no trial period.
Do coupons apply to renewals?
No. A coupon discounts the first payment only. Each renewal charges the subscription’s full price.
Does this plugin work with payment gateways other than PayFast?
Not at this time. ReCurr is built specifically for PayFast. If you need a different gateway, this is not the right plugin for you.
Does this work with WooCommerce Blocks checkout?
Yes. ReCurr is compatible with both Classic and Blocks checkout.
What happens to my data if I uninstall the plugin?
By default, your subscription history is preserved when you uninstall this plugin, so you can reinstall it later or migrate to another plugin without losing data. If you want all subscription data permanently deleted on uninstall, tick the “Permanently delete all subscription data when the plugin is uninstalled” checkbox in ReCurr → Settings → Data Management before uninstalling.
Is the plugin obfuscated?
No. The free plugin is plain readable PHP, GPL-licensed. You can audit every line of code in the plugin folder.
Does ReCurr send any data to your servers?
No. This plugin makes no outbound calls to ReCurr or any analytics/telemetry service. The only external service it contacts is PayFast, your payment gateway (see the “External services” section above for details).
Do customers need an account to subscribe?
Yes. Because a subscription must be managed over time, ReCurr requires customers to create an account at checkout when the cart contains a subscription product (guest checkout is automatically disabled for those carts only). This lets every subscriber view, manage, and cancel their own subscription from My Account. A subscription product is checked out on its own and paid with the “Credit/Debit Card (Annual Subscription)” payment method: a cart that holds a subscription product together with anything else shows a notice asking the customer to buy the other items in a separate order. Non-subscription products in your store can still be bought as a guest, with your store’s other payment methods.
How do I cancel a customer’s subscription?
In WordPress admin: ReCurr → Subscriptions → click the subscription → Cancel . Customers can also cancel from their My Account area.
PayFast says “signature mismatch” or returns a 400 Bad Request at checkout.
This is almost always a Passphrase problem. ReCurr signs every PayFast request using your Passphrase, so it must be configured correctly:
01In your PayFast dashboard, go to Settings → set a Security passphrase (if you have not already).
02In WooCommerce → Settings → Payments → PayFast Subscriptions (ReCurr) → Manage , enter the exact same passphrase — type it manually rather than copy/pasting, as trailing spaces or hidden characters will break the signature.
03Save and try the checkout again.
If you use PayFast Sandbox Mode for testing, the sandbox account has its own separate passphrase — make sure you are entering the sandbox passphrase while sandbox mode is enabled, and the live passphrase when it is disabled.
I’m getting “Tokenisation not enabled” errors from PayFast.
PayFast requires you to request Tokenisation activation on your merchant account. Email PayFast support at support@payfast.io and ask them to enable subscription tokenisation on your Merchant ID.
Where can I get help?
WordPress.org plugin support forum (https://wordpress.org/support/plugin/recurr-subscriptions/) ReCurr support: admin@recurr.co.za
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati