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.
1
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.
2
Opret kurv med kundeprofil
Når du har kaldt begge mutationer, får du følgende tilbage:
cartId fra createCart-mutationen til at generere kurven.
En oneTimePassword fra checkoutCustomerProfileAuthenticate-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.
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.
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.
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.
checkoutCustomerUpsert returnerer ikke en oneTimePassword. For at indlæse en profil i Checkout
skal du stadig bruge checkoutCustomerProfileAuthenticate, som udsteder én til den session.
GraphQL API ReferenceTypes, inputs, and operations used in this guide
Kundeprofiler
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.
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.mutation checkoutCustomerProfileAuthenticate($input: CheckoutCustomerProfileAuthenticateInput!) {checkoutCustomerProfileAuthenticate(input: $input) {emailcustomerIdorganizationIdnamephonelocations {administrativeAreacountryCodelocalityline1line2postalCode}oneTimePassword}}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 inkluderecustomerIdi metadata, når du opretter en kurv, da det vil blive overskrevet.Når kunden er autentificeret, og ordren er afgivet, vil
customerIdvære tilgængelig iorder.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 iZonos.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
checkoutCustomerProfileAuthenticatekræ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 brugecheckoutCustomerUpsert.mutation checkoutCustomerUpsert($input: CheckoutCustomerProfileInput!) {checkoutCustomerUpsert(input: $input) {customerIdemailnamephonelocations {administrativeAreacountryCodeline1line2localitypostalCode}}}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:
name, opdateres navnet, mens e-mail og telefon forbliver uændrede.checkoutCustomerUpsertreturnerer ikke enoneTimePassword. For at indlæse en profil i Checkout skal du stadig brugecheckoutCustomerProfileAuthenticate, som udsteder én til den session.CheckoutCustomerProfileInput
checkoutCustomerUpsert
Var denne side nyttig?