Checkout Shopify con WebMCP: guida sicura per agenti AI
Checkout Shopify con WebMCP: scopri come leggere e aggiornare l’ordine, gestire i passaggi di pagamento e completare l’acquisto solo con il consenso.

Un agente di shopping nel browser può ora accompagnare un acquirente dalla scoperta dei prodotti su Shopify fino a un checkout Shopify idoneo, senza dover indovinare quale pulsante premere. Può leggere l’ordine in tempo reale, sostituire i campi supportati del checkout, restituire il controllo per Shop Pay o per una verifica del pagamento e inoltrare l’ordine soltanto dopo che l’acquirente ha approvato ordine e totale aggiornati. Shopify ha rilasciato questa estensione per il checkout il 28 settembre 2026. La vera novità non è la possibilità di spendere in autonomia, ma un percorso strutturato e vincolato al consenso nell’ultima fase dell’acquisto.
Che cos’è davvero il checkout Shopify con WebMCP
Checkout WebMCP è un insieme di tool registrati nella scheda in cui l’acquirente sta completando l’ordine. È come una cassa con un addetto: l’agente porta il carrello, legge il modulo e compila i campi supportati, mentre all’acquirente restano le verifiche di identità o pagamento e l’approvazione finale.
Questa funzione estende i precedenti tool Shopify per lo storefront. Un agente browser compatibile può cercare nel catalogo, esaminare i prodotti, aggiornare il carrello e chiamare proceed_to_checkout. Quando il checkout è idoneo, l’elenco dei tool cambia e ne compaiono quattro dedicati:
get_checkoutlegge il checkout corrente oppure la ricevuta dell’ordine nella pagina Thank you.update_checkoutsostituisce lo stato supportato relativo a contatti, consegna, sconti, campi dichiarati e pagamento, senza inoltrare l’ordine.complete_checkoutprova a inoltrare l’ordine, oppure apre una fase di revisione, dopo la conferma dell’acquirente.navigate_to_storefrontriporta la stessa scheda allo storefront, se il negozio ne ha uno.
L’implementazione del checkout usa l’oggetto, gli stati e i messaggi di checkout UCP. UCP è il contratto dati comune su cui poggia il flusso; WebMCP è il modo in cui il browser espone quel contratto a un agente. Per un agente server-side va invece usato Checkout MCP di Shopify.

