Préchargez les informations des acheteurs récurrents dans Zonos Checkout.
Les profils client simplifient votre expérience de checkout en permettant aux clients disposant d'un compte de précharger leur adresse et leurs informations de paiement.
Cette fonctionnalité est actuellement disponible uniquement pour les intégrations API personnalisées. Elle n'est pas encore disponible pour les marchands utilisant les plugins Checkout.
Si vous vendez à des revendeurs, des organismes gouvernementaux ou des associations à but non lucratif, vous pouvez également synchroniser leurs certificats d'exonération fiscale avec un profil client.
1
Envoyer les informations client authentifiées
Pour authentifier un profil client, votre serveur backend doit effectuer deux appels API indépendants, que nous recommandons d'exécuter en parallèle pour de meilleures performances :
createCart : génère le panier Zonos. Pour des instructions détaillées, consultez la section Configurer Zonos Checkout dans la documentation d'intégration personnalisée.
checkoutCustomerProfileAuthenticate : soumet et valide les informations du client.
Lors de la validation de la session client, assurez-vous que le customerId que vous transmettez dans la requête correspond au profil correct afin d'afficher des informations client précises au checkout. Notez que lors de la création d'un panier, vous ne devez pas inclure customerId dans les métadonnées, car il sera écrasé.
Une fois le client authentifié et la commande passée, le customerId sera disponible dans order.references lors de la récupération des détails de commande via la requête order, ce qui vous permet d'associer la commande au client correct.
2
Créer un panier avec un profil client
Après avoir appelé les deux mutations, vous obtiendrez ce qui suit :
cartId de la mutation createCart pour générer le panier.
Un oneTimePassword de la mutation checkoutCustomerProfileAuthenticate pour l'authentification du client.
Vous pouvez transmettre ces deux valeurs dans le callback createCartId de la fonction Zonos.init pour charger les informations du profil client fournies dans Checkout.
La première fois que vous soumettez des informations client, Zonos stocke les informations fournies. Les modes de paiement sont stockés en toute sécurité dans Stripe. Chaque fois que de nouvelles adresses ou de nouveaux modes de paiement sont transmis, ils sont ajoutés au profil du client.
Les adresses et les modes de paiement ne peuvent qu'être ajoutés — les éléments existants ne peuvent pas être modifiés ni supprimés. Le nom, l'e-mail et le téléphone d'un client peuvent être mis à jour avec checkoutCustomerUpsert.
checkoutCustomerProfileAuthenticate nécessite la présence de l'acheteur, car il émet un mot de passe à usage unique pour cette session de checkout. Lorsque vous souhaitez créer ou mettre à jour un profil en dehors d'un checkout — en chargeant votre liste de clients à l'avance, en synchronisant les modifications de profil depuis votre propre système, ou en rattachant des exonérations fiscales avant la première commande d'un client — utilisez plutôt checkoutCustomerUpsert.
Les profils sont associés selon le customerId : appeler cette mutation de manière répétée met donc à jour le même profil au lieu d'en créer des doublons. Vous pouvez l'exécuter sans risque sur l'ensemble de votre liste de clients de façon planifiée.
Trois points à connaître sur l'application des mises à jour :
Les champs omis restent inchangés. N'envoyer que name met à jour le nom et laisse l'e-mail et le téléphone tels quels.
Les valeurs ne peuvent pas être effacées. Envoyer une valeur vide est traité de la même façon que l'omission du champ ; il n'existe donc aucun moyen de supprimer un nom, un e-mail ou un téléphone une fois défini.
Les adresses ne peuvent qu'être ajoutées. Une adresse déjà présente sur le profil n'est pas dupliquée, et les adresses omises de la requête ne sont pas supprimées.
checkoutCustomerUpsert ne renvoie pas de oneTimePassword. Pour charger un profil dans Checkout,
vous avez toujours besoin de checkoutCustomerProfileAuthenticate, qui en émet un pour cette session.
GraphQL API ReferenceTypes, inputs, and operations used in this guide
Profils client
Profils client
Préchargez les informations des acheteurs récurrents dans Zonos Checkout.
Les profils client simplifient votre expérience de checkout en permettant aux clients disposant d'un compte de précharger leur adresse et leurs informations de paiement.
Cette fonctionnalité est actuellement disponible uniquement pour les intégrations API personnalisées. Elle n'est pas encore disponible pour les marchands utilisant les plugins Checkout.
Si vous vendez à des revendeurs, des organismes gouvernementaux ou des associations à but non lucratif, vous pouvez également synchroniser leurs certificats d'exonération fiscale avec un profil client.
Envoyer les informations client authentifiées
Pour authentifier un profil client, votre serveur backend doit effectuer deux appels API indépendants, que nous recommandons d'exécuter en parallèle pour de meilleures performances :
createCart: génère le panier Zonos. Pour des instructions détaillées, consultez la section Configurer Zonos Checkout dans la documentation d'intégration personnalisée.checkoutCustomerProfileAuthenticate: soumet et valide les informations du client.mutation checkoutCustomerProfileAuthenticate($input: CheckoutCustomerProfileAuthenticateInput!) {checkoutCustomerProfileAuthenticate(input: $input) {emailcustomerIdorganizationIdnamephonelocations {administrativeAreacountryCodelocalityline1line2postalCode}oneTimePassword}}Lors de la validation de la session client, assurez-vous que le
customerIdque vous transmettez dans la requête correspond au profil correct afin d'afficher des informations client précises au checkout. Notez que lors de la création d'un panier, vous ne devez pas inclurecustomerIddans les métadonnées, car il sera écrasé.Une fois le client authentifié et la commande passée, le customerId sera disponible dans
order.referenceslors de la récupération des détails de commande via la requête order, ce qui vous permet d'associer la commande au client correct.Créer un panier avec un profil client
Après avoir appelé les deux mutations, vous obtiendrez ce qui suit :
cartIdde la mutationcreateCartpour générer le panier.Un
oneTimePasswordde la mutationcheckoutCustomerProfileAuthenticatepour l'authentification du client.Vous pouvez transmettre ces deux valeurs dans le callback
createCartIdde la fonctionZonos.initpour charger les informations du profil client fournies dans 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 ||'',};}},}Gérer les profils client
La première fois que vous soumettez des informations client, Zonos stocke les informations fournies. Les modes de paiement sont stockés en toute sécurité dans Stripe. Chaque fois que de nouvelles adresses ou de nouveaux modes de paiement sont transmis, ils sont ajoutés au profil du client.
Les adresses et les modes de paiement ne peuvent qu'être ajoutés — les éléments existants ne peuvent pas être modifiés ni supprimés. Le nom, l'e-mail et le téléphone d'un client peuvent être mis à jour avec
checkoutCustomerUpsert.Créer ou mettre à jour un profil sans acheteur
checkoutCustomerProfileAuthenticatenécessite la présence de l'acheteur, car il émet un mot de passe à usage unique pour cette session de checkout. Lorsque vous souhaitez créer ou mettre à jour un profil en dehors d'un checkout — en chargeant votre liste de clients à l'avance, en synchronisant les modifications de profil depuis votre propre système, ou en rattachant des exonérations fiscales avant la première commande d'un client — utilisez plutôtcheckoutCustomerUpsert.mutation checkoutCustomerUpsert($input: CheckoutCustomerProfileInput!) {checkoutCustomerUpsert(input: $input) {customerIdemailnamephonelocations {administrativeAreacountryCodeline1line2localitypostalCode}}}Les profils sont associés selon le
customerId: appeler cette mutation de manière répétée met donc à jour le même profil au lieu d'en créer des doublons. Vous pouvez l'exécuter sans risque sur l'ensemble de votre liste de clients de façon planifiée.Trois points à connaître sur l'application des mises à jour :
namemet à jour le nom et laisse l'e-mail et le téléphone tels quels.checkoutCustomerUpsertne renvoie pas deoneTimePassword. Pour charger un profil dans Checkout, vous avez toujours besoin decheckoutCustomerProfileAuthenticate, qui en émet un pour cette session.CheckoutCustomerProfileInput
checkoutCustomerUpsert
Cette page a-t-elle été utile?