Send autentificerede kundeoplysninger
For at autentificere en kundeprofil skal din backend-server foretage to uafhængige API-kald, som vi anbefaler at køre parallelt for bedre ydeevne:
-
createCart: Genererer Zonos-kurven. For detaljeret vejledning, se Opsæt Zonos Checkout-sektionen i dokumentationen for brugerdefineret integration. -
checkoutCustomerProfileAuthenticate: Indsender og validerer kundens oplysninger.
Når du validerer kundesessionen, skal du sikre, at customerId, du sender i anmodningen, matcher den korrekte profil, så nøjagtige kundeoplysninger vises ved checkout. Husk, at du ikke skal inkludere customerId i metadata, når du opretter en kurv, da det vil blive overskrevet.
Når kunden er autentificeret, og ordren er afgivet, vil customerId være tilgængelig i order.references, når ordredetaljer hentes via order-forespørgslen, så du kan knytte ordren til den korrekte kunde.
Opret kurv med kundeprofil
Når du har kaldt begge mutationer, får du følgende tilbage:
-
cartIdfracreateCart-mutationen til at generere kurven. -
En
oneTimePasswordfracheckoutCustomerProfileAuthenticate-mutationen til kundeautentificering.
Du kan sende begge værdier i createCartId-callbacken i Zonos.init-funktionen for at indlæse de angivne kundeprofiloplysninger i Checkout.
Zonos.init({ ... checkoutSettings: { ... createCartId: async () => { const result = await fetch( 'https://api.merchant.com/api/get-cart-info', { body: JSON.stringify(payload), method: 'POST', }, ); const json = await result.json(); return { cartId: json.cartId, customerAuthenticationToken: json.customerProfileAuthenticate ?.checkoutCustomerProfileAuthenticate.oneTimePassword || '', }; } },}Administrer kundeprofiler
Første gang du indsender kundeoplysninger, gemmer Zonos de angivne oplysninger. Betalingsmetoder gemmes sikkert i Stripe. Hver gang nye adresse- eller betalingsmetodedetaljer sendes, tilføjes de til kundens profil.
Adresser og betalingsmetoder kan kun tilføjes — eksisterende kan ikke redigeres eller fjernes. En kundes navn, e-mail og telefon kan opdateres med checkoutCustomerUpsert.
Opret eller opdater en profil uden en køber
checkoutCustomerProfileAuthenticate kræver, at køberen er til stede, da den udsteder en engangskode til den pågældende checkout-session. Når du vil oprette eller opdatere en profil uden for en checkout — f.eks. for at indlæse din kundeliste på forhånd, synkronisere profilændringer fra dit eget system eller tilknytte skattefritagelser, før en kundes første ordre — skal du i stedet bruge checkoutCustomerUpsert.
mutation checkoutCustomerUpsert($input: CheckoutCustomerProfileInput!) { checkoutCustomerUpsert(input: $input) { customerId email name phone locations { administrativeArea countryCode line1 line2 locality postalCode } }}Profiler matches på customerId, så gentagne kald opdaterer den samme profil i stedet for at oprette dubletter. Det er sikkert at køre på tværs af hele din kundeliste efter en fast tidsplan.
Tre ting, du skal vide om, hvordan opdateringer anvendes:
- Udeladte felter berøres ikke. Hvis du kun sender
name, opdateres navnet, mens e-mail og telefon forbliver uændrede. - Værdier kan ikke ryddes. At sende en tom værdi behandles på samme måde som at udelade feltet, så der er ingen måde at fjerne et navn, en e-mail eller et telefonnummer på, når det først er angivet.
- Adresser tilføjes kun. En adresse, der allerede findes på profilen, duplikeres ikke, og adresser, der udelades fra anmodningen, fjernes ikke.
Kundeprofiler
Forudindlæs tilbagevendende køberoplysninger i Zonos Checkout.
Kundeprofiler strømliner din checkout-oplevelse ved at lade kunder med en konto forudindlæse deres adresse- og betalingsdetaljer.
Denne funktion er i øjeblikket kun tilgængelig for brugerdefinerede API-integrationer. Funktionen er endnu ikke tilgængelig for forhandlere, der bruger Checkout-plugins.
Hvis du sælger til forhandlere, offentlige myndigheder eller nonprofitorganisationer, kan du også synkronisere deres skattefritagelsescertifikater til en kundeprofil.