Dodo Payments Checkout SDK erbjuder ett sömlöst sätt att integrera vår betalningsoverlay i din webbapplikation. Byggd med TypeScript och moderna webbstandarder, erbjuder den en robust lösning för att hantera betalningar med realtids-händelsehantering och anpassningsbara teman.
Installera Dodo Payments Checkout SDK med din föredragna paketförvaltare:
npm install dodopayments-checkout
2
Initialize the SDK
Initiera SDK:n i din applikation, vanligtvis i din huvudkomponent eller appens ingångspunkt:
import { DodoPayments } from "dodopayments-checkout";DodoPayments.Initialize({ mode: "test", // Change to 'live' for production displayType: "overlay", // Optional: defaults to 'overlay' for overlay checkout onEvent: (event) => { console.log("Checkout event:", event); // Handle different events switch (event.event_type) { case "checkout.opened": // Checkout overlay has been opened break; case "checkout.closed": // Checkout has been closed break; case "checkout.error": // Handle errors console.error("Checkout error:", event.data?.message); break; } },});
Initiera alltid SDK:n innan du försöker öppna kassan. Initiering ska ske en gång när din applikation laddas.
Visa eller dölj kassatimerna. Som standard är true. När den är inaktiverad får du checkout.link_expired-händelsen när sessionen löper ut.
options.showSecurityBadge
boolean
Nej
Visa eller dölj säkerhetsmärket. Som standard är true.
options.manualRedirect
boolean
Nej
När det är aktiverat kommer kassan inte automatiskt att omdirigera efter slutförandet. Istället får du checkout.status- och checkout.redirect_requested-händelser för att hantera omdirigeringen själv.
DodoPayments.Initialize({ onEvent: (event: CheckoutEvent) => { switch (event.event_type) { case "checkout.opened": // Checkout overlay has been opened break; case "checkout.form_ready": // Checkout form is ready for user input break; case "checkout.payment_page_opened": // Payment page has been displayed break; case "checkout.customer_details_submitted": // Customer and billing details submitted break; case "checkout.closed": // Checkout has been closed break; case "checkout.redirect": // Checkout will perform a redirect break; case "checkout.error": // An error occurred console.error("Error:", event.data?.message); break; case "checkout.link_expired": // Checkout session has expired (only when showTimer is false) break; case "checkout.status": // Checkout status update (only when manualRedirect is enabled) const status = event.data?.message?.status; break; case "checkout.redirect_requested": // Redirect requested (only when manualRedirect is enabled) const redirectUrl = event.data?.message?.redirect_to; break; } }});
Händelsetyp
Beskrivning
checkout.opened
Checkout-överlägget har öppnats
checkout.form_ready
Checkout-formuläret är redo att ta emot användarinmatning. Användbart för att dölja laddningslägen.
checkout.payment_page_opened
Betalningssidan har visats
checkout.customer_details_submitted
Kund- och faktureringsuppgifter har skickats in
checkout.closed
Checkout-överlägget har stängts
checkout.redirect
Kassa kommer att utföra en omdirigering
checkout.error
Ett fel inträffade under kassan
checkout.link_expired
Utlöses när checkout-sessionen löper ut. Tas endast emot när showTimer är satt till false.
checkout.status
Utlöses när manualRedirect är aktiverat. Innehåller kassan status (succeeded, failed eller processing).
checkout.redirect_requested
Utlöses när manualRedirect är aktiverat. Innehåller URL:en som kunden ska omdirigeras till.
Du kan anpassa kassans utseende genom att skicka ett themeConfig-objekt i options-parametern när du öppnar kassan. Temakonfigurationen stödjer både ljusa och mörka lägen, vilket låter dig anpassa färger, kanter, text, knappar och hörnradie.
Detta avsnitt täcker klientside tema-konfiguration med Checkout SDK. Du kan också konfigurera teman serverside när du skapar en checkout-session via API:et med hjälp av parametern theme_config. Se Checkout Theme Customization för API-nivåkonfiguration, eller använd Design page i kontrollpanelen för att konfigurera teman visuellt med liveförhandsvisning.
SDK:n tillhandahåller detaljerad felinformation genom händelsesystemet. Implementera alltid korrekt felhantering i din onEvent-callback:
DodoPayments.Initialize({ mode: "test", displayType: "overlay", onEvent: (event: CheckoutEvent) => { if (event.event_type === "checkout.error") { console.error("Checkout error:", event.data?.message); // Handle error appropriately // You may want to show a user-friendly error message // or retry the checkout process } if (event.event_type === "checkout.link_expired") { // Handle expired checkout session console.warn("Checkout session has expired"); } }});
Hantera alltid checkout.error-händelsen för att ge en bra användarupplevelse när fel uppstår.
Använd överläggskassan för snabbare integration med minimala ändringar på dina befintliga sidor. Använd inline-kassan när du vill ha maximal kontroll över kassaupplevelsen och sömlös varumärkesprofil.