Spring til indhold

GuideAdresser

Adresseforslag i en DanDomain-webshop

DanDomains webshop har et kodefelt, der indlæses på alle shoppens sider. Det er stedet til adressefeltet. To ting kræver lidt omtanke: navnene på felterne i din checkout afhænger af shoppens design, og med one-page checkout kan siden blive vist fra DanDomains betalingsserver i stedet for dit eget domæne.

Kaldet i guiden

4 min læsning6 trinOpdateret
På denne side6 trin

Opret en offentlig nøgle

Feltet kalder Grundfast direkte fra kundens browser, så det bruger en offentlig nøgle (gf_pub_live_). Den må gerne stå i sidens kildekode, fordi den kun virker fra de domæner, du skriver på den, og kun til adresseopslag. Opret den under Nøgler i dashboardet: vælg Offentlig og skriv dine domæner, fx butik.dk og www.butik.dk. Bruger du one-page checkout med DanDomains betalingssystem, skal betalingsserverens domæne også på — se nedenfor.

Byg og test med en offentlig testnøgle (gf_pub_test_), som aldrig faktureres, og skift til live-nøglen, når feltet virker. Reglerne for domæner — www, underdomæner med *. og porte — står i dokumentationen for adressefeltet.

Find felterne i din checkout

DanDomain dokumenterer ikke faste navne på checkoutens felter, og de kan afhænge af shoppens design. Derfor læser du dem af din egen checkout — det tager et minut:

  1. Gå til kundeoplysningerne

    Læg en vare i kurven og gå videre til trinnet, hvor kunden skriver navn og adresse.

  2. Undersøg adressefeltet

    Højreklik i adressefeltet og vælg Undersøg. Notér feltets id — eller name, hvis det ikke har et id.

  3. Gentag for postnummer og by

    Notér de to felter på samme måde. Et id skrives med # foran (#postnr); et navn som input[name="postnr"].

Indsæt scriptet i Kodefeltet

I administrationen: Indstillinger → Site, klik på rediger ud for dit site, og indsæt tagget i Kodefelt. Feltet skal have den fulde kode, også <script>-tagget. Erstat selektorerne med dem, du fandt:

Kodefelt
<script
  src="https://grundfast.dk/widget/v1/grundfast-adresse.js"
  defer
  data-key="gf_pub_live_..."
  data-felt="#ADRESSEFELTETS-ID"
  data-postnr="#POSTNUMMERFELTETS-ID"
  data-by="#BYFELTETS-ID"
></script>

Kodefeltet skrives i sidens <head>. defer får browseren til at vente med scriptet, til siden er læst, så felterne findes, når det kører. Har du flere sites (sprog), har hvert sit eget kodefelt — indsæt tagget dér, hvor det skal virke.

One-page checkout og betalingsserveren

Med one-page checkout og DanDomains betalingssystem samles kundeoplysninger, betaling og godkendelse på én side, og den side vises gennem DanDomains betalingsserver: adresselinjen i browseren skifter fra dit domæne til betalingsserverens https-adresse. For adressefeltet betyder det to ting:

  • Domænet på nøglen. Kaldene kommer nu fra betalingsserverens domæne. Læs det af adresselinjen på checkout-siden og skriv det på nøglen sammen med dit eget. Er det et domæne, flere shops deler, kan nøglen i princippet også bruges fra deres checkout — grænsen pr. IP-adresse og de få endpoints holder skaden lille, men hold øje med forbruget.
  • Om kodefeltet er med. Kontrollér, at scriptet faktisk indlæses på checkout-siden: åbn konsollen og skriv GrundfastAdresse.version. Svarer den med et versionsnummer, er feltet indlæst.

Bruger du den almindelige checkout i flere trin, eller en anden betalingsløsning, bliver siden på dit eget domæne, og du skal kun have det på nøglen.

Tjek nøglen fra en terminal

Før du leder i platformens indstillinger, kan du se, om nøglen og domænet passer sammen. Kaldet nedenfor er det samme, feltet laver. Origin er dit domæne, præcis som browseren skriver det:

bash
curl -G "https://api.grundfast.dk/v1/adresse/search" \
  --data-urlencode "q=Vestergade 10" \
  --data-urlencode "token=$GRUNDFAST_PUBLIC_KEY" \
  -H "Origin: https://www.butik.dk"

Svarer det med adresser, er nøglen i orden. Et 403 med origin … is not allowed betyder, at domænet ikke står på nøglen — ret listen i dashboardet; det slår igennem inden for et halvt minut.

Hvis der ikke kommer forslag

  • Åbn browserens konsol (F12, fanen Console). Feltet skriver én linje, der begynder med [grundfast-adresse], med årsagen fra API’et.
  • no public key — scriptet blev indlæst uden data-key.
  • Ingen linje og ingen liste — feltet blev ikke fundet. Tjek at selektoren i data-felt rammer feltet: skriv document.querySelectorAll('…') med den samme selektor i konsollen.
  • Listen vises, men felterne udfyldes ikke — selektorerne i data-postnr og data-by rammer ikke noget. De slås op i samme formular som adressefeltet først, derefter på hele siden.

Feltet stopper aldrig formularen: fejler et kald, lukker listen, og kunden kan skrive adressen i hånden som før.

Var denne side nyttig?

Ofte stillede spørgsmål

Fordi DanDomain ikke dokumenterer dem, og de kan følge shoppens design. Et navn, vi gættede på, ville se rigtigt ud og ikke virke. Det tager et minut at læse dem af din egen checkout med browserens inspektør.

Ja. Brug en offentlig testnøgle, mens du prøver, og læg en testordre igennem til ende. Kontrollér, at adressen på den færdige ordre er den, du valgte.

Forslagslisten lukker, og kunden skriver adressen i hånden som før. Feltet blokerer aldrig checkouten.

Ja, med datavask: adresserne sendes fra en server med en hemmelig nøgle, og du får den bedste kandidat i adresseregistret og en sikkerhed for hver.

Prøv det på rigtige data

En gratis nøgle giver adgang til alle registre med samme svarform. Testnøgler faktureres aldrig, så du kan bygge færdigt, før du skifter til produktion.

Gratis op til 5.000 kald/md · intet kreditkort · data fra Klimadatastyrelsen/Datafordeler, CC BY 4.0

Relateret