Add recurring non-catalog products and prices to a subscription

Add recurring items to a subscription without having to add them to your product catalog by passing price or product attributes when updating a subscription.

What's new?

We updated the Paddle platform so that now you can add recurring items that aren't in your catalog when updating subscriptions.

How it works

Recently, we updated the Paddle platform so that you can create transactions for products and prices that aren't in your catalog. We followed that up with an update that lets you bill non-catalog one-time charges to a subscription.

With this update, you can pass price and product attributes directly when updating subscriptions, too. This means that you can work with both recurring and one-time non-catalog items on subscriptions.

Adding non-catalog items to a subscription is great for one-off or bespoke items that are specific to that subscription. They let you manage your product catalog outside of Paddle.

Summary of changes to fields

Request bodies

This is a summary of the changes to fields in the Paddle API in request bodies when working with the preview an update for a subscription and the update a subscription operations:

FieldChangeNotes
subscription.items[].price_idValidation changeThis field is no longer required if you include a price object instead.
subscription.items[].priceNew fieldYou can send a price object instead of a price_id to bill for a non-catalog item.

Example

Request

This example adds a new item for a non-catalog price for an existing product to a subscription, along with two catalog items that already existed on the subscription.

It includes prorated_immediately as the billing mode, meaning Paddle calculates a prorated charge for the new items and bills for it right away.

Response

If successful, Paddle returns a copy of the updated subscription entity.

Next steps

This change is available in version 1 of the Paddle API.

It's a non-breaking change, meaning it doesn't impact existing integrations.

You can update a subscription using the API to start charging for non-catalog items.

Learn more