Skip to main content
Il checkout inline incorpora un modulo di pagamento sicuro direttamente nel layout della tua pagina. A differenza del checkout overlay, che si apre come modale, il checkout inline diventa parte della tua pagina. Controlli il layout e puoi visualizzare il riepilogo dell’ordine accanto al modulo di checkout.
Modulo di checkout inline incorporato in una pagina prodotto con riepilogo dell’ordine

Come funziona

Il checkout inline visualizza un frame sicuro di Dodo Payments all’interno di un contenitore nella tua pagina. Il frame gestisce la raccolta dei dati del cliente e dei dettagli di pagamento. La tua pagina visualizza articoli, totali e altre informazioni. L’SDK consente alla tua pagina e al frame di checkout di comunicare tra loro. Al completamento del checkout, Dodo Payments crea il pagamento o l’abbonamento per un prodotto in abbonamento e invia un webhook per consentirti di fornire l’accesso.
Il frame del checkout inline gestisce in modo sicuro tutte le informazioni di pagamento sensibili, garantendo la conformità PCI senza richiedere certificazioni aggiuntive da parte tua.

Cosa rende efficace un checkout inline

I clienti devono sapere da chi stanno acquistando, cosa stanno acquistando e quanto stanno pagando. La tua implementazione deve includere:
Esempio di checkout inline con gli elementi obbligatori contrassegnati

Example inline checkout layout showing required elements

  1. Informazioni ricorrenti: se il pagamento è ricorrente, mostra la frequenza e il totale da pagare al rinnovo. Se è prevista una prova gratuita, mostrane la durata.
  2. Descrizioni degli articoli: una descrizione di ciò che viene acquistato.
  3. Totali della transazione: subtotale, imposta totale e totale complessivo, inclusa la valuta.
  4. Piè di pagina di Dodo Payments: il frame completo del checkout inline, incluso il piè di pagina con le informazioni di Dodo Payments, i termini di vendita e l’informativa sulla privacy.
  5. Politica di rimborso: un link alla tua politica di rimborso, se differisce dalla politica di rimborso standard di Dodo Payments.
Visualizza sempre il frame completo del checkout inline, incluso il piè di pagina. Rimuovere o nascondere le informazioni legali viola i requisiti di conformità.

Percorso del cliente

Il flusso di checkout dipende dalla configurazione della sessione di checkout. In base a come configuri la sessione, i clienti potrebbero visualizzare tutte le informazioni su un’unica pagina oppure distribuite su più passaggi.
1

Customer opens checkout

Apri il checkout inline passando un URL di checkout. Usa gli eventi dell’SDK, come checkout.breakdown, per visualizzare e aggiornare le informazioni nella pagina.Pagina iniziale del checkout con elenco degli articoli e modulo di pagamento
2

Customer enters their details

Il checkout inline chiede innanzitutto ai clienti di inserire il proprio indirizzo email, selezionare il paese e, se richiesto, inserire il codice ZIP o il codice postale. Questo passaggio raccoglie tutte le informazioni necessarie per determinare le imposte e i metodi di pagamento disponibili.Puoi precompilare i dati del cliente e mostrare gli indirizzi salvati per semplificare l’esperienza.
3

Customer selects payment method

Dopo aver inserito i propri dati, i clienti visualizzano i metodi di pagamento disponibili e il modulo di pagamento. Le opzioni possono includere carta di credito o debito, PayPal, Apple Pay, Google Pay e altri metodi di pagamento locali in base alla posizione.Visualizza i metodi di pagamento salvati, se disponibili, per velocizzare il checkout.Metodi di pagamento disponibili e modulo per i dettagli della carta
4

Checkout completed

Dodo Payments instrada ogni pagamento verso l’acquirer migliore per quella vendita, così da massimizzare le probabilità di successo. I clienti accedono a un flusso di successo che puoi creare.Schermata di successo con segno di spunta di conferma
5

Dodo Payments creates the payment or subscription

Dodo Payments crea il pagamento o l’abbonamento per un prodotto in abbonamento e invia un webhook per consentirti di fornire l’accesso. Il metodo di pagamento utilizzato dal cliente viene salvato per i rinnovi o le modifiche all’abbonamento.Abbonamento creato con notifica webhook

Avvio rapido

Installa l’SDK, inizializzalo per la modalità inline e apri il checkout in un elemento contenitore:
Assicurati di avere nella pagina un elemento contenitore con il corrispondente id: <div id="dodo-inline-checkout"></div>.

Integrazione passo passo

1

Install the SDK

Installa tramite npm, yarn o pnpm:
2

Initialize the SDK for Inline Display

Inizializza l’SDK e specifica displayType: 'inline'. Ascolta l’evento checkout.breakdown per aggiornare l’interfaccia con i calcoli in tempo reale di imposte e totali:
3

Create a Container Element

Aggiungi al tuo HTML un elemento nel quale verrà inserito il frame del checkout:
4

Open the Checkout

Chiama DodoPayments.Checkout.open() con checkoutUrl e elementId del contenitore:
5

