Come funziona il pagamento PayPal su un sito web: il bottone "Buy Now" | NEXT chapters | |||
PayPal è un sistema che permette di effettuare pagamenti online e, soprattutto, di ricevere pagamenti online. In questa guida, cercheremo di dare un quadro, il più completo possibile, delle possibilità che ha l'utente per ricevere pagamenti. Infatti, mentre per ricevere pagamenti online attraverso i sistemi delle banche tradizionali, bisogna seguire un processo piuttosto complesso, fatto di verifiche ed autorizzazioni preliminari, PayPal è un sistema al quale è possibile collegarsi con una semplice iscrizione: niente domande, niente direttori di banca, niente documenti da presentare. L'iscrizione a PayPal, e, quindi, l'apertura di un account PayPal, è completamente gratuita e richiede, semplicemente, un indirizzo di posta elettronica e, naturalmente, un indirizzo di residenza fisico. Questo è, senza alcun dubbio, un primo punto di forza del sistema PayPal: chiunque desideri fare del commercio elettronico, che venda un solo prodotto o che abbia un listino composto da migliaia di articoli, può attivare un sito web che comprenda la possibilità di pagamento online, anche in soli pochi passi. Quando dico "anche in soli pochi passi", intendo evidenziare il secondo punto di forza che contraddistingue PayPal: l'integrazione tra il sistema di pagamento online PayPal ed il vostro sito web può essere completata in differenti modalità, ciascuna delle quali comporta una minore o maggiore competenza informatica, può prevedere un maggiore o minore grado di integrazione, ma garantisce, sempre e comunque, che ogni transazione avvenuta potrà essere da voi verificata e gestita. Prima di cominciare, credo sia essenziale comprendere cosa si intenda con il termine integrazione. Abbiamo un sito internet. Questo sito risiede, fisicamente, su un server qualsiasi, in una qualche parte del mondo ( in realtà, un sito potrebbe risiedere, per motivi tecnici, anche su più server, ma questo particolare aspetto è davvero ininfluente per i nostri scopi ). E' il server che ospita le nostre pagine HTML, i nostri programmi CGI, siano essi scritti in Perl, in PHP o in qualsiasi altro linguaggio, il nostro database. Tanto per non far torto a nessuno, prendiamo ad esempio uno dei siti di commercio elettronico più noti al mondo: Amazon. Se aprite il sito di Amazon, potrete navigare tra migliaia di pagine, nelle quali vengono presentati migliaia di libri. Di ogni libro, potrete vedere una scheda dettagliata, le condizioni di vendita, le condizioni di spedizione, il prezzo.
Normalmente, tutte queste informazioni vengono conservate in un database. Si tratta, fondamentalmente, di informazioni statiche, nel senso che non sono soggette a frequenti variazioni. Ora, proviamo a prenotare un articolo qualsiasi, premendo il bottone "Prenota ora". Cosa accade? Il sito ci informa che "1 articolo è stato aggiunto al carrello". Cosa significa? Significa, semplicemente, che abbiamo attivato un altro software, chiamato generalmente "Carrello elettronico" che gestisce la borsa della spesa di ciascun utente che stia navigando all'interno del sito. Mi spiego: sappiamo, in questo preciso momento, chi sia l'utente che ha prenotato un libro? No. Sappiamo dove sia questo utente? Nemmeno. Sappiamo se questo utente prenoterà altri libri, durante la sua navigazione all'interno del sito? Neppure. Sappiamo, in ultimo, se questo utente deciderà di acquistare l'articolo o gli articoli che ha inserito nel carrello ( cioè prenotato )? Tantomeno!
Insomma, di questo utente abbiamo solo una informazione sicura: che ha infilato, nella sua borsa della spesa, un libro specifico. Non sappiamo ancora se, prima o poi, passerà alla cassa a pagare. Come può fare il nostro sito a memorizzare questa informazione? Questa informazione non è un'informazione statica: il nostro utente potrebbe ( come capita il più delle volte ) abbandonare il nostro sito nei minuti seguenti e non tornarci mai più. Inoltre, di questo utente noi non sappiamo nulla, a parte il suo indirizzo IP di quel momento. Quindi, il solo modo che ho di identificarlo, almeno nei momenti successivi alla prenotazione, è memorizzare, da qualche parte, sul mio server, il suo indirizzo IP e l'articolo o gli articoli ad esso legati. Oppure, potrei inviare al mio utente ( senza che lui se ne accorga ) un cookie, cioè un file nel quale inserisco un qualche dato che mi permetta di identificarlo. Qualsiasi mezzo io utilizzi per memorizzare queste poche informazioni,
l'aspetto importante di questa fase della transazione è che i dati che raccolgo mi potranno essere utili solo per i minuti successivi. La gestione di questi dati, estremamente volatili, è esattamente il compito di un carrello elettronico. Fino a questo punto, il nostro utente ha sempre navigato nel nostro sito, inviando e ricevendo informazioni al/dal nostro server. Ora il nostro utente decide di passare alla cassa, per completare il suo acquisto. Vuole, prima, controllare cosa ha messo nella borsa della spesa. Sul sito di Amazon, vede il bottone "Modifica il tuo carrello" e lo preme. Amazon gli presenta la lista della spesa, che comprende l'elenco degli articoli prenotati, i prezzi ed il costo totale. Visto che l'utente è deciso ad acquistare tutti gli articoli, preme, finalmente, il bottone "Procedi all'acquisto". Cosa accade? Si apre una pagina, dove vengono chiesti all'utente i dati di accesso al sistema di pagamento Amazon.
In sostanza, in questo momento, Amazon ha bisogno che l'utente si identifichi, dando i suoi dati personali, l'indirizzo di residenza, l'indirizzo di spedizione, eccetera eccetera. Apparentemente, l'utente è ancora sul sito di Amazon, visto che l'indirizzo della pagina contiene:
Quest'ultimo caso, il caso in cui il server HTTPS non invii alcun dato della transazione appena avvenuta al server HTTP, è la più semplice forma di ( bassa ) integrazione offerta da PayPal. Voi inviate al server PayPal la lista della spesa del vostro utente, il server PayPal pensa a tutto il resto. Voi, la sera, prima di addormentarvi, vi connettete al server PayPal, attraverso il vostro account, e verificate se siete più ricchi del giorno prima. Anche in questo caso, però, PayPal fa, per voi, qualcosina in più: ogni volta in cui processa, sul suo server HTTPS, una transazione di un vostro utente, vi invia una email di avvenuta transazione, contenente alcuni dati della transazione stessa: i dati dell'utente ( nome, cognome, indirizzo, nel caso doveste effettuare una spedizione ) e quanto ha pagato. A questo punto, vorrei richiamare l'attenzione su un ultimo aspetto molto importante, quando si parla di integrazione. Il fatto che i dati dell'utente e della transazione avvenuta restino solo sul server PayPal può rappresentare un bel vantaggio per il venditore. Memorizzare, infatti, dati sensibili, come questi, su un proprio server comporta, anche, alcuni pesanti obblighi di tipo legale: siete in grado di proteggere quei dati da attacchi esterni? Da furti? Da intromissioni indesiderate? Nel caso concreto del vostro sito web, il server HTTP è il server su cui risiede il vostro sito web, mentre il server HTTPS è il server PayPal. Il server HTTPS, PayPal, mette a vostra disposizione una serie di funzionalità che vi permettono di consultare parte del database PayPal, al fine di mettervi nelle condizioni di gestire tutte le transazioni online originate dal vostro sito web. Tutte queste funzionalità sono disponibili all'interno del vostro account PayPal. Cos'è un account? Nel caso di PayPal, è un vero e proprio conto bancario, dal quale potrete effettuare e ricevere pagamenti, effettuare versamenti e richiedere trasferimenti di somme sul vostro conto corrente bancario reale. Quindi, il primo passo per poter ricevere pagamenti online è proprio aprire un vostro account. PayPal offre tre tipi differenti di account ( Personal, Premier e Business ), ma il tipo più indicato per ricevere pagamenti online è l'account "Business", che offre molti strumenti in più per la gestione delle transazioni. L'iscrizione è gratuita. I pagamenti ed i trasferimenti di denaro, dal proprio conto PayPal al conto corrente bancario ( per cifre superiori ai cento euro ), anche. Per quanto riguarda le tariffe, trattenute da PayPal, per i pagamenti ricevuti, sono:
Questi costi vengono applicati solo ed esclusivamente sulle transazioni effettuate. Non sono previste tariffe mensili per la gestione di un conto PayPal. Per iniziare, dunque, andate al sito di PayPal e cliccate sul link "Registrati oggi stesso". Quando vi verrà richiesto un indirizzo email, ricordate che questo indirizzo email rappresenterà, da ora in poi, il vostro account PayPal.
Una volta conclusa la registrazione, potrete accedere al vostro account PayPal ed iniziare immediatamente la vostra attività commerciale online. Vedremo in seguito le varie funzionalità disponibili, ma un'ultima cosa da ricordare è che, in questo momento, il vostro account è soggetto ad alcune restrizioni:
Queste limitazioni possono essere rimosse in qualsiasi momento. E' sufficiente confermare la propria identità a PayPal. Nella home page del vostro account PayPal, trovate la dicitura:
Non è necessario eseguire questa procedura immediatamente: potrete farlo in un secondo momento, quando queste restrizioni cominceranno a starvi strette. La procedura, guidata, consiste nel dare a PayPal una carta di credito, anche prepagata, intestata all'intestatario del conto PayPal, e permettere a PayPal di effettuare un prelievo di 1,50 euro ( un euro e cinquanta centesimi ). Troverete l'addebito, nell'estratto conto, associato a un codice a 4 cifre. Non appena avrete ricevuto questo codice, accederete di nuovo al vostro conto PayPal per immettere il codice che avete individuato nell'estratto conto. L'addebito di €1,50 EUR sarà riaccreditato sul vostro conto PayPal entro 24 ore dalla conferma della carta. La mancata esecuzione di questa procedura NON pregiudica la possibilità di utilizzare il proprio account per riscuotere pagamenti online. Vediamo, ora, alcune funzionalità che potrebbero interessare in questa prima fase di allestimento. Entrate nel vostro account PayPal e cliccate sul menù "Profilo". In questa sezione, potrete gestire il vostro profilo, il vostro conto corrente bancario ( sul quale trasferire i fondi depositati in PayPal ), la vostra carta di credito, le impostazioni del vostro conto e gli strumenti di vendita. Tra gli Strumenti di Vendita, troverete, come primo collegamento, la voce "Imposta il conto Business". Entrate in questa sezione, cliccando su "Vai". All'interno della sezione, avrete tre possibili percorsi:
Entrate nella "Gestione portafoglio". Dalla pagina che vi si aprirà, sarete in grado di:
Entrate nella "Gestione valute". In questa pagina, potete decidere qual'è la valuta principale del vostro conto ( di default, dovrebbe essere EURO ) e quali altre valute siete disposti ad accettare dai vostri clienti, nel corso dei pagamenti online. Aggiungere una valuta in questa sezione significa che siete disposti ad accettare pagamenti in quella valuta. Quindi, se in questa lista aggiungete, per esempio, la Corona Ceca, quando un cliente dovesse pagare in Corone Ceche, PayPal non effettuerà alcuna operazione di cambio valuta, ma accrediterà, sul vostro conto, l'intero importo in Corone Ceche. Normalmente, PayPal, per il mercato italiano, imposta, di default, l'Euro come valuta principale e il Dollaro USA, come valuta aggiuntiva. Cosa accade quando un cliente cerca di pagare con una valuta che voi non avete aggiunto a questa lista? A deciderlo, siete voi. Andate al menù:
Qui potete impostare alcune limitazioni da applicare alle transazioni online. La prima delle opzioni presentate è proprio l'opzione "Blocca pagamenti inviati in una valuta di cui non dispongo". Le scelte offerte da PayPal sono tre:
Se scegliete "No, accetta i pagamenti e convertili in Euro", state decidendo che il vostro cliente potrà pagare con una valuta differente, ma dovrà farsi carico del costo del cambio valuta. Quindi, se il vostro articolo costasse 50 euro, voi vi ritrovereste, sul vostro conto, tutti i 50 euro ( detratte solo le commissioni PayPal ). Al contrario, se il cliente pagasse con una valuta che voi avete inserito nell'elenco delle valute accettate ( per esempio, il Dollaro USA ), voi vi ritrovereste, sul conto, il controvalore di 50 euro nella valuta del cliente. Il giorno in cui decideste di trasferire questi soldi al vostro conto corrente bancario, PayPal dovrebbe prima effettuare la conversione nella vostra valuta principale ( EURO ). In questa operazione, vi verrebbero detratti i costi di cambio valuta ( costi decisi da PayPal ). Inoltre, se la valuta del vostro cliente, nel momento in cui chiedete il trasferimento, si fosse svalutata, voi perdereste anche la differenza di cambio ( se, invece, la valuta del vostro cliente, nel frattempo, si fosse rivalutata, voi incassereste questa differenza ). In questa stessa pagina, potete impostare altre opzioni preliminari importanti:
Un'altra opzione importante da segnalare è la possibilità di inserire, nel vostro account PayPal, fino a 8 indirizzi email differenti. Di questi 8, uno deve essere segnalato come indirizzo email principale: sarà l'indirizzo email che utilizzerete per accedere al vostro account PayPal. A cosa possono servire più indirizzi email? E' bene ricordare che l'indirizzo email viene utilizzato, da PayPal, come identificativo dell'account. Come vedremo tra poco, uno dei campi che dovrete inviare al server HTTPS di PayPal, per iniziare una transazione finanziaria, è il nome del vostro account, così che PayPal sappia su quale conto versare quei soldi. Il nome del vostro account coincide con l'indirizzo email che avete inserito nell'account PayPal. Ogni volta in cui un vostro utente cliccherà sul bottone "Paga adesso", per iniziare il pagamento online, vedrà aprirsi la pagina di PayPal con il nome del vostro account, cioè con il vostro indirizzo email. Immaginate, ora, di voler costruire due siti differenti, ciascuno dei quali venda un prodotto completamente differente dal prodotto venduto dall'altro. Nel sito A vendete apparecchiature elettroniche, mentre nel sito B vendete prodotti dietetici. Quando i vostri utenti decideranno di perfezionare un acquisto, premendo il bottone PayPal "Paga adesso", si troveranno il nome dello stesso account ( stesso indirizzo email ), sia che arrivino dal sito A, sia che arrivino dal sito B. Grazie a questa funzionalità, invece, sarete in grado di distinguere nettamente, agli occhi dei vostri utenti, i due account, utilizzando, per il sito A un indirizzo email, per il sito B un indirizzo email differente. Per inserire nuovi indirizzi email, seguite il percorso:
Cliccate su "Aggiorna" e poi premete il bottone "Aggiungi". Ricordate che, nel caso aveste più di un indirizzo email registrato nell'account PayPal, dovrete impostarne uno come principale. L'indirizzo email principale è l'indirizzo email che dovrete sempre utilizzare per accedere all'account PayPal ( la username di accesso ). C'è un'altra impostazione importante, che sarebbe meglio verificare prima di impostare la pagina web. Seguite il percorso:
Se questa funzionalità è attiva ( default ), i vostri clienti non saranno obbligati ad iscriversi a PayPal. Gli acquirenti potranno comunque completare il pagamento sul vostro sito web e successivamente decidere se aprire un conto PayPal.
Ora che abbiamo un sito web ( il vostro server HTTP, con le pagine HTML, il database prodotti ed il software di carrello elettronico che gestisce la navigazione degli utenti tra i vari prodotti ) ed un account PayPal, sul server HTTPS, siamo in grado di testare la forma più semplice di integrazione tra il vostro sito ed il sistema PayPal. E la forma più semplice di integrazione è rappresentata dal bottone "Buy Now" ( Paga adesso ), che permette ai vostri utenti di acquistare un solo articolo del vostro catalogo, in modo semplice ed immediato. Non vi scoraggiate, nel leggere che il bottone "Buy Now" permette la vendita di un solo articolo. PayPal, infatti, offre così tante possibilità di integrazione che, per comprenderle appieno, vanno esplorate facendo un passo alla volta. Il bottone "Buy Now" non è altro che una form ( modulo ) HTML, che ci permette di inviare alcune informazioni al server HTTPS di PayPal, affinchè proceda al pagamento. E' possibile generare il codice HTML del bottone anche dal nostro account PayPal. Una volta entrati nell'account, scegliete il menù "Strumenti per la vendita", poi il link "Pulsanti Paga adesso". Oppure ( percorso alternativo ), seguite il percorso:
Si aprirà una pagina, nella quale potrete impostare una serie di opzioni e richiedere la generazione del codice HTML per il bottone "Buy Now". La pagina presenta tre sezioni:
Per il momento, inseriremo solo i dati essenziali, utilizzando solo la prima sezione.
A questo punto, premiamo il bottone "Crea pulsante". Vi verrà presentata una pagina, nella quale troverete il codice HTML da inserire nella vostra pagina web, per far apparire il bottone "Paga adesso". Copiando questo codice all'interno della vostra pagina web, il vostro utente sarà già in grado di effettuare l'acquisto online dell'articolo "Il mio primo articolo", codice 1000, prezzo 10 euro. Non avendo ancora dato all'utente la possibilità di specificare una quantità, è implicito che, in questo caso, l'utente stia acquistando un solo pezzo. Vediamo il codice:
In questo codice HTML, sono 3 le righe che ci interessa analizzare.
In questa prima riga, possiamo vedere l'indirizzo internet ( URL ) al quale la nostra form viene inviata. Memorizzate questa URL, perchè tutte le form PayPal che invierete per dare inizio ad un pagamento online reale dovranno puntare a questa URL:
Ho scritto "pagamento online reale" perchè per questo primo test ho utilizzato un mio account "Business" reale. Per evitare che qualcuno prema il bottone "Paga adesso" ed esegua tutta la procedura di pagamento online, versando sul mio conto i fatidici 10 euro, ho modificato il dato relativo al mio account ( hosted_button_id ). Se doveste premere il bottone generato da questo codice, infatti, ricevereste un messaggio di errore da parte di PayPal. Da questo momento in poi, invece, utilizzerò un account PayPal virtuale ( Sandbox, di cui parleremo in seguito ), un account identico in tutto e per tutto ad un account reale, ma le cui form di pagamento vengono inviate ad un server HTTPS differente. In questo server HTTPS, le transazioni online vengono totalmente simulate, in modo da permettere al programmatore di verificare le funzionalità PayPal al lavoro. Quindi, tra un account reale ed un account virtuale ( che inizierò ad utilizzare da ora ) Sandbox, la sola differenza visibile è l'indirizzo internet ( URL ) scritto all'interno della TAG FORM. Ciò che dovrete sempre tenere a mente è che, per avviare una transazione online reale, l'indirizzo unico al quale inviare i dati delle vostre form sarà:
La seconda riga, della nostra form, che ci interessa analizzare è la seguente:
In questa riga, viene impostato un parametro ( variabile avanzata ) PayPal, il cui nome è
ma, visto che questo parametro non è previsto dalla sintassi usata dal server HTTPS di PayPal, verrà immediatamente scartato. PayPal mette a disposizione del programmatore una serie di parametri, o variabili avanzate, da utilizzare all'interno delle form HTML, indicando, quasi sempre, un numero limitato di valori che il programmatore può assegnare loro. Un parametro, infatti, è sempre composto da due elementi: il nome ( name ) ed il valore ( value ). Nel nostro caso, abbiamo:
Per conoscere il significato della variabile
E' chiaro, quindi, che la variabile PayPal
Nella tabella 2 ( HTML Variables for Special PayPal Features ) della pagina PayPal appena vista, scopriamo il significato ed i possibili valori della variabile avanzata
Da questa pagina, potrete vedere, modificare e cancellare tutti i pulsanti ( ed i relativi codici HTML ) che avete salvato ( fino ad un massimo di 1000 bottoni ). Chi decide se salvare il codice HTML di un bottone? Voi. Dalla stessa pagina in cui vi trovate ora, nel vostro account PayPal, invece di cliccare sul menù "Modifica" di un bottone già esistente, cliccate su "Crea nuovo pulsante". Inserite gli stessi dati di prima:
ma, prima di creare il bottone, aprite la seconda sezione: "Passaggio 2. Gestisci le giacenze di magazzino, i profitti e le perdite (opzionale)" e deselezionate la voce: "Salva il pulsante su PayPal". A questo punto, premete il bottone "Crea pulsante". Vediamo, ora, il codice HTML che è stato generato per il bottone:
Vi ho voluto risparmiare tutto il testo contenuto nel campo
La domanda che potrebbe sorgere spontanea in voi è la seguente: ma insomma, non è possibile vedere un codice HTML della form PayPal in chiaro, senza che sia criptato o salvato in qualche recesso del server HTTPS di PayPal? Certamente. A PayPal bisogna solo chiedere! Rientrate nel vostro account PayPal e tornate alla pagina di creazione dei bottoni. Reinseriamo tutte le informazioni necessarie:
Ora, ricordatevi di deselezionare la voce "Salva il pulsante su PayPal", nella scheda "Passaggio 2. Gestisci le giacenze di magazzino, i profitti e le perdite (opzionale)". Quindi, premete il bottone "Crea pulsante". A questo punto, vedrete il codice HTML della form, in forma criptata ( è la modalità di default di PayPal, nel caso in cui venga escluso il salvataggio del codice sul server Paypal ), ma vedrete anche un link, subito sopra il codice, con scritto: "Rimuovi protezione codice". Cliccate e vedrete apparire il codice HTML in chiaro:
Se fossimo in ambiente PayPal reale, ecco cosa vedreste nella pagina aperta dal bottone "Paga adesso".
Avrete certamente notato come, pur avendo, noi, impostato solo alcuni parametri, ci ritroviamo un codice HTML ricco di campi, o variabili, aggiuntivi. Verifichiamo, allora, di quali campi si tratta ( tenendo bene a mente, però, che la Bibbia, per le variabili avanzate, è la pagina di PayPal:
Fino ad ora, abbiamo creato un bottone "Paga adesso" che permette l'acquisto di un solo pezzo del nostro articolo. Vogliamo dare la possibilità ai vostri utenti di scegliere la quantità di pezzi da acquistare? Ok. Torniamo alla pagina di creazione dei bottoni del vostro account ( ormai dovreste conoscere il percorso per raggiungere questa pagina ) ed inseriamo sempre il nostro primo articolo con codice 1000:
Ora, apriamo la terza scheda di questa pagina: "Passaggio 3. Personalizza le funzioni avanzate (opzionale)" e spuntiamo il "Sì" sulla opzione: "Desideri consentire ai clienti di modificare le quantità dell'ordine?". Ora, dobbiamo ricordarci di deselezionare la voce "Salva il pulsante su PayPal", nella scheda "Passaggio 2. Gestisci le giacenze di magazzino, i profitti e le perdite (opzionale)". Quindi, premiamo il bottone "Crea pulsante". A questo punto, vedremo il codice HTML della form, in forma criptata ( è la modalità di default di PayPal, nel caso in cui venga escluso il salvataggio del codice sul server Paypal ), ma vedremo anche un link, subito sopra il codice, con scritto: "Rimuovi protezione codice". Clicchiamo e vedremo apparire il codice HTML in chiaro. E' stato aggiunto un qualche campo? Ovviamente, sì:
Anche se intuitivo, andiamo sulla pagina di PayPal per verificare la funzione ed i possibili valori assegnabili alla variabile
Proviamo, ora, a creare un bottone "Paga adesso" per questo secondo caso. In questo secondo caso, visto che vogliamo specificare un prezzo per ciascuna variante del nostro articolo, non dovremo impostare il prezzo utilizzando la stessa casella che abbiamo usato fino ad ora, casella che contiene un prezzo unico.
Ora selezioniamo la voce "Aggiungi menu a discesa con prezzo/opzione", all'interno del box "Personalizza il pulsante", scegliamo un nome per il menù a discesa ( "Dimensioni" ) da mostrare al nostro utente, specifichiamo le opzioni ed i relativi prezzi che chiediamo di presentare al nostro utente:
Ora, salviamo i dati appena inseriti, apriamo la terza scheda della pagina di creazione dei pulsanti: "Passaggio 3. Personalizza le funzioni avanzate (opzionale)" e spuntiamo il "Sì" sulla opzione: "Desideri consentire ai clienti di modificare le quantità dell'ordine?". Ora, deselezioniamo la voce "Salva il pulsante su PayPal", nella scheda "Passaggio 2. Gestisci le giacenze di magazzino, i profitti e le perdite (opzionale)". Quindi, premiamo il bottone "Crea pulsante". A questo punto, vedremo il codice HTML della form, in forma criptata ( è la modalità di default di PayPal, nel caso in cui venga escluso il salvataggio del codice sul server Paypal ), ma vedremo anche un link, subito sopra il codice, con scritto: "Rimuovi protezione codice". Clicchiamo e vedremo apparire il codice HTML in chiaro. Prima di analizzare il codice HTML, vediamo il risultato:
Bruttino, vero? Cosa è successo? Intanto, vorrei precisare che il problema è solo estetico. La funzionalità del bottone "Paga adesso" resta inalterata: se il vostro utente scegliesse, per esempio, l'opzione "ExtraLarge" a 20 euro, la pagina del server HTTPS di PayPal presenterebbe esattamente questa versione dell'articolo, con il suo relativo prezzo. Ora, vediamo i nuovi campi che sono stati creati nella form HTML ( gli altri campi restano invariati, quindi, non li riporterò ):
La prima, intuitiva, considerazione da fare è che, in questo caso, PayPal non ha creato solo i campi delle variabili, ma ha creato anche una tabella HTML, da inserire nella nostra form, in modo da costringere il nostro utente ad effettuare la scelta dell'articolo direttamente dal nostro sito. E, proprio da questa tabella HTML, ha origine il nostro problema estetico. Conoscete i fogli di stile, o CSS? I fogli di stile sono dei file testuali, nei quali si possono specificare le caratteristiche di tutti gli oggetti HTML presenti in una pagina web. Nella nostra form, sono presenti ben quattro oggetti HTML:
Nel nostro caso, visto che questa pagina è ospitata dal sito
Visto che questi quattro oggetti sono oggetti HTML molto comuni, è probabile che siano già stati definiti, nei vostri fogli di stile. In questo caso, il browser, per decidere come piazzare questi oggetti nella pagina HTML, va a leggersi le specifiche, o attributi ( dimensioni, allineamento, eccetera eccetera ), riportate nei vostri fogli di stile. Visto, però, che questi quattro oggetti sono, sì, oggetti HTML molto comuni, ma sono anche oggetti troppo generici, è possibile che questi quattro particolari oggetti, in realtà, non siano stati già definiti, nei vostri fogli di stile. Come si comporta un browser, quando trova degli oggetti HTML non definiti nei fogli di stile? Tecnicamente parlando, possiamo affermare che "cerca di arrangiarsi", facendo "quello che può". E questo, potrebbe rivelarsi sconveniente. Quindi, la soluzione a questo piccolo inconveniente è ridefinire ciascuno di questi oggetti. Questa soluzione comporta due fasi:
A questo punto, non ci resta che verificare il significato delle variabili PayPal che sono state aggiunte alla nostra nuova form di invio ( sempre facendo riferimento alla pagina di PayPal ):
Credo che sia il arrivato momento di chiederci cosa accada, quando un vostro utente dovesse premere il bottone "Paga adesso". Io ho simulato l'acquisto, premendo l'ultimo bottone prodotto. Con queste semplici impostazioni, che non prevedono alcuna comunicazione, da parte del server HTTPS di PayPal al server HTTP del vostro sito, PayPal esegue le seguenti operazioni:
L'ultima raffinatezza che possiamo aggiungere è l'impostazione di una pagina di ritorno. Quando un vostro utente preme il bottone "Paga adesso", infatti, l'utente abbandona il vostro sito, per entrare nel sito PayPal. Una volta terminata la transazione, il vostro utente si ritrova sulla pagina di fine transazione di PayPal. E' possibile farlo tornare al vostro sito? Certamente. E' sufficiente impostare una pagina di ritorno. PayPal offre anche di più: vi permette di impostare una pagina di ritorno, nel caso la transazione andasse a buon fine, ed un'altra pagina di ritorno, nel caso la transazione fallisse. Tornate, ancora una volta, nella pagina di creazione dei pulsanti, all'interno del vostro account PayPal. Reinserite tutti i soliti dati ( nome articolo, codice articolo, prezzo articolo ) ed aggiungete questi due campi:
In realtà, il reinstradamento non avviene automaticamente. Semplicemente, al termine della transazione, il vostro utente vedrà, sulla pagina di PayPal, due link: uno alla vostra pagina di ritorno, uno ad una pagina di PayPal. Anche in questo caso, verifichiamo quali campi sono stati aggiunti nel codice HTML della form:
Verifichiamo, ora, il significato delle variabili PayPal che sono state aggiunte alla nostra nuova form di invio ( sempre facendo riferimento alla pagina di PayPal ):
Come avrete intuito, la variabile Paypal
|
||||
Come funziona il pagamento PayPal su un sito web: il bottone "Buy Now" | The .bit guides: original contents |