Subscriptions

10 min read

The Subscriptions feature allows you to sell products with recurring payments in your WooCommerce store. Create subscription-based products that automatically charge customers on a regular schedule—whether weekly, monthly, or yearly. Customers can manage their subscriptions from their My Account page, including pausing, resuming, or canceling their plans.

Key Capabilities

  • Recurring Payments: Automatically charge customers on a schedule (daily, weekly, monthly, or yearly)
  • Sign-Up Fees: Charge a one-time fee when customers first subscribe
  • Free Trials (Pro): Offer trial periods before the first payment
  • Subscription Switching: Allow customers to upgrade or downgrade their plans
  • Customer Self-Service: Customers can pause, cancel, or reactivate from their account
  • Automatic Renewals: Works with payment gateways that support tokenization (Stripe, PayPal)

Getting Started: Creating a Subscription Product #

Follow these steps to create a subscription product from your WordPress admin:

Step 1: Create a New Product

  1. Go to Products → Add New in your WordPress dashboard
  2. Enter a Product Name (e.g., “Monthly Premium Plan”)
  3. Add a Product Description and Short Description

Step 2: Select Subscription Product Type

  1. In the Product data dropdown, select Subscription (or Variable Subscription for products with variations)
  2. You’ll see a new Subscription tab appear in the product data section

Step 3: Configure Subscription Settings

Click on the Subscription tab to configure:

SettingDescription
Subscription PriceThe recurring amount charged each billing cycle
Billing IntervalHow often to charge (every 1, 2, 3, 4, 5, or 6 periods)
Billing PeriodThe unit of time: day(s), week(s), month(s), or year(s)
Subscription LengthNumber of billing cycles before the subscription ends (or leave as “Never expire”)
Sign-up FeeOptional one-time fee charged at checkout

Example Configuration:

  • Price: $29.99 every 1 month = Monthly subscription at $29.99/month
  • Price: $9.99 every 2 weeks = Bi-weekly subscription at $9.99
  • Price: $99.99 every 1 year with $50 sign-up fee = Annual plan with setup fee

Step 4: Configure Shipping (Optional)

If you’re shipping physical products:

SettingDescription
One-time ShippingOnly charge shipping at the start of the subscription
Shipping FrequencyOverride shipping schedule (e.g., every 2nd renewal)

Step 5: Publish Your Product

Click Publish to make your subscription product live on your store.


General Tab #

Configure core subscription behavior settings.

General Settings

SettingDescriptionDefault
Mixed CheckoutAllow subscription and non-subscription products in the same cartOff
Allow Quantity SelectionShow quantity field on subscription products (hidden by default)Off

Subscription Switching

SettingDescriptionDefault
Allow Plan SwitchingCustomers can upgrade or downgrade their subscriptionOn
Prorate SwitchingHow to handle payments when switching plansProrate payments

Proration options:

  • Prorate payments: Credit remaining value of current plan toward new plan
  • No proration: Charge full price immediately for new plan
  • Prorate virtual products only: Only prorate non-physical products

Synchronize Renewals (Pro)

Align all subscription renewals to a specific day of the month. This is useful for:

  • Simplifying billing operations
  • Processing all renewals on the same day
  • Easier financial reporting
SettingDescriptionDefault
Enable SynchronizationAlign all renewals to a specific dayOff
Synchronization DayThe day of the month (1st through 28th)1st

Payment Methods

Subscriptions require a payment gateway that supports recurring payments or tokenization. Compatible gateways include:

  • Stripe (Credit Card)
  • PayPal
  • WooCommerce Payments

Note: For gateways that don’t support automatic payments, customers will receive a renewal reminder email and will need to pay manually.


Customer Tab #

Configure how customers can manage their own subscriptions.

Customer Self-Service

SettingDescriptionDefault
Allow Subscription PauseCustomers can temporarily pause their subscriptionOn
Maximum SuspensionsMaximum times a customer can pause (0 = unlimited)3
Allow Subscription CancellationCustomers can cancel their subscription themselvesOn

Customers manage their subscriptions from My Account → Subscriptions on the frontend.

Early Renewal (Pro)

SettingDescriptionDefault
Allow Early RenewalCustomers can renew before the scheduled dateOn
Early Renewal PeriodDays before renewal that early renewal is available7 days

Customer Management Capabilities

When Pro is active, customers have access to additional management features:

FeatureDescription
View Subscription DetailsSee status, next payment date, and billing history
Update Payment MethodChange the payment method used for renewals
Manual RenewalPay for renewals manually from their account
Resume SubscriptionReactivate paused subscriptions

Renewals Tab #

Configure automatic renewal processing and failed payment handling.

Failed Payment Handling (Pro)

SettingDescriptionDefault
Failed Payment ActionWhat happens when a renewal payment failsPut subscription on hold
Retry Failed PaymentsAutomatically retry failed paymentsOn
Retry IntervalDays between retry attempts3 days
Maximum RetriesMaximum number of retry attempts3

