Vai al contenuto principale

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.

Pagina di checkout
Il checkout di Dodo Payments è ottimizzato per la conversione e conforme a livello globale, progettato per prodotti digitali e aziende SaaS. Supporta più valute, lingue, tasse, sconti, componenti aggiuntivi e flussi di conformità orientati al business.

Checkout Sessions API

Crea sessioni di checkout ospitate in modo programmatico.

Preview Checkout

Calcola prezzi e tasse prima di creare una sessione.

Payment Methods

Metodi di pagamento supportati e opzioni di configurazione.

Valuta Adattiva

La Valuta Adattiva consente ai clienti di pagare nella loro valuta locale preferita, migliorando la fiducia e i tassi di conversione.

Come Funziona

  1. Abilita: Abilita Valuta Adattiva da Impostazioni → Business
  2. Seleziona: I clienti possono cambiare valuta direttamente al checkout
  3. Converti: I prezzi sono convertiti dinamicamente usando tassi di cambio in tempo reale
  4. Mostra: L’importo finale pagabile è mostrato in modo trasparente prima del pagamento
Selettore di valuta al checkout

Adaptive Currency

Scopri di più sulle valute supportate, le commissioni di conversione e la gestione dei rimborsi.

Checkout Multilingue

Dodo Payments supporta più lingue nella pagina di checkout, consentendo ai clienti di completare i pagamenti in una lingua con cui si sentono a proprio agio.
Selettore di lingua al checkout

Punti Chiave

  • Selettore di lingua disponibile direttamente al checkout
  • Testo dell’interfaccia utente, etichette e messaggi di sistema sono localizzati
  • Migliora l’accessibilità e la conversione internazionale

Lingue Supportate

La pagina di checkout supporta 21 lingue:
LinguaCodice
Araboar
Catalanoca
Cinesezh
Olandesenl
Ingleseen
Francesefr
Tedescode
Ebraicohe
Indonesianoid
Italianoit
Giapponeseja
Coreanoko
Malesems
Polaccopl
Portoghesept
Rumenoro
Russoru
Spagnoloes
Svedesesv
Tailandeseth
Turcotr
Puoi forzare una lingua specifica nel checkout impostando il parametro force_language durante la creazione di una sessione di checkout. Consulta l’API Checkout Sessions per maggiori dettagli.

Calcolo automatico delle tasse

Le tasse vengono calcolate automaticamente in base alla località di fatturazione del cliente, garantendo la conformità a GST, IVA e imposte sulle vendite senza configurazioni manuali.

Come funziona il calcolo delle tasse

1

Location Detection

Le regole fiscali vengono applicate in base al paese del cliente (e alla regione quando applicabile).
2

Dynamic Updates

L’importo delle tasse si aggiorna automaticamente quando:
  • Cambia il paese
  • Viene aggiornato l’indirizzo
3

Transparent Display

La ripartizione finale delle tasse viene mostrata chiaramente prima del pagamento.
Il calcolo delle tasse è completamente automatico. Non è necessaria alcuna configurazione manuale per beni digitali standard e prodotti SaaS.

Supporto per l’ID fiscale aziendale

Per le aziende registrate, il checkout consente ai clienti di inserire il proprio ID fiscale aziendale (ad esempio, numero IVA/GST).

Cosa succede quando viene inserito un ID fiscale

  • L’idoneità fiscale viene convalidata in tempo reale
  • Vengono applicate eventuali esenzioni fiscali o regole di inversione contabile
  • L’importo delle tasse si aggiorna istantaneamente durante il checkout
Inserimento del codice fiscale aziendale al checkout
Questo è particolarmente utile per SaaS B2B e servizi digitali in cui i clienti business possono essere idonei a esenzioni fiscali.

Codici sconto

I clienti possono applicare codici sconto o promozionali creati nella dashboard direttamente nella pagina di checkout.

Esperienza di checkout

  1. Il cliente inserisce il codice sconto
  2. Lo sconto viene convalidato istantaneamente
  3. Il prezzo aggiornato e il risparmio vengono mostrati chiaramente
Inserimento del codice sconto al checkout

Integrazione API

Pre-applica uno o più codici sconto impilati o abilita il campo di input per gli sconti:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  discount_codes: ['WELCOME20'], // Pre-apply one or more codes (max 20, applied in order)
  feature_flags: {
    allow_discount_code: true // Show discount input field
  },
  return_url: 'https://yoursite.com/return'
});
discount_codes accetta un array di un massimo di 20 codici che si impilano in ordine. Il campo singolare discount_code è obsoleto ma funziona ancora — le integrazioni esistenti non devono cambiare immediatamente. Passa a discount_codes quando conveniente per usare le impilature e la struttura di risposta più ricca.

