GARAHai vinto una gara che richiede PunchOut?Scarica il Tender Kit

Risoluzione dei problemi

Errore iframe PunchOut SAP Ariba: cause e soluzione

In breve

Quando un e-commerce PunchOut non si apre in SAP Ariba o Coupa, la causa è quasi sempre una di queste due: l’e-commerce vieta l’apertura in un frame (X-Frame-Options o Content-Security-Policy frame-ancestors) oppure il browser scarta il cookie di sessione perché non è impostato su SameSite=None; Secure. Autorizza i domini del cliente e correggi gli attributi del cookie, poi avvia una nuova sessione.

L’errore che le persone cercano

Messaggio tipico

The iframe has not configured - see warning in console

Il testo varia in base al browser e al sistema del cliente: un frame vuoto, una pagina con “connessione rifiutata” o una sessione che perde l’accesso o il carrello dopo il primo clic. La causa è quasi sempre una delle quattro seguenti.

Perché il frame viene bloccato

X-Frame-Options

DENY o SAMEORIGIN impediscono a qualsiasi altro sito di mostrare il tuo e-commerce in un frame.

CSP frame-ancestors

Una Content-Security-Policy senza il dominio del cliente blocca il frame.

Cookie SameSite

Senza SameSite=None; Secure il cookie di sessione viene scartato nel frame: accesso e carrello vanno persi.

Blocco dei cookie di terze parti

Safari e alcune impostazioni dei browser bloccano i cookie nei frame indipendentemente dagli attributi.

Correzione sul tuo server

  1. Leggi la console del browser

    Apri gli strumenti per sviluppatori durante una sessione di test e annota l’header o il cookie bloccato.

  2. Autorizza il dominio del cliente in frame-ancestors

    Aggiungi alla tua Content-Security-Policy solo i domini del cliente, mai *.

  3. Rimuovi X-Frame-Options DENY o SAMEORIGIN

    Non può elencare più domini; frame-ancestors lo sostituisce.

  4. Imposta i cookie di sessione su SameSite=None; Secure

    Altrimenti il browser li scarta nel frame e accesso e carrello vanno persi.

  5. Verifica una nuova sessione PunchOut

    Avvia una nuova sessione dal sistema di test del cliente e verifica accesso e ritorno del carrello.

Esempi di header

Content-Security-Policy: frame-ancestors 'self' https://*.ariba.com
Set-Cookie: session=…; Path=/; Secure; HttpOnly; SameSite=None

Verifica i domini esatti con il cliente: SAP Ariba, Coupa e altri sistemi usano host diversi per test e produzione. Applica la modifica solo a ciò che serve alla sessione PunchOut e mantieni gli altri header di sicurezza.

Quando il browser blocca ancora i cookie

Anche con gli attributi corretti, i browser che bloccano per impostazione predefinita i cookie di terze parti possono scartare la sessione nel frame. Le soluzioni più solide sono aprire l’e-commerce in una nuova finestra, quando il sistema del cliente lo consente, oppure servirlo tramite un proxy su un dominio che il browser considera di prima parte per la sessione.

Oppure lascia che se ne occupi il gateway

PunchOut Rocket presenta il tuo e-commerce al cliente tramite il proprio gateway, un reverse proxy che imposta gli header dei frame e gli attributi dei cookie corretti per ogni sessione PunchOut. Non cambia nulla sul tuo server o tema e i clienti normali mantengono le impostazioni di sicurezza attuali.

PunchOut sull’e-commerce che hai già

PunchOut Rocket collega WooCommerce, Magento, PrestaShop e nopCommerce a SAP Ariba, Coupa e SAP tramite cXML o OCI. Da 163 €/mese per sito, prova gratuita di 30 giorni.

FAQ

Domande

Perché il mio e-commerce non si apre in SAP Ariba?

Di solito perché l’e-commerce vieta la visualizzazione in un frame (X-Frame-Options o CSP frame-ancestors) oppure perché il cookie di sessione viene bloccato come cookie di terze parti (SameSite).

È sicuro consentire l’apertura in un frame?

Sì, se autorizza in frame-ancestors solo i domini del cliente, non qualsiasi sito.

PunchOut Rocket risolve questo problema per me?

Sì. Il reverse proxy del gateway presenta il tuo e-commerce con gli header dei frame e gli attributi dei cookie richiesti dal sistema del cliente, senza modificare il tuo server.

Continua a leggere

Guide correlate

Prova gratuita di 30 giorni · senza carta di credito

Il tuo cliente aspetta. È ora di partire.

Installa il plugin oggi ed esegui la prima sessione di test questo pomeriggio. Se la scadenza è vicina, diccelo: gestiremo la tua richiesta con priorità.