Turn one of your Listeo listing packages into a recurring subscription.

This plugin does not replace your Listeo packages. Your listing package stays a normal Listeo and WooCommerce product. The plugin simply adds recurring billing settings on top, so that the package renews automatically through your active payment provider.

Note: You configure recurring settings from the plugin’s own Listing Packages tab, not from the normal WooCommerce product edit screen. The Products tab lists every Listeo listing_package product you have, and clicking one opens a configuration popup.


Where to configure packages

First, you need to add listing packages in WooCommerce, check dedicated article covering paid listing packages

Open the plugin’s Listing Packages tab. You will see a list of all your Listeo listing packages. Click the package you want to sell as a subscription, and a configuration popup opens where you fill in the recurring settings.

Listing Packages Settings
Listeo Package Subscription

The workflow

Setting up a recurring package takes three steps: create the package, create the matching price in your provider, then connect them in the Products tab.

  1. Create your listing package product in Listeo and WooCommerce as usual. This is a normal paid listing package, set up the way you always do.
  2. In your chosen provider’s dashboard, create the recurring product or price and copy its ID. Each provider uses a different kind of ID:
    1. Stripe Price ID starts with price_
    2. Paddle Price ID starts with pri_
    3. Polar uses a product UUID
    4. Dodo product ID starts with pdt_
  3. In the plugin’s Products tab, open the package, fill in its recurring settings (described below), then click Save.


The per-package settings

Inside the configuration popup you will find the following fields.

  1. Enable recurring payments for this package – The toggle that marks this package as a recurring subscription. When it is on, charges renew automatically through the active provider.
    Note The current payment provider is shown at the top of the popup. It is set automatically to your globally active provider. You do not pick a provider per product.
  2. Billing interval display – A dropdown with Daily, Weekly, Monthly, or Yearly. This is only the label shown to customers. The real billing interval comes from the price you created in the provider dashboard.

Provider price ID fields

The popup shows price ID fields for the active provider, and they come in pairs: one for Test or Sandbox mode and one for Live or Production mode. The exact field labels depend on which provider is active.

Provider Test / Sandbox field Live / Production field ID format
Stripe Test Stripe Price ID Live Stripe Price ID price_
Paddle Sandbox Paddle Price ID Production Paddle Price ID pri_
Polar Sandbox Polar product ID Production Polar product ID UUID
Dodo Test Dodo Product ID Live Dodo Product ID pdt_

Important:
1. The Test / Sandbox ID is used when the provider is in test mode, and the Live / Production ID is used in live mode. Fill in the pair that matches the mode you will actually run.
2. Only the active provider’s price IDs are used. If you switch providers later, you must add the new provider’s price IDs to each package, otherwise those packages will not work.

Tip
1. For Stripe, the plugin verifies the price ID against Stripe when you save and shows a Stripe price check status. It warns you if the WooCommerce product price does not match the Stripe price, so you can catch a mismatch early.
2. Set the WooCommerce product price to match the recurring price you created in the provider dashboard. That way customers always see a consistent amount.

Once the toggle is on, the intervals are set, and the matching price IDs are filled in, click Save. Your listing package is now a recurring subscription.


Trial Period

Free trials are configured directly in your payment provider. For example in Dodo Payments (the screenshot below), you can set a trial period, such as 7 days. After the trial ends, the customer will be charged automatically by Dodo Payments.

All subscription updates are then synced with Listeo via webhooks.