Panoramica
Il checkout inline ti consente di creare esperienze di checkout completamente integrate che si fondono perfettamente con il tuo sito web o applicazione. A differenza del checkout overlay, che si apre come un modale sopra la tua pagina, il checkout inline incorpora il modulo di pagamento direttamente nel layout della tua pagina. Utilizzando il checkout inline, puoi:- Creare esperienze di checkout completamente integrate con la tua app o sito web
- Consentire a Dodo Payments di catturare in modo sicuro le informazioni sui clienti e sui pagamenti in un frame di checkout ottimizzato
- Visualizzare articoli, totali e altre informazioni da Dodo Payments sulla tua pagina
- Utilizzare metodi e eventi SDK per costruire esperienze di checkout avanzate

Come Funziona
Il checkout inline funziona incorporando un frame sicuro di Dodo Payments nel tuo sito web o app. Il frame di checkout gestisce la raccolta delle informazioni sui clienti e la cattura dei dettagli di pagamento. La tua pagina visualizza l’elenco degli articoli, i totali e le opzioni per modificare ciò che è presente nel checkout. L’SDK consente alla tua pagina e al frame di checkout di interagire tra loro. Dodo Payments crea automaticamente un abbonamento quando un checkout viene completato, pronto per essere attivato da te.Cosa Rende un Buon Checkout Inline?
È importante che i clienti sappiano da chi stanno acquistando, cosa stanno acquistando e quanto stanno pagando. Per costruire un checkout inline che sia conforme e ottimizzato per la conversione, la tua implementazione deve includere:
Esempio di layout del checkout inline che mostra gli elementi richiesti
- Informazioni ricorrenti: Se ricorrente, con quale frequenza si ripete e il totale da pagare al rinnovo. Se è una prova, quanto dura la prova.
- Descrizioni degli articoli: Una descrizione di ciò che viene acquistato.
- Totali delle transazioni: Totali delle transazioni, inclusi subtotale, totale delle tasse e totale generale. Assicurati di includere anche la valuta.
- Footer di Dodo Payments: L’intero frame di checkout inline, incluso il footer del checkout che contiene informazioni su Dodo Payments, i nostri termini di vendita e la nostra politica sulla privacy.
- Politica di rimborso: Un link alla tua politica di rimborso, se differente dalla politica standard di rimborso di Dodo Payments.
Percorso del Cliente
Il flusso di checkout è determinato dalla configurazione della tua sessione di checkout. A seconda di come configuri la sessione di checkout, i clienti vivranno un checkout che può presentare tutte le informazioni su una singola pagina o attraverso più passaggi.Il cliente apre il checkout

Il cliente inserisce i propri dettagli
Il cliente seleziona il metodo di pagamento

Checkout completato

Dodo Payments crea l'abbonamento