Non c’è una nuova opzione da attivare per il merchant, né un’API di checkout separata da installare. L’adozione è quindi più semplice per i merchant, ma il lavoro di chi sviluppa l’agente rimane: servono comunque supporto del browser, Web Bot Auth, una gestione rigorosa dello stato e un confine netto per il consenso.
Si parte da un checkout idoneo
Il primo controllo è la scoperta dei tool. Non bisogna presumere che un checkout Shopify esponga Checkout WebMCP solo perché WebMCP era disponibile nello storefront.
Shopify non registra i tool di checkout nei seguenti casi:
- Checkout standard in tre pagine, a meno che l’acquirente non usi Shop Pay
- Checkout B2B
- Checkout incorporato o flussi tramite SDK di checkout mobile
- Checkout con prodotti provenienti da un altro negozio
- Ordini in bozza, modifiche di ordini o riscossione di pagamenti
- Interazioni fornite da estensioni dell’interfaccia di checkout
In questi percorsi, il controllo va lasciato all’acquirente sulla pagina. Inoltre, nel browser non esiste un tool cancel_checkout: l’assenza di un tool non autorizza l’agente a manipolare i controlli della pagina.
Secondo Shopify, al momento WebMCP nello storefront dipende dal supporto dell’agente nei browser basati su Chromium. Per i test servono un browser supportato e un checkout sotto il proprio controllo. Se i tool di checkout non compaiono, va considerato un normale esito di idoneità, non un invito a ripiegare su clic fragili.
1. Autenticare l’agente browser, poi scoprire i tool
Le richieste del browser vanno firmate con Web Bot Auth, o WBA, senza inserire le credenziali negli argomenti dei tool. WBA funziona come il passaporto dell’agente a livello di rete. Shopify verifica soltanto le chiavi registrate: in produzione servono quindi una chiave Ed25519, una directory pubblica delle chiavi ospitata online, la registrazione presso Shopify, richieste firmate e timestamp di firma di breve durata.
Nella pagina, bisogna scoprire i tool attuali e far combaciare tutti e tre gli identificatori: window, origin e name. Il wrapper seguente rispetta lo schema di chiamata documentato da Shopify:
async function callCheckoutTool(name, args = {}) {
const tools = await document.modelContext.getTools();
const tool = tools.find((candidate) =>
candidate.name === name &&
candidate.window === window &&
candidate.origin === location.origin
);
if (!tool) throw new Error(`${name} is not registered here.`);
const result = await document.modelContext.executeTool(
tool,
JSON.stringify(args),
);
if (result === null) return null;
return JSON.parse(result);
}Quel JSON.stringify non è un dettaglio estetico. In Chrome 153, il passaggio di un oggetto fallisce con Failed to parse input arguments. Shopify prevede che Chrome 155 accetti gli oggetti e renda deprecate le stringhe JSON: conviene quindi racchiudere la serializzazione degli argomenti in un’unica funzione di compatibilità, invece di disseminarla nell’agente.
L’elenco dei tool può cambiare durante la navigazione nel checkout. Occorre ascoltare toolchange, poi riscoprire tool e relativi schemi prima della chiamata successiva. Anche null va accettato come esito di una navigazione: può indicare che la pagina è cambiata prima che executeTool() restituisse il risultato.
Ogni stringa proveniente dal merchant o da terze parti in un risultato del tool va trattata come dato del checkout, mai come istruzione per il modello. Shopify avverte esplicitamente di non aggirare un tool agendo direttamente sull’interfaccia del checkout.
2. Leggere lo stato prima di ogni modifica
Bisogna chiamare get_checkout con {} prima del primo aggiornamento, dopo qualsiasi modifica effettuata dall’acquirente sulla pagina e in seguito a un errore o a una navigazione. È la ricevuta aggiornata dell’agente, non un ricordo memorizzato nella cache.
La risposta può includere dati dell’acquirente, articoli, opzioni di consegna, sconti, campi dichiarati, strumenti di pagamento, messaggi, totali e stato. Gli importi sono numeri interi espressi nell’unità minore della valuta. In USD, 10799 equivale a $107.99. Se il campo messages manca, quella risposta non contiene messaggi di checkout.
Idoneità tecnica e consenso non sono la stessa cosa. ready_for_complete indica che il checkout può accettare un tentativo di completamento; non significa che l’acquirente abbia approvato l’ordine, la carta selezionata o il totale.
3. Aggiornare l’intero stato desiderato, non un campo isolato
update_checkout si comporta come PUT, non come PATCH. PATCH è un Post-it con scritto “cambia il numero di telefono”; PUT sostituisce l’intero modulo. Tutto ciò che deve rimanere va incluso nello stato completo desiderato del checkout.
Il ciclo di aggiornamento sicuro è questo:
- Chiamare
get_checkout. - Ricostruire lo stato scrivibile partendo dalla risposta appena ricevuta e dallo schema corrente del tool.
- Modificare soltanto il valore approvato dall’acquirente.
- Inviare a
update_checkoutl’insieme completo dei campi supportati desiderati. - Leggere il checkout restituito e controllare stato, messaggi, sconti applicati e totale.

La maggior parte dei valori omessi viene cancellata. Pagamento, campi dichiarati e dati di contatto salvati seguono regole specifiche: uno spread generico dell’oggetto non è sicuro, a meno di limitarlo prima ai campi accettati dallo schema corrente.
I dettagli che creano più spesso problemi sono molto concreti:
buyeraccetta un indirizzo email e un numero di telefono in formato E.164. Alcuni valori salvati possono restare bloccati: bisogna verificare ciò che torna nella risposta e lasciare che l’acquirente modifichi quelli bloccati direttamente sulla pagina.fulfillment.methodsaccetta al massimo un metodo. Vanno riutilizzati gli ID correnti di destinazione, gruppo e opzione. Nella stessa chiamata che seleziona una destinazione o un’opzione non bisogna cambiare il tipo di consegna o l’origine della ricerca per il ritiro.discounts.codesdeve contenere tutti i codici inseriti dall’acquirente che si vogliono conservare. Un array vuoto li rimuove, mentre gli sconti automatici restano. La presenza di un codice nella risposta non prova che sia stato applicato: occorre controllarediscounts.appliede i messaggi.declared_fieldspuò contenere valori specifici del checkout, come un codice fiscale o un credito del negozio. Chiavi sconosciute, tipi errati e valori non validi vengono rifiutati.payment.instrumentsaccetta al massimo una voce supportata. Checkout WebMCP non può acquisire il numero di una nuova carta.
Shop Pay richiede un’attenzione in più. Un acquirente autenticato può scegliere una carta salvata restituita da get_checkout. Il flusso guest può utilizzare un ID di approvazione Shop Pay esistente, se il checkout lo accetta. Se l’agente ha applicato quell’approvazione, omettere il pagamento in un aggiornamento successivo elimina la credenziale: la voce di approvazione va reinviata a ogni aggiornamento finché l’ordine non viene inoltrato.
Un aggiornamento può riuscire lasciando comunque il checkout nello stato incomplete. Se dura più di 30 secondi, può restituire update_failed anche quando alcune modifiche sono state applicate. In entrambi i casi bisogna rileggere lo stato aggiornato prima di decidere il passo successivo.
Verifica della fixture: la fixture contrattuale locale di questa guida ha superato otto casi: argomenti come stringhe JSON, perdita dei campi omessi, conservazione dello stato completo, navigazione con ritorno
null,toolchange,checkout_busy,completion_failede stato terminalecompleted. È un test sulla gestione delle risposte, non la prova che sia stato effettuato un pagamento Shopify reale.
4. Fare dell’acquirente il punto di controllo finale
La sequenza corretta per completare l’acquisto è breve e rigorosa:
- Recuperare un checkout aggiornato.
- Mostrare all’acquirente articoli, metodo di pagamento e totale correnti.
- Chiedere un consenso esplicito per inoltrare quell’ordine a quel totale.
- Se qualcosa cambia, mostrare il nuovo stato e chiedere di nuovo l’autorizzazione.
- Chiamare
complete_checkoutsoltanto dopo l’approvazione. - Accettare esclusivamente
status: completedcome prova dell’acquisto.
WBA dimostra quale agente ha inviato una richiesta. Un’approvazione Shop Pay autorizza un meccanismo di pagamento. ready_for_complete descrive lo stato del checkout. Nessuno di questi elementi equivale al permesso dell’acquirente di comprare.
Il completamento può seguire percorsi diversi. Una fase di revisione configurata restituisce il controllo all’acquirente; complete_checkout va richiamato soltanto dopo che l’acquirente ha esaminato e autorizzato l’invio. Una verifica del pagamento è diversa: l’acquirente la completa nella stessa scheda e l’agente non deve inviare di nuovo l’ordine. Bisogna interrogare periodicamente get_checkout finché il checkout non raggiunge completed o richiede un intervento dell’agente.

