Set up subscription products in WooCommerce as usual: price, billing period, free trial and sign-up fee. Nothing needs to be created in Paddle. Paddle schedules and collects every payment; WooCommerce Subscriptions doesn’t charge Paddle subscriptions itself.
What is supported
| Feature | Paddle Billing | Paddle Classic |
|---|---|---|
| Billing periods: every N days, weeks, months or years | Yes | Yes |
| Free trials | Yes | Yes (converted to days: a month counts as 30 days, a year as 365) |
| Sign-up fees | Yes (shown as a separate “Sign-up fee” line) | Yes (added to the first payment) |
| One-time products in the same order | Yes | Yes |
| Several subscription products in one order | No: one per order | No: one per order |
| Switching plans (upgrade/downgrade) | No | No |
| Currencies | All Paddle Billing currencies | USD, EUR, GBP |
One subscription product per order
Paddle bills each subscription on its own. If an order holds two subscription products (or two subscriptions with different schedules), the Paddle checkout can’t start: the customer sees “Something went wrong starting the payment. Please try again or contact us.” and the order note explains why. Ask customers to buy subscription products separately.
No plan switching
Paddle can’t change the plan of a running subscription, so WooCommerce’s switching is turned off for Paddle subscriptions. Customers can cancel and subscribe again.
The subscription lifecycle
| What happens | In WooCommerce |
|---|---|
| First payment confirmed by Paddle | Order paid; subscription Active, linked to the Paddle subscription, with Paddle’s next billing date as its next payment date |
| Paddle collects a renewal | A renewal order is created and marked paid, and the next payment date follows Paddle’s billing date |
| A renewal payment fails | Subscription On hold, with a note; Paddle retries automatically |
| Paddle collects the payment later | The renewal order is recorded and the subscription is Active again |
| Paddle cancels the subscription (for example after its retries) | Subscription Cancelled |
| Cancellation scheduled in Paddle | Subscription Pending cancellation, ending on the date Paddle gives |
| Paused in Paddle | Subscription On hold (“Subscription paused in Paddle. It will not renew until resumed.”); a pause scheduled for later is noted on the subscription |
| Resumed in Paddle | Subscription Active again |
Changes made in WooCommerce
Changes you (or the customer) make to a Paddle subscription in WooCommerce are sent to Paddle, and a note records each one.
| Change in WooCommerce | Sent to Paddle |
|---|---|
| Pending cancellation (for example the customer cancels in My Account) | Billing stops at the end of the paid period |
| Cancelled | Billing: as set in When a subscription is cancelled. Classic: always cancelled immediately in Paddle |
| Suspend (Active → On hold) | Paused: billing stops at the end of the paid period until the subscription is reactivated |
| Reactivate (On hold or Pending cancellation → Active) | Resumed in Paddle |
If Paddle can’t be updated, the note says “Paddle could not be updated (…). Make the same change in your Paddle dashboard so billing matches this subscription.”
Updating the payment method
On My Account → Subscriptions → View, active and on-hold Paddle subscriptions show an Update payment method button in place of WooCommerce’s own. It sends the logged-in customer to Paddle’s secure page for that subscription, where they enter a new card. You can hide the button with the Update payment method setting.