Skip to main content

Usare PayPal con Virtuemart 1.1.x

Da Virtuemart 1.1.5 in poi sono presenti diversi metodi di pagamento legati a PayPal. Una difficoltà incontrata dai nuovi utenti di Virtuemart è diventata quindi capire quale usare tra le varie possibilità disponibili, e come configurarla correttamente.

In questo articolo faremo un riepilogo di tali metodi di pagamento, evidenziandone pregi / difetti e peculiarità varie.

Virtuemart Leaks

Chi ci segue abitualmente saprà che da qualche tempo facciamo parte del progetto Virtuemart. In particolare, siamo stati responsabili dell’impacchettamento e rilascio delle versioni dalla 1.1.5 in poi (e vi assicuro che non è stato facile 🙂 ). Praticamente tutto il codice è stato ereditato: il nostro intervento riguarda la risoluzione di piccoli bug, che perlopiù chiedono la modifica di una o due righe.

Proprio dalla versione 1.1.5 è stato introdotto un nuovo sistema di pagamento per PayPal, sviluppato e seguito da Soeren, il leader storico di Virtuemart. Tale metodo è stato inserito in maniera improvvisa, senza la sufficiente documentazione.

Negli ultimi 8 mesi, quindi, c’è stato molto traffico di richieste di supporto in tal senso: basta vedere il forum dedicato di Virtuemart. Dopo una serie di rimbalzi, abbiamo deciso di affrontare anche la gestione di tali problematiche.

Come prima cosa ci siamo tuffati a cercare di capire il giro completo, e abbiamo verificato che la gestione della nomenclatura lascia a desiderare. I vari nomi disponibili su Virtuemart (Legacy, Old, Api, New) non fanno capire bene che relazione ci sia tra tali metodi e i sistemi di pagamento disponibili su PayPal. Vediamo di fare chiarezza

PayPal Legacy = HTML = Website Payment Standard

Il sistema tradizionale di pagamento con PayPal su Virtuemart, presente da numerose versioni, è quello ora definito Legacy.

Si tratta dell’implementazione del sistema di pagamento definito Website Payment Standard sul sito PayPal: ovvero, la modalità cosiddetta HTML

Con tale sistema, Virtuemart crea una form HTML con dei campi nascosti che contengono tutte le informazioni necessarie (nome del prodotto, quantità, prezzo da pagare, e così via). Quando un utente di Virtuemart sceglie tale tipo di pagamento e  conferma l’ordine, la form viene automaticamente inviata e l’utente si ritrova sul sito PayPal, dove può accedere con il proprio utente PayPal esistente o crearne uno nuovo.

N.B. una volta la creazione di un utente PayPal non era obbligatoria per poter pagare sul sito PayPal; ora sì.

I vantaggi principali di tale metodo sono la sua semplicità e solidità.

La configurazione, per il proprietario del sito, non richiede altro che l’inserimento del proprio account PayPal (indirizzo e-mail con cui ci siamo registrati).

Tale metodo è presente da tempo in Virtuemart e, salvo alcune piccole incongruenze minori, funziona bene.

Al momento questa è la scelta consigliata per andare sul sicuro.

PayPal New API = API = Website Payment Pro

Il nuovo sistema di pagamento è quello definito New API.

Si tratta dell’implementazione del sistema di pagamento definito Website Payment Pro sul sito PayPal; ovvero la modalità cosiddetta API.

Con tale sistema, Virtuemart dialoga con il sito PayPal anzichè inviare una form completa.

E’ importante chiarire che Website Payment Pro prevede due possibili scelte, ben diverse tra loro, anche se Virtuemart le racchiude sotto un unico metodo: Express Checkout e Direct Payment.

Direct Payment

Questo metodo usa PayPal solo come gateway. I dati della carta di credito vengono inseriti sul nostro sito, e il pagamento avviene in background: l’utente non va sul sito PayPal. E’ interessante, ma è ovvio che richiede come minimo un sito protetto da certificato SSL, e particolare attenzione alla sicurezza dei nostri dati.

Express Checkout

Questo metodo invia l’utente al sito PayPal all’inizio del checkout, facendo in modo che l’utente paghi e poi torni sul nostro sito per completare l’ordine. E’ interessante anche questo, per evitare il diffuso fenomeno degli ordini completati in Virtuemart che non vengono poi mai pagati su PayPal per vari motivi, tecnici e non.

Configurazioni comuni

PayPal API usa delle credenziali API per dialogare direttamente con il sito PayPal. E’ possibile ottenere tali credenziali nella pagina di gestione del proprio account PayPal:

Profilo -> Impostazioni conto -> Accesso API.

E’ inoltre possibile usare delle credenziali di test recuperandole dal sito PayPal per gli sviluppatori (al quale bisognerà prima iscriversi). L’intero sistema di test viene definito SANDBOX. Con questo sistema è possibile fare tutto, compreso il pagamento su PayPal, in un sito finto.

Sia Express Checkout che Direct Payment richiedono il CURL abilitato sul proprio server.

Ulteriori passaggi

Ovviamente non è finita qui.

Noi al momento usiamo sui nostri siti la modalità tradizionale, non avendo mai avuto esigenza di utilizzare i vantaggi specifici offerti dai nuovi metodi disponibili. Ma non appena dovessimo iniziare a usare anche noi questi metodi, siamo certi che ci verranno in mente altri suggerimenti da darvi per un utilizzo ottimale di questi pagamenti.

In quel caso, ne riparleremo sicuramente su questo blog.