Failed Payment Action options:

  • Put subscription on hold: Pause until payment is resolved
  • Cancel subscription: End the subscription immediately
  • Do nothing: Leave active and continue retrying

Force Renewal Button (Pro)

SettingDescriptionDefault
Enable Renew Now ButtonShow a “Renew Now” button for active subscriptionsOff

This allows customers to trigger an immediate renewal from their account.

Auto-Suspend on Failed Payment (Pro)

SettingDescriptionDefault
Auto-Suspend AccessImmediately suspend customer access when payment failsOff
Auto-Restore on PaymentAutomatically restore access when payment succeedsOff

Admin Tab #

Configure backend management capabilities for store administrators.

Create Subscriptions Manually (Pro)

SettingDescriptionDefault
Enable Manual CreationAllow admins to create subscriptions without customer checkoutOff

This allows you to create subscriptions directly from the admin panel for special cases like:

  • Phone orders
  • Migrating existing subscribers
  • Complimentary subscriptions

Delete Subscriptions

SettingDescriptionDefault
Enable Subscription DeletionAllow admins to permanently delete subscriptionsOn

Edit Subscription Details (Pro)

SettingDescriptionDefault
Enable Subscription EditingEdit renewal date, expiry, amount, and billing cycleOff

When enabled, administrators can modify:

  • Next payment date
  • End/expiry date
  • Subscription total amount
  • Billing period and interval
  • Subscription status

Subscription Coupons (Pro)

SettingDescriptionDefault
Enable Subscription CouponsCreate coupons for sign-up fees or recurring paymentsOff

Create special coupons that apply to:

  • Sign-up fees only
  • First X number of payments
  • All recurring payments

Admin Email Notifications (Pro)

SettingDescription
Expiring SubscriptionEmail admin when a subscription is about to expire
Cancelled SubscriptionEmail admin when a subscription is cancelled
Paused SubscriptionEmail admin when a customer pauses their subscription
Resumed SubscriptionEmail admin when a subscription is resumed
Payment ReceivedEmail admin when a renewal payment is received

Staging Mode (Pro)

SettingDescriptionDefault
Auto-Staging ModeAutomatically detect staging environments and disable renewalsOff

Prevents accidental charges when testing on staging or development sites.


Emails Tab #

Subscription events trigger automatic email notifications to customers and administrators.

Email Types

EmailRecipientDescription
New SubscriptionAdminSent when a new subscription is created
Subscription ActivatedCustomerSent when subscription becomes active
Subscription CancelledCustomerSent when a subscription is cancelled
Subscription ExpiredCustomerSent when subscription reaches its end date
Subscription On-HoldCustomerSent when subscription is put on hold
Renewal ReminderCustomerSent before automatic renewal occurs
Payment FailedCustomerSent when a renewal payment fails
Payment RetryCustomerSent when payment is being retried

Email templates can be customized in WooCommerce → Settings → Emails.


Customization Tab #

Customize the appearance of subscription products on your store.

Style Presets

Choose from pre-designed templates:

TemplateDescription
ModernClean and contemporary with purple accents
MinimalSimple and elegant with dark tones
BoldEye-catching and vibrant with red accents
CustomFull control over all styling options

Button Styling

SettingDescriptionDefault
Button Background ColorThe subscribe button color#7c3aed (Purple)
Button Text ColorThe button text color#ffffff (White)
Button Border RadiusButton corner roundness8px
Font SizeButton text size14px
Font WeightButton text weight600 (Semi-bold)
PaddingButton inner spacing12px

Price Display

SettingDescriptionDefault
Price ColorMain price text color#111827
Price Font SizeMain price size24px
Period ColorBilling period text color (e.g., “/ month”)#6b7280
Period Font SizeBilling period text size14px

Sign-Up Fee & Trial Display

SettingDescriptionDefault
Sign-Up Fee ColorSign-up fee text color#6b7280
Sign-Up Fee Font SizeSign-up fee text size14px
Trial ColorFree trial text color#6b7280
Trial Font SizeFree trial text size14px

Container Styling

SettingDescriptionDefault
Background ColorContainer background#ffffff
Border ColorContainer border color#e5e7eb
Border RadiusContainer corner roundness12px
PaddingContainer inner spacing24px

Button Text

SettingDescriptionDefault
Button TextText shown on single product page“Sign Up Now”
Add to Cart TextText shown on shop/archive pages“Subscribe”

Managing Subscriptions in WooCommerce Admin #

Viewing All Subscriptions

Navigate to WooCommerce → Subscriptions to view all subscriptions in your store.

The subscriptions list shows:

  • Subscription ID
  • Customer name and email
  • Product name
  • Status (Active, On-Hold, Cancelled, Expired, Pending)
  • Billing period (e.g., “Every month”)
  • Next payment date
  • Total amount

You can filter subscriptions by:

  • Status: Active, On-Hold, Cancelled, Expired, Pending
  • Search: By subscription ID, customer name, or product name

Subscription Statuses

