Hurtig e-handelsudvikling med DreamWeaver UltraDev og PayPal


Af Joel Martinez og Ray West (www.basic-ultradev.com)

Denne artikel undersøger, hvordan du kan integrere UltraDev med PayPal ved hjælp af en række gratis serverfunktioner, som kan løse tre almindelige scenarier med onlinesalg. Serverfunktionerne, som kaldes PayPals udvidelsespakke, er tilgængelige fra Mike Ahern hos Shore Computers (http://www.shorecomp.com/ultradev/paypal/default.asp). Pakken er gratis, men vi anbefaler, at man giver en donation ved hjælp af PayPal, hvis man anvender hans funktioner.

Brug af PayPal-indkøbsvognen, selv uden hjælp fra pakken med serverfunktioner, kræver kun kendskab til HTML. Hvis du kan klippe og indsætte tekst, kan du nemt udnytte funktionerne uden hjælp fra denne udvidelse. Men denne pakke integreres rigtigt godt med UltraDev, og den giver dig en brugergrænseflade, der er let at forstå. Følgende tre eksempler lærer dig at bruge PayPal-systemet til tre almindelige typer transaktioner:
  • Køb af en enkelt vare, som giver dig mulighed for at sælge en vare med en indstilling som auktion.
  • Simpel indkøbsvogn, som giver dig mulighed for at samle flere varer, der kan købes i en enkelt PayPal-transaktion
  • Databasebaseret indkøbsvogn, som giver dig mulighed for at oprette et lagersystem, der kan håndteres og leveres til dine sider dynamisk fra en database.

Oprettelse af websted til e-handel med PayPal


Oprettelse af websted til e-handel med PayPal er måske den nemmeste løsning at implementere. Den tid, der spares på udvikling, gør dette til en attraktiv mulighed for projekter med et stramt budget. Der er dog nogle ulemper. Da alle indkøbsvognens funktioner håndteres i et popup-vindue, bortset fra muligheden for at medtage logo på indkøbsvognen, er der ikke megen plads til tilpasning. Det er dog de færreste websteder, der kræver en fuldstændig tilpasset brugergrænseflade, og derfor har de stor gavn af dette system. De kendte grænseflader, som udvikles af PayPal, kan faktisk være med til at øge forbrugernes tillid.

Da dette er en en samling af udvidelser, kan man vælge adskillige serverfunktioner, som alle fungerer lidt forskelligt. De har dog visse fælles elementer.
  • PayPal-e-mail – Hver serverfunktion kræver, at du angiver den e-mailadresse, som du bruger til din PayPal-konto. Hvis du vil bruge din konto til at drive forretning, anbefaler vi, at du vælger en Erhvervskonto.
  • Felterne statisk/dynamisk – Næsten alle serverfunktioner bruger felter, der giver dig mulighed for at vælge elementer fra vinduet med datamateriale i UltraDev eller anvende statiske værdier. Det eneste, du skal huske, er, at hvis der bruges en statisk værdi, skal den være i dobbelte anførselstegn. (dvs. "5,00")
  • Penge – Alle felter med pengebeløb, skal være angivet i formatet "xx,xx". Hvis du tildeler en værdi fra paletten med datamateriale til et af disse felter, skal du kontrollere, at de er i dette format. Du kan bruge den indbyggede funktion i UltraDev til at tildele en formateringsoversigt til denne værdi.

Figur 1: Paletten med datamateriale tildeler formatering med pengebeløb.
  • URL-felter – Nogle serverfunktioner beder dig om at angive et logo til din URL eller en placering, hvor brugeren skal sendes hen, når en transaktion er gennemført. Alle disse skal være absolutte URL'er, hvilket betyder, at http://www.yourdomain.com skal medtages.
Serverfunktioner

Serverfunktionerne nedenfor er tilgængelige i pakken, hvilket giver dig mulighed for at bruge PayPal-funktionerne.
  1. Funktionen Enkelt køb
    Når den anvendes for et billede eller en tekst, opretter serverfunktionen et link direkte til PayPal-betalingsskærmen. Dette giver dig mulighed for at oprette links såsom "Køb mig nu!". Det er nyttigt for websteder, som kun sælger ét produkt eller én tjeneste.
  2. Funktionen Fra din indkøbsvogn
    Hvis du beslutter dig for at bruge en anden løsning med indkøbsvogn, f.eks. UltraCart II, kan du stadig bruge PayPal-tjenester til at modtage betaling for dine produkter. De eneste oplysninger, som du skal angive (bortset fra dit PayPal-id og adskillige URL'er) er et bestillingsnummer og det samlede beløb for salget. Disse oplysninger er nemme at indsamle og overføre til den enkle brugergrænseflade.
  3. Funktionen Læg vare i indkøbsvogn
    Dette er nok den serverfunktion, som anvendes mest. Funktionen Læg vare i indkøbsvogn integreres meget nemt med en databaseskærm med varer, der gør det muligt for kunderne at kigge sig omkring og føje varer til indkøbsvognen. Hver gang der klikkes på et genereret link, åbnes et popup-vindue med indholdet af din indkøbsvogn i en overskuelig visning. Brugerne kan derefter gå fra dette skærmbillede til betalingsområdet, hvor de enten kan logge på deres PayPal-konto eller blot angive betalingsoplysninger.
  4. Funktionen Vis indkøbsvogn
    Når funktionen "Læg vare i indkøbsvogn" bruges, og der klikkes på et link, der er genereret af serverfunktionen Vis indkøbsvogn, åbnes et popup-vindue med indholdet af din indkøbsvogn. De eneste oplysninger, du skal angive, er dit PayPal-e-mail-id.
  5. Funktionen Donation
    Det link, som er oprettet af denne serverfunktion, sender brugeren til et skærmbillede, hvor de kan sende dig penge fra deres PayPal-konto. Personer, der sælger shareware, eller non-profit-organisationer kan drage nytte af denne metode, fordi den giver dig mulighed for at modtage penge fra dit websted, uden at det er forbundet til et bestemt køb.
  6. Funktionen Abonnement
    Websteder, der tilbyder abonnementbaseret adgang til deres indhold, kan drage nytte af denne enestående tjeneste, der tilbydes af PayPal. Brugere, som opretter et abonnement, modtager en tilbagevendende månedlig faktura fra PayPal. Pengene går direkte ind på din PayPal-konto, og du modtager en e-mail for hver betaling med besked om brugerens fortsatte abonnement. Linket, der genereres af serverfunktionen, åbner et popup-vindue, som beder brugeren om dennes faktureringsoplysninger.

Korrekt anvendelse af PayPal-pakken


Der er to almindelige scenarier, der omfatter de fleste e-handel-scenarier på internettet i dag. Et enkelt køb svarer til auktionsmodellen på den måde, at en sælger kun tilbyder én vare, og når den er solgt, er der ikke flere. Modellen med indkøbsvogn omfatter salg af flere varer, og den giver mulighed for køb af flere styk af samme vare. Følgende tre eksempler bruger PayPal-tjenesten til at tilbyde en enkelt vare til salg, en indkøbsvogn med PayPal-indkøbsvogn og en indkøbsvogn med en tredjepartsindkøbsvogn, som kan kommunikere med PayPal.

Vi har oprettet et demowebsted, der kan findes på http://www.codecube.net/teksales/. Eksemplerne beskrevet i denne artikel kan findes på demowebstedet.


Figur 2: teksales' demowebsted


"Jeg vil gerne have én" – Salg af en enkelt vare


Serverfunktionen Enkelt køb bruges, når du kun har én vare til salg. eBay-brugere har længe været glade for denne funktion til opkrævning af betaling for deres auktioner. Hvis dit websted sælger mere end én vare, er der andre funktioner, som vil passe bedre til dig. Men for et enkeltstående salg af en brugt vare eller et samlerobjekt er serverfunktionen Enkelt køb den hurtigste og nemmeste metode at bruge.

Forstil dig, at du har den sejeste motorcykel – en Ducati Monster S4Fogarty. En dag er du ude og køre en tur, da en bil pludselig skifter vognbane og kører ud foran dig. Hele dit liv passerer for øjnene af dig, og du kan ikke klare at køre en meter længere uden at få koldsved. Så du vælger at sælge den på dit websted. Du opretter et hurtigt design i UltraDev og lægger den på dit websted.


Figur 3: Salgswebsted for Ducati... Før SB

Du regner med, at folk vil stå i kø ved postkassen for at sende dig penge for din seje motorcykel, men det sker bare ikke. Dette kan der være flere årsager til. Måske er prisen for høj i forhold til, hvad de fleste kan betale via check.

Brug af funktionen Enkelt køb

Det er meget nemt af bruge funktionen Enkelt køb. Når din side er designet, skal du blot vælge et objekt på den side, der skal fungere som knap til køb. Dette kan enten være billedet "Køb mig" eller en tekst med samme meddelelse. Marker objektet, og anvend serverfunktionen på samme måde som alle andre funktioner. Serverfunktionen til enkelt køb er tilgængelig i paletten med serverfunktioner under PayPal> PayPals Enkelt køb.



Figur 4: pp_SinglePurchase

Udfyld felterne i grænsefladen for serverfunktionerne – så er du færdig. Når en bruger klikker på det link, der er genereret af funktionen, åbnes et vindue med oplysninger om modtagelse af betaling, og brugeren bliver ført gennem betalingsprocessen. Du modtager en bekræftelse af det afsluttede salg fra PayPal, og du kan derefter pakke din motorcykel ned, så den er klar til afsendelse.


"Jeg vil gerne have to af hver" – Simpel indkøbsvogn


Mange transaktioner på nettet i dag er salg af enkelte køb, især pga. de populære onlineauktioner. Men de personer, der vil fortsætte med at sælge varer på deres websted, står over for flere udfordringer. De har ofte mange forskellige produkter og håber på, at deres kunder foretager flere og gentagne køb fra deres lager.

Lad os vende tilbage til dig – den vordende motorcykelforhandler. Salget af din Ducati har fået dine øjne op for efterspørgslen efter motorcykelrelaterede varer, og derfor opretter du en onlinevirksomhed, der sælger sådanne varer. Ved hjælp af PayPals nye betalingsløsning på nettet får du godt gang i din forretning. Du tjener godt på at videresælge motorcykler på dit websted, men du vil gerne tjene endnu mere, så du beslutter dig for også at sælge andre produkter som supplement til salget af motorcykler, f.eks. hjelme og briller. Dette er et enkelt koncept, men du kan ikke fortsætte med den samme løsning. På dit ugentlige tur til Wal-Mart skal du købe affedtning. Da du lægger affedtningen i din indkøbsvogn sammen med mælken og æggene, går det op for dig, hvad du mangler. Du har brug for en indkøbsvogn.

Kort sagt giver en indkøbsvogn på nettet dine besøgende mulighed for at købe flere varer i én transaktion. Kunderne navigerer rundt på dit websted, kigger dine varer igennem og vælger dem, som de vil købe. Indkøbsvognen "husker" varerne, enten ved hjælp af sessionvariabler, cookies eller en database. Når kunderne vil betale, kan de nøjes med at angive deres betalingsoplysninger én gang, så afgives bestillingen for alle deres varer.

Brug af PayPal-indkøbsvognen

Serverfunktionen Indkøbsvogn fungerer meget ens med funktionen Enkelt køb. Men da denne funktion bruges med en indkøbsvogn, er der nogle få væsentlige forskelle. For det første har kunder mulighed for at vælge antallet af en bestemt vare, f.eks. to par handsker eller tre styk lappegrej til læderbukser. Når der trykkes på knappen Køb, bliver varen føjet til indkøbsvognen, og kunden kan fortsætte med at handle i stedet for at skulle angive deres betalingsoplysninger med det samme.

Hvis du vil anvende serverfunktionen for din vare, skal du blot markere et objekt eller en tekst på din side og vælge Føj til serverfunktionen Indkøbsvogn fra PayPal> PayPals Læg vare i indkøbsvogn i paletten med serverfunktioner. Gentag processen for hver vare på dit websted.



Det oprettede link åbner et nyt vindue til PayPals system med indkøbsvogn, og viser hver vare, som du har tilføjet. Hvis du klikker på den samme vare to gange, øges antallet med ét styk. Dette er den foretrukne metode i denne situation, fordi kunderne helst vil gøre så lidt som muligt for at købe produkterne. Hvis du sparer dem for et par klik, får du derfor mere tilfredse kunde, og tilfredse kunder køber flere varer.

Brug af PayPal med en databasebaseret indkøbsvogn


De foregående eksempler er gode øvelser, og du kan endda selv ende i lignende situationer, hvor du blot har brug for nogle grundlæggende PayPal-funktioner. Men denne udvidelsespakkes fordele er særligt tydelige, når den bruges sammen med en databasebaseret lagerløsning. Når du bruger en database til at håndtere dine produkter, skal du muligvis bruge mere tid på udvikling, men du opnår klare fordele senere hen, da vedligeholdelsen og håndteringen er lettere. Hvis dit websted er opbygget korrekt, kører det faktisk på autopilot.

Tabelstruktur

Den mest tidskrævende del af opbygningen af denne type websted er selve databasen. Det er nærmest blot en bagatel at skulle anvende PayPals indkøbssystem. For at forklare dette bruger vi den klassiske datastruktur overordnet/underordnet. Dette layout for databaser bruges i 99 % databaser på nettet. Hvis du har brug for hjælp med databasedelen af dette projekt, er der mange ressourcer på internettet, der kan hjælpe dig.

For hver række i den overordnede tabel, kan der være nul for mange rækker i den underordnede tabel. Når der er tale om et websted med e-handel, betyder dette, at der er en kategoritabel, som fungerer som overordnet og en produkttabel, der fungerer som underordnet. Et eksempel på data inden for:

Kategorien tv
- Sony 20 "
- RCA 19"
- Magnavox 32"

Kategorien VCR
- Panasonic med to hoveder
- Samsung med fire hoveder

Start med at definere kategoritabellen med følgende felter:
  • catID – automatisk nummer
  • catName – tekst
Som det ses, har en overordnet tabel normalt ikke brug for så mange oplysninger, da den blot er en oversigt over de mange rækker i den underordnede tabel. Andre oplysninger i denne tabel kan omfatte:
  • en udvidet beskrivelse
  • et billede for kategori
  • et aktivt felt, som angiver, om denne kategori er aktiveret i øjeblikket
Denne tabel kan anvendes på en side, der indeholder en liste over alle de kategorier af varer, der er tilgængelige på dit websted. Kunden kan derefter vælge en kategori for at få vist oplysninger om de produkter, som er tilgængelige i hver kategori.

Den næste tabel, som vi har brug for, er produkttabellen. Den indeholder oplysninger om hvert enkelt produkt. Derfor skal den omfatte et felt for hver tilsvarende vare i serverfunktionen Læg i indkøbsvogn.
  • itemID – automatisk nummer
  • catID – number
  • itemName – tekst
  • beløb – valuta
  • forsendelse – valuta
  • ekspedition – valuta
Hvis der er nogle af disse felter, som du ikke vil bruge (hvis du f.eks. ikke tager penge for forsendelse og ekspedition), kan du udfylde dem med nul.

Ligesom med kategoritabellen bruger vi færrest mulige felter for overskuelighedens skyld. Andre mulige felter omfatter:
  • Tilføjet den
  • Aktiv
  • Sidevisninger

Figur 6: tekDB_relationship
En grafisk præsentation af forholdet mellem de to tabeller

Når du har konfigureret databasestrukturen, skal du udfylde tabellen med nogle testdata. Disse kan erstattes senere med produktionsdata. Først skal du oprette flere kategorier.



Figur 7: tekDB_catTableContents

Husk, at hver kategori blot er et logisk lagringssted for de underordnede produkter. Forhold oprettes mellem kategoritabellen og et bestemt produkt ved at placere "catID" fra den overordnede kategori i det numeriske felt "catID" i produkttabellen. Der kan oprettes en mere kompleks tabelstruktur, der gør det muligt at håndtere produkter, som hører under mere end én kategori. Dette er dog ikke nødvendigt på nuværende tidspunkt.


Figur 8: tekDB_ProductTableContents


Visning af data

Når databasen har nogle data, som du kan arbejde med, skal dataene lægges på en webside. Der skal kun bruges to sider til denne demonstration – en overordnet side, som viser alle de kategorier, som en bruger kan vælge, og en underordnet side, som viser alle varerne i den valgte kategori.

Først skal du oprette en HTML-tabel for brugergrænsefladen. Der kan bruges en tabel med målene 2 x 2. Den første række er en simpel overskrift, som beskriver kolonnens indhold nedenunder den, og den anden række indeholder det registrerede output. Opret en registrering, som vælger kategorinavn og -id fra tabellen.

Træk kategorinavnet fra paletten med datakilden til anden række i første kolonne. Anden kolonne indeholder et link til visning.

Hvis du vil oprette et link til visning, skal du starte med at markere teksten og bruge egenskabskontrollen til at navigere til den side, hvor produkterne vises. Klik på mappeikonet, så får du vist en liste over eksisterende sider på dit websted. Vælg siden med produkterne, og klik på knappen Parametre i bunden af dialogboksen. I vinduet Parametre kan du oprette en URL-parameter med navnet catID (som bruges til filtrering i produkternes registrering) og tildele en værdi fra databasen. Dette gør du ved at vælge feltet catID ved hjælp af ikonet med et lyn. Når der klikkes på knappen Vis ud for kategorien, sendes det tilsvarende id til produktets registrering i URL-strengen, og det er kun produkterne i den pågældende kategori, der vises på oplysningssiden. Når dette er udført, kan du føje den gentagne regionale serverfunktion til den anden række.

Nu, hvor kategorisiden virker, skal oplysningssiden oprettes. Vi ved, at alle kommer til denne side fra kategorisiden, og de derfor har catID'et i forespørgselsstrengen. Derfor starter vi med at oprette en registrering, som omfatter alle felter i tabellen, og vi filtrerer catID efter værdi fra forespørgselsstrengen ved hjælp af anmodningen ("catID").


Figur 9: tekDB_categoryRS

Brugergrænsefladen for denne tabel kan have nøjagtigt samme layout, bortset fra en ekstra kolonne til pris. Træk varens navn til den første kolonne og prisen til den anden, og angiv "Læg i indkøbsvogn" i den tredje. Fremhæv teksten "Læg i indkøbsvogn", og vælg serverfunktionen Læg i indkøbsvogn i paletten med serverfunktioner. De fleste felter i brugergrænsefladen har et lyn ud for tekstfeltet. Dette ikon gør det muligt at udfylde felterne med felter fra din database via den registrering, som du har oprettet i vinduet Datakilder. Vælg et felt i databasen for hver tilsvarende vare i serverfunktionen. Når det er gjort, kan du tilføje en gentagen region til den anden række. Når produkterne er udfyldt på siden fra databasen i kørselstid, har alle tilfælde af Læg i indkøbsvogn de relevante oplysninger vedhæftet. Når der klikkes på en vare med henblik på køb, opdateres indkøbsvognen med de oplysninger, som du har angivet. Vedligeholdelse af varen kan nu udføres i databasen, uden du behøver at redigere dine HTML-sider.


Figur 10: tekDB_Addtocart

Så simpelt er det. Kunderne kan nu se dit varekatalog, vælge de varer, som de vil købe, og gå til betalingen. Hurtig programudvikling er en af de ting, der gør PayPal-pakken til en stor konkurrent til e-handel. Andre systemer med indkøbsvogne kræver en del tid til udvikling, uden at modtagelse af betaling egentlig tages op. Denne demo blev oprettet på ca. en time ved hjælp af DreamWeaver UltraDev og PayPal-udvidelsespakken.

Denne artikel er et uddrag fra den nye bog "UltraDev E-commerce Concepts: Next Steps" af Ray West, Tom Muck og Joel Martinez. Hvis du vil have flere oplysninger om UltraDev og e-handel, kan du besøge Basic UltraDev på www.basic-ultradev.com. Du kan finde oplysninger om vores bøger, selvstudier og udvidelser, som kan forbedre dine muligheder for webudvikling væsentligt.

ANSVARSFRASKRIVELSE: Følgende indhold er skrevet af hver artikels enkelte forfatter og ikke af PayPal, Inc. eller virksomhedens søster- eller datterselskaber. Artiklerne kan indeholde fejl, og PayPal anbefaler ikke og yder ikke support på indholdet. PayPal anbefaler, at du kontakter forfatterne til artiklerne angående spørgsmål, oplysninger om teknisk support, garantier og/eller licenser, om nødvendigt. Hvis du vælger at stole på indholdet i disse artikler, sker det på egen risiko. PayPal påtager sig intet ansvar for fejl, gener eller andre skader, der måtte opstå som følge af, at du stoler på dette indhold, herunder hændelige, specielle, indirekte skader eller følgeskader. PayPal FRASKRIVER SIG UDTRYKKELIGT ALLE GARANTIER med hensyn til dette indhold og brugen af det.