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

# Prodotti

> Crea prodotti una tantum, in abbonamento o basati sull'uso in pochi minuti. Gestisci prezzi, media, campi e diritti automatizzati - tutto in un unico posto.

<Info>
  I prodotti sono la base di Dodo Payments. Che tu venda un download una tantum, un abbonamento ricorrente o un accesso basato sull'utilizzo, inizi creando un prodotto. Ogni prodotto definisce come viene prezzato, presentato al checkout e evaso dopo l'acquisto.
</Info>

<CardGroup cols={3}>
  <Card title="One‑Time" icon="credit-card" href="/features/one-time-payment-products">
    Addebita una sola volta per l'accesso a vita o per una singola consegna.
  </Card>

  <Card title="Subscriptions" icon="repeat" href="/features/subscription">
    Fattura secondo un calendario con prove gratuite, ratei e componenti aggiuntivi.
  </Card>

  <Card title="Usage‑Based" icon="arrow-trend-up" href="/features/usage-based-billing/introduction">
    Misura il consumo e fattura in base all'uso effettivo.
  </Card>
</CardGroup>

## Crea un prodotto

Puoi creare prodotti dal dashboard o tramite API. Scegli il modello di prezzo in anticipo, Una tantum, Abbonamento o Basato sull'uso e poi configura i dettagli. Il modello di prezzo non può essere cambiato in seguito; crea un nuovo prodotto se hai bisogno di un modello diverso.

<Steps>
  <Step title="Name & description">
    Fornisci un titolo chiaro e una descrizione concisa orientata al valore. Le descrizioni supportano Markdown.

    <Tip>
      Mantieni la prima frase rivolta al cliente e orientata al risultato; apparirà in primo piano nel checkout.
    </Tip>

    <Frame>
      <img src="https://mintcdn.com/dodopayments/r-ndtvzx3WhKqwER/images/products.png?fit=max&auto=format&n=r-ndtvzx3WhKqwER&q=85&s=fb41221c4f2af4de0155e71de1ac6904" alt="Prodotti" style={{ maxHeight: '500px', width: 'auto' }} width="1911" height="927" data-path="images/products.png" />
    </Frame>
  </Step>

  <Step title="Pricing model & price">
    Seleziona il modello di prezzo:

    * **Una tantum**: Prezzo fisso pagato una sola volta.
    * **Abbonamento**: Prezzo ricorrente con intervallo e prova opzionale.
    * **Basato sull'uso**: Prezzo derivato da eventi misurati.

    Poi imposta il prezzo:

    * **Prezzo**: Importo base e valuta.
    * **Sconto (%)**: Sconto opzionale visualizzato nel checkout e nelle fatture.
    * Per gli abbonamenti, impostare **Ripeti ogni** (es. 1 mese o 1 anno) e **Giorni di prova** se necessario. Il prezzo dell'abbonamento deve essere almeno **\$1** (o l'equivalente nella valuta scelta); importi inferiori a questo minimo non sono supportati e l'abbonamento non funzionerà.

    <Warning>
      La modifica del prezzo influisce solo sui nuovi acquisti. Gli abbonamenti esistenti seguono le regole di modifica del piano.
    </Warning>
  </Step>

  <Step title="Product media">
    Carica immagini per mostrare il prodotto nel checkout e nelle fatture. Sono supportati PNG/JPG/WebP fino a 3 MB. Puoi riordinarle o sostituirle in qualsiasi momento.
  </Step>

  <Step title="Automated entitlements (Under Advanced Settings)">
    Allega il fulfillment che si attiva automaticamente dopo il pagamento:

    * **Chiavi di licenza**: Emissione e validazione di chiavi uniche
    * **Download di file**: Concedi accesso sicuro ai file
    * **Personalizzato**: Attiva la tua logica di diritto tramite webhook

    Aggiungi o rimuovi benefici man mano che la tua offerta evolve. Gli abbonati esistenti guadagnano o perdono accesso di conseguenza.
  </Step>
</Steps>

## Varianti e opzioni di prezzo

Invece di varianti sotto un unico prodotto, crea prodotti separati per ciascuna opzione di prezzo (ad esempio, Mensile e Annuale). Raggruppali in una **Collezione di Prodotti** per presentare tutte le opzioni in un unico checkout e abilitare il passaggio di piano nel Portale Clienti.

