WooCommerce Pre-Paid Subscriptions plugin enables your customers to pay up-front for a subscription, but still receive the products monthly (or any other billing cycle you have)

Let's say, you are selling a vegetable box on a monthly subscription at $20 per month.
You can provide your customer to pay up-front for a year instead of paying every month.

The customer gets an assured supply of the product, while, as a store owner, you get paid in full for a year.

You can choose to allow both monthly and up-front payment options for the subscription product.

So let's get started.

NOTE: This plugin requires WooCommerce Subscriptions (purchased separately) to function.


  1. Download the extension in .zip format.
  2. Go to Plugins > Add New > Upload and select the ZIP file you just downloaded.
  3. Click Install Now, and then Activate.


  • WordPress 4.4.1 or greater
  • WooCommerce 3.0.0 or greater
  • WooCommerce Subscription 2.0.0 or greater 
  • PHP version 5.5.0 or greater
  • MySQL version 5.0 or greater
  • Reference Transactions enabled (if you are using PayPal as payment method)

Setting up the Upfront Payments for your Subscription Product

The guide assumes that you already have installed the WooCommerce Subscriptions.


This plugin is translation-ready. The text domain is: 


You can view more guidelines on translating extensions here.

Creating a Subscription product with Upfront Payment option
Go ahead and create a subscription product or open an existing subscription product.

In the General Tab, you will see the pricing options. Right below the pricing fields, you can find the upfront payment fields as well.


When you create a subscription product, you have the following up-front payment options:

Allow Upfront Payment

  • Allow upfront payment only - This only allow an upfront payment for a subscription product. Useful when you have subscription length is pre-defined (example: Subscription ends at 12 months). So you may want to allow both monthly and a one-time payment for whole subscription length.
  • Allow Upfront payment and recurring - This shows both the monthly (or any billing cycle) and upfront payment option

Subscription Length

The total length of the cycle that you wanted to use for up-front. Example: 12 months mean = The cost of 12 months will be taken as up-front.

Discount Type:

You can offer either a "Percentage" discount or a "Fixed cost" discount. 

Discount Amount:

The percentage or the fixed amount value of the discount. Leave this as empty or 0 to disable discounts

Upfront additional message:

This text will be shown at the product page in store front. 

Usage Example:

1.Monthly subscription with 1 year upfront payment

 Let's assume that you are selling the subscription on a "monthly" basis. It never expires.
And you wanted to allow the customers to pay up-front for a year (aka, 12 months)
You want to offer both monthly and upfront payment options

Open your subscription product and set up the upfront options as below:

  • Allow Upfront payment: Allow upfront and recurring (show customer a button)
  • Subscription length: 12 months 

2. Monthly subscription, which runs for 12 months. 

  •  This is a classic case where you have a subscription that ends after 12 months
  • The subscription length is 12 months 
  • You want to offer both monthly and upfront payments

 Open your subscription product and set up :

Subscription Length (Both in Subscription Pricing and Upfront sections): 12 months

3. Offer discount when customer pays up front

To motivate the customer to pay up-front, you may want to offer a 10% discount.
In the upfront options, set up a percentage discount 

Product Pages

In the storefront, the upfront option will display depending on your selection.

If you have set up to allow both upfront and monthly subscriptions, then it would show like the following

In case, if you allowed "only upfront payment" option alone, then it would look like

Notice that it does not show monthly pricing or a separate pay-upfront button.  

Collecting Shipping Cost up-front

The plugin also has options to collect the shipping cost up-front.

This will be useful for store owners selling physical goods in a subscription model. So when a customer pays upfront for a year but the product ships monthly, you may want to collect the shipping cost upfront as well.

Go to Woocommerce --> Settings -> Subscriptions.
Scroll down to the Upfront Payment Settings.
You can see the shipping methods.

The plugin has three options 

  • Only for initial order
  • In upfront for all recurring - split and add while having multiple items in cart

Only for initial order:
Shipping cost will be collected only for the first month. (or your billing cycle)

In upfront for all recurring - split and add while having multiple items in cart:
When two or more subscription products are added to the cart, the shipping cost for each product will be split and collected accordingly.

Frequently Asked Questions

1. How the pre-paid subscriptions are managed ?

Managing the pre-paid subscriptions is very easy. Since the payment has already been collected, the customer would not be charged till his pre-paid billing cycle.

Example: if customer pre-paid for 12 months of his monthly subscription, he would not be charged monthly. But an order with zero value will be created just for the record. You will see these auto-generated orders with a text "pre-paid"

2. What happens when a pre-paid period is completed?

The customer will be returned to the normal billing cycle. 

Example: You have a monthly subscription. Customer prepaid for 12 months (1 year). Till 12 months, the customer will NOT be charged. At the end of 12 month period, the customer will be returned to the monthly billing cycle.

2. Is there an option to notify via e-mails when a pre-paid period ends ?

Yes. You can notify the customer when their pre-paid subscription ends. 

3. When customer pays upfront for a monthly subscription, will a renewal record be generated for every month ?

Yes. A "zero" value renewal order will be auto-generated.
This is just for the record.
Customer will NOT be charged every month if he already prepaid.

4. Does upfront payment support free trial ?

Sorry. No. When a subscription has a free trial, upfront payment is not possible.
This is something we are working on.

Did this answer your question?