Discount Codes

Scopri come creare e gestire i codici sconto.

Validate Discount by Code

Cerca e valida gli sconti utilizzando i nomi dei codici.

Raccolta Indirizzi Intelligente

Il checkout supporta l’inserimento flessibile degli indirizzi per un completamento più rapido.

Opzioni Disponibili

OpzioneDescrizione
Completamento automatico indirizzi GoogleSelezione rapida con completamento automatico
Inserimento manualeControllo completo per indirizzi completi
Selezione del paeseGuida alla logica fiscale e di conformità
La raccolta degli indirizzi bilancia velocità, precisione e copertura globale per massimizzare la conversione garantendo la conformità.

Raccolta del Numero di Telefono

Controlla se il campo del numero di telefono appare al checkout — e se è richiesto — usando i flag delle funzionalità della sessione di checkout.
FlagPredefinitoComportamento
allow_phone_number_collectiontrueMostra il campo del numero di telefono nel modulo di checkout
require_phone_numberfalseRende il campo del numero di telefono obbligatorio (la verifica del modulo ne richiede un valore non vuoto)
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_abc', quantity: 1 }],
  feature_flags: {
    allow_phone_number_collection: true,
    require_phone_number: true
  },
  return_url: 'https://yoursite.com/return'
});
require_phone_number: true richiede allow_phone_number_collection: true. L’API rifiuta le sessioni in cui la raccolta telefonica è disabilitata mentre il numero di telefono è richiesto.
Usa require_phone_number per SaaS B2B, settori regolamentati o qualsiasi flusso in cui è necessario un canale di contatto verificato per supporto, revisione delle frodi o conformità.

Campi Personalizzati

Raccogli informazioni aggiuntive dai clienti durante il checkout definendo campi del modulo personalizzati. Questo è utile per raccogliere dati come il nome dell’azienda, le dimensioni del team, la fonte di riferimento o qualsiasi altra informazione aziendale specifica.

Tipi di Campo Disponibili

TipoDescrizione
textInput di testo a singola linea
numberInput numerico
emailIndirizzo email con validazione
urlURL con validazione
dateSelettore di data
dropdownSeleziona da opzioni predefinite
booleanToggle Sì/No

Esempio

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  custom_fields: [
    {
      key: 'company_name',
      label: 'Company Name',
      field_type: 'text',
      required: true
    },
    {
      key: 'team_size',
      label: 'Team Size',
      field_type: 'dropdown',
      required: true,
      options: ['1-10', '11-50', '51-200', '200+']
    }
  ],
  return_url: 'https://yoursite.com/return'
});
Le risposte dei clienti sono automaticamente incluse nei payload dei webhook (payment.succeeded, subscription.active) e nelle risposte API tramite l’array custom_field_responses. Puoi definire fino a 5 campi personalizzati per sessione di checkout.

Custom Fields Guide

Scopri di più sulla configurazione dei campi personalizzati e sull’accesso alle risposte.

Accettazione delle Politiche sulla Privacy & Termini

Per garantire trasparenza legale e di conformità:
Questo aiuta a soddisfare i requisiti globali di protezione dei consumatori e di privacy dei dati, inclusa la conformità GDPR.

Checkout della Collezione

Le Collezioni di Prodotti consentono un’esperienza di checkout unificata in cui i clienti possono visualizzare e selezionare tra più prodotti correlati (ad es., piani Starter, Pro, Enterprise) in un unico checkout.

Come Funziona

  1. Tutti i prodotti visualizzati: I clienti vedono ogni prodotto attivo nella collezione
  2. Primo prodotto preselezionato: Il primo prodotto nella collezione è selezionato automaticamente
  3. Confronta opzioni: I clienti possono confrontare prezzi e funzionalità prima di scegliere
  4. Selezione singola: Dopo aver selezionato un prodotto, il checkout procede con il flusso di pagamento standard

Creazione di un Checkout della Collezione

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'
});
Quando si utilizza product_collection_id, passa un array product_cart vuoto. I codici sconto non possono essere pre-applicati alla creazione della sessione.

Product Collections

Scopri come creare e gestire le collezioni di prodotti per esperienze di checkout unificate.

Configurazione della Sessione di Checkout

