
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.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:
Example inline checkout layout showing required elements
- Informazioni ricorrenti: se il pagamento è ricorrente, mostra la frequenza e il totale da pagare al rinnovo. Se è prevista una prova gratuita, mostrane la durata.
- Descrizioni degli articoli: una descrizione di ciò che viene acquistato.
- Totali della transazione: subtotale, imposta totale e totale complessivo, inclusa la valuta.
- 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.
- Politica di rimborso: un link alla tua politica di rimborso, se differisce dalla politica di rimborso standard di Dodo Payments.
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.Customer opens checkout
checkout.breakdown, per visualizzare e aggiornare le informazioni nella pagina.
Customer enters their details
Customer selects payment method

Checkout completed

Dodo Payments creates the payment or subscription

Avvio rapido
Installa l’SDK, inizializzalo per la modalità inline e apri il checkout in un elemento contenitore:Integrazione passo passo
Install the SDK
Initialize the SDK for Inline Display
displayType: 'inline'. Ascolta l’evento checkout.breakdown per aggiornare l’interfaccia con i calcoli in tempo reale di imposte e totali:Create a Container Element
Open the Checkout
DodoPayments.Checkout.open() con checkoutUrl e elementId del contenitore:Test Your Integration
- Avvia il server di sviluppo:
- 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
checkout.breakdown registrati nella console del browser se hai aggiunto un log della console nel callback onEvent.Go Live
- Modifica la modalità in
'live':
- Aggiorna gli URL di checkout per usare sessioni di checkout live dal tuo backend
- 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’eventocheckout.breakdown:
Riferimento API
Inizializzazione
ChiamaInitialize 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 callbackonEvent. Per il checkout inline, checkout.breakdown è particolarmente utile per sincronizzare l’interfaccia:
Dati del riepilogo del checkout
L’eventocheckout.breakdown fornisce informazioni sui prezzi e sulle imposte:
- 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. - Gestione degli stati iniziali: al primo caricamento del checkout,
taxediscountpossono essere0onullfinché 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. - “Totale finale” e “Totale”: mentre
totalfornisce il calcolo del prezzo standard,finalTotalè la fonte autorevole per la transazione. SefinalTotalè presente, riflette esattamente l’importo che verrà addebitato sulla carta del cliente. - Feedback in tempo reale: usa il campo
taxper 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
- Chiama l’API Update Payment Method per ottenere un
payment_link:
- Passa l’
payment_linkrestituito comecheckoutUrlper aprire il checkout inline:
Per gli abbonamenti sospesi
Quando aggiorni il metodo di pagamento di un abbonamento nello statoon_hold, Dodo Payments crea automaticamente un addebito per gli importi ancora dovuti. Monitora i webhook payment.succeeded e subscription.active per confermare la riattivazione.
Gestione degli errori
Implementa sempre la gestione degli errori nel callbackonEvent:
Best practice
- Design responsive: assicurati che l’elemento contenitore disponga di larghezza e altezza sufficienti. In genere l’iframe si espande fino a riempire il contenitore.
- Sincronizzazione: usa l’evento
checkout.breakdownper mantenere sincronizzati il riepilogo dell’ordine personalizzato o le tabelle dei prezzi con ciò che l’utente vede nel frame di checkout. - Stati skeleton: mostra un indicatore di caricamento nel contenitore finché non viene attivato l’evento
checkout.opened. - Pulizia: chiama
DodoPayments.Checkout.close()quando il componente viene smontato, per rimuovere l’iframe e gli event listener.
#0d0d0d come colore di sfondo per un’integrazione visiva ottimale con il frame del checkout inline.Convalida dello stato del pagamento
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:- Ascolta gli eventi webhook - Dodo Payments invia webhook per le modifiche allo stato del pagamento
- Implementa un meccanismo di polling - Il frontend deve interrogare il server per ricevere gli aggiornamenti di stato
- 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:payment.succeeded o payment.failed. Consulta la nostra documentazione sui webhook per maggiori dettagli.
Risoluzione dei problemi
Checkout frame is not appearing
Checkout frame is not appearing
- Verifica che
elementIdcorrisponda all’iddi undiveffettivamente presente nel DOM - Assicurati che
displayType: 'inline'sia stato passato aInitialize - Verifica che
checkoutUrlsia valido
Taxes are not updating in my UI
Taxes are not updating in my UI
- 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
Open Wallet domains

Open Wallet domains from the Apple Pay row
Download the domain association file

Download the Apple Pay domain association file
Register your domain
shop.example.com, quindi fai clic su Continue.
Register the domain where you embed inline checkout
Host the file on your domain
Content-Type: application/octet-stream o text/plain.Verify the domain

Verify the hosted association file
Confirm it's active

Verified domains show an Active status
Test the integration
- Apri il checkout su un dispositivo Apple
- Verifica che venga visualizzato il pulsante Apple Pay
- 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+