Sviluppo dell'e-commerce con Dreamweaver UltraDev e PayPal


Di Joel Martinez e Ray West (www.basic-ultradev.com)

Quest'articolo prende in esame la procedura di integrazione di UltraDev con PayPal utilizzando una serie di estensioni gratuite del server per risolvere tre comuni scenari di vendita online. Le estensioni del server, definite PayPal Extension Suite, sono disponibili presso Mike Ahern di Shore Computers (http://www.shorecomp.com/ultradev/paypal/default.asp). La suite è gratuita, ma ti invitiamo a inviare una donazione con PayPal se utilizzi questo prodotto.

L'utilizzo del Carrello PayPal anche senza l'ausilio di questa suite di estensioni del server richiede solo la conoscenza del linguaggio HTML. Con semplici operazioni di copia e incolla potrai utilizzare facilmente questa funzionalità senza l'ausilio dell'estensione. Tuttavia, questa suite si integra perfettamente con UltraDev, offrendoti un'interfaccia utente di facile comprensione. I seguenti tre esempi illustrano l'utilizzo del sistema PayPal per tre tipi comuni di transazioni:
  • L'acquisto di oggetto singolo che consente di vendere un unico oggetto con impostazione di tipo asta online.
  • Il carrello semplice, che consente di impostare più oggetti acquistabili in un'unica transazione PayPal.
  • Il carrello impostato su database, che consente di configurare un sistema di inventario che può essere gestito e inviato alle proprie pagine in maniera dinamica da un database.

Creazione di un sito e-commerce con PayPal


La creazione di un sito e-commerce con PayPal è forse la soluzione più semplice da implementare. Grazie al tempo risparmiato nella fase dello sviluppo, quest'opzione è particolarmente indicata per i progetti a basso costo, anche se presenta tuttavia dei limiti. Poiché tutte le dinamiche del carrello sono gestite in una finestra a comparsa, è possibile personalizzare soltanto la funzionalità di includere il proprio logo. Ciononostante, la maggior parte dei siti non richiederà un'interfaccia utente interamente personalizzata, e pertanto trarrà particolare vantaggio dall'utilizzo di questo sistema. Grazie alle ormai conosciute interfacce prodotte da PayPal è effettivamente possibile consolidare la fiducia del consumatore.

Trattandosi di una suite di estensioni, ognuna di esse possiede una funzionalità leggermente diversa, pur condividendo alcuni elementi comuni.
  • Email PayPal - Ciascuna estensione del server richiederà l'immissione dell'indirizzo email utilizzato per il tuo conto PayPal. Se intendi effettuare delle transazioni tramite il tuo conto, ti converrà assolutamente scegliere il conto Business.
  • Campi statici/dinamici - Quasi ogni estensione del server utilizza campi che consentono di scegliere oggetti dalla finestra dell'associazione di dati in UltraDev, oppure utilizzare valori statici. Occorre solo tenere presente che se si utilizza un valore statico sarà necessario racchiuderlo tra virgolette 5,00
  • Denaro - Tutti i campi relativi alla valuta devono essere in formato "xx.xx". Assicurati di utilizzare questo formato quando associ un valore dalla gamma di associazioni di dati a uno di questi campi. Potrai utilizzare la funzionalità integrata di UltraDev per assegnare uno schema di formattazione a questo valore.

Figura 1: gamma di associazioni di dati per l'assegnazione della formattazione di valori monetari.
  • Campi URL - Alcune delle estensioni del server richiedono l'URL di un logo oppure una pagina che verrà visualizzata al termine dell'elaborazione di una transazione da parte dell'utente. Questi dovranno essere URL assoluti, ossia dovranno includere l'indirizzo http://www.tuodominio.com.
Estensioni del server

