Non-Catalog Items in Paddle: A Comprehensive Guide

Hi everyone, I'm Alex! Welcome back to the Boathouse Paddle Series. Today, we're diving deep into the world of non-catalog products and prices with Paddle. If you're creating a checkout or working with the Paddle API, you're probably passing in a reference to a product or price. Typically, you'd create these products and pricing plans first in your account, and then reference them accordingly. But there's much more to explore. Let's get started!

Understanding Non-Catalog Products and Prices

Paddle supports dynamic or temporary one-off products and prices. These can be particularly useful in several scenarios. For example, you might want to manage your products and prices within your own CMS or webshop system. This way, you control all the prices while passing the current price and product information into the transaction via the API.

For dynamic pricing, such as those dictated by publishers for games or ebooks, you can also adjust prices in real-time and send the up-to-date price into the transaction.

Creating Non-Catalog Items

First off, it's important to note that you can't create non-catalog items via the Paddle account interface. When you open a new transaction and view the product and price fields, you can only select from items in your catalog. Even if you select "new product" here, the item gets created in your catalog.

However, non-catalog items work differently. They are created in the background with a custom type, meaning they won’t appear when you request a list of all products via the API by default. As of now, the UI doesn't support on-the-fly creation of these products and prices, but this might change in the future.

Adding Non-Catalog Items to a Transaction

You can pass non-catalog items when creating a new transaction through the API using the items parameter.

In this request, you'll pass all necessary parameters, such as product description and pricing information, into the request. For catalog items, you'd typically just reference the price ID. Once the transaction is created, you pass the transaction ID into the checkout, and it auto-populates with the data you've provided. This can also be applied to subscriptions where dynamic pricing based on various factors is crucial.

When complete you simply hand this transaction id to the checkout (or use the provided checkout link which directs to your default payment link using the _ptx parameter) and the customer will see no difference to a normal checkout for a catalog item.

Summary

Paddle's ability to handle non-catalog products and prices dynamically via the API allows for a high degree of control and flexibility. Whether you manage your own prices within a CMS or need real-time price adjustments from publishers, Paddle makes these advanced setups seamless.

You might also like articles from our blog: