Rask utvikling i e-handel med DreamWeaver UltraDev og PayPal


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

Denne artikkelen utforsker hvordan du integrerer UltraDev med PayPal ved hjelp av et sett med gratis serverprogramvare som kan løse tre vanlige scenarier for Internettsalg. Serverprogrammet, som er kalt PayPal Extension Suite, er tilgjengelig fra Mike Ahern ved Shore Computers (http://www.shorecomp.com/ultradev/paypal/default.asp). Programpakken er gratis, men vi oppfordrer deg til å donere litt, via PayPal, hvis du bruker dette programmet.

Bruk av PayPals handlekurv, selv uten hjelp av dette programmet, krever bare kunnskap om HTML. Hvis du kan klippe ut og lime inn tekst, kan du enkelt ha nytte av denne funksjonen uten hjelp av programutvidelsen. Men programutvidelsen integrerer svært bra med UltraDev og gir deg et brukergrensesnitt som er enkelt å forstå. Gjennom følgende tre eksempler lærer du hvordan du skal bruke PayPal-systemet på tre vanlige transaksjonstyper:
  • Enkeltvarekjøp som tilrettelegger for at du kan selge én vare på en auksjon.
  • Den enkle handlekurven som gjør det mulig for deg å velge flere varer som kan kjøpes i én PayPal-transaksjon
  • Den databasestyrte handlekurven som gjør det mulig for deg å opprette et lagersystem som kan forvaltes og dynamisk leveres til nettstedet ditt fra en database.

Slik oppretter du et nettsted for e-handel med PayPal


Å opprette et nettsted for e-handel med PayPal er kanskje den enkleste løsningen å implementere. Tiden du sparer på utvikling gjør dette til et attraktivt valg for prosjekter på stramt budsjett. Det er åpenbare fordeler. Siden alle handlekurvfunksjoner er ivaretatt i et sprettoppvindu, med unntak for muligheten til å inkludere logoen din i kurven, er det lite rom for tilpasning. Når det er sagt, krever ikke de fleste nettsteder et fullstendig tilpasset brukergrensesnitt og kan derfor få betydelige fordeler med dette systemet. Det kjente grensesnittet fra PayPal kan faktisk forhindre at kundene blir bekymret.

Ettersom programmet har flere utvidelser, har det en rekke serveregenskaper, hver med litt forskjellige funksjonalitet. De har likevel enkelte felles elementer.
  • PayPal E-post – Hver serveregenskap krever at du skriver inn e-postadressen som ble brukt for PayPal-kontoen din. Hvis du skal utføre forretningsvirksomhet gjennom kontoen din, bør du definitivt velge Bedriftskonto.
  • Statiske/Dynamiske felt – Nesten alle serveregenskaper bruker felt som gir deg muligheten til å velge elementer fra datakoblingsvinduet i UltraDev, eller bruker statiske verdier. Det eneste du trenger å huske på er at når du bruker en statisk verdi, må den være i doble anførselstegn. (dvs. "5,00")
  • Penger – Alle pengefelt må være i formatet "xx,xx". Hvis du tilordner en verdi fra datakoblingspaletten til ett av disse feltene, må du kontrollere at de er i dette formatet. Du kan bruke den innebygde UltraDev-funksjonaliteten for å tilordne en formateringsregel til denne verdien.

Figur 1: Datakoblingspalett tilordner økonomiformatering.
  • URL felt – Noen av serveregenskapene ber deg om URL-adressen til logoen din, eller en webside du vil sende brukeren til etter at en transaksjon er behandlet. Alle disse må være fullstendige URL-adresser, som betyr at http://www.yourdomain.com må være inkludert.
Serveregenskaper

Serveregenskapene nedenfor er tilgjengelige i programpakken for at du skal kunne kommunisere med PayPal-funksjoner.
  1. Egenskaper for Enkeltvarekjøp
    Når den brukes på et bilde eller noe av teksten, oppretter denne egenskapen en kobling rett til PayPal-kassen på skjermen. Med denne kommandoen kan du lage koblinger som for eksempel "Kjøp meg nå!". Denne er praktisk for websider som bare selger ett produkt eller tjeneste.
  2. Egenskaper for handlekurven din
    Hvis du bestemmer deg for å bruke en annen handlekurvløsning som for eksempel UltraCart II, kan du likevel bruke tjenestene som leveres av PayPal for å godta betaling for produkter. Den eneste informasjonen du trenger å gi (i tillegg til PayPal-ID-en og flere URL-adresser) er et bestillingsnummer og den totale kjøpesummen. Denne informasjonen kan enkelt samles opp og sendes inn i det enkle brukergrensesnittet.
  3. Egenskapen Legg til vare i handlekurv
    Denne egenskapen er kanskje den som gir flest fordeler. Egenskapen Legg til vare i handlekurv integrerer svært enkelt med en databasevisning av varene på skjermen, slik at kunder kan kikke seg rundt og legge til varer i handlekurven. Når den genererte koblingen klikkes på, startes et sprettoppvindu med innholdet i handlekurven på en flott skjerm. Brukere kan deretter fortsette fra dette skjermbildet til kasseområdet der de enten kan logge på PayPal-kontoen eller bare oppgi betalingsinformasjonen.
  4. Egenskapen Vis handlekurv
    Brukes sammen med egenskapen "Legg vare i handlekurv" og når du klikker på en kobling som genereres av Vis handlekurv, spretter det opp et vindu med innholdet i handlekurven. Den eneste informasjonen som trengs er e-postadressen du bruker som ID på PayPal.
  5. Egenskapen Donasjon
    Koblingen som produseres av denne serveregenskapen tar brukeren til en skjerm der de kan sende deg penger fra PayPal-kontoen. Personer som selger shareware eller en frivillig organisasjon kan dra nytte av denne tilnærmingsmåten fordi det gir dem mulighet til å motta penger fra nettstedet uten å være knyttet til et bestemt kjøp.
  6. Egenskapen Abonnementet
    Nettsteder som tilbyr medlemsbasert tilgang til innholdet drar fordel av denne unike tjenesten som tilbys av PayPal. Brukere som registrerer seg som medlem, mottar en regelmessig månedlig fakturering fra PayPal. Pengene går direkte inn på PayPal-kontoen din og du får en e-post med hver betaling som varsler deg om brukerens fortsettelse av abonnementet. Koblingen som genereres av denne serveregenskapen spretter opp et vindu som ber brukeren om faktureringsinformasjon.

Praktiske programmer i PayPal-pakken


Det finnes to vanlige scenarier som dekker de fleste e-handel-scenarier på nettet i dag. Enkeltvarekjøp er lik den auksjonsmodellen hvor en selger tilbyr bare én vare og når den er kjøpt er det ikke flere. Handlekurvmodellen omfatter salg av flere varer og mulige flere eksemplarer av disse varene. Følgende tre eksempler bruker PayPal-tjenesten til å tilby en enkelt vare for salg, en handlekurv som benytter en PayPal-handlekurv og en handlekurv som benytter en handlekurv fra en tredjepart til å kommunisere med PayPal.

Vi har laget et demonstrasjonswebområde som finnes på http://www.codecube.net/teksales/. Eksemplene beskrevet i denne artikkelen, kan du finne på demo-området.


Figur 2: teksales demonstrasjonsside


"Jeg vil gjerne ha én " – Enkeltvaresalg


Egenskapene for Enkeltvarekjøp benyttes når du bare har én vare å selge. eBay-brukere har lenge omfavnet denne funksjonaliteten for å innhente betaling for auksjonene sine. Hvis området ditt selger flere varer, finnes det andre egenskaper som tjener deg bedre. Men for salg av en enkelt vare, brukte varer eller samleobjekter, gir egenskapen enkeltvarekjøp et raskt og enkelt alternativ.

Se for deg dette; du har den hotteste motorsykkelen som finnes, Ducati Monster S4Fogarty. En dag du kjører av sted skifter en bil fil rett foran deg. Plutselig ser du hele livet ditt fare forbi på netthinnen og du kan ikke tenke på å kjøre sykkelen en meter til uten å kaldsvette. Så du bestemmer deg for å selge den på websiden din. Du lager en rask design i UltraDev og publiserer den på nettstedet ditt.


Figur 3: Ducati salg webområde...pre SB

Du tenker det vil bli en kø av mennesker foran postkassen for å sende deg penger for denne monstermaskinen, men dessverre, ingen kommer. Det kan være flere årsaker til det. Kanskje prisen er høyere enn mange personer kan skrive ut en sjekk for.

Slik bruker du egenskapen for Enkeltvarekjøp

Å bruke egenskapen for enkeltvarekjøp er ganske enkelt. Når websiden er opprettet, trenger du bare å velge et objekt på siden som skal fungere som kjøp-knappen. Dette kan enten være et "Kjøp meg"-bilde eller noe av teksten som gir den samme meldingen. Merk objektet og bruk serveregenskapen på samme måte som du bruker andre. Du finner egenskapen for enkeltvarekjøp i serveregenskapspaletten under PayPal-> PayPal enkeltvarekjøp.



Figur 4: pp_SinglePurchase

Fyll ut feltene i grensesnittet til serveregenskapene og du er ferdig. Når en bruker klikker på koblingen som genereres av egenskapene, spretter det opp et vindu som innhenter betalingsinformasjon og brukeren blir tatt gjennom kassen. Du mottar en bekreftelse på det fullførte salget fra PayPal og du kan deretter gå rett ut å pakke inn motorsykkelen for å sende den med din lokale posttjeneste.


"Jeg tar to av hver" – Den enkle handlekurven


Enkeltvarekjøp utgjør en stor del av dagens nettbaserte transaksjoner, spesielt på grunn av populariteten til online-auksjoner. Men de som vil drive løpende forretningsvirksomhet på nettstedene sine står overfor flere spørsmål. De har ofte flere forskjellige produkter og håper at kundene vil kjøpe flere varer og komme gjentatte ganger.

Vi kommer tilbake til deg – vår motorsykkelselger in spe. Salget av Ducatien har fått deg til å innse at det er etterspørsel etter motorsykkelrelaterte varer og du har besluttet å tilby dette gjennom en nettbutikk. Med den nye PayPal-betalingsløsningen på nettet, vokser bedriften. Du gjør en god fortjeneste på videresalg av motorsykler via nettstedet ditt, men du bestemmer deg for å selge tilleggsprodukter til motorsykkelsalget som for eksempel hjelmer og briller. Dette er et enkelt konsept, men du kan ikke fortsette med samme løsning. På din ukentlige tur til kjøpesentret, skjønner du hva du må gjøre idet du plukker en kanne smøreolje opp i handlekurven sammen med melk og egg. Du trenger også en handlekurv.

Sagt enkelt, en eletronisk handlekurv gjør det mulig for kundene å kjøpe flere varer i én transaksjon. Etter som kunden navigerer gjennom nettstedet, ser på varer og velger hvilke varer de vil kjøpe, "husker" handlekurven, gjennom bruk av variabler for økten, informasjonskapsler (cookies) og en database, hvilke varer som ble valgt. Når kunden bestemmer seg for å gå til kassen, kan de oppgi betalingsinformasjon én gang og bestillingen fullføres for alle varene.

Slik bruker du PayPal-handlekurven

Bruk av egenskapene for handlekurven er svært lik egenskapene for enkeltvarekjøp. Siden denne egenskapen skal brukes sammen med en handlekurv, er det noen merkbare forskjeller. For det første kan kundene velge antall for en bestemt vare, for eksempel to par med hansker eller tre sett bukselapper i skinn. Når noen klikker på kjøp-knappen legges en vare til i handlekurven og kunden kan fortsette å handle, i stedet for at det blir spurt om betalingsinformasjonen umiddelbart.

Hvis du vil bruke egenskapen på varen din, kan du ganske enkelt merke et objekt eller tekst på siden og velge egenskapen Legg i kurven fra PayPal> PayPal Legg vare i kurv fra serveregenskap-paletten. Gjenta for hver vare på området ditt.



Koblingen som opprettes, vil få et nytt vindu til PayPal-handlekurv-systemet til å sprette opp og vil vise hver vare du har lagt til. Hvis du klikker på samme vare to ganger, øker antallet varer med én. Dette er den foretrukne metoden i denne situasjonen fordi handlere vil gjøre så lite som mulig for å få varene sine, så hvis du sparer dem for et par klikk blir de mer fornøyde og mer fornøyde kunder handler mer.

Slik bruker du PayPal med en databasedrevet handlekurv


De forrige eksemplene er gode opplæringsøvelser og det kan også være ganger du er i en lignende situasjon og bare trenger svært grunnleggende PayPal-funksjoner. Men kraften i denne filutvidelsen viser seg virkelig når den brukes sammen med en databasedrevet lagerløsning. Når du bruker en database til å administrere produktene dine, kan den ta litt tid å utvikle på forhånd, men fordelene blir synlige etterhvert som tiden går med enkel vedlikehold og administrasjon. Hvis den er opprettet riktig, går nettstedet ditt i hovedsak på autopilot.

Tabellstruktur

Den mest tidkrevende delen av opprettelsen av denne typen nettsted, er selve konstruksjonen av databasen. Det å koble seg på PayPal-systemet er omtrent trivielt. For formålet med denne diskusjonen, vil vi bruke en klassisk parent/child eller master/detail datastruktur. Dette er den database layout som brukes i 99 % på databaser over hele Internett. Hvis du trenger hjelp med databasedelen i dette prosjektet, er det mange ressurser rundt omkring på nettet som kan hjelpe deg.

For hver rad i den overordnede tabellen, kan det være fra null til mange rader i den underordnede tabellen. På et e-handelstjenesteområde, betyr det at vi skal ha en kategoritabell som master og en produkttabell som underordnet. Et eksempel på noen data som kan plasseres innenfor:

TV-kategori
– Sony 20-tommers
– RCA 19-tommers
– Magnavox 32-tommers

Videospiller-kategori
– Panasonic to hoder
– Samsung fire hoder

Begynn med å definere tabellkategorien i følgende felt:
  • catID – autonummer
  • catNavn – tekst
Som du ser, er det ikke mye informasjon i den overordnede tabellen ettersom den bare organiserer radene i den underordnede tabellen. Annen informasjon som potensielt kan plasseres i denne tabellen kan være:
  • en Utvidet beskrivelse
  • et kategoribilde
  • et Aktivt-felt som angir om kategorien er aktiv
Denne tabellen kan brukes på en side som viser alle kategorier av varer som er tilgjengelig på nettstedet ditt. Kunden kan da velge en kategori for å se detaljer om produkter som er tilgjengelige i hver kategori.

Den neste tabellen vi trenger, er en produkttabell. Denne vil inneholde informasjon om hvert enkelt produkt, så den må ha et felt for hver tilsvarende vare i serveregenskapen Legg til i kurv.
  • vareID – autonummer
  • catID – tall
  • itemName – tekst
  • beløp – valuta
  • shipping – valuta
  • handling – valuta
Hvis du ikke bruker noen av disse feltene (ikke tar betalt for frakt og administrasjon for eksempel) kan du bare fylle dem ut med nuller.

Som med kategorien tabell, bruker vi bare minimumfeltene for korthets skyld. Andre mulige felt kan være:
  • Date added
  • Active
  • Page Views

Figur 6: tekDB_relationship
En grafisk fremstilling av forholdet mellom to tabeller

Når du har databasestrukturen konfigurert, fyller du inn tabellene med noen testdata. Disse kan byttes ut senere med produksjonsdata. Først må du opprette flere kategorier.



Figur 7: tekdb_catTableContents

Husk at hver kategori bare er en logisk beholder for de underordnede produkter. En relasjon etableres mellom kategorien tabell og et bestemt produkt ved å plassere den overordnede tabellkategoriens "catID" i produkttabellens numeriske "catID"-felt. En mer komplisert tabellstruktur kan opprettes for å håndtere produkter som kan falle inn under mer enn én kategori, men dette er tilstrekkelig for denne gang.


Figur 8: tekDB_ProductTableContents


Vise dataene

Når databasen har noen data du kan jobbe med, er neste trinn å legge dataene på en webside. Bare to sider er nødvendig for denne demonstrasjonen, en overordnet side som viser alle kategorier brukeren kan velge mellom og en detaljert side som viser alle varene i den valgte kategorien.

Først må du opprette en HTML-tabell for brukergrensesnittet. En tabell som måler 2 x 2 fungerer fint. Den første raden vil være en enkel topptekst som beskriver innholdet i en kolonne under og den andre raden vil være der postene vises. Opprett et postoppsett som velger kategorinavn og ID-er fra tabellen.

Dra kategorinavnet fra datakildepaletten til første kolonnen andre rad. Den andre kolonnen vil ha en "Vis"-kobling.

For å opprette vis-koblingen, merk teksten og bruk den respektive egenskapsoversikten (property inspector) for å navigere til siden der produktene skal vises. Klikk på mappeikonet og du får en liste over eksisterende sider på nettstedet ditt. Velg produktsidene og klikk deretter på parameter-knappen nederst i dialogboksen. I parameter-vinduet, kan du opprette et URL-parameter kalt catID (som er brukt som filter i produktenes postoppsett) og tilordne en verdi fra databasen ved å velge catID-feltet med det lysende bolt-ikonet. Når så Vis-knappen ved siden av kategorien er klikket, blir den korresponderende ID-en overført til produktenes postoppsett i URL-strengen og bare produktene i denne kategorien blir vist på Detaljer-siden. Når dette er fullført, kan du legge til serveregenskapen Repeat Region til andre rad.

Nå som kategorisiden fungerer, er neste trinn å opprette Detalj-siden. Vi vet at brukere som kommer til denne siden, kommer fra kategorisiden og at de derfor har catID i spørrestrengen. Vi starter derfor med å opprette et postsett som inneholder alle felt i tabellen og vi filtrerer catID-en etter verdien fra spørrestrengen ved hjelp av request ("catID").


Figur 9: tekDB_categoryRS

Brukergrensesnittet for denne tabellen kan ha nøyaktig samme layout, bortsett fra en ekstra kolonne for pris. Dra varenavnet til den første kolonnen, prisen til den andre og skriv "Legg til i kurv" i tredje. Merk "Legg til i kurv"-teksten og velg serveregenskapen Legg til i kurv fra serveregenskap-paletten. De fleste av feltene i brukergrensesnittet er små lysende bolter ved siden av tekstboksen. Disse lar deg fylle ut feltene med felt fra databasen via postsettet som du har opprettet i datakildevinduet. Velg et felt fra databasen for hver korresponderende vare i serveregenskapene. Når dette er gjort, kan du legge til en Repeat Region til andre rad. Når produktene er utfylt på websiden fra databasen ved kjøring, har hver Legg til i kurv-forekomst tilknyttet riktig informasjon. Alle varer som klikkes på for kjøp oppdaterer handlekurven med informasjonen du har oppgitt. Vedlikehold kan nå utføres på varene i databasen uten at du behøver å redigere HTML-sidene.


Figur 10: tekDB_Addtocart

Det er omtrent alt som skal til. Kunder kan nå se gjennom varekatalogen din, velge de varene de vil kjøpe og gå til kassen. Rask applikasjonsutvikling er en av de viktigste tingene som gjør PayPals programpakke til en som går foran innen e-handel. Andre handlekurvsystemer tar mye utviklingstid uten egentlig å være tilpasset betalingsspørsmålet. Denne demonstrasjonen ble opprettet på omtrent en time ved hjelp av kraften i DreamWeaver UltraDev og PayPals Extension Suite.

Denne artikkelen er et utdrag fra den nye boken UltraDev E-commerce Concepts: Next steps av Ray West, Tom Muck og Joel Martinez. Hvis du vil ha mer informasjon om UltraDev og e-handel, går du til Basic UltraDev på www.basic-ultradev.com. Der finner du informasjon om våre bøker, opplæring og utvidelser som i stor grad kan forbedre din kompetanse på webutvikling.

ANSVARSFRASKRIVELSE: Det følgende innholdet er levert av hver enkelt artikkels forfatter og ikke av PayPal, Inc. eller noen av dets tilknyttede selskaper eller datterselskaper. Artiklene kan inneholde feil og PayPal hverken bifaller eller støtter innholdet i dem. Hvis du har spørsmål, eller har behov for informasjon om teknisk støtte, garantier og/eller lisenser, anbefaler PayPal at du kontakter forfatterne av artiklene. Hvis du velger å stole på innholdet i noen av disse artiklene, gjør du dette på eget ansvar. PayPal tar ikke ansvar for eventuelle feil eller noen som helst form for skader som måtte følge som et resultat av at du har stolt på dette innholdet, inkludert eventuelle utilsiktede skader, spesielle skader, indirekte skader eller følgeskader. PayPal FRASKRIVER SEG UTTRYKKELIG ALLE GARANTIER i sammenheng med dette innholdet samt bruken av dette innholdet.