Le seguenti estensioni del server sono disponibili nella suite per consentire l'interfacciamento con le funzionalità di PayPal.
  1. Estensione per acquisto singolo
    Quando viene applicata a un'immagine o del testo, questa estensione del server crea un link diretto con la pagina di pagamento di PayPal e consente di creare collegamenti come "Paga adesso". Ciò risulta utile per i siti in cui è posto in vendita un unico prodotto o servizio.
  2. Estensione per l'opzione Dal carrello
    Se decidi di utilizzare un'altra soluzione per il carrello, come UltraCart II, potrai sempre scegliere i servizi offerti da PayPal per accettare i pagamenti per i tuoi prodotti. Le uniche informazioni richieste (oltre al tuo ID PayPal e a diversi URL) è un numero d'ordine e l'importo di vendita totale. I dati sono possono essere recuperati facilmente per essere poi trasferiti alla semplice interfaccia utente.
  3. Estensione per la funzione Aggiungi oggetto al carrello
    Si tratta dell'estensione del server più utilizzata. L'estensione Aggiungi oggetto al carrello si integra molto facilmente in una pagina di visualizzazione del database di oggetti e consente ai clienti di effettuare acquisti e aggiungere oggetti al carrello. Ogni volta che viene selezionato il link generato, il contenuto del carrello verrà visualizzato in modo ordinato in una finestra a comparsa. Gli utenti potranno quindi passare da questa pagina all'area di conferma del pagamento dove potranno accedere al proprio conto PayPal o semplicemente fornire i dettagli di pagamento.
  4. Estensione per la funzione Visualizza carrello
    Quando viene utilizzata con l'estensione "Aggiungi oggetto al carrello", genera un link che, una volta selezionato, consente di visualizzare una finestra a comparsa con il contenuto del carrello. L'unico dato richiesto è il tuo ID dell'email PayPal.
  5. Estensione per la funzione Donazione
    Il link creato da questa estensione del server consentirà di visualizzare una pagina dalla quale gli utenti potranno inviarti del denaro dal proprio conto PayPal. Gli utenti che vendono programmi shareware o le organizzazioni senza fini di lucro possono trarre dei vantaggi da questa funzionalità, in quanto consente di accettare denaro dal proprio sito web senza essere vincolati a uno specifico acquisto.
  6. Estensione per la funzione Abbonamenti
    I siti web che offrono l'accesso a contenuti previa sottocrizione potranno avvalersi di questo servizio esclusivo offerto da PayPal. Gli utenti che si registreranno a un servizio di abbonamento riceveranno una fattura commerciale mensile da PayPal. L'importo verrà versato direttamente sul tuo conto PayPal e a ogni pagamento riceverai una notifica via email. Il link creato da questa estensione del server consente di visualizzare una finestra in cui vengono richieste all'utente i dati di fatturazione.

Applicazioni pratiche della suite di PayPal


Esistono due categorie comuni che comprendono la maggioranza degli odierni scenari di e-commerce sul web. L'acquisto singolo è simile al modello di asta online, in quanto un venditore offre un unico oggetto, messo in vendita una sola volta. Il modello con carrello implica la vendita di più oggetti ed eventualmente più esemplari di tali oggetti. Di seguito vengono riportati tre esempi di utilizzo del servizio di PayPal per mettere in vendita un oggetto singolo, un carrello con la funzione Carrello di PayPal e un carrello sviluppato da terzi per consentire l'interfacciamento con PayPal.

Abbiamo creato un sito dimostrativo all'indirizzo http://www.codecube.net/teksales/. Gli esempi descritti in questo articolo sono reperibili sul sito dimostrativo.


Figura 2: sito dimostrativo teksales.


"Ne scelgo uno" - Vendita di oggetto singolo


L'estensione del server per l'acquisto singolo viene utilizzata per la vendita di un unico oggetto. Gli utenti di eBay hanno scelto da tempo questa funzionalità per riscuotere i pagamenti relativi alle proprie aste online. Se sul tuo sito sono in vendita più oggetti hai a disposizione altre estensioni. Tuttavia, per la vendita di un esemplare unico, usato o da collezione, l'estensione del server per l'acquisto singolo rappresenta un'opzione rapida e di facile utilizzo.

Immagina di possedere la migliore motocicletta al mondo, la Ducati Monster S4Fogarty. Un giorno, mentre stai andando in moto, una macchina ti taglia improvvisamente la strada. La tua vita ti passa come un lampo davanti agli occhi, e da allora in poi non riesci più a salire sulla moto senza sudare freddo. Perciò decidi di metterla in vendita sul tuo sito web. Crei rapidamente l'annuncio in Ultradev e lo inserisci sul tuo sito.


Figura 3: sito di vendita della Ducati...prima di applicare le estensioni del server

Immagini già di ricevere una quantità enorme di richieste nella tua casella postale, con offerte di denaro per questo bolide, ma purtroppo non ne arriva nemmeno una. I motivi potrebbero essere diversi. Forse il prezzo è troppo alto per la maggior parte delle persone.

Utilizzo dell'estensione del server per l'acquisto singolo

