Panoramica
Il Dodo Payments Checkout SDK fornisce un modo fluido per integrare il nostro overlay di pagamento nella tua applicazione web. Costruito con TypeScript e standard web moderni, offre una soluzione robusta per gestire i pagamenti con gestione degli eventi in tempo reale e temi personalizzabili.
Demo
Interactive Demo
Guarda il checkout sovrapposto in azione con la nostra demo dal vivo.
Inizio rapido
Inizia con il Dodo Payments Checkout SDK in poche righe di codice:Guida all’integrazione passo-passo
Install the SDK
Installa il Dodo Payments Checkout SDK utilizzando il tuo gestore di pacchetti preferito:
Initialize the SDK
Inizializza l’SDK nella tua applicazione, tipicamente nel tuo componente principale o nel punto di ingresso dell’app:
Test Your Integration
- Avvia il tuo server di sviluppo:
- Testa il flusso di checkout:
- Clicca sul pulsante di checkout
- Verifica che l’overlay appaia
- Testa il flusso di pagamento utilizzando credenziali di test
- Conferma che i reindirizzamenti funzionino correttamente
Dovresti vedere gli eventi del checkout registrati nella console del browser.
Riferimento API
Configurazione
Opzioni di inizializzazione
| Opzione | Tipo | Richiesto | Descrizione |
|---|---|---|---|
mode | "test" | "live" | Sì | Modalità ambiente: 'test' per lo sviluppo, 'live' per la produzione |
displayType | "overlay" | "inline" | No | Tipo di visualizzazione: 'overlay' per il checkout modale (predefinito), 'inline' per il checkout incorporato |
onEvent | function | Sì | Funzione di callback per gestire gli eventi del checkout |
Opzioni di checkout
| Opzione | Tipo | Richiesto | Descrizione |
|---|---|---|---|
checkoutUrl | string | Sì | URL della sessione di checkout dall’API di creazione della sessione di checkout |
options.showTimer | boolean | No | Mostra o nasconde il timer del checkout. Il valore predefinito è true. Quando disabilitato, riceverai l’evento checkout.link_expired quando la sessione scade. |
options.showSecurityBadge | boolean | No | Mostra o nasconde il badge di sicurezza. Il valore predefinito è true. |
options.manualRedirect | boolean | No | Quando abilitato, il checkout non reindirizzerà automaticamente dopo il completamento. Riceverai invece gli eventi checkout.status e checkout.redirect_requested per gestire tu stesso il reindirizzamento. |
Metodi
Apri Checkout
Apre l’overlay di checkout con l’URL della sessione di checkout specificato.manualRedirect, gestisci il completamento del checkout nella tua callback onEvent:
Chiudi Checkout
Chiude programmaticamente l’overlay di checkout.Controlla Stato
Restituisce se l’overlay di checkout è attualmente aperto.Eventi
L’SDK fornisce eventi in tempo reale ai quali puoi ascoltare tramite la callbackonEvent:
Dati Evento Stato Checkout
QuandomanualRedirect è abilitato, ricevi l’evento checkout.status con i seguenti dati:
Dati Evento Reindirizzamento Checkout Richiesto
QuandomanualRedirect è abilitato, ricevi l’evento checkout.redirect_requested con i seguenti dati:
| Tipo di evento | Descrizione |
|---|---|
checkout.opened | L’overlay del checkout è stato aperto |
checkout.form_ready | Il modulo di checkout è pronto per ricevere l’input dell’utente. Utile per nascondere gli stati di caricamento. |
checkout.payment_page_opened | La pagina di pagamento è stata visualizzata |
checkout.customer_details_submitted | I dettagli del cliente e di fatturazione sono stati inviati |
checkout.closed | L’overlay del checkout è stato chiuso |
checkout.redirect | Il checkout eseguirà un reindirizzamento |
checkout.error | Si è verificato un errore durante il checkout |
checkout.link_expired | Viene attivato quando la sessione di checkout scade. Viene ricevuto solo quando showTimer è impostato su false. |
checkout.status | Viene attivato quando manualRedirect è abilitato. Contiene lo stato del checkout (succeeded, failed o processing). |
checkout.redirect_requested | Viene attivato quando manualRedirect è abilitato. Contiene l’URL al quale reindirizzare il cliente. |
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 passaggi 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 la modalità chiara sia quella scura, consentendoti di personalizzare colori, bordi, testi, pulsanti e raggio dei bordi.
Questa sezione copre la configurazione del tema lato client utilizzando il Checkout SDK. Puoi anche configurare i temi lato server quando crei una sessione di checkout tramite l’API usando il parametro
theme_config. Consulta Checkout Theme Customization per la configurazione a livello API, oppure usa la pagina Design nel dashboard per configurare visivamente i temi con anteprima live.Configurazione 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 determinate proprietà. Il checkout utilizzerà i 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 tramite il sistema di eventi. Implementa sempre una corretta gestione degli errori nella tua callbackonEvent:
Best Practice
- Inizializza una volta: inizializza l’SDK una sola volta quando la tua applicazione viene caricata, non ad ogni tentativo di checkout
- Gestione degli errori: implementa sempre una corretta gestione degli errori nella tua callback degli eventi
- Modalità di test: usa la modalità
testdurante lo sviluppo e passa alivesolo quando sei pronto per la produzione - Gestione degli eventi: gestisci tutti gli eventi rilevanti per offrire un’esperienza utente completa
- URL validi: utilizza sempre URL di checkout validi provenienti dall’API di creazione della sessione di checkout
- TypeScript: usa TypeScript per una migliore sicurezza dei tipi e esperienza di sviluppo
- Stati di caricamento: mostra stati di caricamento mentre il checkout si apre per migliorare l’UX
- Reindirizzamenti manuali: usa
manualRedirectquando hai bisogno di un controllo personalizzato sulla navigazione post-checkout - Gestione del timer: disabilita il timer (
showTimer: false) se vuoi gestire manualmente la scadenza della sessione
Risoluzione dei problemi
Checkout not opening
Checkout not opening
Possibili cause:
- SDK non inizializzato prima di chiamare
open() - URL di checkout non valido
- Errori JavaScript nella console
- Problemi di connettività di rete
- Verifica che l’inizializzazione dell’SDK avvenga prima di aprire il checkout
- Controlla eventuali errori nella console
- Assicurati che l’URL del checkout sia valido e proveniente dall’API di creazione della sessione di checkout
- Verifica la connettività di rete
Events not firing
Events not firing
Possibili cause:
- Il gestore degli eventi non è configurato correttamente
- Errori JavaScript che impediscono la propagazione degli eventi
- L’SDK non è stato inizializzato correttamente
- Conferma che il gestore degli eventi sia configurato correttamente in
Initialize() - Controlla la console del browser per errori JavaScript
- Verifica che l’inizializzazione dell’SDK sia stata completata con successo
- Testa prima con un gestore degli eventi semplice
Styling issues
Styling issues
Possibili cause:
- Conflitti CSS con gli stili della tua applicazione
- Impostazioni del tema non applicate correttamente
- Problemi con il design reattivo
- Controlla eventuali conflitti CSS negli strumenti di sviluppo del browser
- Verifica che le impostazioni del tema siano corrette
- Testa su diverse dimensioni dello schermo
- Assicurati che non ci siano conflitti di z-index con l’overlay
Abilitazione dei portafogli digitali
Per informazioni dettagliate sulla configurazione di Google Pay e altri portafogli digitali, consulta la pagina Portafogli digitali.Apple Pay non è ancora supportato nel checkout sovrapposto. Il supporto per Apple Pay arriverà presto.
Supporto del browser
L’SDK Dodo Payments Checkout supporta i seguenti browser:- Chrome (ultima versione)
- Firefox (ultima versione)
- Safari (ultima versione)
- Edge (ultima versione)
- IE11+
Checkout sovrapposto vs inline
Scegli il tipo di checkout più adatto al tuo caso d’uso:| Funzionalità | Checkout sovrapposto | Checkout inline |
|---|---|---|
| Profondità d’integrazione | Modale sopra la pagina | Totalmente incorporato nella pagina |
| Controllo del layout | Limitato | Controllo completo |
| Branding | Separato dalla pagina | Senza soluzione di continuità |
| Sforzo di implementazione | Minore | Maggiore |
| Ideale per | Integrazione rapida, pagine esistenti | Pagine di checkout personalizzate, flussi ad alta conversione |
Risorse correlate
Inline Checkout
Incorporare il checkout direttamente nella tua pagina per esperienze completamente integrate.
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 con Dodo Payments.