Make repeat orders
part of your store.
Choose the products. Set the schedule. Give customers control over their subscription baskets and plan your stock ahead.
PayFast + Stitch · v0.4.0
Installation & scheduler guide · Hey George plugin shop1. Before you begin
This guide is for the store owner and their team. Your store customers manage their own orders through your website's WooCommerce My Account → Subscription Orders page.
First install the ZIP, activate your Hey George licence, configure the providers you want to offer and test the hosting scheduler. Follow the installation guide, including its copy-and-paste cron instructions. HOSTING-SCHEDULER.txt in the plugin folder can be sent to your hosting provider.
Open WooCommerce → Hey George Subscriptions in WordPress. Its sidebar separates product setup, payment settings, subscription records, notifications and procurement. On a small screen, use the Dashboard navigation button.
This release uses ZAR and classic WooCommerce Cart and Checkout pages. Initial and renewal totals must each be at least R5. Standard simple and variable products are supported, including virtual/downloadable products; this does not add a membership or content-access system.
2. Choose eligible products
Subscriptions are off until you add category rules or enable individual products. You do not need to move products into a special subscription category.
Enable a category
- Open Categories in the plugin dashboard.
- Select the categories to offer on subscription.
- Add the frequencies and discounts you want to offer, then save.
- Visit a product directly assigned to that category and check its subscription options.
A rule for a parent category does not automatically apply to products assigned only to its child category.
Enable or exclude a particular item
- Open Products. Search by name, SKU or product ID.
- Select the item, choose its availability rule below and apply it. You can select up to 100 items together.
- Use Edit rule to revise an existing override. Alternatively, edit the WooCommerce product and open Product data → Hey George subscriptions.
| Availability choice | What it means |
|---|---|
| Use category subscription settings | Remove the individual override and follow the product's category rules. |
| Set custom frequencies for this product | Offer subscriptions with this item's own frequencies and discounts. The one-off option stays available. |
| Disable subscriptions (buy once only) | Exclude this item from subscriptions, even if its category is eligible. |
Individual rules take priority over category rules. Variations inherit their parent product's rules and use their own prices. These setup changes apply to new selections; they do not rewrite existing customers' agreed subscriptions.
3. Set frequencies and discounts
- In a product or category rule, choose Add frequency.
- Enter the interval and period: for example, every 2 weeks or every 1 month.
- Enter an optional discount. Choose Percent or Fixed per item.
- Add other choices, remove unwanted rows and save.
- On the storefront, select each choice and confirm the displayed price and cart totals.
For example, a R100 item with a 10% discount is R90 per item; two units cost R180 before shipping and any additional tax. A fixed R10 discount also reduces each R100 item to R90. Delivery and tax are calculated by WooCommerce.
4. Match your store's branding
- Open Product page branding.
- Set your subscription name and optionally select your own image from the Media Library. The image replaces the visible label; the name remains its accessible label.
- Choose accent and text colours under Storefront colours. Check readability in the preview.
- Edit the information popup text. Add optional Learn more and terms links if needed.
- Choose Save branding and check a real product page.
The question-mark control opens the explanation popup. Subscription choices expand when selected; the one-off option stays separate. Your uploaded logo keeps its own colours, as does the theme's ordinary Add to cart button. The dashboard preview uses sample prices; it does not change product pricing.
5. What the customer does
- Open an eligible product and choose any variation first.
- Select the subscription option, choose a frequency and quantity, then add to the cart.
- Review items and recurring totals. On the classic cart, adjust quantity or purchase frequency before checkout.
- Sign in or create an account. Choose an enabled subscription provider and explicitly authorise recurring payments.
- Complete the first payment on the provider's hosted page.
- After verified payment, view the schedule under My Account → Subscription Orders.
You can offer both PayFast and Stitch through WooCommerce → Settings → Payments. The customer chooses one provider for the whole checkout. Different frequencies can produce separate schedules. Each retains its chosen provider and saved payment authorisation.
The plugin verifies payment notifications; a browser return alone does not mark an order paid. WooCommerce creates future renewal orders and handles normal order fulfilment. Card details are collected by the payment provider.
6. Manage a subscription
Store owners use the dashboard's Subscriptions section to inspect products, status, next charge and available actions. Customers use My Account → Subscription Orders. Controls depend on the status and whether a payment is in progress.
| Action | Result |
|---|---|
| Pause | Stop future scheduled orders until resumed. |
| Resume | Resume an eligible paused or held schedule. Check the next charge shown after confirmation. |
| Skip next delivery | Skip the next scheduled cycle. Check the revised next charge date. |
| Cancel | Stop future requests for that schedule. An order or payment already in progress is not reversed. |
| Change delivery frequency | Review and authorise current subscription pricing. The next charge becomes one new interval from today. |
Cancellation is not a refund. Handle refunds through the merchant's normal provider/WooCommerce process. Changing frequency is different from changing basket contents: use the basket editor below to keep the current date.
7. Add, remove or replace basket items
- In My Account → Subscription Orders, choose Edit subscription basket.
- Change quantities or remove items. Search for products or variations to add; choose concrete options for variable products.
- New items must offer the subscription's existing frequency. Keep at least one item, or cancel instead.
- Choose Preview amended basket. Review products, shipping options, taxes and the new renewal total.
- Authorise the revised terms, then choose Save amended subscription.
Unchanged items retain their saved unit prices. Added or replaced items use current subscription prices. Shipping is recalculated for the subscription's saved address; taxes are calculated at renewal. Initial checkout coupons and fees are not carried over. No stock is reserved until renewal.
Previews expire after 15 minutes. Changed prices, stock, delivery, tax or a concurrent edit require a fresh preview. Pending/interrupted renewals block changes until resolved; an order already created is not rewritten. Editing a paused or held basket does not resume it. Address changes currently require store assistance.
8. Use a new card or provider
- Resolve any pending or uncertain payment with the store.
- Cancel every subscription schedule from the original checkout.
- Choose Rebuild subscription basket to copy saved subscription items, variations, quantities and frequencies into the current cart.
- Review current prices and delivery charges. Existing cart items remain; original one-off purchases are not copied.
- Complete a fresh checkout with the new card and your chosen enabled provider.
This collects a new first payment immediately and creates new schedules. It does not keep the old next charge date. Missing products, unavailable stock or removed frequencies require attention before rebuilding. The rebuild itself does not charge or copy card tokens.
9. Handle payment and delivery issues
A confirmed declined payment sends the customer a recovery email linking to Subscription Orders. An available Retry saved card action deliberately retries the unpaid renewal; verified success can reactivate it. A new card uses the cancel-and-rebuild flow.
Unavailable products, stock problems and unbillable totals produce delivery-attention messages. An uncertain payment is flagged separately: reconcile the actual provider transaction before taking another payment. Stitch outcomes that cannot be established require merchant review.
- Inspect the affected subscription and WooCommerce order.
- Review Payment notifications and, when needed, Reconciliation.
- Check the transaction in the correct provider account. Do not infer success or failure from a return page or amount alone.
- Correct the issue, then use only the appropriate available recovery action.
Email notifications shows the queue and attempts. Mail transport failures get up to three total attempts, then require review. Fix WordPress/SMTP delivery before choosing Retry emails awaiting review. “Sent” means the website's mail transport accepted the message; it does not prove inbox receipt. Payment notification retries do not initiate another charge.
10. Plan stock and supplier purchasing
- Open Procurement or WooCommerce → Subscription procurement.
- Select start/end dates, up to 366 days, and the payment mode. Use Live for production purchasing.
- Optionally filter a product or variation.
- Review Demand by product, Stock to procure and Weekly purchasing plan.
- Export product totals or weekly plan CSV for your supplier planning.
Ten active monthly schedules for two cans each forecast 20 cans per renewal cycle. A range containing three cycles forecasts 60 cans. Separate variations stay distinct; shared inventory is grouped to avoid counting the same stock twice.
Schedule counts are not necessarily customer or checkout counts. The forecast excludes paused, held and cancelled schedules, and schedules with unresolved renewals. It uses expected renewal order dates in the store timezone, not promised delivery dates or guaranteed paid orders.
The report is read-only. It considers tracked stock and unpaid-order reservations, but not incoming supplier orders, lead times, safety stock or future one-off sales. Customers can amend/cancel and payments can fail; recheck demand before ordering.
11. Keep the store running
- Check held subscriptions, notification review entries and outstanding renewal orders regularly.
- Keep the once-per-minute hosting job working. Site visits alone can leave a quiet store's renewals delayed. Follow the scheduler instructions.
- After setup or important hosting changes, test a scheduled sandbox renewal without visiting the site during the wait. Payment/order timestamps and cron logs must show it ran before you returned.
- Back up before updates. With paid Hey George access, download the latest available ZIP from your account and test it on staging before replacing the installed version. An automatic WordPress update feed is not included in this release.
- Complete a controlled live checkout and renewal acceptance test with your approved merchant credentials before launch.
The software licence covers one production website. Existing store renewals and recovery/cancellation handling continue when commercial access expires; new subscription purchases require valid commercial activation. Third-party product add-ons, bundles, shipping integrations and custom checkout changes need compatibility testing.
12. Quick troubleshooting
The subscription choice is missing
Check commercial activation, product type, variation selection and eligibility. Look for a buy-once override. Confirm a directly assigned category rule or custom product rule has saved frequencies.
My provider is missing at checkout
Check its subscription method is enabled under WooCommerce Payments, its selected mode/credentials, the ZAR order total and classic checkout. Live mode also needs the configuration gate explained in the installation guide. Existing subscriptions cannot switch providers in place.
The customer returned, but the order is unpaid
Inspect provider notifications and the actual transaction. Confirm the HTTPS callback bypasses maintenance, authentication, caching and anti-bot challenges. Do not mark it paid just because the browser returned.
My renewal is late
Check the next charge, status, unresolved orders and hosting cron logs. Follow the unattended scheduler test in the installation guide. Hosting outages and provider failures can delay processing even with cron configured.
I cannot save an amended basket
Resolve pending payments, keep at least one eligible item, check stock and the current frequency, then generate a new preview. A cancelled subscription needs a rebuilt basket and fresh checkout.
For support, include the plugin version, WordPress/WooCommerce versions, payment mode, affected order/subscription IDs and the error message. Never send passwords, licence keys, merchant secrets or card details. Contact Hey George through heygeorge.co.za.