L'utilizzo dell'estensione del server per l'acquisto singolo è piuttosto semplice. Dopo aver progettato la pagina, è sufficiente scegliere un oggetto sulla stessa che potrà essere utilizzato come pulsante. Potrebbe trattarsi di un'immagine "Paga", o di testo che comunica lo stesso messaggio. Evidenzia l'oggetto e applica l'estensione del server nel modo consueto. L'estensione del server per l'acquisto singolo è disponibile nella gamma di estensioni del server sotto PayPal > Acquisto singolo PayPal.



Figura 4: pp_SinglePurchase

Compila i campi nell'interfaccia dell'estensione del server per completare la procedura. Quando un utente cliccherà sul link generato dall'estensione, verrà visualizzata una finestra contenente le informazioni sulla riscossione del pagamento e l'utente passerà alla procedura di pagamento. Riceverai la conferma del completamento della vendita da PayPal e potrai quindi imballare la motocicletta e depositarla presso l'ufficio postale locale.


"Ne prendo due di ognuno" - Carrello semplice


La maggior parte delle transazioni che avvengono oggi su Internet viene effettuata tramite la vendita con acquisto singolo, soprattutto grazie alla diffusione delle aste online. Tuttavia, coloro che desiderano trasformare il proprio sito web in un'attività fiorente si trovano ad affrontare ulteriori problemi. Spesso mettono in vendita una gamma completa di prodotti nella speranza che i clienti effettuino più acquisti in modo continuativo dal proprio magazzino.

Torniamo a te, venditore di motociclette in erba. La vendita della tua Ducati ti ha fatto scoprire che esiste una domanda di prodotti legati al settore del motociclismo, perciò hai deciso di creare un'azienda online per la fornitura di tali articoli. Grazie alla nuova soluzione di pagamento online PayPal, la tua azienda è in pieno sviluppo. Stai ottenendo ottimi profitti con la rivendita di motociclette sul tuo sito web, ma desideri guadagnare di più e perciò decidi di iniziare a vendere alcuni prodotti complementari, come caschi e occhiali protettivi. Si tratta di un concetto abbastanza semplice, ma non puoi continuare a utilizzare la stessa soluzione. Durante la tua visita settimanale all'ipermercato intuisci cosa dovrai fare quando prendi una lattina di sgrassatore e la metti nel carrello, assieme al latte e alle uova. Anche a te serve un carrello.

In parole povere, un carrello online consente al visitatore di acquistare più oggetti in un'unica transazione. Mentre il cliente esplora il sito esaminando la merce e scegliendo gli oggetti da acquistare, il carrello "memorizza" gli oggetti scelti, attraverso variabili di sessione, cookie e un database. Quando il cliente decide di pagare, potrà immettere i dati di pagamento una volta sola, effettuando l'ordine per tutti gli oggetti.

Utilizzo del carrello PayPal

L'utilizzo dell'estensione del server per il carrello è molto simile all'estensione per l'acquisto singolo. Tuttavia, poiché questa estensione deve essere utilizzata con un carrello, la procedura è sostanzialmente diversa. Innanzitutto, esiste l'opzione che consente al cliente di selezionare la quantità di un particolare oggetto, come due paia di guanti o tre kit di riparazione per pantaloni in pelle. Inoltre, l'operazione che viene eseguita quando si seleziona il pulsante di acquisto permette semplicemente di aggiungere l'oggetto a un carrello e di proseguire con gli acquisti, mentre non vengono richiesti subito i dati di pagamento.

Per applicare l'estensione del server al tuo oggetto, evidenzia un oggetto o il testo sulla tua pagina e scegli l'estensione Aggiungi al carrello da PayPal > Aggiungi oggetto PayPal al carrello nella gamma estensioni del server. Ripeti la procedura per ogni oggetto presente nel tuo sito.



Grazie al link creato, nel sistema del carrello PayPal verrà visualizzata un'altra finestra in cui appariranno tutti gli oggetti aggiunti. Cliccando due volte sullo stesso oggetto, la quantità aumenterà di uno. Questo è il metodo più utilizzato, in quanto gli acquirenti vogliono effettuare il minor numero di operazioni possibili per ricevere i prodotti scelti; pertanto, se risparmierai i clienti anche solo un paio di clic, saranno più soddisfatti e, se i clienti sono più soddisfatti acquistano più merce.

Utilizzo di PayPal con un carrello basato su database