Test Your Integration

  1. Avvia il server di sviluppo:
  1. Testa il flusso di checkout:
    • Inserisci email e dati dell’indirizzo nel frame inline
    • Verifica che il riepilogo dell’ordine personalizzato si aggiorni in tempo reale
    • Testa il flusso di pagamento usando credenziali di test
    • Conferma che i reindirizzamenti funzionino correttamente
Dovresti vedere gli eventi checkout.breakdown registrati nella console del browser se hai aggiunto un log della console nel callback onEvent.
6

Go Live

Quando sei pronto per la produzione:
  1. Modifica la modalità in 'live':
  1. Aggiorna gli URL di checkout per usare sessioni di checkout live dal tuo backend
  2. Testa l’intero flusso in produzione

Esempio completo in React

Questo esempio mostra come implementare un riepilogo dell’ordine personalizzato accanto al checkout inline, mantenendoli sincronizzati tramite l’evento checkout.breakdown:

Riferimento API

Inizializzazione

Chiama Initialize una volta per configurare l’SDK:

Apertura del checkout

Apri il frame del checkout in un contenitore:

Chiusura del checkout

Rimuovi programmaticamente il frame del checkout e cancella gli event listener:

Verifica dello stato

Verifica se il frame del checkout è attualmente inserito:

Eventi

L’SDK fornisce eventi in tempo reale tramite il callback onEvent. Per il checkout inline, checkout.breakdown è particolarmente utile per sincronizzare l’interfaccia:

Dati del riepilogo del checkout

L’evento checkout.breakdown fornisce informazioni sui prezzi e sulle imposte:
L’evento viene attivato quando il frame del checkout viene caricato e nuovamente ogni volta che il prezzo viene ricalcolato, ad esempio quando il cliente seleziona un paese o inserisce un codice postale che modifica l’imposta. Dettagli dei campi: Suggerimenti per l’integrazione:
  1. Formattazione della valuta: i prezzi sono numeri interi nell’unità minima della valuta, ad esempio i centesimi per USD. Per le valute con due decimali, dividi per 100 prima di formattare con Intl.NumberFormat. Le valute senza decimali, come JPY, non hanno un’unità minore, quindi non devono essere divise.
  2. Gestione degli stati iniziali: al primo caricamento del checkout, tax e discount possono essere 0 o null finché l’utente non fornisce i dati di fatturazione o applica un codice. Gestisci questi stati in modo appropriato, ad esempio mostrando un trattino — o nascondendo la riga.
  3. “Totale finale” e “Totale”: mentre total fornisce il calcolo del prezzo standard, finalTotal è la fonte autorevole per la transazione. Se finalTotal è presente, riflette esattamente l’importo che verrà addebitato sulla carta del cliente.
  4. Feedback in tempo reale: usa il campo tax per mostrare agli utenti che le imposte vengono calcolate in tempo reale. Questo rende la pagina di checkout più dinamica e riduce gli attriti durante l’inserimento dell’indirizzo.

Implementazione tramite CDN

Per una rapida integrazione senza una fase di build, carica l’SDK dal CDN:

Aggiornamento del metodo di pagamento

Il checkout inline supporta l’aggiornamento dei metodi di pagamento per gli abbonamenti. Quando un cliente deve aggiornare il metodo di pagamento di un abbonamento attivo o riattivare un abbonamento sospeso, puoi visualizzare il flusso di aggiornamento direttamente nel layout della tua pagina.

Come funziona

  1. Chiama l’API Update Payment Method per ottenere un payment_link:
  1. Passa l’payment_link restituito come checkoutUrl per aprire il checkout inline:
Il frame inline visualizza solo il modulo per la raccolta del metodo di pagamento. I clienti possono inserire i dati di una nuova carta o selezionare un metodo di pagamento salvato senza lasciare la pagina.

Per gli abbonamenti sospesi

Quando aggiorni il metodo di pagamento di un abbonamento nello stato on_hold, Dodo Payments crea automaticamente un addebito per gli importi ancora dovuti. Monitora i webhook payment.succeeded e subscription.active per confermare la riattivazione.
Puoi anche usare un metodo di pagamento salvato esistente invece di raccogliere nuovi dati, passando type: 'existing' con un payment_method_id all’API Update Payment Method.

Gestione degli errori

Implementa sempre la gestione degli errori nel callback onEvent:
Gestisci sempre l’evento checkout.error per offrire una buona esperienza utente quando si verificano errori.

Best practice

  1. Design responsive: assicurati che l’elemento contenitore disponga di larghezza e altezza sufficienti. In genere l’iframe si espande fino a riempire il contenitore.
  2. Sincronizzazione: usa l’evento checkout.breakdown per mantenere sincronizzati il riepilogo dell’ordine personalizzato o le tabelle dei prezzi con ciò che l’utente vede nel frame di checkout.
  3. Stati skeleton: mostra un indicatore di caricamento nel contenitore finché non viene attivato l’evento checkout.opened.
  4. Pulizia: chiama DodoPayments.Checkout.close() quando il componente viene smontato, per rimuovere l’iframe e gli event listener.
