Profils clients

Précharger les informations des acheteurs récurrents dans Zonos Checkout.

Les profils clients simplifient votre expérience de checkout en permettant aux clients ayant un compte de précharger leurs informations d'adresse et de paiement.

Cette fonctionnalité est actuellement disponible uniquement pour les intégrations API personnalisées. Cette fonctionnalité n'est pas encore disponible pour les commerçants utilisant des plugins Checkout.

1

Envoyer des 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 conseils détaillés, consultez la section Configurer Zonos Checkout dans la documentation d'intégration personnalisée.

  • checkoutCustomerProfileAuthenticate: Soumet et valide les informations du client.

Mutation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mutation checkoutCustomerProfileAuthenticate(
    $input: CheckoutCustomerProfileAuthenticateInput!
  ) {
  checkoutCustomerProfileAuthenticate(input: $input) {
    email
    customerId
    organizationId
    name
    phone
    locations {
      administrativeArea
      countryCode
      locality
      line1
      line2
      postalCode
    }
    oneTimePassword
  }
}

Variable

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
	"input": {
		"email": "test@zonos.com",
		"locations": [
			{
				"administrativeArea": "BC",
				"countryCode": "CA",
				"line1": "411-1033 Davie Street",
				"line2": "123 testAddress2",
				"locality": "Vancouver",
				"name": "TestCanada TestCanada",
				"postalCode": "V6E1M7"
			},
			{
				"administrativeArea": "UT",
				"countryCode": "US",
				"line1": "411-1033 Davie Street",
				"line2": "123 testAddress2",
				"locality": "Saint George",
				"name": "TestUS TestLastName",
				"postalCode": "84770"
			}
		],
		"customerId": "1234567",
		"name": "testFirstName1 testLastName",
		"phone": "7022920000"
	}
}

Lors de la validation de la session client, assurez-vous que le customerId que vous passez dans la demande correspond au bon profil pour afficher des informations client précises à checkout. Gardez à l'esprit que lors de la création d'un panier, vous ne devez pas inclure customerId dans les métadonnées, car il sera écrasé.

Après que le client soit authentifié et que la commande soit passée, le customerId sera disponible dans order.references lors de la récupération des détails de la commande via la requête de commande, vous permettant d'associer la commande au bon client.

2

Créer un panier avec le profil client

Après avoir appelé les deux mutations, vous recevrez les éléments suivants :

  • cartId de la mutation createCart pour générer le panier.

  • Un oneTimePassword de la mutation checkoutCustomerProfileAuthenticate pour l'authentification du client.

Vous pouvez passer ces deux valeurs dans le rappel createCartId de la fonction Zonos.init pour charger les informations de profil client fournies dans Checkout.

Zonos.init

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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 ||
          '',
      };
    }
  },
}
3

Gérer les profils clients

La première fois que vous soumettez des informations sur un client, Zonos stockera les informations fournies. Les méthodes de paiement seront stockées en toute sécurité dans Stripe. Chaque fois que de nouvelles informations d'adresse ou de méthode de paiement sont transmises, elles seront ajoutées au profil du client.

Actuellement, les profils clients ne peuvent être mis à jour qu'avec des informations supplémentaires—les détails existants ne peuvent pas être modifiés ou supprimés.

Cette page était-elle utile?