I precedenti esempi costituiscono ottime esercitazioni di apprendimento, e talvolta potrebbe persino capitare una simile situazione, in cui sono richieste solo le funzionalità base di PayPal. Ma le potenzialità di queste suite di estensioni si rivelano completamente quando vengono utilizzate insieme a una soluzione di inventario basata su database. Quando si utilizza un database per gestire i propri prodotti, possono essere richiesti dei tempi un po' più lunghi per la fase di sviluppo, ma i vantaggi saranno più evidenti in seguito, grazie alle funzioni di gestione di facile utilizzo. Se costruito in modo corretto, il tuo sito si gestirà autonomamente.

Struttura della tabella

La parte più dispendiosa in termini di tempo della costruzione di questo tipo di sito è il database. L'effettivo collegamento al sistema di acquisti PayPal è estremamente semplice. Nel presente articolo utilizzeremo una classica struttura dati parent/child - master/detail. Questo è il layout di database impiegato nel 99% dei database in rete. Per eventuali problemi con il database di questo progetto, puoi ricorrere a diverse risorse presenti sul web.

A ciascuna riga della tabella parent, potrebbero corrispondere da zero a molte righe nella tabella child. Nel contesto di un sito e-commerce, ciò significa che avremo una tabella di categoria come master e la tabella dei prodotti come child. Ecco un esempio di alcuni dati che possono essere inseriti:

Categoria TV
- Sony 20"
- RCA 19"
- Magnavox 32"

Categoria VCR
- Panasonic a due testine
- Samsung a quattro testine

Inizia definendo la tabella Categoria con i seguenti campi:
  • catID - autonumber
  • catName - text
Come puoi notare, una tabella master di norma non richiede molte informazioni, in quanto si tratta di un organizzatore per le numerose righe della tabella child. Altre informazioni che potrebbero essere contenute in questa tabella includono:
  • una descrizione estesa;
  • un'immagine della categoria;
  • un campo attivo che indica se questa categoria è al momento attiva.
È possibile utilizzare questa tabella su una pagina che elenca tutte le categorie di oggetti disponibili sul tuo sito. Il cliente potrà quindi selezionare una categoria per visualizzare i dettagli dei prodotti disponibili in ciascuna categoria.

La successiva tabella necessaria è quella dei prodotti. Essa conterrà informazioni su ogni singolo prodotto, pertanto dovrà includere un campo per ciascun oggetto corrispondente nell'estensione Aggiungi al carrello.
  • itemID - autonumber
  • catID - number
  • itemName - text
  • importo - valuta
  • spedizione - valuta
  • imballaggio - valuta
Se non utilizzerai alcuni di questi campi (per esempio, se non addebiti le spese di spedizione e gestione) potrai semplicemente immettere il valore zero.

Come per la tabella delle categorie, utilizzeremo i campi essenziali. Altri campi possibili comprendono:
  • Data di aggiunta
  • Attivo
  • Viste pagine

Figura 6: tekDB_relationship
Rappresentazione grafica della relazione fra le due tabelle

Una volta impostata la struttura del database, compila le tabelle con alcuni dati di prova. È possibile sostituirli in seguito con dati di produzione. Innanzitutto, crea diverse categorie.



Figura 7: tekDB_catTableContents

Tieni presente che ciascuna categoria è solo un contenitore logico dei prodotti child. Per creare la relazione fra la tabella delle categorie e un particolare prodotto è necessario inserire il "catID" della categoria parent nel campo numerico "catID" della tabella dei prodotti. È anche possibile creare una struttura di tabella più complessa per gestire i prodotti che potrebbero rientrare in più categorie, ma per il momento queste informazioni sono sufficienti.


Figura 8: tekDB_ProductTableContents


Visualizzazione dei dati

Quando il database conterrà alcuni dati con cui lavorare, la fase successiva consisterà nell'inserire i dati in una pagina. Sono necessarie solo due pagine per questa dimostrazione: una pagina master in cui vengono visualizzate tutte le categorie tra le quali l'utente potrà scegliere e una pagina dei dettagli contenente tutti gli oggetti appartenenti alla categoria prescelta.

In primo luogo, crea una tabella HTML per l'interfaccia utente. Una tabella con dimensioni 2 x 2 andrà benissimo. La prima riga sarà rappresentata da una semplice intestazione che descrive il contenuto della colonna sottostante, mentre la seconda riga conterrà il prodotto del recordset. Crea un recordset che ricavi il nome e l'ID di categoria dalla tabella.

Trascina il nome della categoria dal gruppo di origine dati nella seconda riga della prima colonna. La seconda colonna conterrà un link "visualizza".

