PayPal su PrestaShop: come integrarlo
Quale modulo usare, come configurarlo e cosa fare quando il pagamento riesce ma l'ordine non c'è
PayPal resta il metodo di pagamento alternativo alla carta più richiesto dai clienti italiani, e su PrestaShop la sua integrazione è cambiata parecchio negli ultimi anni. Questa guida spiega quale modulo usare oggi, come configurarlo senza sorprese e cosa fare quando qualcosa non torna — perché la maggior parte delle chiamate che riceviamo su PayPal riguarda proprio il "dopo".
Quale modulo usare
Su PrestaShop 1.7 e 8 il modulo di riferimento è PayPal ufficiale, distribuito da PrestaShop e mantenuto insieme a PayPal. È quello da usare: i moduli di terze parti che si trovano in giro sono spesso fermi a versioni vecchie dell'API, e un modulo di pagamento non aggiornato è la peggiore categoria di modulo non aggiornato che si possa avere.
Il modulo copre tre modalità:
- PayPal classico — il cliente esce dal sito, paga sul dominio PayPal e torna indietro. È il più semplice e il più collaudato.
- Pagamento con carta tramite PayPal — la carta viene inserita in un campo ospitato da PayPal ma dentro la pagina del tuo sito. Utile se non vuoi un gateway separato, e tiene i dati della carta fuori dal tuo perimetro.
- Pulsanti smart e paga in 3 rate — il pulsante compare anche sulla scheda prodotto e nel carrello, non solo al checkout. Sulla rateizzazione conviene guardare le condizioni: cambia per paese ed è a carico del venditore.
Configurazione: l'ordine giusto
1. Prima l'ambiente di test. Si crea un account sandbox su PayPal Developer e si collega il modulo in modalità test. Sembra un passaggio saltabile, non lo è: gli errori di configurazione si manifestano al momento del pagamento, e scoprirli con un ordine vero significa scoprirli con un cliente vero.
2. Collegamento dell'account. Il modulo recente usa una procedura di collegamento guidata invece delle vecchie chiavi API inserite a mano. Serve un account PayPal Business: con un account personale il collegamento parte ma alcune funzioni non si attivano, ed è una delle cause più frequenti di configurazioni a metà.
3. Valute e paesi. Vanno attivate nel modulo le stesse valute attive nel negozio. Una valuta abilitata sul sito e non su PayPal produce un errore al momento del pagamento, non prima — quindi non te ne accorgi in configurazione.
4. Restrizioni per gruppo cliente e trasportatore. Se vendi anche in B2B con bonifico differito, quasi sempre non vuoi PayPal per quel gruppo. Si imposta nelle restrizioni del modulo, non serve codice.
5. Il ritorno sul sito. È il punto che rompe più spesso, ed è lo stesso problema di fondo dei redirect: se il sito risponde su più indirizzi — con e senza www, http e https — il ritorno da PayPal può cadere su un indirizzo diverso da quello di partenza e la sessione si perde. Il carrello risulta vuoto e l'ordine sparisce. Va deciso un solo dominio canonico e imposto con un redirect.
I problemi che vediamo più spesso
Il pagamento riesce ma l'ordine non compare
Il denaro è arrivato, l'ordine no. Quasi sempre è la notifica asincrona di PayPal (IPN o webhook) che non raggiunge il sito: bloccata da un firewall, da una regola dell'.htaccess, o diretta a un URL che risponde con un redirect. Si verifica dal pannello PayPal, dove lo storico delle notifiche mostra i tentativi falliti e il codice di risposta ricevuto.
Ordini che restano in "pagamento accettato" senza avanzare
Di solito è una mappatura degli stati incompleta: PayPal comunica uno stato che PrestaShop non traduce in nulla. Si corregge negli stati d'ordine, ma vale la pena capire quale stato arriva davvero prima di cambiare le impostazioni a caso.
Importi che non corrispondono di pochi centesimi
È arrotondamento. PrestaShop può essere configurato per arrotondare per riga, per prodotto o sul totale, e se l'impostazione non coincide con come viene composto l'importo inviato a PayPal, la differenza fa rifiutare la transazione. Si risolve nelle impostazioni di arrotondamento, ed è bene farlo prima di aprire il negozio, perché cambiarlo dopo tocca lo storico.
Il pulsante non compare al checkout
Nell'ordine in cui conviene controllare: il modulo è attivo, il gruppo cliente è fra quelli abilitati, la valuta del carrello è fra quelle configurate, il trasportatore selezionato non ha restrizioni. Se tutto è a posto e continua a non comparire, quasi sempre è un errore JavaScript del tema che blocca lo script del modulo: si vede aprendo la console del browser.
Vale la pena tenere anche altri metodi?
Sì, e la combinazione che nella nostra esperienza copre la quasi totalità dei casi in Italia è: carta tramite un gateway (Stripe o l'acquirer della tua banca), PayPal, bonifico anticipato per gli importi alti. Il contrassegno solo dopo aver messo a bilancio quanto costano i rifiuti alla consegna — e di solito costa più di quanto porti.
Attenzione a non esagerare: ogni metodo in più è un modulo da aggiornare e una superficie in più da tenere sicura. Sei metodi di pagamento su un negozio piccolo sono un rischio, non un servizio.
Domande frequenti
PayPal quanto costa al venditore?
Una commissione percentuale sulla transazione più una quota fissa, con condizioni diverse per i pagamenti dall'estero e per il cambio valuta. Le tariffe cambiano nel tempo e per paese, quindi vanno lette sul sito PayPal al momento in cui decidi. Il ragionamento utile è confrontarla con la commissione del gateway carta che useresti comunque, non guardarla da sola.
Serve un account Business?
Sì. Con un account personale il collegamento può anche completarsi, ma alcune funzioni restano disattivate e la ricevuta non riporta i dati aziendali. È una delle prime cose da verificare quando una configurazione sembra a posto ma non funziona del tutto.
Posso usare PayPal solo per alcuni prodotti?
Non per prodotto, ma per gruppo cliente, valuta e trasportatore sì, dalle restrizioni del modulo. Se serve davvero una logica per prodotto occorre uno sviluppo su misura, e prima di farlo conviene chiedersi perché.
PayPal è compatibile con PrestaShop 8?
Sì, il modulo ufficiale è mantenuto per 1.7 e 8. Se stai usando un modulo di terze parti fermo a una versione vecchia dell'API, la migrazione a quello ufficiale è un intervento che vale la pena programmare: un modulo di pagamento non mantenuto è un rischio doppio, di funzionamento e di sicurezza.
Come faccio a sapere se le notifiche arrivano?
Dal pannello PayPal, nella sezione dedicata allo storico delle notifiche istantanee: mostra ogni tentativo con il codice di risposta del tuo server. Una sequenza di errori lì spiega da sola perché gli ordini non si creano, ed è il primo posto dove guardare invece di ipotizzare.
Hai problemi con i pagamenti sul tuo PrestaShop?
Parliamone →