> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Application KYC Shopify - Vérification d'identité et âge

> Application Shopify Didit pour la vérification d'identité et de l'âge au checkout. Sans code, dès $0.33 par KYC complet, $10 offerts/mois.

Ajoutez la vérification d'identité Didit et le contrôle de l'âge à votre boutique Shopify en quelques minutes.
L'application **Didit Verify** pour Shopify installe un bloc de thème que vous pouvez placer sur n'importe quelle page (compte, paiement, pages de destination personnalisées) et crée des sessions de vérification côté serveur : votre clé API reste dans l'application intégrée et n'est jamais exposée à la vitrine.
Les résultats de vérification apparaissent directement dans l'onglet **Vérifications** de l'administration Shopify, sans backend séparé, et sont également accessibles via les [webhooks](https://docs.didit.me/fr/integration/webhooks.md) et l'[API Didit](https://docs.didit.me/fr/sessions-api/retrieve-session.md) pour les marchands qui gèrent leur propre backend.
Vous n'avez pas besoin de vous connecter à la Didit Business Console pour accéder aux données de vérification collectées via Shopify.

## Prérequis

* Une boutique Shopify (quel que soit le forfait)
* Un compte [Didit Console](https://business.didit.me) disposant d'au moins un workflow

***

### Étape 1 : installer l'application

1. Ouvrez le lien d'installation :

   [[https://admin.shopify.com/oauth/install?client\_id=cafa0d15227fb59bd47470b23eae7469](https://admin.shopify.com/oauth/install?client_id=cafa0d15227fb59bd47470b23eae7469)](https://admin.shopify.com/oauth/install?client_id=cafa0d15227fb59bd47470b23eae7469)

2. Sélectionnez votre boutique (si vous en avez plusieurs)

3. Cliquez sur **Installer** pour ajouter l'application à votre boutique

> [!NOTE]
>
> L'application demande une seule autorisation, `read_customers`, utilisée pour préremplir et recouper les informations uniquement lorsque **Autoriser le préremplissage approuvé par le client** est activé et que le client connecté coche la case de partage facultative.

***

### Étape 2 : configurer vos identifiants Didit

Une fois l'installation terminée, Didit Verify s'ouvre dans l'administration Shopify.
Utilisez **Paramètres** pour connecter l'application à votre compte Didit.

#### Obtenir votre clé API

1. Connectez-vous à la [Didit Business Console](https://business.didit.me)
2. Accédez à **API et Webhooks** dans la barre latérale gauche
3. Copiez votre clé API

![Comment obtenir la clé API depuis la Didit Business Console](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-how-to-get-api-key.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=9027ca685cc296a400e78d320a566453)

4. Collez la clé API dans le champ **Clé API Didit** des préférences Shopify

#### Obtenir votre ID de workflow

1. Dans la Didit Business Console, accédez à **Workflows**
2. Sélectionnez le workflow à utiliser (ou créez-en un nouveau)
3. Copiez l'**ID de workflow** (un UUID au format `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)

![Comment obtenir l'ID de workflow depuis la Didit Business Console](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-how-to-get-workflow-id.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=529dc681169efc0a6cdc96d6c0e0a605)

4. Collez l'ID de workflow dans le champ **Didit Workflow ID**

#### Enregistrer vos paramètres

Choisissez une durée de conservation sous **Conservation des données** avant d'enregistrer.
Cette durée s'applique aux vérifications existantes et futures de la boutique : choisissez donc la durée dont votre boutique a besoin.
Cliquez sur **Enregistrer les paramètres**.
Vous devriez voir un message de confirmation :

![Paramètres Shopify enregistrés avec succès](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-settings-saved-successfuly.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=93dcf3469f902876ae831075da75a628)

***

### Étape 3 : ajouter le bouton de vérification à votre thème

1. Dans votre administration Shopify, accédez à **Boutique en ligne** → **Thèmes**
2. Cliquez sur **Personnaliser** pour votre thème actif
3. Accédez à la page où vous souhaitez afficher le bouton de vérification (par exemple, la page Compte ou une page personnalisée)
4. Cliquez sur **Ajouter une section** ou **Ajouter un bloc**
5. Ouvrez l'onglet **Applications**
6. Sélectionnez **Didit Verify**

Le bouton de vérification apparaît dans votre thème. Vous pouvez le faire glisser pour le repositionner dans la section.

***

## Accès aux données de vérification

L'examen des applications Shopify (exigence 5.1.5) impose que les données collectées via un flux hébergé par Shopify soient accessibles au marchand **dans le contexte de l'administration Shopify ou de l'application**, et pas uniquement sur un tableau de bord externe.
L'application Didit Verify répond à cette exigence par défaut : aucun backend, récepteur de webhook ni interface personnalisée n'est nécessaire.

### L'onglet Vérifications (par défaut, sans code)

Dans votre administration Shopify, ouvrez **Applications** → **Didit Verify** → **Vérifications** pour voir chaque session de vérification collectée via votre vitrine : le statut, le client, le pays et l'horodatage, limités à votre boutique.
Sélectionnez une session pour afficher sa vue d'ensemble de la décision, les champs d'identité, les contrôles de vérification individuels, les avertissements et les preuves disponibles.
Vous pouvez passer de **Paramètres**, **Vérifications**, **Confidentialité** et **Examen humain** sans quitter l'administration Shopify.
L'enregistrement des paramètres maintient l'accès à ces onglets.

> [!NOTE]
>
> L'onglet Vérifications ne charge les données que si vous ouvrez l'application depuis votre administration Shopify. Si un message vous demande de rouvrir la page, revenez à **Applications** → **Didit Verify** depuis la barre latérale de l'administration Shopify.

Le Didit Business Console (`business.didit.me`) est une interface d'administration distincte, dédiée à la configuration (clés API, workflows, destinations de webhook).
N'indiquez pas aux marchands de l'utiliser pour consulter les données de vérification collectées via Shopify : cela ne satisfait pas l'exigence d'accès aux données de Shopify.
Le Didit Business Console n'est nécessaire que pour la configuration initiale et la récupération des identifiants.

### Pour les marchands qui disposent de leur propre backend (facultatif)

Si vous disposez de votre propre backend et souhaitez une copie des données de vérification à cet endroit, par exemple pour déclencher la logique d'exécution des commandes, Didit transmet aussi les résultats par webhook et via une API à la demande, en plus de l'onglet Vérifications ci-dessus.

**1. Session de vérification créée**

L'application Shopify crée une session côté serveur à l'aide de votre clé API Didit. Le client suit le parcours de vérification dans le bloc du thème (modale ou intégré).

**2. Résultat transmis via webhook**

Lorsque la session atteint un statut final, Didit envoie un webhook `status.updated` signé à la destination que vous avez configurée dans le Didit Business Console, sous **API et Webhooks**.
Le corps du webhook inclut l'[objet de décision](https://docs.didit.me/fr/integration/webhooks.md#structure-du-payload) complet, soit le même schéma que celui renvoyé par `GET /v3/session/{id}/decision/`, pour les statuts `Approved`, `Declined`, `In Review` et `Abandoned`.
Les autres statuts finaux (par exemple `Expired` ou `Kyc Expired`) transmettent le changement de statut sans payload de décision : appelez l'API pour consulter l'état de la session.

**3. Récupération à la demande (facultatif)**

Votre backend peut aussi appeler [`GET /v3/session/{sessionId}/decision/`](https://docs.didit.me/fr/sessions-api/retrieve-session) à tout moment pour récupérer le payload complet de la décision (champs d'identité, détection du vivant, AML, correspondance faciale, etc.).

#### Configurer les webhooks pour Shopify

1. Dans le [Didit Business Console](https://business.didit.me), accédez à **API et Webhooks** → **Webhooks**
2. Créez une destination de webhook pointant vers l'endpoint de votre backend (HTTPS, accessible publiquement)
3. Abonnez-vous à au moins les événements `status.updated` et `data.updated`
4. Conservez le `secret_shared_key` renvoyé afin de vérifier les signatures HMAC-SHA256 des webhooks entrants

Consultez le [guide des webhooks](https://docs.didit.me/fr/integration/webhooks.md) pour le contrat complet, des exemples de vérification de signature en Node.js, Python et PHP, ainsi que le comportement en cas de nouvelle tentative.

#### Récupérer la décision d'une session via l'API

```bash theme={null}
curl https://verification.didit.me/v3/session/<SESSION_ID>/decision/ \
  -H "x-api-key: <YOUR_API_KEY>"
```

La réponse inclut `session_kind`, `status` et tous les tableaux de fonctionnalités (`id_verifications`, `liveness_checks`, `face_matches`, `aml_screenings`, etc.). Consultez [Récupérer la session](https://docs.didit.me/fr/sessions-api/retrieve-session.md) pour le schéma complet de la réponse et la référence des champs.

***

## Options de configuration

### Paramètres de la page des préférences

Ces paramètres se configurent dans les préférences de l'application (accessibles via **Applications** → **Didit Verify** dans votre administration Shopify) :

| Paramètre | Description |
| - | - |
| **Clé API** | Votre clé API Didit (obligatoire) |
| **ID du workflow** | Le workflow de vérification à utiliser (obligatoire) |
| **Données du vendeur** | Mode de liaison des sessions aux utilisateurs dans votre Didit Console : **ID client** (envoyé sous la forme `shopify-<customer-id>`), **e-mail du client**, **Boutique + ID client** (envoyé sous la forme `<shop-domain>-<customer-id>`), ou **Aucun**. Appliqué uniquement lorsque le client est connecté. |
| **URL de rappel** | URL facultative vers laquelle les utilisateurs sont redirigés après la vérification. Didit ajoute `verificationSessionId` et `status` comme paramètres de requête. |
| **Méthode de rappel** | Appareil qui gère la redirection : **Par défaut (initiateur)**, **Initiateur**, **Finalisateur** ou **Les deux** |
| **Langue** | Langue de l'interface de vérification (détection automatique ou langue spécifique) |
| **Exiger la connexion du client** | Si activé, seuls les clients connectés peuvent effectuer la vérification |
| **Autoriser le préremplissage approuvé par le client** | Propose une case à cocher facultative pour partager le nom, l'e-mail, le téléphone et l'adresse du client connecté, pour le préremplissage et les contrôles d'identité. Les informations ne sont envoyées que si le client la coche. |
| **Supprimer automatiquement après (jours)** | Choisissez la durée de conservation des dossiers de vérification par la boutique. La période sélectionnée s'applique aux dossiers existants et futurs de cette boutique. La suppression est irréversible. |

### Choix de confidentialité du client

Le bloc de la vitrine propose une case à cocher facultative pour partager les informations du compte en vue du préremplissage et des contrôles d'identité.
Si elle n'est pas cochée, le client peut saisir lui-même ses informations.

Sous **Choix de vérification**, un client connecté peut demander un examen humain ou retirer son consentement et demander la suppression de ses données de vérification.
L'examen humain suspend la vérification automatisée et ajoute une demande dans **Applications → Didit Verify → Examen humain**.
Contactez le client et proposez une solution alternative appropriée avant de finaliser cette demande.
Finaliser une demande d'examen humain n'approuve ni une vérification, ni un achat.

Le retrait arrête immédiatement le lien de vérification existant et empêche toute nouvelle vérification pendant le traitement de la suppression.
La vitrine confirme la réception de la demande ; elle n'indique pas que la suppression est déjà terminée.

## Traiter les demandes de confidentialité

Ouvrez **Applications → Didit Verify → Confidentialité** pour suivre les exports et les demandes de suppression de données clients reçus depuis Shopify ou la vitrine.

* **Export client :** Téléchargez le ZIP préparé, transmettez-le via votre processus sécurisé de support client, puis sélectionnez **J’ai livré cet export**.
* **Suppression client :** La demande reste en cours tant que les enregistrements de vérification, les fichiers téléversés et les demandes d’examen manuel associés à la boutique du client n'ont pas été supprimés.
* **À traiter :** Suivez les instructions de la demande pour résoudre le problème d’un identifiant client manquant, ou contactez le support Didit lorsqu'un profil contient des données provenant d'une autre boutique ou d'une autre finalité.

Les exports contiennent les enregistrements de vérification, les fichiers téléversés et les demandes d’examen manuel associés à la boutique et au client demandeur.
Les téléchargements temporaires expirent au bout de sept jours ; utilisez **Réessayer après résolution** pour préparer un nouveau téléchargement si nécessaire.
Un export téléchargé doit être traité conformément à vos propres procédures de support client et de protection des données.

Définissez la durée de conservation dans **Paramètres → Conservation des données**.
Les données de vérification plus anciennes sont supprimées automatiquement ; les vérifications plus récentes restent disponibles.
La conservation définie au niveau de l'application continue de s'appliquer lorsqu'aucune durée propre à la boutique n'a été sélectionnée.
Consultez **Confidentialité** pour toute demande de conservation qui nécessite une action.

Une fois qu'une demande de suppression affiche **Supprimé**, la suppression est irréversible et le média supprimé n'est plus disponible.
Les crédits consommés et les entrées de liste de blocage gérées séparément ne sont pas affectés.

## Paramètres du bloc de thème

Ces paramètres se configurent dans l'éditeur de thème Shopify lorsque vous sélectionnez le bloc Didit Verify :

#### Connexion

| Paramètre | Description |
| - | - |
| **Mode** | **Workflow de l'application** (recommandé) utilise le workflow enregistré dans les paramètres de l'application. **Workflow UniLink** utilise un lien de workflow public du compte Didit connecté. Les deux modes créent des sessions associées à la boutique, dont les résultats sont disponibles dans l'application. |
| **UniLink URL** | Utilisé uniquement en mode UniLink. Utilisez un lien actif du compte Didit connecté dans les paramètres de l'application. Les clients doivent se connecter au compte de leur boutique. |

#### Affichage

| Paramètre | Description |
| - | - |
| **Mode d’affichage** | **Modal** - ouvre la vérification dans une fenêtre contextuelle. **Embedded** - affiche la vérification directement sous le bouton. |
| **Afficher le bouton de fermeture** | Affiche ou masque le bouton X permettant de fermer la fenêtre modale de vérification |
| **Boîte de dialogue de confirmation de sortie** | Demande aux utilisateurs de confirmer avant de fermer la vérification |
| **Fermeture automatique à la fin** | Ferme automatiquement la fenêtre modale lorsque la vérification se termine |
| **Journalisation du débogage** | Active les journaux de la console du navigateur pour le dépannage |

#### Apparence du bouton

| Paramètre | Description |
| - | - |
| **Texte du bouton** | Texte affiché sur le bouton (par défaut : "Verify your Identity") |
| **Texte de réussite** | Texte affiché après une vérification réussie (par défaut : "Identity Verified ✓") |
| **Couleur de fond** | Couleur de fond du bouton |
| **Couleur du texte** | Couleur du texte du bouton |
| **Rayon de la bordure** | Arrondi des coins du bouton (0–50px) |
| **Remplissage vertical** | Espacement intérieur supérieur/inférieur (0–40px) |
| **Remplissage horizontal** | Espacement intérieur gauche/droite (0–60px) |
| **Taille de police** | Taille du texte du bouton (10–32px) |

***

## Configuration recommandée

Pour la plupart des boutiques, nous recommandons :

* **Mode :** Workflow de l'application (utilise le workflow enregistré dans les paramètres de l'application)
* **Mode d’affichage :** Fenêtre modale (fonctionne partout, sans problème de mise en page)
* **Exiger la connexion du client :** Activé (lie la vérification aux comptes clients)
* **Autoriser le préremplissage approuvé par le client :** Activé (les clients choisissent de partager ou non les informations de leur boutique)

***

## Tests

1. Prévisualisez votre thème ou visitez votre boutique
2. Accédez à la page comportant le bouton Didit Verify
3. Cliquez sur **Verify your Identity**
4. Effectuez le parcours de vérification
5. Vérifiez la réception du webhook côté serveur, ou appelez [GET /v3/session/{id}/decision/](https://docs.didit.me/fr/sessions-api/retrieve-session.md) pour récupérer le résultat de la vérification

> [!NOTE]
>
> Le sandbox est gratuit (chaque application en sandbox peut créer 500 sessions de test toutes les 24 heures), vous pouvez donc tester l'intégralité du parcours sans frais. En mode production, le forfait gratuit inclut \$10 de crédit par mois.

***

## Dépannage

### Le bouton ne fait rien lorsqu'on clique dessus

* Vérifiez que vous avez enregistré votre clé API et votre ID de workflow dans les préférences
* Vérifiez que l'ID de workflow appartient à la même application que votre clé API
* Activez **Journalisation du débogage** dans les paramètres du bloc et consultez la console du navigateur pour repérer les erreurs

### Erreur « Didit credentials not configured »

* L'application n'a pas de clé API ni d'ID de workflow enregistrés pour cette boutique. Ouvrez **Applications** → **Didit Verify**, remplissez les deux champs et cliquez sur **Enregistrer les paramètres**

### Erreur « Vous devez être connecté pour vérifier votre identité »

* **Exiger la connexion du client** est activé (valeur par défaut). Le client doit d'abord se connecter au compte de sa boutique, ou désactivez ce paramètre dans les préférences de l'application si vous avez besoin d'une vérification pour les visiteurs non connectés

### Les paramètres ne s'enregistrent pas

* « API key validation failed » : copiez de nouveau la clé API depuis la [Didit Business Console](https://business.didit.me) et assurez-vous qu'elle ne contient pas d'espaces superflus
* « This workflow does not belong to your application » : l'ID de workflow appartient à une application Didit différente de votre clé API ; copiez les deux depuis la même application

## Support (24h/24, 7j/7)

Notre équipe est disponible pour vous aider à démarrer.

> [card] [E-mail](mailto:hello@didit.me)
>
> Envoyez-nous un e-mail à [hello@didit.me](mailto:hello@didit.me).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.