Per creare il link di visualizzazione, evidenzia il testo e utilizza il property inspector per esplorare la pagina in cui i prodotti verranno visualizzati. Clicca l'icona della cartella per visualizzare un elenco delle pagine esistenti all'interno del tuo sito. Seleziona la pagina dei prodotti e clicca il pulsante Parametri nella parte inferiore della finestra di dialogo. Nella finestra Parametri potrai creare un parametro URL denominato catID (utilizzato nel recordset dei prodotti da filtrare) e assegnare un valore dal database selezionando il campo catID mediante l'icona a forma di fulmine. A questo punto, cliccando il pulsante Visualizza accanto a tale categoria, l'ID corrispondente verrà inviato al recordset dei prodotti nella stringa dell'URL, e solo i prodotti presenti in tale categoria verranno visualizzati nella pagina dei dettagli. Una volta completata questa procedura, potrai aggiungere alla seconda riga l'estensione server Ripeti regione.

Quando la pagina di categoria sarà in funzione, la fase successiva consisterà nel creare la pagina dei dettagli. Sappiamo che i clienti che arriveranno a questa pagina provengono dalla pagina categoria e pertanto il catID sarà presente nella stringa di interrogazione. Pertanto, è necessario creare un recordset che ottenga tutti i campi della tabella filtrando il catID con il valore della stringa di interrogazione utlizzando la richiesta ("catID").


Figura 9: tekDB_categoryRS

L'interfaccia utente per questa tabella può avere esattamente lo stesso layout, fatta eccezione per una colonna supplementare per il prezzo. Trascina il nome dell'oggetto nella prima colonna, il prezzo nella seconda e digita "Aggiungi al carrello" nella terza. Evidenzia il testo "Aggiungi al carrello" e scegli l'estensione Aggiungi al carrello dal relativo gruppo di opzioni. La maggior parte dei campi nell'interfaccia utente è contrassegnata da una piccola icona a forma di fulmine accanto alla casella di testo. Ciò consente di compilare i campi con quelli provenienti dal database tramite il recordset creato nella finestra Origini dati. Scegli un campo dal database per ciascun oggetto corrispondente nell'estensione del server. Dopo aver eseguito questa operazione, potrai aggiungere un'estensione Ripeti regione alla seconda riga. Quando i prodotti vengono inseriti nella pagina dal database al runtime, a ciascuna istanza Aggiungi al carrello verranno allegate le informazioni richieste. Qualsiasi oggetto selezionato per l'acquisto aggiornerà il carrello con le informazioni immesse. Ora è possibile eseguire la manutenzione per l'oggetto all'interno del database senza dover modificare le pagine HTML.


Figura 10: tekDB_Addtocart

E questo è tutto. Da questo momento, i clienti potranno esplorare il catalogo dei tuoi prodotti, scegliere quelli che desiderano acquistare ed effettuare il pagamento. Lo sviluppo rapido dell'applicazione è uno dei principali elementi che rendono la suite PayPal un prodotto estremamente competitivo nel settore dell'e-commerce. Altri sistemi di carrello richiedono un lungo periodo di sviluppo senza risolvere realmente il problema della riscossione del pagamento. Questa demo è stata creata in circa un'ora utilizzando la potenza di Dreamweaver UltraDev e della suite di estensioni PayPal.

Quest'articolo è un estratto dal nuovo libro "UltraDev E-commerce Concepts: Next Steps" di Ray West, Tom Muck e Joel Martinez. Per maggiori informazioni su UltraDev e l'e-commerce, visita il sito di Basic UltraDev all'indirizzo www.basic-ultradev.com. Troverai informazioni sui nostri libri e guide e le estensioni che possono aumentare efficacemente le capacità di sviluppo del tuo sito web.

LIMITAZIONE DI RESPONSABILITÀ. I seguenti contenuti sono forniti dagli autori degli articoli e non da PayPal, Inc. o dalle sue affiliate o consociate. Gli articoli possono presentare errori e PayPal non garantisce in alcun modo il loro contenuto. PayPal consiglia di contattare direttamente gli autori degli articoli per eventuali domande, per richiedere informazioni sull'assistenza tecnica, sulle garanzie e/o licenze. L'utente accetta di utilizzare il contenuto degli articoli a proprio rischio e pericolo. PayPal non sarà responsabile di eventuali errori o danni causati da tali contenuti, ivi compresi danni accidentali, speciali, indiretti o conseguenti. PayPal DICHIARA ESPRESSAMENTE DI NON OFFRIRE NESSUNA GARANZIA in relazione ai contenuti e all'utilizzo degli stessi.