Inizio Veloce
Inizia con il Checkout Inline di Dodo Payments in poche righe di codice:Guida all’Integrazione Passo-Passo
Installa l'SDK
Inizializza l'SDK per la Visualizzazione Inline
displayType: 'inline'. Dovresti anche ascoltare l’evento checkout.breakdown per aggiornare la tua UI con calcoli in tempo reale di tasse e totali.Crea un Elemento Contenitore
Apri il Checkout
DodoPayments.Checkout.open() con il checkoutUrl e il elementId del tuo contenitore:Testa la Tua Integrazione
- Avvia il tuo server di sviluppo:
- Testa il flusso di checkout:
- Inserisci i tuoi dettagli email e indirizzo nel frame inline.
- Verifica che il tuo riepilogo ordine personalizzato si aggiorni in tempo reale.
- Testa il flusso di pagamento utilizzando credenziali di test.
- Conferma che i reindirizzamenti funzionino correttamente.
checkout.breakdown registrati nella console del tuo browser se hai aggiunto un log nella callback onEvent.Vai in Produzione
- Cambia la modalità in
'live':
- Aggiorna i tuoi URL di checkout per utilizzare sessioni di checkout live dal tuo backend.
- Testa il flusso completo in produzione.
Esempio Completo in React
Questo esempio dimostra come implementare un riepilogo ordine personalizzato insieme al checkout inline, mantenendoli sincronizzati utilizzando l’eventocheckout.breakdown.
Riferimento API
Configurazione
Opzioni di Inizializzazione
| Opzione | Tipo | Richiesta | Descrizione |
|---|---|---|---|
mode | "test" | "live" | Sì | Modalità ambiente. |
displayType | "inline" | "overlay" | Sì | Deve essere impostato su "inline" per incorporare il checkout. |
onEvent | function | Sì | Funzione di callback per gestire gli eventi di checkout. |
Opzioni di Checkout
| Opzione | Tipo | Richiesto | Descrizione |
|---|---|---|---|
checkoutUrl | string | Sì | URL della sessione di checkout. |
elementId | string | Sì | Il id dell’elemento DOM dove il checkout dovrebbe essere visualizzato. |
options.showTimer | boolean | No | Mostra o nascondi il timer del checkout. Predefinito a true. Quando disabilitato, riceverai l’evento checkout.link_expired quando la sessione scade. |
options.showSecurityBadge | boolean | No | Mostra o nascondi il badge di sicurezza. Predefinito a true. |
options.manualRedirect | boolean | No | Quando abilitato, il checkout non verrà reindirizzato automaticamente dopo il completamento. Invece, riceverai gli eventi checkout.status e checkout.redirect_requested per gestire tu stesso il reindirizzamento. |
options.payButtonText | string | No | Testo personalizzato da visualizzare sul pulsante di pagamento. |
Metodi
Apri Checkout
Apre il frame di checkout nel contenitore specificato.manualRedirect, gestisci il completamento del checkout nel tuo callback onEvent:
Chiudi Checkout
Rimuove programmaticamente il frame di checkout e pulisce i listener degli eventi.Controlla Stato
Restituisce se il frame di checkout è attualmente iniettato.Eventi
L’SDK fornisce eventi in tempo reale attraverso il callbackonEvent. Per il checkout inline, checkout.breakdown è particolarmente utile per sincronizzare la tua UI.
| Tipo di Evento | Descrizione |
|---|---|
checkout.opened | Il frame di checkout è stato caricato. |
checkout.breakdown | Attivato quando i prezzi, le tasse o gli sconti vengono aggiornati. |
checkout.customer_details_submitted | I dettagli del cliente sono stati inviati. |
checkout.redirect | Il checkout eseguirà un reindirizzamento (ad esempio, a una pagina bancaria). |
checkout.error | Si è verificato un errore durante il checkout. |
checkout.link_expired | Attivato quando la sessione di checkout scade. Ricevuto solo quando showTimer è impostato su false. |
checkout.status | Attivato quando manualRedirect è abilitato. Contiene lo stato del checkout (succeeded, failed, o processing). |
checkout.redirect_requested | Attivato quando manualRedirect è abilitato. Contiene l’URL a cui reindirizzare il cliente. |
Dati di Breakdown del Checkout
L’eventocheckout.breakdown fornisce i seguenti dati:
Dati dell’Evento di Stato del Checkout
QuandomanualRedirect è abilitato, ricevi l’evento checkout.status con i seguenti dati:
Dati dell’Evento di Reindirizzamento del Checkout Richiesto
QuandomanualRedirect è abilitato, ricevi l’evento checkout.redirect_requested con i seguenti dati:
Comprendere l’Evento di Breakdown
L’eventocheckout.breakdown è il modo principale per mantenere la UI della tua applicazione sincronizzata con lo stato del checkout di Dodo Payments.
Quando si attiva:
- All’inizializzazione: Immediatamente dopo che il frame di checkout è stato caricato e pronto.
- Al cambio di indirizzo: Ogni volta che il cliente seleziona un paese o inserisce un codice postale che comporta un ricalcolo delle tasse.
| Campo | Descrizione |
|---|---|
subTotal | La somma di tutti gli articoli nella sessione prima che vengano applicati sconti o tasse. |
discount | Il valore totale di tutti gli sconti applicati. |
tax | L’importo delle tasse calcolato. In modalità inline, questo si aggiorna dinamicamente mentre l’utente interagisce con i campi dell’indirizzo. |
total | Il risultato matematico di subTotal - discount + tax nella valuta base della sessione. |
currency | Il codice valuta ISO (ad es., "USD") per i valori standard di subtotale, sconto e tassa. |
finalTotal | L’importo effettivo addebitato al cliente. Questo può includere ulteriori aggiustamenti di cambio estero o commissioni di metodo di pagamento locale che non fanno parte della ripartizione del prezzo di base. |
finalTotalCurrency | La valuta in cui il cliente sta effettivamente pagando. Questo può differire da currency se è attiva la parità di potere d’acquisto o la conversione della valuta locale. |
- Formattazione della valuta: I prezzi vengono sempre restituiti come interi nella più piccola unità di valuta (ad es., centesimi per USD, yen per JPY). Per visualizzarli, dividi per 100 (o la potenza appropriata di 10) o utilizza una libreria di formattazione come
Intl.NumberFormat. - Gestione degli stati iniziali: Quando il checkout viene caricato per la prima volta,
taxediscountpossono essere0onullfino a quando l’utente non fornisce le proprie informazioni di fatturazione o applica un codice. La tua UI dovrebbe gestire questi stati in modo elegante (ad es., mostrando un trattino—o nascondendo la riga). - Il “Totale Finale” vs “Totale”: Mentre
totalti fornisce il calcolo del prezzo standard,finalTotalè la fonte di verità per la transazione. SefinalTotalè presente, riflette esattamente ciò che sarà addebitato sulla carta del cliente, inclusi eventuali aggiustamenti dinamici. - Feedback in tempo reale: Utilizza il campo
taxper mostrare agli utenti che le tasse vengono calcolate in tempo reale. Questo fornisce una sensazione di “live” alla tua pagina di checkout e riduce l’attrito durante la fase di inserimento dell’indirizzo.
Opzioni di Implementazione
Installazione tramite Package Manager
Installa tramite npm, yarn o pnpm come mostrato nella Guida all’Integrazione Passo-Passo.Implementazione CDN
Per un’integrazione rapida senza un passaggio di build, puoi utilizzare il nostro CDN:Personalizzazione del Tema
Puoi personalizzare l’aspetto del checkout passando un oggettothemeConfig nel parametro options quando apri il checkout. La configurazione del tema supporta sia modalità chiara che scura, consentendoti di personalizzare colori, bordi, testo, pulsanti e raggio dei bordi.
Configurazione di Base del Tema
Configurazione Completa del Tema
Tutte le proprietà del tema disponibili:Solo Modalità Chiara
Se desideri personalizzare solo il tema chiaro:Solo Modalità Scura
Se desideri personalizzare solo il tema scuro:Sovrascrittura Parziale del Tema
Puoi sovrascrivere solo proprietà specifiche. Il checkout utilizzerà valori predefiniti per le proprietà che non specifichi:Configurazione del Tema con Altre Opzioni
Puoi combinare la configurazione del tema con altre opzioni di checkout:Tipi TypeScript
Per gli utenti TypeScript, tutti i tipi di configurazione del tema sono esportati:Gestione degli Errori
L’SDK fornisce informazioni dettagliate sugli errori attraverso il sistema di eventi. Implementa sempre una corretta gestione degli errori nel tuo callbackonEvent:
Migliori Pratiche
- Design Responsivo: Assicurati che il tuo elemento contenitore abbia abbastanza larghezza e altezza. L’iframe si espanderà tipicamente per riempire il suo contenitore.
- Sincronizzazione: Usa l’evento
checkout.breakdownper mantenere il tuo riepilogo ordine personalizzato o le tabelle dei prezzi sincronizzate con ciò che l’utente vede nel frame del checkout. - Stati di Caricamento: Mostra un indicatore di caricamento nel tuo contenitore fino a quando non si attiva l’evento
checkout.opened. - Pulizia: Chiama
DodoPayments.Checkout.close()quando il tuo componente viene smontato per pulire l’iframe e i listener degli eventi.
#0d0d0d come colore di sfondo per un’integrazione visiva ottimale con il frame di checkout inline.Risoluzione dei Problemi
Il frame del checkout non appare
Il frame del checkout non appare
- Verifica che
elementIdcorrisponda aiddi undivche esiste effettivamente nel DOM. - Assicurati che
displayType: 'inline'sia stato passato aInitialize. - Controlla che
checkoutUrlsia valido.
Le tasse non si aggiornano nella mia UI
Le tasse non si aggiornano nella mia UI
- Assicurati di ascoltare l’evento
checkout.breakdown. - Le tasse vengono calcolate solo dopo che l’utente inserisce un paese e un codice postale validi nel frame del checkout.
Abilitare Apple Pay
Apple Pay consente ai clienti di completare i pagamenti rapidamente e in modo sicuro utilizzando i loro metodi di pagamento salvati. Quando abilitato, i clienti possono avviare il modulo Apple Pay direttamente dall’overlay del checkout su dispositivi supportati.Scarica e carica il file di associazione del dominio Apple Pay
/.well-known/apple-developer-merchantid-domain-association. Ad esempio, se il tuo sito web è example.com, rendi il file disponibile in https://example.com/well-known/apple-developer-merchantid-domain-association.Richiedi l'attivazione di Apple Pay
- L’URL del tuo dominio di produzione (ad es.,
https://example.com) - Richiesta di abilitare Apple Pay per il tuo dominio
Verifica la disponibilità di Apple Pay
- Apri il tuo checkout su un dispositivo supportato (iOS 17+, iPadOS 17+ o Safari 17+ su macOS)
- Verifica che il pulsante Apple Pay appaia come opzione di pagamento
- Testa l’intero flusso di pagamento
Supporto del Browser
L’SDK Dodo Payments Checkout supporta i seguenti browser:- Chrome (ultimissimo)
- Firefox (ultimissimo)
- Safari (ultimissimo)
- Edge (ultimissimo)
- IE11+
Checkout Inline vs Overlay
Scegli il tipo di checkout giusto per il tuo caso d’uso:| Caratteristica | Checkout Inline | Checkout Overlay |
|---|---|---|
| Profondità di integrazione | Completamente integrato nella pagina | Modale sopra la pagina |
| Controllo del layout | Controllo completo | Limitato |
| Branding | Senza soluzione di continuità | Separato dalla pagina |
| Sforzo di implementazione | Maggiore | Minore |
| Migliore per | Pagine di checkout personalizzate, flussi ad alta conversione | Integrazione rapida, pagine esistenti |