Il codice di errore indica quale percorso di recupero seguire:
Il retry pericoloso è un secondo tentativo di completamento eseguito perché la prima risposta era incerta. Checkout WebMCP non prevede una chiave di idempotenza. Prima si legge lo stato; se riporta completed, ci si ferma.
Sette casi d’uso, ordinati per valore concreto
Funzionano meglio quando l’agente opera già nel browser dell’acquirente. Non sono automazioni lato merchant che lavorano invisibili su un server.
Il primo caso d’uso è il più solido. I clienti abituali dispongono già di dati salvati e WebMCP può ridurre l’inserimento ripetitivo senza fingere che la comodità equivalga al consenso.
Cosa dicono davvero i conti
Shopify non richiede nuove configurazioni al merchant per questi tool di checkout. Questo non rende gratuito l’agente di shopping che li circonda: servono comunque un modello, la distribuzione nel browser, la gestione operativa di WBA, test, controlli per la privacy e assistenza.
Gli assistenti di shopping AI installati dai merchant coprono oggi una fascia di prezzo molto ampia. Nello Shopify App Store ufficiale si trovano un piano mensile da $9.99 di Easy AI Shopping Assistant, piani da $49 a $249 di Carti e piani di iAdvize da $290 a $1,330 al mese. Questi prodotti combinano chat nello storefront, suggerimenti, analytics o assistenza, quindi non sostituiscono direttamente un agente WebMCP lato acquirente.
Il cambiamento di budget è più circoscritto e più utile: un team che sviluppa agenti browser può dedicare meno lavoro alla manutenzione dei selettori specifici di ogni checkout e più risorse all’integrità dello stato, al consenso e alla gestione delle eccezioni. Per un quadro più ampio della piattaforma, la recensione di Shopify analizza il prodotto lato merchant e i relativi compromessi operativi.
Due prodotti che vale la pena sviluppare
1. Un banco di test per QA e consenso di Checkout WebMCP
È l’opportunità più interessante. Le agenzie Shopify e i team che realizzano agenti di shopping devono sapere se un checkout è idoneo e se l’agente si comporta in modo sicuro prima di affidargli un ordine.
Tra le query misurate, quella più vicina a questo caso d’uso è shopify checkout customization: registra 170 ricerche mensili negli Stati Uniti, è cresciuta dell’89% anno su anno e ha un CPC di $10.92. È una query più ampia rispetto ai test WebMCP, ma segnala una domanda attiva sul comportamento e sull’implementazione del checkout.
La versione minima vendibile è un runner Chromium che apre un checkout di test, registra i tool per origine e finestra, convalida gli argomenti come stringhe JSON, rileva toolchange, prova un aggiornamento basato sullo stato appena letto, simula risposte nulle durante la navigazione e codici di errore documentati e genera un report sul consenso con i dati sensibili rimossi. Il completamento di pagamenti reali deve restare dietro una modalità di test manuale.
Il limite è la copertura. La disponibilità dei tool dipende dal tipo di checkout e dal supporto del browser, il formato degli argomenti di Chrome sta cambiando e una fixture non può dimostrare un passaggio di pagamento reale. Il prodotto vince rendendo visibili questi limiti, non promettendo un’automazione universale.
2. Un assistente shopping Shopify lato acquirente
Un’estensione del browser potrebbe accompagnare l’utente dalla ricerca del prodotto a un checkout idoneo nei negozi Shopify, con una schermata di conferma riutilizzabile e regole rigorose per lo stato dei pagamenti salvati.
shopify ai shopping assistant registra 30 ricerche mensili negli Stati Uniti con intento commerciale e un CPC di $19.43. I concorrenti lato merchant propongono piani da $9.99 a $1,330 al mese: il dato dimostra che esiste già una disponibilità a pagare per software di acquisto assistito, anche se questo prodotto opererebbe dal lato dell’acquirente.
L’MVP deve includere ricerca nello storefront e tool per il carrello, scoperta del checkout, WBA, il ciclo lettura-aggiornamento-lettura, un riepilogo dell’ordine controllato dall’acquirente e il passaggio di controllo per le verifiche di pagamento. Il punto di partenza sono gli ordini in un singolo negozio e i percorsi Shop Pay con dati salvati.
Il limite è la distribuzione. I merchant non attivano Checkout WebMCP, ma agli acquirenti serve comunque un agente browser compatibile. B2B, checkout incorporato, SDK mobile, ordini tra più negozi e checkout ordinario in tre pagine senza Shop Pay restano esclusi dal percorso.
I limiti definiscono il prodotto
Checkout WebMCP è un’interfaccia più sicura per i checkout idonei nel browser, non un’API universale per gli acquisti.
Non può aggiungere o rimuovere articoli durante il checkout, acquisire il numero di una nuova carta, annullare il checkout, usare l’interfaccia definita dalle estensioni delle app né costringere un checkout escluso a registrare i tool. Non elimina l’accesso a Shop Pay, 3D Secure, le fasi di revisione o altre azioni richieste all’acquirente. Inoltre, non trasforma il testo del merchant in istruzioni affidabili per il modello.
La regola di progettazione più onesta è semplice: usare i tool finché sono registrati, considerare lo stato aggiornato come unica fonte attendibile e restituire la pagina all’acquirente ogni volta che il contratto richiede il suo intervento.
La mossa da fare lunedì
Lunedì, invece di distribuire le chiamate in tutto il codebase, conviene aggiungere all’agente un solo wrapper per il checkout. Al suo interno vanno riuniti serializzazione, corrispondenza dei tool, toolchange, navigazione con valore null, classificazione degli errori e lettura dello stato aggiornato. Poi si eseguono gli otto casi della fixture locale e si enumerano i risultati di document.modelContext.getTools() in un checkout di test idoneo e sotto il proprio controllo. Va provato un aggiornamento costruito a partire dallo stato appena letto. Il completamento è riservato a un ordine di test supportato e solo dopo una conferma esplicita; se non si dispone di un ordine di test sicuro, ci si ferma a ready_for_complete e si considera il completamento verificato dalle fonti, non testato in prima persona.
Come si usa la pagina di checkout di Shopify?
Per un agente browser, si chiama proceed_to_checkout dallo storefront, si riscoprono i tool dopo la navigazione, si chiama get_checkout, si invia tramite update_checkout lo stato completo desiderato dei campi supportati, si mostra l’ordine corrente con il totale e si ottiene l’approvazione dell’acquirente. Soltanto a quel punto si chiama complete_checkout. Se i tool di checkout non sono presenti, la pagina va affidata all’acquirente.
Shopify supporta MCP?
Sì. Shopify offre tool WebMCP registrati nel browser per lo storefront e i flussi di checkout idonei, oltre a tool MCP server-side per gli agenti eseguiti su un server. Il trasporto va scelto in base a dove opera l’agente.
Che cos’è Shopify Checkout MCP?
Shopify prevede due percorsi di checkout collegati. Checkout WebMCP opera nella scheda del browser dell’acquirente; Checkout MCP è l’opzione server-side. Entrambi utilizzano lo stesso oggetto, gli stessi stati e gli stessi messaggi di checkout UCP.
Che cos’è Shopify UCP?
UCP è il contratto dati condiviso per il commercio usato per rappresentare lo stato del checkout, i relativi status, i messaggi, la consegna, gli sconti e i dati di pagamento. Checkout WebMCP espone il contratto tramite tool del browser invece che con JSON-RPC server-side.
Shopify WebMCP funziona con il checkout incorporato?
No. Shopify esclude da Checkout WebMCP il checkout incorporato e i flussi tramite SDK di checkout mobile. L’acquirente deve completarli nella pagina.
Se vuoi realizzare un agente commerciale che metta il consenso al centro, scopri il servizio di sviluppo di agenti AI.
- Ultimo aggiornamento
- 29 set 2026
- Categoria
- Build