Controlla il comportamento del checkout usando l’API delle Sessioni di Checkout:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customer: {
    email: 'customer@example.com',
    name: 'Jane Doe'
  },
  billing_currency: 'EUR', // Set specific currency
  discount_codes: ['PROMO10'],
  feature_flags: {
    allow_discount_code: true
  },
  return_url: 'https://yoursite.com/return',
  cancel_url: 'https://yoursite.com/pricing', // Optional: where to redirect on cancel
  metadata: {
    order_ref: 'ORD-12345'
  }
});
Dopo il pagamento, i clienti sono reindirizzati al tuo return_url con parametri di query aggiunti automaticamente — tra cui payment_id o subscription_id, status, email e license_key (se applicabile). Consulta la Guida alle Sessioni di Checkout per l’elenco completo.

Checkout Sessions API

Riferimento completo all’API delle sessioni di checkout.

Checkout Integration Guide

Guida passo passo per integrare il checkout.

Personalizzazione Tema di Checkout

Personalizza l’aspetto della pagina di checkout per adattarsi al tuo marchio utilizzando il parametro customization.theme_config quando crei una sessione di checkout tramite l’API. Configura colori, caratteri, raggio bordo e testo del pulsante per modalità chiara e scura.
Pagina di checkout con tema personalizzato

Design & Theme Customization

Configura i temi visivamente dalla dashboard con temi pre-costruiti, tipografia, colori e anteprima dal vivo.
Questa sezione copre la configurazione del tema lato server API utilizzando customization.theme_config. Se utilizzi il Checkout SDK (overlay o inline checkout), consulta le sezioni di personalizzazione del tema in Overlay Checkout o Inline Checkout che utilizzano proprietà camelCase (es. bgPrimary invece di bg_primary).

Opzioni di Configurazione del Tema

ProprietàDescrizione
lightConfigurazione colore per la modalità chiara
darkConfigurazione colore per la modalità scura
font_primary_urlURL per il carattere primario
font_secondary_urlURL per il carattere secondario
font_sizeDimensione del carattere: xs, sm, md, lg, xl, 2xl
font_weightPeso del carattere: normal, medium, bold, extraBold
radiusRaggio del bordo per elementi UI (es. 4px, 0.5rem, 8px)
pay_button_textTesto personalizzato per il pulsante di pagamento (es. “Completa l’Acquisto”, “Abbonati Ora”)

Configurazione del Colore (Modalità Chiara/Scura)

Ogni modalità (light e dark) supporta le seguenti proprietà di colore:
ProprietàDescrizione
bg_primaryColore primario dello sfondo
bg_secondaryColore secondario dello sfondo
text_primaryColore primario del testo
text_secondaryColore secondario del testo
text_placeholderColore del testo di segnaposto
text_errorColore del testo di errore
text_successColore del testo di successo
border_primaryColore primario del bordo
border_secondaryColore secondario del bordo
button_primaryColore di sfondo del pulsante primario
button_primary_hoverColore al passaggio del mouse sul pulsante primario
button_secondaryColore di sfondo del pulsante secondario
button_secondary_hoverColore al passaggio del mouse sul pulsante secondario
button_text_primaryColore del testo del pulsante primario
button_text_secondaryColore del testo del pulsante secondario
input_focus_borderColore del bordo a fuoco dell’input
Tutti i campi colore accettano i formati del colore CSS standard:
  • Hex: #fff, #ffffff, #ffffffff
  • RGB/RGBA: rgb(255, 255, 255), rgba(255, 255, 255, 0.5)
  • HSL/HSLA: hsl(120, 100%, 50%), hsla(120, 100%, 50%, 0.5)
  • Colori denominati: red, blue, transparent

Esempio

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customization: {
    theme_config: {
      // Custom fonts
      font_primary_url: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap',
      font_size: 'md',
      font_weight: 'medium',
      radius: '8px',
      pay_button_text: 'Complete Purchase',
      
      // Light mode colors
      light: {
        bg_primary: '#ffffff',
        bg_secondary: '#f5f5f5',
        text_primary: '#1a1a1a',
        text_secondary: '#666666',
        button_primary: '#0066ff',
        button_primary_hover: '#0052cc',
        button_text_primary: '#ffffff',
        border_primary: '#e0e0e0'
      },
      
      // Dark mode colors
      dark: {
        bg_primary: '#1a1a1a',
        bg_secondary: '#2d2d2d',
        text_primary: '#ffffff',
        text_secondary: '#a0a0a0',
        button_primary: '#3385ff',
        button_primary_hover: '#4d99ff',
        button_text_primary: '#ffffff',
        border_primary: '#404040'
      }
    }
  },
  return_url: 'https://yoursite.com/return'
});
Non è necessario specificare tutte le proprietà del colore. Qualsiasi proprietà non specificata utilizzerà i valori del tema predefiniti.
Last modified on May 22, 2026