> ## 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.

# App KYC per Shopify - Verifica dell'identità e dell'età

> App Shopify di Didit per verifica identità ed età al checkout. Senza codice, da $0.33 per KYC completo, $10 gratis al mese, senza contratti.

Aggiungi la verifica dell'identità Didit e il controllo dell'età al tuo store Shopify in pochi minuti.
L'app **Didit Verify** per Shopify installa un blocco del tema che puoi inserire in qualsiasi pagina (account, checkout, landing page personalizzate) e crea le sessioni di verifica lato server: la tua chiave API resta all'interno dell'app integrata e non viene mai esposta alla vetrina.
I risultati delle verifiche compaiono direttamente nella scheda **Verifiche** dell'app, nel pannello di amministrazione di Shopify, senza bisogno di un backend separato. Sono inoltre disponibili tramite [webhook](https://docs.didit.me/it/integration/webhooks.md) e la [API di Didit](https://docs.didit.me/it/sessions-api/retrieve-session.md) per gli esercenti che gestiscono un proprio backend.
Non è necessario accedere alla Didit Business Console per consultare i dati di verifica raccolti tramite Shopify.

## Prerequisiti

* Uno store Shopify (qualsiasi piano)
* Un account della [Didit Console](https://business.didit.me) con almeno un workflow

***

### Passaggio 1: installa l'app

1. Apri il link di installazione:

   [[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. Seleziona il tuo store (se ne hai più di uno)

3. Fai clic su **Install** per aggiungere l'app al tuo store

> [!NOTE]
>
> L'app richiede un solo ambito di autorizzazione, `read_customers`, utilizzato per precompilare e incrociare i dati solo se **Allow customer-approved prefill** è attivo e il cliente che ha effettuato l'accesso seleziona la casella facoltativa di condivisione.

***

### Passaggio 2: configura le credenziali Didit

Dopo l'installazione, Didit Verify si apre nel pannello di amministrazione di Shopify.
Usa **Impostazioni** per collegare l'app al tuo account Didit.

#### Ottieni la tua chiave API

1. Accedi alla [Didit Business Console](https://business.didit.me)
2. Vai su **API e Webhook** nella barra laterale sinistra
3. Copia la tua chiave API

![Come ottenere la chiave API dalla 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. Incolla la chiave API nel campo **Didit API Key** nelle preferenze di Shopify

#### Ottieni il tuo ID del workflow

1. Nella Didit Business Console, vai su **Workflow**
2. Seleziona il workflow che vuoi usare (oppure creane uno nuovo)
3. Copia l'**ID Workflow** (un UUID come `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)

![Come ottenere l'ID Workflow dalla 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. Incolla l'ID Workflow nel campo **Didit Workflow ID**

#### Salva le impostazioni

Scegli un periodo di conservazione in **Conservazione dei dati** prima di salvare.
Il periodo si applica alle verifiche dello store già esistenti e a quelle future, quindi scegli la durata di cui il tuo store ha bisogno.
Fai clic su **Salva le impostazioni**.
Dovresti vedere un messaggio di operazione riuscita:

![Impostazioni di Shopify salvate correttamente](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-settings-saved-successfuly.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=93dcf3469f902876ae831075da75a628)

***

### Passaggio 3: aggiungi il pulsante di verifica al tema

1. Nel pannello di amministrazione di Shopify, vai su **Online Store** → **Themes**
2. Fai clic su **Personalizza** nel tema attivo
3. Vai alla pagina in cui vuoi il pulsante di verifica (ad esempio la pagina Account o una pagina personalizzata)
4. Fai clic su **Aggiungi sezione** oppure **Aggiungi blocco**
5. Vai alla scheda **App**
6. Seleziona **Didit Verify**

Il pulsante di verifica comparirà nel tuo tema. Puoi trascinarlo per riposizionarlo all'interno della sezione.

***

## Accesso ai dati di verifica

La revisione delle app di Shopify (requisito 5.1.5) richiede che i dati raccolti tramite un flusso ospitato da Shopify siano accessibili al commerciante **all'interno del contesto di amministrazione Shopify o dell'app** - non solo su una dashboard esterna.
L'app Didit Verify soddisfa questo requisito fin da subito: non sono necessari backend, ricevitore di webhook o interfaccia personalizzata.

### La scheda Verifiche (predefinita, senza codice)

Apri **App** → **Didit Verify** → **Verifiche** nell'amministrazione Shopify per vedere ogni sessione di verifica raccolta tramite il tuo storefront - stato, cliente, paese e data e ora - limitata al tuo negozio.
Seleziona una sessione per visualizzarne la panoramica della decisione, i campi d'identità, i singoli controlli di verifica, gli avvisi e le prove disponibili.
Puoi passare da **Impostazioni**, **Verifiche**, **Privacy** e **Revisione umana** senza uscire dall'amministrazione Shopify.
Il salvataggio delle impostazioni mantiene disponibili queste schede.

> [!NOTE]
>
> La scheda Verifiche carica i dati solo quando apri l'app dall'amministrazione Shopify. Se vedi un messaggio che ti chiede di riaprire la pagina, torna a **App** → **Didit Verify** dalla barra laterale dell'amministrazione Shopify.

La Didit Business Console (`business.didit.me`) è un'interfaccia di amministrazione separata per la configurazione (chiavi API, workflow, destinazioni webhook).
Non indicare ai commercianti di usarla per visualizzare i dati di verifica raccolti tramite Shopify: non soddisfa il requisito di accesso ai dati di Shopify.
La Console serve solo per la configurazione iniziale e il recupero delle credenziali.

### Per i commercianti con un proprio backend (facoltativo)

Se disponi di un backend proprio e vuoi una copia dei dati di verifica al suo interno - ad esempio per attivare la logica di evasione dell'ordine - Didit invia anche i risultati tramite webhook e API su richiesta, oltre alla scheda Verifiche sopra.

**1. Sessione di verifica creata**

L'app Shopify crea una sessione lato server usando la tua chiave API Didit. Il cliente completa il flusso di verifica nel blocco del tema (modale o incorporato).

**2. Risultato inviato tramite webhook**

Quando la sessione raggiunge uno stato finale, Didit invia un webhook `status.updated` firmato alla destinazione configurata nella Didit Business Console in **API e Webhook**.
Il corpo del webhook include l'[oggetto decisione](https://docs.didit.me/it/integration/webhooks.md#struttura-del-payload) completo - lo stesso schema restituito da `GET /v3/session/{id}/decision/` - per gli stati `Approved`, `Declined`, `In Review` e `Abandoned`.
Altri stati finali (ad esempio `Expired`, `Kyc Expired`) inviano la variazione di stato senza un payload della decisione; chiama l'API per esaminare lo stato della sessione.

**3. Recupero su richiesta (facoltativo)**

Il tuo backend può anche chiamare [`GET /v3/session/{sessionId}/decision/`](https://docs.didit.me/it/sessions-api/retrieve-session) in qualsiasi momento per ottenere il payload completo della decisione (campi d'identità, rilevamento della vitalità, AML, confronto facciale, ecc.).

#### Configurare i webhook per Shopify

1. Nella [Didit Business Console](https://business.didit.me), vai su **API e Webhook** → **Webhook**
2. Crea una destinazione webhook che punti all'endpoint del tuo backend (HTTPS, raggiungibile pubblicamente)
3. Iscriviti almeno agli eventi `status.updated` e `data.updated`
4. Conserva il `secret_shared_key` restituito per verificare le firme HMAC-SHA256 sui webhook in arrivo

Consulta la [guida ai Webhook](https://docs.didit.me/it/integration/webhooks.md) per il contratto completo, esempi di verifica della firma in Node.js/Python/PHP e il comportamento dei nuovi tentativi.

#### Recuperare la decisione di una sessione tramite API

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

La risposta include `session_kind`, `status` e tutti gli array delle funzionalità (`id_verifications`, `liveness_checks`, `face_matches`, `aml_screenings`, ecc.). Consulta [Retrieve Session](https://docs.didit.me/it/sessions-api/retrieve-session.md) per lo schema completo della risposta e il riferimento ai campi.

***

## Opzioni di configurazione

### Impostazioni della pagina Preferenze

Queste impostazioni si configurano nelle preferenze dell'app (accessibili da **App** → **Didit Verify** nell'amministrazione Shopify):

| Impostazione | Descrizione |
| - | - |
| **Chiave API** | La tua chiave API Didit (obbligatoria) |
| **ID del workflow** | Il workflow di verifica da usare (obbligatorio) |
| **Dati Fornitore** | Come le sessioni vengono collegate agli utenti nella tua Didit Console: **ID cliente** (inviato come `shopify-<customer-id>`), **Email cliente**, **Shop + ID cliente** (inviato come `<shop-domain>-<customer-id>`) oppure **Nessuno**. Si applica solo quando il cliente ha effettuato l'accesso. |
| **URL di callback** | URL facoltativo a cui gli utenti vengono reindirizzati dopo la verifica. Didit aggiunge `verificationSessionId` e `status` come parametri di query. |
| **Metodo di callback** | Quale dispositivo gestisce il reindirizzamento: **Predefinito (iniziatore)**, **Iniziatore**, **Completatore** oppure **Entrambi** |
| **Lingua** | Lingua dell'interfaccia di verifica (rilevamento automatico o lingua specifica) |
| **Richiedi l'accesso del cliente** | Se abilitato, solo i clienti che hanno effettuato l'accesso possono verificarsi |
| **Consenti il precompilamento approvato dal cliente** | Offre una casella di controllo facoltativa per condividere nome, email, telefono e indirizzo del cliente con accesso effettuato, per il precompilamento e i controlli d'identità. I dati vengono inviati solo quando il cliente la seleziona. |
| **Elimina automaticamente dopo (giorni)** | Scegli per quanto tempo il negozio conserva i record di verifica. Il periodo selezionato si applica ai record esistenti e futuri di questo negozio. L'eliminazione è irreversibile. |

### Scelte di privacy del cliente

Il blocco della vetrina offre una casella di controllo facoltativa per condividere i dati dell'account ai fini del precompilamento e dei controlli d'identità.
Lasciandola deselezionata, il cliente può inserire i dati da solo.

In **Scelte di verifica**, un cliente con accesso effettuato può richiedere una revisione umana oppure revocare il consenso e richiedere l'eliminazione dei propri dati di verifica.
La revisione umana sospende la verifica automatica e aggiunge una richiesta in **App → Didit Verify → Revisione umana**.
Contatta il cliente e concorda un'alternativa appropriata prima di completare tale richiesta.
Completare una richiesta di revisione umana non approva una verifica né un acquisto.

La revoca interrompe immediatamente il link di verifica esistente e impedisce nuove verifiche mentre l'eliminazione è in corso.
La vetrina conferma la ricezione della richiesta; non afferma che l'eliminazione sia già stata completata.

## Soddisfare le richieste di privacy

Apri **App → Didit Verify → Privacy** per monitorare le esportazioni dei clienti e le richieste di cancellazione ricevute da Shopify o dallo storefront.

* **Esportazione del cliente:** scarica lo ZIP preparato, forniscilo tramite il tuo processo sicuro di assistenza clienti, quindi seleziona **I have delivered this export**.
* **Cancellazione del cliente:** la richiesta resta in corso finché i record di verifica associati allo store del cliente, i file caricati e le richieste di revisione manuale non sono stati eliminati.
* **Richiede attenzione:** segui le istruzioni della richiesta per risolvere un ID cliente mancante oppure contatta l'assistenza Didit quando un profilo include dati relativi a un altro store o a un'altra finalità.

Le esportazioni contengono i record di verifica, i file caricati e le richieste di revisione manuale associati allo store e al cliente richiedente.
I download temporanei scadono dopo sette giorni; se necessario, usa **Retry after resolving** per preparare un nuovo download.
Un'esportazione scaricata deve essere gestita secondo le tue procedure di assistenza clienti e di protezione dei dati.

Imposta il periodo di conservazione in **Settings → Data retention**.
I dati di verifica più vecchi vengono eliminati automaticamente; le verifiche più recenti restano disponibili.
La conservazione a livello di applicazione esistente continua ad applicarsi quando non è stato selezionato un periodo specifico per lo store.
Controlla **Privacy** per eventuali richieste di conservazione che richiedono attenzione.

Quando una richiesta di cancellazione mostra **Deleted**, la cancellazione è irreversibile e i contenuti multimediali eliminati non sono più disponibili.
I crediti consumati e le voci della blocklist gestite separatamente non sono interessati.

## Impostazioni del blocco del tema

Queste impostazioni si configurano nell'editor del tema Shopify quando selezioni il blocco Didit Verify:

#### Connessione

| Impostazione | Descrizione |
| - | - |
| **Mode** | **App workflow** (consigliato) usa il workflow salvato nelle impostazioni dell'app. **UniLink workflow** usa un link pubblico al workflow dall'account Didit collegato. Entrambe le modalità creano sessioni associate allo store, con risultati disponibili nell'app. |
| **UniLink URL** | Usato solo in modalità UniLink. Usa un link attivo dall'account Didit collegato nelle impostazioni dell'app. I clienti devono accedere al proprio account dello store. |

#### Visualizzazione

| Impostazione | Descrizione |
| - | - |
| **Display Mode** | **Modal** - apre la verifica in una finestra sovrapposta. **Embedded** - mostra la verifica in linea sotto il pulsante. |
| **Show close button** | Mostra/nasconde il pulsante X per chiudere la finestra di verifica |
| **Exit confirmation dialog** | Chiede agli utenti di confermare prima di chiudere la verifica |
| **Auto-close on completion** | Chiude automaticamente la finestra al completamento della verifica |
| **Debug logging** | Abilita i log della console del browser per la risoluzione dei problemi |

#### Aspetto del pulsante

| Impostazione | Descrizione |
| - | - |
| **Button text** | Testo mostrato sul pulsante (predefinito: "Verify your Identity") |
| **Success text** | Testo mostrato dopo una verifica riuscita (predefinito: "Identity Verified ✓") |
| **Background color** | Colore di sfondo del pulsante |
| **Text color** | Colore del testo del pulsante |
| **Border radius** | Arrotondamento degli angoli del pulsante (0–50px) |
| **Vertical padding** | Spaziatura superiore/inferiore (0–40px) |
| **Horizontal padding** | Spaziatura sinistra/destra (0–60px) |
| **Font size** | Dimensione del testo del pulsante (10–32px) |

***

## Configurazione consigliata

Per la maggior parte degli store consigliamo:

* **Mode:** App workflow (usa il workflow salvato nelle impostazioni dell'app)
* **Display Mode:** Modal (funziona ovunque, nessun problema di layout)
* **Require Customer Login:** attivato (collega la verifica agli account dei clienti)
* **Allow customer-approved prefill:** attivato (i clienti scelgono se condividere i dati del proprio store)

***

## Test

1. Visualizza l'anteprima del tema o visita il tuo store
2. Vai alla pagina con il pulsante Didit Verify
3. Fai clic su **Verify your Identity**
4. Completa il flusso di verifica
5. Controlla nel tuo backend la consegna del webhook, oppure chiama [GET /v3/session/{id}/decision/](https://docs.didit.me/it/sessions-api/retrieve-session.md) per recuperare il risultato della verifica

> [!NOTE]
>
> La sandbox è gratuita (ogni applicazione sandbox può creare 500 sessioni di test ogni 24 ore), quindi puoi testare l'intero flusso senza costi. In modalità live, il piano Free include \$10 di credito al mese.

***

## Risoluzione dei problemi

### Il pulsante non fa nulla quando viene cliccato

* Assicurati di aver salvato la tua chiave API e il Workflow ID nelle preferenze
* Verifica che il Workflow ID appartenga alla stessa applicazione della tua chiave API
* Abilita **Debug logging** nelle impostazioni del blocco e controlla la console del browser per eventuali errori

### Errore "Didit credentials not configured"

* L'app non ha una chiave API o un Workflow ID salvati per questo store. Apri **Apps** → **Didit Verify**, compila entrambi i campi e fai clic su **Save Settings**

### "Devi aver effettuato l'accesso per verificare la tua identità"

* **Require Customer Login** è attivato (impostazione predefinita). Il cliente deve prima accedere al proprio account dello store, oppure disattiva l'impostazione nelle preferenze dell'app se ti serve la verifica per gli ospiti

### Le impostazioni non si salvano

* "API key validation failed" - copia di nuovo la chiave API dalla [Didit Business Console](https://business.didit.me) e assicurati che non ci siano spazi extra
* "This workflow does not belong to your application" - il Workflow ID appartiene a un'applicazione Didit diversa dalla tua chiave API; copia entrambi dalla stessa applicazione

## Supporto (24/7)

Il nostro team è disponibile per aiutarti a iniziare.

> [card] [Email](mailto:hello@didit.me)
>
> Inviaci un'email a [hello@didit.me](mailto:hello@didit.me).


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