Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
Product Collections let you group related products (e.g., Starter, Pro, Enterprise plans) under one umbrella. Display all options in a single checkout, define upgrade/downgrade paths, and give customers the flexibility to switch plans directly from the Customer Portal.

Key Highlights
- Collection-based structure: Group related products (plans, tiers, pricing options) under a single collection for organized management.
- One collection, many products: Include multiple products like Starter, Pro, Lifetime, etc., each with its own pricing model.
- Dynamic checkout experience: Display all products from a collection in one checkout view, letting customers choose their preferred plan.
- Merchant-level control: Enable, disable, and reorder products within each collection. The first product is automatically pre-selected at checkout.
- Lifecycle awareness: Enable customers to upgrade or downgrade between products in the same collection via the Customer Portal.
Creating a Product Collection
Product Collections are created and managed from the dashboard or via API. Each collection acts as a container for related products.Create the collection
Define the collection with a name and optional description. Upload an image to visually represent the collection in checkout.
Collection fields:

- Name (required): Display name for the collection (e.g., “SaaS Plans”, “License Tiers”)
- Description (optional): Brief explanation shown in checkout
- Image (optional): Visual branding for the collection
Add products to the collection
Add existing products to your collection. Products can be organized into groups for better structure.
Product organization:

- Groups: Optionally organize products into named groups (e.g., “Monthly Plans”, “Annual Plans”)
- Ungrouped products: Products without a group appear at the collection level
- Ordering: Drag and drop to set the display order
Configure ordering and visibility
Control the display order and visibility of products within the collection.Configuration options:
- Product status: Enable or disable individual products within the collection
- Display order: Drag and drop to set the sequence products appear in checkout
The first product in the collection is automatically pre-selected as the default at checkout. Reorder products to change which one is selected by default.
Collection Checkout
Collections enable a unified checkout experience where customers can view and select from all available products in one place.Checkout Types
| Type | Description | Use Case |
|---|---|---|
| Collection Checkout | Displays all active products within a collection | Subscription plan selection, tiered pricing |
| Single Product Checkout | Displays only one specific product | Direct purchase, promotional links |
Collection Checkout Experience
When using a collection checkout:- All active products displayed: Customers see every enabled product in the collection
- First product pre-selected: The first product in the collection order is automatically selected
- Product details shown: Each product displays its name, description, and pricing
- Single selection: Customer selects one product to purchase
- Standard flow continues: After selection, the checkout proceeds with the chosen product’s pricing and billing settings

API Integration
Create a checkout session for a collection:Customer Portal Integration
Customers can upgrade or downgrade between products within the same collection directly from the Customer Portal.Plan Management Actions
| Action | Description | Merchant Control |
|---|---|---|
| View Current Plan | Display current product name, price, and renewal date | Always available |
| Upgrade Plan | Move to a higher-tier product in the same collection | Configurable (default: allowed) |
| Downgrade Plan | Move to a lower-tier product in the same collection | Configurable (default: allowed) |
| Cancel | Cancel the subscription entirely | Always available |

Upgrade/Downgrade Rules
- Upgrades and downgrades are only available between products within the same collection
- Proration is applied based on your subscription settings
- Email notifications are sent to the business on every upgrade, downgrade, or cancellation

Customers cannot change to products outside their current collection. Create separate collections for distinct product lines.
Subscription Settings
Configure how subscriptions and plan changes work across your business from Settings → Subscriptions in your dashboard.
Available Settings
| Setting | Description | Default |
|---|---|---|
| Allow Multiple Subscriptions | Customers can hold more than one active subscription at the same time | Enabled |
| Allow Subscription Updates | Customers can upgrade or downgrade their existing subscriptions anytime via Customer Portal | Disabled |
Plan changes via Customer Portal are disabled by default. Enable “Allow Subscription Updates” in Settings → Subscriptions to let customers upgrade or downgrade between products in the same collection.
Subscription Plan Changes
Learn more about proration modes and plan change behavior.
Managing Collections
Product Collections can be managed either through the Dodo Payments dashboard or programmatically via API. The API provides full control over collection creation, updates, image uploads, archiving, and managing nested groups and products.Dashboard Operations
- Create: Set up new collections with products and groups
- Update: Modify name, description, image, and product organization
- Reorder: Drag and drop to change product display order
- Enable/Disable products: Control which products appear in checkout
- Archive: Hide a collection without permanently deleting it (can be unarchived later)