<Frame>
  <img src="https://mintcdn.com/dodopayments/2YrxTqbaYgAm54C_/images/product-collection/checkout-page.png?fit=max&auto=format&n=2YrxTqbaYgAm54C_&q=85&s=1890932384bc32c8126c7993f3581855" alt="Collezioni di Prodotti" style={{ maxHeight: '500px', width: 'auto' }} width="1440" height="960" data-path="images/product-collection/checkout-page.png" />
</Frame>

### Perché questo approccio?

* **Modelli di prezzo chiari**: Ogni prodotto ha un singolo modello di prezzo ben definito (una tantum, abbonamento o basato sull'uso)
* **API prevedibili**: Integrazioni più semplici senza logica delle varianti annidate
* **Reportistica più semplice**: Traccia il fatturato e le metriche per prodotto senza aggregazione delle varianti
* **Checkout flessibile**: Mostra più prodotti affiancati, consentendo ai clienti di confrontare e scegliere

### Come funzionano le Collezioni di Prodotti

1. **Crea prodotti**: Configura prodotti individuali per ciascun piano (ad es., Starter Mensile, Starter Annuale, Pro Mensile, Pro Annuale)
2. **Raggruppa in una collezione**: Aggiungi prodotti correlati a una Collezione di Prodotti
3. **Checkout unificato**: I clienti vedono tutte le opzioni in un unico checkout e selezionano il piano preferito
4. **Cambio piano**: I clienti possono aggiornare o ridurre il piano tra i prodotti nella stessa collezione tramite il Portale Clienti

<Card title="Product Collections" icon="layer-group" href="/features/product-collections">
  Raggruppa prodotti correlati per esperienze di checkout unificate e percorsi di upgrade/downgrade fluidi.
</Card>

## Gestione dei prodotti

Puoi gestire i prodotti tramite la dashboard o programmaticamente tramite API. L'API fornisce il pieno controllo sulla creazione, aggiornamento, recupero, caricamento delle immagini e archiviazione dei prodotti.

### Gestione tramite Dashboard

* **Aggiorna**: Modifica nome, descrizione, immagini, prezzo, campi e vantaggi in qualsiasi momento (il modello di prezzo è immutabile).
* **Archivia**: Nascondi un prodotto da nuovi acquisti senza interrompere i clienti esistenti. Puoi ripristinarlo in seguito.

### Gestione tramite API

Le seguenti istruzioni ti consentono di creare, aggiornare, gestire e recuperare prodotti, inclusa la possibilità di caricare immagini.

<AccordionGroup>
  <Accordion title="Creating a Product">
    Un prodotto può essere un articolo una tantum o un servizio basato su abbonamento. Per creare un nuovo prodotto, invia una richiesta `POST` all'endpoint `/products` con dettagli come nome, descrizione, prezzo, valuta e se si tratta di un prodotto ricorrente.

    Per i prodotti ricorrenti, imposta l'oggetto `price` su un prezzo ricorrente (`type: recurring_price`) e specifica `payment_frequency_interval` e `subscription_period_interval` (`Day`, `Week`, `Month` o `Year`) insieme ai relativi conteggi.

    <Card title="Create Product API" icon="code" href="/api-reference/products/post-products">
      Consulta la struttura dettagliata della richiesta e della risposta nella documentazione dell'API Create Product.
    </Card>
  </Accordion>

  <Accordion title="Updating a Product">
    Per modificare un prodotto esistente, invia una richiesta `PATCH` all'endpoint `/products/{product_id}`. Puoi aggiornare proprietà come nome, prezzo e descrizione mantenendo invariate le altre informazioni.

    Assicurati che `product_id` nell'endpoint corrisponda a un prodotto esistente.

    <Card title="Update Product API" icon="code" href="/api-reference/products/patch-products">
      Consulta la struttura dettagliata della richiesta e della risposta nella documentazione dell'API Update Product.
    </Card>
  </Accordion>

  <Accordion title="Retrieving Products">
    Puoi recuperare un elenco di prodotti memorizzati nel tuo account inviando una richiesta `GET` all'endpoint `/products`. Questo ti consente di ottenere i dettagli del prodotto, inclusi quelli attivi e archiviati.

    <Card title="Retrieve Products API" icon="code" href="/api-reference/products/get-products">
      Consulta la struttura dettagliata della richiesta e della risposta nella documentazione dell'API Retrieve Products.
    </Card>
  </Accordion>

  <Accordion title="Uploading Product Images">
    Puoi associare un'immagine a un prodotto caricandola su AWS S3 utilizzando un URL pre-firmato fornito dall'API. Prima richiedi un URL di caricamento immagine dall'endpoint `/products/{product_id}/images`, quindi usa l'URL fornito per caricare l'immagine entro 60 secondi.

    <Warning>
      L'URL pre-firmato scade in 60 secondi, quindi l'immagine deve essere caricata entro tale intervallo di tempo.
    </Warning>

    Una volta ricevuto l'URL pre-firmato dall'API, carica l'immagine usando il metodo `PUT`. Questo garantisce un accesso sicuro e temporaneo ad AWS S3 per il caricamento dell'immagine.

    **Librerie supportate per il caricamento su S3:**

    * **Node.js**: `axios`, `node-fetch`
    * **Python**: `requests`, `boto3`
    * **Go**: `net/http`
    * **PHP**: `GuzzleHttp`
    * **Ruby**: `rest-client`

    Se il caricamento ha successo, AWS S3 restituirà uno stato `200 OK`, indicando che l'immagine è stata archiviata con successo.

    <Card title="Upload Product Image API" icon="code" href="/api-reference/products/put-products-images">
      Consulta la struttura dettagliata della richiesta e della risposta nella documentazione dell'API Upload Product Image.
    </Card>
  </Accordion>

  <Accordion title="Archiving a Product">
    Se non desideri più visualizzare o utilizzare un prodotto, puoi archiviarlo utilizzando una richiesta `DELETE` all'endpoint `/products/{id}`. Questa azione nasconde il prodotto ma non lo elimina in modo permanente.

    <Card title="Archive Product API" icon="code" href="/api-reference/products/archive-product">
      Consulta la struttura dettagliata della richiesta e della risposta nella documentazione dell'API Archive Product.
    </Card>
  </Accordion>

  <Accordion title="Unarchiving a Product">
    Se hai bisogno di ripristinare un prodotto archiviato, invia una richiesta `POST` all'endpoint `/products/{product_id}/unarchive`. Questo riattiverà il prodotto e lo renderà nuovamente disponibile all'uso.

    <Card title="Unarchive Product API" icon="code" href="/api-reference/products/unarchive-product">
      Consulta la struttura dettagliata della richiesta e della risposta nella documentazione dell'API Unarchive Product.
    </Card>
  </Accordion>

  <Accordion title="Checkout & fulfillment">
    Crea flussi di pagamento o di abbonamento a partire dai prodotti e evadi automaticamente tramite benefici e webhook.

    <CardGroup cols={3}>
      <Card title="Checkout Sessions" icon="code" href="/developer-resources/checkout-session">
        Crea sessioni di checkout per acquisti una tantum o in abbonamento.
      </Card>

      <Card title="Payment Webhooks" icon="code" href="/developer-resources/webhooks/intents/payment">
        Reagisci agli eventi del ciclo di vita dei pagamenti.
      </Card>

      <Card title="Subscription Webhooks" icon="code" href="/developer-resources/webhooks/intents/subscription">
        Gestisci gli eventi di creazione, rinnovo e cancellazione degli abbonamenti.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Migliori pratiche

* **Inizia con chiarezza**: Prodotti separati per ciascuna opzione di prezzo (Mensile vs Annuale)
* **Usa prove in modo riflessivo**: Associa le prove con l'onboarding per stimolare l'attivazione
* **Automatizza la soddisfazione**: Usa vantaggi e webhook per consegnare istantaneamente
* **Tagga con metadati**: Memorizza i tuoi ID di sistema per la riconciliazione

<Check>
  Sei pronto a creare prodotti e iniziare a vendere: una tantum, ricorrente o in base all'utilizzo.
</Check>

## Correlati

<Card title="Product Analytics" icon="chart-mixed" href="/features/analytics-and-reporting#product-level-analytics">
  Monitora entrate, clienti, retention, abbonati e MRR per ciascun prodotto individuale.
</Card>
