Checklist di integrazione
Segui questa checklist completa per configurare il tuo account Zonos Dashboard e integrare Zonos Checkout nel tuo sito o piattaforma personalizzati.
Crea un account Zonos
Per iniziare, contatta il nostro team commerciale per creare un account e firmare un accordo. Una volta firmato l'accordo, riceverai due microdepositi sul tuo conto che dovranno essere verificati.
Invia via email questi importi dei microdepositi a accounting@zonos.com con l'ID negozio Dashboard (in CC al tuo rappresentante commerciale).
Una volta verificati, i dettagli bancari verranno visualizzati in Dashboard -> Settings -> Billing.
Configura le impostazioni di Dashboard e Checkout
Dopo aver creato il tuo account Zonos, dovrai configurare le impostazioni in Dashboard per garantire che Checkout funzioni correttamente con il tuo negozio. Questa sezione copre tutte le configurazioni essenziali di Dashboard.
Configura i pagamenti in uscita
Collega un conto bancario per ricevere pagamenti in uscita tempestivi da Checkout. I pagamenti in uscita vengono elaborati quotidianamente con un ritardo di 2 giorni dal pagamento acquisito. Per farlo, segui questi passaggi:
- Vai a Dashboard -> Settings -> Checkout settings .
- Fai clic su Add bank account
- Verrai reindirizzato a un portale Stripe per completare la configurazione e fornire le seguenti informazioni:
- Informazioni sul conto bancario.
- EIN dell'azienda.
- Social Security Number di un titolare dell'azienda al 25%. Per maggiori dettagli sul motivo per cui è richiesto, consulta la documentazione di Stripe.
Nota: Se devi aggiornare il programma dei pagamenti in uscita, contatta support@zonos.com
Configura i domini consentiti
Lo script Zonos JS richiede un elenco di domini consentiti per motivi di sicurezza. Questo impedisce a siti non autorizzati di caricare lo script e garantisce che venga eseguito solo sui domini approvati. Senza questa configurazione, lo script restituirà errori di autorizzazione.
Per configurarlo:
- Vai a Dashboard -> Settings -> Checkout settings
- In URLs, aggiungi il tuo dominio completo e tutti i sottodomini in cui verrà utilizzato Checkout. Ad esempio, se il tuo dominio è
example.com, dovresti aggiungereexample.cometest.example.com.
Personalizza le impostazioni del brand
Configura le impostazioni del brand in Dashboard per adattarle all'aspetto del tuo negozio.
Per farlo, segui questi passaggi:
- Vai a Dashboard -> Settings -> Checkout settings -> Branding
- Configura le seguenti impostazioni:
- Logo.
- Colore del brand e colore di accento.
- Tema, stile e font.
Per maggiori informazioni sulle impostazioni del brand, consulta la nostra documentazione.
Collega un corriere di spedizione
Per quotare la spedizione al checkout, dovrai collegare un corriere di spedizione al tuo account Zonos. Questo ti consentirà di abilitare livelli di servizio di spedizione specifici al checkout.
Per collegare un corriere di spedizione, segui questi passaggi:
- Vai a Dashboard -> Settings -> Shipping -> Rates
- Fai clic su Add carrier
- Segui le istruzioni di configurazione del corriere.
Per maggiori dettagli sulla connessione degli account corriere, consulta la nostra documentazione.
Configura le zone di spedizione
Le zone di spedizione ti consentono di configurare quali corrieri e livelli di servizio sono disponibili per diverse regioni del mondo.
Per configurare le zone di spedizione, segui questi passaggi:
- Vai a Dashboard -> Settings -> Shipping -> Locations
- Fai clic su New zone
- Inserisci un nome per la zona e seleziona i Paesi verso cui desideri spedire.
- Seleziona il corriere e il livello di servizio che desideri offrire.
Per maggiori dettagli sulle zone di spedizione, consulta la nostra documentazione.
Configura un Paese di origine e un codice HS di fallback
Il Paese di origine e il codice HS vengono utilizzati per calcolare dazi e imposte accurati.
Se non fornisci un Paese di origine o un codice HS specifico, utilizzeremo i fallback configurati in Dashboard.
Per impostare il Paese di origine e il codice HS di fallback:
- Vai a Dashboard -> Settings -> Shipping -> Catalog.
- Per il Paese di origine, seleziona il Paese in cui viene prodotto il maggior numero dei tuoi prodotti.
- Per il codice HS, inserisci il codice HS del tuo prodotto più comune. Se non hai un codice HS, vai a Classify in Dashboard e inserisci il nome e la descrizione del tuo prodotto per generare un codice HS accurato.
Installa lo snippet Zonos JS
Lo snippet Zonos JS è un'integrazione JavaScript lato client che abilita la funzionalità di checkout globale sul tuo sito. Funge da ponte tra la tua piattaforma ecommerce e i servizi Zonos, gestendo:
- Esperienza Checkout: Renderizza l'interfaccia utente del checkout ed elabora i pagamenti.
- Servizi di localizzazione: Rileva la posizione del visitatore e gestisce la conversione valutaria.
- Integrazione carrello: Si collega al tuo sistema carrello e ordini esistente.
- Sicurezza: Valida i domini e autentica le richieste API.
Lo snippet viene caricato in modo asincrono per evitare qualsiasi impatto sulle prestazioni del tuo sito. Si inizializza con le credenziali API del tuo negozio e gestisce in modo sicuro tutte le interazioni lato client. L'implementazione è progettata per essere non invasiva, richiedendo modifiche minime al flusso di checkout esistente.
Di seguito è riportato un esempio completo che include caricamento dello script, inizializzazione e gestione degli eventi da consultare durante l'integrazione di Checkout.
(async function () { const timestamp = new Date().getTime(); const zonosScript = document.querySelector( `script[src*="https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/loadZonos.js"]`, ); if (!zonosScript) { const script = document.createElement('script'); script.src = `https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/loadZonos.js?timestamp=${timestamp}`; script.addEventListener('load', () => { window..({ : { : () => { { : , }; }, : , }, : { : , : { .(); }, }, : , : , }); }); ..(script); } })();Nota: Sostituisci i valori segnaposto (storeId, zonosApiKey, selettori, ecc.) con i valori effettivi dal tuo Zonos Dashboard.
Gestione della cache del browser
Consigliamo di aggiungere un timestamp o un altro identificatore univoco all'URL per garantire che lo script non venga memorizzato nella cache dal browser. Questo garantirà che venga sempre caricata l'ultima versione dello script. Questo è mostrato alla riga 10 dell'esempio completo.
script.src = `https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/loadZonos.js?timestamp=${timestamp}`;Autentica lo snippet Zonos JS
Una volta caricato lo script Zonos JS, devi autenticarlo passando una Zonos Public API key e un ID negozio alla funzione Zonos.init. La Public API key utilizzata per autenticare Checkout è progettata per essere pubblicabile, il che significa che può essere utilizzata in modo sicuro nel codice frontend senza esporre informazioni sensibili.
Per trovare l'ID negozio e la API key, vai a Dashboard -> Settings -> Integrations. Assicurati di non utilizzare una Secret API key, poiché non è progettata per essere utilizzata nel codice frontend. Questo è mostrato alle righe 29 e 30 dell'esempio completo.
Zonos.init({ // ... other fields zonosApiKey: 'Your API KEY', // Replace with your actual API key (found in Dashboard) storeId: 'Your STORE ID', // Replace with your actual store ID (found in Dashboard) // ... other fields});Aggiorna la Content Security Policy (CSP)
Se il tuo sito imposta una Content Security Policy, aggiungi i domini seguenti alle direttive CSP corrispondenti. Questa policy si applica sia a Checkout sia a Hello — lo snippet Zonos carica script, fogli di stile, font, immagini ed effettua richieste di rete, quindi il blocco di una qualsiasi di queste risorse interromperà il flusso Checkout o la visualizzazione di Hello. L'elenco style-src si applica anche a style-src-elem.
Nota: Salta questo passaggio se il tuo sito non invia un'intestazione CSP. Solo i merchant che applicano una CSP personalizzata sulle proprie pagine devono aggiornarla.
cdn.jsdelivr.net/npm/@zonoscdnjs.cloudflare.com/ajax/libs/zonos-elementsunpkg.com/@zonos/elementsjs.zonos.com*.js.zonos.comzonos-store-assets.s3.amazonaws.comjs.stripe.coma.stripecdn.comb.stripecdn.comc.stripecdn.comcheckout.stripe.comf.stripecdn.comhcaptcha.comhooks.stripe.comm.stripe.comm.stripe.networkpay.stripe.compayments.stripe.comq.stripe.comr.stripe.comConfigura Hello
Hello è obbligatorio quando si utilizza Checkout.
Hello è responsabile del rilevamento della posizione, della lingua e della valuta del visitatore e della visualizzazione delle informazioni appropriate. Puoi configurare tutte le impostazioni Hello in Dashboard o nello script Zonos JS. Se hai già configurato Hello in Dashboard, lo script caricherà tali impostazioni e le utilizzerà. Se specifichi valori nella proprietà helloSettings della funzione Zonos.init, lo script utilizzerà invece tali valori come mostrato di seguito.
Configura la conversione valutaria in Hello nello script JS
Hello utilizza selettori CSS per identificare gli elementi del tuo sito che visualizzano informazioni valutarie. Passa questi selettori alla proprietà helloSettings.currencyElementSelector della funzione Zonos.init in modo che Hello possa rilevare e visualizzare la valuta corretta dell'acquirente internazionale.
Puoi utilizzare qualsiasi selettore CSS valido qui, ad esempio #price, .price per selezionare più elementi diversi. Questo è mostrato alle righe 23 e 24 dell'esempio completo.
Zonos.init({ // ... other fields helloSettings: { currencyElementSelector: '.price', // Replace with your actual selector }, // ... other fields});Apri Hello automaticamente al caricamento della pagina
Per impostazione predefinita, Hello si aprirà solo quando il visitatore fa clic sul pulsante della bandiera. Se desideri aprire Hello automaticamente al caricamento della pagina, puoi chiamare la funzione Zonos.openHelloDialog() una volta caricato lo script Zonos. Questo è mostrato alle righe 25 e 26 dell'esempio completo.
Configura le regole di visualizzazione del Paese in Dashboard
Controlla quali Paesi acquirente vedono Hello e quali Paesi appaiono nel menu a discesa del selettore Paese da Dashboard. Vai a Dashboard -> Settings -> Hello e trova la sezione Country display rules.
Visibilità del widget
Controlla quali Paesi acquirente vedono il widget Hello. Scegli una delle regole di base, quindi utilizza gli elenchi Always show e Never show per sovrascrivere Paesi specifici.
- All countries - Ogni Paese supportato da Hello.
- Only shippable countries - Paesi verso cui spedisci dalle impostazioni di spedizione.
- Always show - Paesi che appaiono sempre, anche se la regola di base li esclude.
- Never show - Paesi che non appaiono mai, anche se la regola di base li include.

Selettore Paese
Controlla quali Paesi appaiono nel menu a discesa del selettore Paese di Hello, utilizzando le stesse regole di base più le sovrascritture Always show e Never show.

Configura Checkout
Checkout è responsabile di consentire al cliente di inserire le informazioni di spedizione e fatturazione, calcolare il Landed Cost, raccogliere il pagamento e completare l'ordine.
Checkout condividerà dati contestuali con Hello, come la posizione, la lingua e la valuta del visitatore. Questo garantisce che l'esperienza del cliente sia coerente durante l'intero processo di acquisto.
Puoi configurare tutte le impostazioni Checkout sia in Dashboard sia nello script Zonos JS. Se hai già configurato Checkout in Dashboard, lo script caricherà tali impostazioni e le utilizzerà. Se specifichi valori nella proprietà checkoutSettings della funzione Zonos.init, lo script utilizzerà invece tali valori.
Configura il pulsante «place order» nello script JS
Lo script Zonos JS riconoscerà automaticamente gli acquirenti internazionali e li indirizzerà al flusso Checkout. Tuttavia, dovrai configurare il pulsante «place order» sulla tua piattaforma per aprire Checkout quando viene cliccato. Questo può essere fatto passando un selettore CSS alla proprietà checkoutSettings.placeOrderButtonSelector della funzione Zonos.init.
Se hai più pulsanti che possono essere utilizzati per effettuare un ordine, assicurati di passare un selettore per ciascun pulsante. Ad esempio, #placeOrder, .place-order.
Questo è mostrato alla riga 21 dell'esempio completo.
Zonos.init({ // ... other fields checkoutSettings: { // ... other fields placeOrderButtonSelector: '#placeOrder', // Replace with your actual selector(s) },});Crea in modo sicuro i dettagli del carrello lato server
Per visualizzare i dettagli del carrello al cliente, devi creare una funzione lato server che chiamerà l'API Zonos per creare un carrello e poi restituirà l'ID carrello al frontend. Questo garantirà che i dettagli del carrello non siano esposti al cliente in un modo che possa essere manipolato.
La chiamata API del backend utilizzerà un token credenziale GraphQL segreto, diverso dal token pubblico utilizzato per autenticare lo script Zonos JS. Questo token può essere recuperato in Dashboard -> Settings -> Integrations. Il token segreto deve essere passato come intestazione nella chiamata API.
La mutation cartCreate accetta un elenco di articoli, che devono essere formattati secondo lo schema degli articoli del carrello.
// Create new cart from serversideasync function createCart() { /** * Full cart mutation schema: https://zonos.com/developer/mutations/cartCreate * */ const graphql = JSON.stringify({ query: `mutation cartCreate($input: CartCreateInput!){ cartCreate(input: $input) { id adjustments { amount currencyCode description productId sku type } items { id name amount currencyCode quantity sku description metadata { key value } } metadata { key value } }}`, variables: { /** * input for the cartCreate is this schema https://zonos.com/developer/types/CartCreateInput */ input: { /** * Cart adjustment input: https://zonos.com/developer/types/CartAdjustmentInput */ adjustments: [ { amount: -10, currencyCode: 'USD', /** * Enum value: https://zonos.com/developer/types/CartAdjustmentType */ type: 'CART_TOTAL', }, ], /** * Cart item input: https://zonos.com/developer/types/ItemInput */ items: [ { name: 'Item 1', amount: 150.99, currencyCode: 'USD', description: 'Item 1 description', quantity: 2, }, ], /** * Cart metadata input: https://zonos.com/developer/types/CartMetadataInput */ metadata: [ { : , : , }, ], }, }, }); response = (, { : , : { : , : , }, : graphql, }); { data } = response.(); data..; }Consigliamo di creare un endpoint API lato server e poi chiamare tale endpoint dall'integrazione JS frontend, come descritto nel passaggio successivo.
Passa l'ID carrello a Checkout tramite frontend
Una volta creato un carrello lato server, devi passare l'ID carrello allo script Zonos JS. Questo può essere fatto utilizzando la callback createCartId, che fa parte della funzione Zonos.init. Checkout recupererà quindi in modo sicuro i dettagli del carrello da Zonos quando viene aperto, impedendo qualsiasi manomissione del carrello. Vedi l'esempio di codice di seguito.
Il valore di createCartId non può essere un valore statico, deve essere una funzione.
Zonos.init({ // ... other fields checkoutSettings: { // Replace with your actual selector(s) createCartId: async () => { const response = await fetch('https://api.merchant.com/api/get-cart', { method: 'POST', headers: { 'Content-Type': 'application/json', }, }); const json = await response.json(); return json.id; // Only need to return the cart ID }, },});(Opzionale) Visualizza un avviso sotto Order total
Se devi mostrare un messaggio breve e dinamico all'interno di Checkout — ad esempio, un'informativa normativa quando un prodotto specifico è nel carrello — puoi restituire un array customMessage dalla callback createCartId. Ogni voce nell'array viene renderizzata su una propria riga di un singolo banner informativo direttamente sotto Order total.
La sintassi dei link Markdown — [link label] seguito da (https://example.com) — viene renderizzata come tag anchor, così gli acquirenti possono fare clic. Anche gli URL plain https:// nel testo vengono collegati automaticamente. Tutto il resto viene renderizzato come testo semplice, quindi l'HTML nelle stringhe viene escapato anziché eseguito.
Viene mostrato un solo banner per Checkout, indipendentemente dal numero di righe passate.
Zonos.init({ // ... other fields checkoutSettings: { createCartId: async () => { const response = await fetch( 'https://api.merchant.com/api/get-zonos-cart', { method: 'POST', headers: { 'Content-Type': 'application/json', }, }, ); const json = await response.json(); return { cartId: json.id, // Each item is rendered on a new line of the same info banner. // Markdown links `[text](url)` become `<a>` tags. customMessage: [ 'Some items in your cart are subject to California regulations.', 'Please review the required notice [here](https://oag.ca.gov/prop65).', ], }; }, },});Nota: Il testo del messaggio viene renderizzato come testo semplice — i tag HTML nelle stringhe vengono escapati, quindi viene interpretata solo la sintassi dei link Markdown. Decidi se includere
customMessagelato server in base al contenuto del carrello, in modo che il banner appaia solo quando è rilevante.
(Opzionale) Attiva Checkout Zonos programmaticamente
Se hai logica personalizzata e devi attivare Checkout Zonos programmaticamente, puoi utilizzare la funzione Zonos.triggerCheckoutInternational() per aprire la finestra Checkout Zonos dopo l'inizializzazione di Zonos. Questo invocherà la callback createCartId definita in Zonos.init sopra e aprirà la finestra Checkout Zonos.
// For example: During your domestic checkout flow, trigger Zonos checkout when the user selects a non-domestic country (e.g., not "US")const domesticCountry = 'US';document.querySelector('.country-select').addEventListener('change', e => { const country = e.target.value; if (country !== domesticCountry) { Zonos.triggerCheckoutInternational(); }});(Opzionale) Selettore per attivare sempre Checkout Zonos
Se desideri separare il processo di checkout per acquirenti domestici e internazionali, puoi aggiungere un pulsante International checkout al tuo sito. Invece di attivare manualmente Zonos Checkout con Zonos.triggerCheckoutInternational, puoi configurare Zonos.init con il selettore appropriato. Il selettore sarà disabilitato fino all'inizializzazione di Zonos; quando il pulsante viene cliccato, attiverà automaticamente Checkout Zonos. Questo invocherà la callback createCartId definita in Zonos.init e aprirà la finestra Checkout Zonos.
Zonos.init({ // ... other fields checkoutSettings: { // ... other fields alwaysTriggerInternationalCheckoutSelector: '#trigger-zonos-checkout', // Replace with your actual selector, button bound to this selector will always trigger Zonos checkout },});(Opzionale) Traccia il funnel di checkout con GA4 o Facebook Pixel
Zonos Checkout può inoltrare l'intero funnel di checkout ai tuoi strumenti di analytics esistenti. Per ogni passaggio, Zonos emette:
- L'evento originale
zonos-checkout-...a GA4 (tramitegtag('event', ...)) e a Meta come evento personalizzato (tramitefbq('trackCustom', ...)). - L'evento standard corrispondente a Meta quando ne esiste uno —
InitiateCheckout,AddPaymentInfoePurchase— così l'ottimizzazione integrata e il reporting delle conversioni di Meta funzionano out of the box.
Il modo in cui gli eventi raggiungono i tuoi provider dipende da come Checkout viene renderizzato sul tuo sito. Scegli il percorso che corrisponde alla tua integrazione.
Integrazione nativa (Checkout renderizzato direttamente sul tuo sito)
Quando l'elemento personalizzato <zonos-checkout> è montato sulla tua pagina (predefinito per l'integrazione dello script Zonos JS descritta sopra), window.gtag e window.fbq della pagina sono già nello scope. Zonos li chiama direttamente — non è necessario relay o passaggio dell'ID pixel.
Configurazione:
- Assicurati che la tua pagina abbia già caricato il tag base GA4 e/o il codice base Meta Pixel (come faresti per qualsiasi altra pagina del tuo sito).
- Abilita i provider desiderati nella dashboard Zonos in Checkout settings → Tracking (Google Analytics, Facebook Pixel o entrambi).
È tutto. Nessuno script relay, nessun customHTML, nessun ID extra da passare — Zonos rileva gtag / fbq sulla pagina e invia gli eventi direttamente.
Integrazione iframe (iframe Checkout legacy su iglobalstores.com)
Quando Checkout è ospitato in un iframe su un'origine diversa, non può raggiungere gtag / fbq della tua pagina direttamente. Zonos pubblica un piccolo script relay — analyticsRelayOnInit.js — che ascolta gli eventi postMessage dall'iframe Checkout e li inoltra ai provider presenti sulla tua pagina. Un singolo relay gestisce sia GA4 sia Facebook Pixel contemporaneamente.
Configurazione:
- Abilita i provider desiderati nella dashboard Zonos in Checkout settings → Tracking.
- Aggiungi il tag base GA4 e/o il codice base Meta Pixel all'
<head>della pagina che ospita l'iframe Checkout. - Aggiungi lo script relay dopo i tag del provider:
async src="https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/analyticsRelayOnInit.js">- Passa gli ID corrispondenti tramite
customHTMLdi Checkout in modo che il relay sappia quale property/pixel utilizzare:
window.Zonos.googleAnalyticId = 'G-XXXXXXXXXX'; window.Zonos.facebookPixelId = 'YOUR_PIXEL_ID';Per istruzioni passo passo sull'iframe, il riferimento completo degli eventi (inclusa la mappatura del payload purchase / Purchase) e suggerimenti per il debug, consulta:
Sincronizza tracking e stato ordine in Dashboard
Per sincronizzare gli ordini tra il tuo sistema e Zonos Dashboard, implementa queste chiamate API e webhook:
Mutation obbligatorie
| Mutation↕ | Descrizione↕ |
|---|---|
orderUpdateAccountOrderNumber | Sincronizza il tuo numero account nativo con Dashboard. Docs → |
orderAddTrackingNumber | Obbligatoria solo se non stampi etichette in Dashboard. Garantisce che il tracking appaia in Dashboard così Zonos può garantire i calcoli del Landed Cost. Docs → |
Webhook obbligatori
Testa la tua integrazione
Prima di andare live con l'integrazione Checkout, è importante testare accuratamente tutti gli aspetti dell'integrazione per garantire un'esperienza cliente fluida. Questo include il test del flusso checkout, dell'elaborazione dei pagamenti, della creazione degli ordini e della funzionalità webhook.
Segui la nostra guida ai test per verificare che l'integrazione funzioni correttamente e per identificare e correggere eventuali problemi prima del lancio in produzione.
Domande comuni
Di seguito alcune domande comuni sul processo di integrazione.
Come gestisce Zonos la conferma dell'ordine?
Configura l'esperienza post-acquisto in Dashboard -> Settings -> Checkout settings in Success page type. Sono disponibili tre opzioni:
- Show Zonos success page (predefinito, consigliato) — Zonos visualizza una pagina di ringraziamento integrata dopo che l'ordine è stato effettuato. La pagina viene sempre mostrata, anche se l'ordine non riesce a essere importato nel tuo sistema, così l'acquirente riceve sempre una conferma.
- Redirect to a success page — Zonos attende su una breve schermata «Order complete» fino alla creazione dell'ordine, quindi reindirizza all'URL di successo configurato con
zOrderNumber(eorderIdper i carrelli legacy) aggiunti come parametri di query. - Close the checkout modal — Zonos chiude la sua modale una volta acquisito il pagamento. Se configuri anche un URL di successo, Zonos reindirizza a tale URL immediatamente dopo che Stripe raccoglie il pagamento — senza attendere la creazione dell'ordine — e aggiunge
zonosCheckoutSessionIdcome parametro di query. Usa questa opzione quando desideri il passaggio più rapido alla tua pagina di successo.
Ricerca dell'ordine da zonosCheckoutSessionId
Quando utilizzi Close the checkout modal con un URL di reindirizzamento, l'ordine potrebbe richiedere alcuni secondi per essere associato alla sessione checkout dopo il reindirizzamento. Leggi zonosCheckoutSessionId dall'URL ed esegui il polling della query GraphQL checkoutSession dal tuo server utilizzando il token credenziale segreto fino a quando l'ordine è pronto. Non chiamare mai questa query dal browser — il token credenziale segreto deve rimanere lato server.
query getCheckoutSession($id: String!)checkoutSession )orderidInvia la query a https://api.zonos.com/graphql con il token credenziale segreto da Dashboard -> Settings -> Integrations passato come intestazione della richiesta credentialToken.
Posso ricevere una notifica quando viene creato un ordine?
Sì. Se desideri ricevere notifiche quando viene creato un ordine, in Dashboard nella sezione Email di Checkout settings, puoi inserire l'indirizzo email dei membri del team che devono essere notificati quando un ordine viene creato, spedito o annullato.
Integrazione personalizzata
Crea un'integrazione Checkout end-to-end nel tuo sito personalizzato.