Per le implementazioni in modalità scura, usa #0d0d0d come colore di sfondo per un’integrazione visiva ottimale con il frame del checkout inline.

Convalida dello stato del pagamento

Non affidarti esclusivamente agli eventi del checkout inline per determinare il successo o il fallimento del pagamento. Implementa sempre la convalida lato server usando webhook e/o polling.

Perché la convalida lato server è essenziale

Sebbene gli eventi del checkout inline forniscano feedback in tempo reale, non devono essere l’unica fonte autorevole per lo stato del pagamento. Problemi di rete, arresti anomali del browser o utenti che chiudono la pagina possono causare la perdita degli eventi. Per garantire una convalida affidabile del pagamento:
  1. Ascolta gli eventi webhook - Dodo Payments invia webhook per le modifiche allo stato del pagamento
  2. Implementa un meccanismo di polling - Il frontend deve interrogare il server per ricevere gli aggiornamenti di stato
  3. Combina entrambi gli approcci - Usa i webhook come fonte primaria e il polling come fallback

Architettura consigliata

Passaggi di implementazione

1. Ascolta gli eventi del checkout - Quando l’utente fa clic su paga, inizia a prepararti per verificare lo stato:
2. Interroga il server - Crea un endpoint che verifichi nel database lo stato del pagamento, aggiornato dai webhook:
3. Gestisci i webhook lato server - Aggiorna il database quando Dodo invia webhook payment.succeeded o payment.failed. Consulta la nostra documentazione sui webhook per maggiori dettagli.

Risoluzione dei problemi

  • Verifica che elementId corrisponda all’id di un div effettivamente presente nel DOM
  • Assicurati che displayType: 'inline' sia stato passato a Initialize
  • Verifica che checkoutUrl sia valido
  • Assicurati di ascoltare l’evento checkout.breakdown
  • Le imposte vengono calcolate solo dopo che l’utente ha inserito un paese e un codice postale validi nel frame del checkout

Wallet digitali

Per informazioni dettagliate sulla configurazione di Apple Pay, Google Pay e altri wallet digitali, consulta la pagina Wallet digitali.

Configurazione rapida di Apple Pay

La verifica del dominio è necessaria solo per il checkout inline (incorporato). Non è necessaria per il checkout hosted.
Apple Pay non è disponibile per il checkout overlay.
Apple Pay viene verificato per dominio dalla dashboard.
1

Open Wallet domains

Vai a Settings → Payment Methods e, nella riga Apple Pay, fai clic su Manage domains.
Pulsante Manage domains nella riga Apple Pay nelle impostazioni Payment Methods

Open Wallet domains from the Apple Pay row

2

Download the domain association file

Nel pannello Wallet domains, scarica il file di associazione.
Pannello Wallet domains con il pulsante Download file

Download the Apple Pay domain association file

3

Register your domain

Fai clic su Register domain e inserisci il dominio in cui incorpori il checkout inline, ad esempio shop.example.com, quindi fai clic su Continue.
Modulo di registrazione di un dominio con un dominio inserito

Register the domain where you embed inline checkout

4

Host the file on your domain

Ospitalo all’indirizzo:
Deve essere servito tramite HTTPS, raggiungibile senza reindirizzamenti e fornito con Content-Type: application/octet-stream o text/plain.
5

Verify the domain

Fai clic su Verify domain. Dodo Payments conferma che il file è disponibile e invia il tuo dominio ad Apple.
Schermata di verifica del dominio con il percorso del file di associazione e il pulsante Verify domain

Verify the hosted association file

6

Confirm it's active

Quando lo stato mostra Active, Apple Pay è abilitato per quel dominio. Usa l’interruttore Enabled per attivarlo o disattivarlo per ciascun dominio.
Elenco dei domini Wallet con domini che mostrano lo stato Active di Apple Pay e gli interruttori Enabled

Verified domains show an Active status

7

Test the integration

  1. Apri il checkout su un dispositivo Apple
  2. Verifica che venga visualizzato il pulsante Apple Pay
  3. Completa una transazione di test

Supporto dei browser

L’SDK Checkout di Dodo Payments supporta:
  • Chrome (ultima versione)
  • Firefox (ultima versione)
  • Safari (ultima versione)
  • Edge (ultima versione)
  • IE11+

Checkout inline e overlay

Scegli il tipo di checkout più adatto al tuo caso d’uso:
Usa il checkout inline quando vuoi il massimo controllo sull’esperienza di checkout e un branding coerente. Usa il checkout overlay per un’integrazione più rapida con modifiche minime alle pagine esistenti.

Risorse correlate

Overlay Checkout

Usa il checkout overlay per una rapida integrazione basata su modale.

Checkout Sessions API

Crea sessioni di checkout per alimentare le tue esperienze di checkout.

Webhooks

Gestisci gli eventi di pagamento lato server con i webhook.

Integration Guide

Guida completa all’integrazione di Dodo Payments.
Per ulteriore assistenza, visita la nostra community Discord o contatta il nostro team di supporto per sviluppatori.
Ultima modifica il 26 settembre 2026