Hoppa till huvudinnehåll

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.
Screenshot of the Product Collection checkout page showing multiple products displayed

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.
1

Create the collection

Define the collection with a name and optional description. Upload an image to visually represent the collection in checkout.
Screenshot of the Product Collection creation form in the dashboard showing fields for name, description, and image upload
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
2

Add products to the collection

Add existing products to your collection. Products can be organized into groups for better structure.
Screenshot of the Product Collection products page showing a list of products and the ability to add them to the collection
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
Each product can only belong to one collection. If a product is already in another collection, you’ll need to remove it first.
3

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

TypeDescriptionUse Case
Collection CheckoutDisplays all active products within a collectionSubscription plan selection, tiered pricing
Single Product CheckoutDisplays only one specific productDirect purchase, promotional links

Collection Checkout Experience

When using a collection checkout:
  1. All active products displayed: Customers see every enabled product in the collection
  2. First product pre-selected: The first product in the collection order is automatically selected
  3. Product details shown: Each product displays its name, description, and pricing
  4. Single selection: Customer selects one product to purchase
  5. Standard flow continues: After selection, the checkout proceeds with the chosen product’s pricing and billing settings
Screenshot of the Product Collection checkout page showing multiple products displayed
Collection checkout is ideal for subscription businesses where you want customers to compare plans side-by-side before purchasing.

API Integration

Create a checkout session for a collection:
const session = await client.checkoutSessions.create({
  product_collection_id: 'pdc_abc123',
  product_cart: [], // Required: pass an empty array for collection checkout
  return_url: 'https://yoursite.com/return'
});

// Redirect customer to the checkout
window.location.href = session.url;
When using product_collection_id, discount codes cannot be applied at session creation. Customers can still enter discount codes during checkout if enabled.

Customer Portal Integration

Customers can upgrade or downgrade between products within the same collection directly from the Customer Portal.
Already have subscription products? Simply add them to a Product Collection to enable upgrade/downgrade flows in the Customer Portal. No need to recreate your products.

Plan Management Actions

ActionDescriptionMerchant Control
View Current PlanDisplay current product name, price, and renewal dateAlways available
Upgrade PlanMove to a higher-tier product in the same collectionConfigurable (default: allowed)
Downgrade PlanMove to a lower-tier product in the same collectionConfigurable (default: allowed)
CancelCancel the subscription entirelyAlways available
Screenshot of the Product Collection customer portal plan change interface showing the plan management actions

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
Screenshot of the Product Collection customer portal plan change interface showing the plan management actions
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 the Subscription Settings section in your dashboard.
Screenshot of the subscription settings page showing Allow Multiple Subscriptions and Allow Subscription Updates toggles

Available Settings

SettingDescriptionDefault
Allow Multiple SubscriptionsCustomers can hold more than one active subscription at the same timeEnabled
Allow Subscription UpdatesCustomers can upgrade or downgrade their existing subscriptions anytime via Customer PortalDisabled
Plan changes via Customer Portal are disabled by default. Enable “Allow Subscription Updates” in your Subscription Settings 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

Produktkollektioner kan hanteras antingen via Dodo Payments-instrumentpanelen eller programmatiskt via API. API:et ger full kontroll över skapande av kollektioner, uppdateringar, uppladdning av bilder, arkivering och hantering av nästlade grupper och produkter.

Instrumentpaneloperationer

  • Skapa: Ställ in nya kollektioner med produkter och grupper
  • Uppdatera: Ändra namn, beskrivning, bild och produktorganisation
  • Ordna om: Dra och släpp för att ändra produktvisningsordning
  • Aktivera/inaktivera produkter: Kontrollera vilka produkter som visas i kassan
  • Arkivera: Dölj en kollektion utan att permanent radera den (kan återställas senare) Skärmdump av Produktkollektions-instrumentpanelen som visar hanteringsoperationer för kollektioner

API-hantering