API Management
The following endpoints allow you to create, update, retrieve, archive, and organize product collections programmatically — including managing nested groups and the products within them.Listing Product Collections
Listing Product Collections
Fetch all product collections associated with your account using a
GET request to the /product-collections endpoint. Supports pagination, filtering by brand, and including archived collections.List Product Collections API
View detailed request and response structure in the List Product Collections API documentation.
Creating a Product Collection
Creating a Product Collection
Create a new product collection by sending a
POST request to the /product-collections endpoint with details such as name, description, and brand.Create Product Collection API
View detailed request and response structure in the Create Product Collection API documentation.
Retrieving a Product Collection
Retrieving a Product Collection
Get detailed information about a specific product collection — including its groups and product items — using a
GET request to the /product-collections/{id} endpoint.Get Product Collection API
View detailed request and response structure in the Get Product Collection API documentation.
Updating a Product Collection
Updating a Product Collection
Modify a product collection’s details (name, description, brand, etc.) by sending a
PATCH request to the /product-collections/{id} endpoint.Update Product Collection API
View detailed request and response structure in the Update Product Collection API documentation.
Uploading Collection Images
Uploading Collection Images
Associate an image with a collection by uploading it via a pre-signed URL. Request an upload URL from the
/product-collections/{id}/images endpoint, then PUT the image to the returned URL within 60 seconds.Update Collection Images API
View detailed request and response structure in the Update Collection Images API documentation.
Archiving a Product Collection
Archiving a Product Collection
Archive a collection by sending a
DELETE request to the /product-collections/{id} endpoint. This hides the collection from new use but does not permanently remove it.Archive Product Collection API
View detailed request and response structure in the Archive Product Collection API documentation.
Unarchiving a Product Collection
Unarchiving a Product Collection
Restore an archived collection by sending a
POST request to the /product-collections/{id}/unarchive endpoint.Unarchive Product Collection API
View detailed request and response structure in the Unarchive Product Collection API documentation.
Managing Groups within a Collection
Managing Groups within a Collection
Groups let you organize products inside a collection (for example, “Monthly Plans” vs. “Annual Plans”). Use the groups endpoints to add, update, or remove groups within a collection.
- Create a group:
POST /product-collections/{id}/groups - Update a group:
PATCH /product-collections/{id}/groups/{group_id} - Delete a group:
DELETE /product-collections/{id}/groups/{group_id}
Create Group
Add a new group to a product collection.
Update Group
Modify a group’s name or attributes.
Delete Group
Remove a group from a collection.
Managing Products within a Group
Managing Products within a Group
Manage the individual product items inside a group — add new products, update existing items (such as display order), or remove them entirely.
- Add products to a group:
POST /product-collections/{id}/groups/{group_id}/items - Update a group item:
PATCH /product-collections/{id}/groups/{group_id}/items/{item_id} - Delete a group item:
DELETE /product-collections/{id}/groups/{group_id}/items/{item_id}
Add Products to Group
Add one or more products to a group within a collection.
Update Group Item
Update a product item within a group.
Delete Group Item
Remove a product item from a group.
Best Practices
- Group logically: Organize products by billing interval (monthly/annual) or feature tier (starter/pro/enterprise)
- Order strategically: Place your most popular or recommended plan first, as it will be pre-selected at checkout
- Use clear naming: Product names should clearly communicate value differences
- Enable both directions: Allow both upgrades and downgrades to give customers flexibility
- Consider proration: Choose a proration mode that aligns with your business model
- Test thoroughly: Verify checkout and plan change flows in test mode before going live
You’re ready to create product collections and offer customers a unified plan selection experience.
Products
Create one-time, subscription, or usage-based products to add to collections.
Checkout
Display collection products in a unified checkout experience.
Customer Portal
Let customers upgrade or downgrade within the same collection.
Subscriptions
Manage recurring plans with proration and plan changes.