Scenario ↑ Back to top
WooCommerce Subscriptions allows you to charge a signup fee, and that’s great if the subscription product you’re providing has a one-time setup cost. However, the signup fee is charged at the time of signup, irrespective of the trial period.
So, if your product offers a 1 week trial with a $300 signup fee, and the subscription costs $100/month, the customer would pay the $300 signup fee at the time of signup, and $100/month for the subscription starting a week later (i.e. after their trial period is over).
Now, imagine this use case: you offer a collection of home workout videos as a subscription on your site, along with home workout equipment.
You charge a one-time fee for the home workout equipment, but you want to give customers a week trial access to the videos, so that they feel confident using your equipment before they’re charged.
In this use case, you would be charging the one-time fee after their trial week is over. Let’s see how we can set this up.
Setup ↑ Back to top
We’ll call our product Fit at Home. The subscription videos cost $99/month, and the one-time fee for workout equipment is $300.
Required Extensions ↑ Back to top
Get Started ↑ Back to top
For this, we create 2 subscription products – 1 for the ongoing access to workout videos, and the other to charge the one-time fee after the free trial for the workout video ends.
Then we bundle them together so customers have to purchase only 1 product.
Create a subscription product for the workout videos ↑ Back to top
We’ll call this product Fit at Home. The product settings look like this:
The product is priced at $99 per month, and has a free trial of 7 days.
Create another subscription for the equipment ↑ Back to top
We’ll call this product Fit at Home – Equipment and its settings look like this:
Notice that this product is priced at $300/month, but is set to Expire After 1 month. That ensures customers are charged only once for the equipment.
The “Fit at Home – Equipment” product also has a trial period of 7 days. That’s to ensure customers are not charged at the time of signup.
And, finally, we have use the Custom Price String extension to set the price string for this product to
$300 one time fee, to be charged at the end of 1 week trial. This lets customers know that they will only be charged once for the equipment, at the end of their trial.
Hide the two subscription products so that they can’t be purchased individually ↑ Back to top
For our use case, we want the customers to purchase the Fit at Home video subscription along with the equipment, since the workouts in these videos can’t be performed without the specialized equipment. We don’t want the 2 subscription products visible on the shop page, so we set their Catalog Visibility to
To do this, head over to the product’s publish settings, and select the
Hidden option under Catalog Visibility:
Be sure to set both products to
Create a Bundled Product ↑ Back to top
We’ll call our bundled product Fit at Home – Workout Videos and Equipment, and add the 2 subscription products that we created in step 1 and step 2, into this bundle. Here’s how it looks like:
Make sure that both the products in the bundled have the Priced Individually option enabled as shown here:
Enable Mixed Checkout ↑ Back to top
WooCommerce Subscriptions has a feature called Mixed Checkout. This needs to be enabled to allow multiple subscription purchases in one cart. Since our product bundle contains two separate subscription products, Mixed Checkout needs to be enabled so that customers can purchase the bundle.
To enable Mixed Checkout, go to WooCommerce → Settings → Subscriptions, and enable the Mixed Checkout option as shown below:
The Result ↑ Back to top
Finally, this is how customers will see the bundled product that we just created:
With this setup, customers
- are charged $0 at the time of signup
- have access to Fit at Home videos for a week (i.e. during their trial period)
- are charged $399 at the end of the 1st week ($300 for the equipment, and $99 for the Fit at Home subscription)
- are charged $99 every month from the following month onwards