Följande ändpunkter låter dig skapa, uppdatera, hämta, arkivera och organisera produktkollektioner programmatiskt — inklusive hantering av nästlade grupper och produkterna inom dessa. Hämta alla produktkollektioner kopplade till ditt konto genom en GET-förfrågan till /product-collections-ändpunkten. Stödjer paginering, filtrering efter varumärke och inkluderar arkiverade kollektioner. Visa detaljerad förfrågnings- och svarsstruktur i dokumentationen för List Product Collections API. Skapa en ny produktkollektion genom att skicka en POST-förfrågan till /product-collections-ändpunkten med detaljer som namn, beskrivning och varumärke. Visa detaljerad förfrågnings- och svarsstruktur i dokumentationen för Create Product Collection API. Få detaljerad information om en specifik produktkollektion — inklusive dess grupper och produktartiklar — genom en GET-förfrågan till /product-collections/{id}-ändpunkten. Visa detaljerad förfrågnings- och svarsstruktur i dokumentationen för Get Product Collection API. Ändra en produktkollektions detaljer (namn, beskrivning, varumärke, etc.) genom att skicka en PATCH-förfrågan till /product-collections/{id}-ändpunkten. Visa detaljerad förfrågnings- och svarsstruktur i dokumentationen för Update Product Collection API. Associera en bild med en kollektion genom att ladda upp den via en försignerad URL. Begär en uppladdnings-URL från /product-collections/{id}/images-ändpunkten, ladda sedan PUT-bilden till den returnerade URL:en inom 60 sekunder. Den försignerade URL:en löper ut om 60 sekunder, så bilden måste laddas upp inom den tidsramen. Visa detaljerad förfrågnings- och svarsstruktur i dokumentationen för Update Collection Images API. Arkivera en kollektion genom att skicka en DELETE-förfrågan till /product-collections/{id}-ändpunkten. Detta döljer kollektionen från ny användning men tar inte bort den permanent. Visa detaljerad förfrågnings- och svarsstruktur i dokumentationen för Archive Product Collection API. Återställ en arkiverad kollektion genom att skicka en POST-förfrågan till /product-collections/{id}/unarchive-ändpunkten. Visa detaljerad förfrågnings- och svarsstruktur i dokumentationen för Unarchive Product Collection API. Grupper låter dig organisera produkter inom en kollektion (t.ex., “Månadsplaner” kontra “Årsplaner”). Använd gruppändpunkterna för att lägga till, uppdatera eller ta bort grupper inom en kollektion.
  • Skapa en grupp: POST /product-collections/{id}/groups
  • Uppdatera en grupp: PATCH /product-collections/{id}/groups/{group_id}
  • Ta bort en grupp: DELETE /product-collections/{id}/groups/{group_id} Lägg till en ny grupp i en produktkollektion. Ändra en grupps namn eller attribut. Ta bort en grupp från en kollektion.
Hantera de individuella produktartiklarna i en grupp — lägg till nya produkter, uppdatera befintliga artiklar (som visningsordning) eller ta bort dem helt.
  • Lägg till produkter i en grupp: POST /product-collections/{id}/groups/{group_id}/items
  • Uppdatera en gruppartikel: PATCH /product-collections/{id}/groups/{group_id}/items/{item_id}
  • Ta bort en gruppartikel: DELETE /product-collections/{id}/groups/{group_id}/items/{item_id} Lägg till en eller flera produkter i en grupp inom en kollektion. Uppdatera en produktartikel inom en grupp. Ta bort en produktartikel från en grupp.

Bästa praxis

  • Gruppera logiskt: Organisera produkter efter faktureringsintervall (månatlig/årlig) eller funktionstitel (start/pro/enterprise)
  • Ordna strategiskt: Placera din mest populära eller rekommenderade plan först, eftersom den kommer att vara förvald vid kassan
  • Använd tydliga namn: Produktnamn bör tydligt kommunicera värdeskillnader
  • Aktivera båda riktningarna: Tillåt både uppgraderingar och nedgraderingar för att ge kunder flexibilitet
  • Överväg proportionering: Välj en proportioneringsmodell som stämmer överens med din affärsmodell
  • Testa noggrant: Verifiera kassa- och planbytesflöden i testläge innan du går live
Du är redo att skapa produktkollektioner och erbjuda kunder en enhetlig valupplevelse. Skapa engångs-, prenumerations- eller användningsbaserade produkter för att lägga till i kollektioner. Visa kollektionsprodukter i en enhetlig kassaupplevelse. Låt kunder uppgradera eller nedgradera inom samma kollektion. Hantera återkommande planer med proportionering och planändringar.
Last modified on May 22, 2026