StatusDescription
ActiveSubscription is running and payments are being processed
PendingWaiting for initial payment to complete
On-HoldTemporarily paused (by customer or admin)
CancelledSubscription has been cancelled
ExpiredSubscription reached its end date
Pending-CancelScheduled to cancel at end of current period

Single Subscription View

Click on any subscription to view full details:

  • Customer Information: Name, email, and link to customer profile
  • Product Details: Subscription product with link to edit
  • Billing Information: Amount, period, interval
  • Important Dates: Start date, next payment, last payment, end date
  • Payment Method: Gateway used for renewals
  • Subscription History: Log of status changes and events

Available Actions

From the subscription detail page, administrators can:

ActionDescription
ActivateReactivate a paused or on-hold subscription
SuspendPut subscription on hold temporarily
CancelEnd the subscription
ReactivateRestore a cancelled subscription
Edit Details (Pro)Modify dates, amounts, and billing cycle

Order Integration

When viewing an order that contains subscription products:

  1. Subscriptions metabox appears on the order page
  2. Shows linked subscriptions with their current status
  3. Quick link to view full subscription details

If an order contains subscription products but subscriptions weren’t created (e.g., failed order), you can use Order Actions → Create subscriptions from order to manually create them.


Pro Features (Product-Level) #

When editing a subscription product with Swift Commerce Pro, you’ll see additional sections:

Free Trial

SettingDescription
Trial LengthNumber of trial periods (0 = no trial)
Trial PeriodTime unit: day(s), week(s), month(s), year(s)
Require Payment MethodRequire customers to enter payment details during trial

Renewal & Expiration

SettingDescription
Renewal ReminderDays before renewal to send reminder email
Grace PeriodDays to allow payment after failed renewal
On ExpirationAction when subscription ends: Expire, Cancel, or Notify only

Customer Controls (Product-Level)

SettingDescription
Allow PauseOverride global setting for this product
Allow SwitchingAllow switching to/from this subscription
Purchase LimitLimit purchases per customer (One per account, etc.)
Resubscribe OptionAllow cancelled subscribers to resubscribe

Synchronization

SettingDescription
Sync to DayAlign renewals to specific day of week/month
Prorate First PaymentCalculate first payment based on remaining time

How Subscriptions Work #

Purchase Flow

  1. Customer adds subscription product to cart
  2. At checkout, customer enters payment details
  3. Payment gateway stores payment token for future renewals
  4. Subscription is created with status “Pending” until payment clears
  5. Once payment confirms, subscription becomes “Active”

Renewal Process

  1. System checks for due renewals (typically via WP-Cron)
  2. For automatic renewals:
    • Payment is charged using stored payment token
    • If successful, next payment date is updated
    • If failed, configured action is taken (suspend, cancel, retry)
  3. For manual renewals:
    • Customer receives renewal reminder email
    • Customer logs in and pays manually
    • Subscription is extended upon payment

Customer My Account Experience

Customers can view and manage subscriptions from My Account → Subscriptions:

  • View all their subscriptions
  • See subscription status, next payment date, and amount
  • Pause/resume their subscription (if enabled)
  • Cancel their subscription (if enabled)
  • Update payment method
  • View billing history

Troubleshooting #

Common Issues

Subscriptions not being created from orders:

  • Ensure the order status reaches “Processing” or “Completed”
  • Check that the product type is “Subscription” or “Variable Subscription”
  • Use the order action “Create subscriptions from order” to manually create

Automatic renewals not processing:

  • Verify your payment gateway supports tokenization
  • Check that WP-Cron is running properly
  • Review the subscription’s payment method

Price not showing subscription format:

  • Ensure the “_subscription_price” field is set
  • Check that product type is “Subscription”
  • Clear any caching plugins

Customer can’t see Subscriptions in My Account:

  • Verify the subscriptions endpoint is properly registered
  • Flush permalinks (Settings → Permalinks → Save)
  • Check for theme conflicts with WooCommerce My Account

Best Practices #

  1. Set appropriate trial lengths: 7-14 day trials typically convert better than 30-day trials
  2. Use sign-up fees strategically: Cover acquisition costs while keeping recurring price competitive
  3. Enable customer self-service: Allowing pause/resume reduces cancellations
  4. Configure payment retries: Don’t lose subscribers to temporary card issues
  5. Send renewal reminders: 3-7 days before renewal gives customers time to update payment methods
  6. Use proration for switching: Makes upgrades more attractive to customers
  7. Test in staging first: Use staging mode to test without processing real payments

Feature Comparison #

FeatureFreePro
Subscription product type
Variable subscription products
Sign-up fees
Subscription length limits
Customer pause/resume
Customer cancellation
Plan switching
Payment proration
Mixed checkout
One-time shipping
Shipping frequency override
Email notifications
Customization options
Admin subscription list
Delete subscriptions
Free trials
Synchronize renewals
Failed payment retry
Early renewal
Admin manual creation
Admin edit subscriptions
Subscription coupons
Admin email notifications
Renewal reminders
Grace period
Expiration controls
Staging mode
Renew Now button
Auto-suspend on failure
Updated on December 28, 2025
Scroll to Top