# Configura l'app Mirkal Definisci le variabili dell'integrazione. Prima di installare l’app Mirakl, prepara un file con le variabili descritte in questa guida. Per iniziare, puoi copiare il nostro [file di configurazione di esempio](https://github.com/stripe/stripe-mirakl-connector/blob/master/.env.dist) e rinominarlo in`.env`. ## Impostazioni generali Configura le impostazioni generali dell’app: | Parametro | Descrizione | | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `APP_SECRET` | Da generare. Generalmente utilizzato per aggiungere altra entropia alle procedure operative relative alla sicurezza. Ulteriori informazioni sono reperibili nella [documentazione di Symfony](https://symfony.com/doc/current/reference/configuration/framework.html#secret). | | `OPERATOR_PASSWORD` | Da generare. Utilizzato per proteggere le richieste all’API esposta dal plugin. Imposta l’intestazione `X-AUTH-TOKEN` su questo valore quando chiami l’API. | | `DATABASE_URL` | L’URL di connessione al database. Ulteriori informazioni sono reperibili nella [documentazione di Doctrine](https://www.doctrine-project.org/projects/doctrine-dbal/en/2.9/reference/configuration.html#connecting-using-a-url). Esempio: `pgsql://symfony:symfony@db:5432/symfony?charset=UTF-8`. | | `MESSENGER_TRANSPORT_DSN` | Il metodo di trasporto utilizzato per il sistema di accodamento. Consulta la [documentazione di Symfony Messenger](https://symfony.com/doc/current/messenger.html#transports-async-queued-messages) per sapere quali sono i metodi di trasporto supportati. Esempio: `amqp://guest:guest@localhost:5672/%2f/messages`. Valore predefinito: `doctrine://default`. | | `STRIPE_CLIENT_SECRET` | Chiave privata API Stripe disponibile nelle [impostazioni delle chiavi API](https://dashboard.stripe.com/apikeys). Ti consigliamo di creare una chiave API specifica per il plugin. Le chiavi con limitazioni non sono supportate. | | `MIRAKL_HOST_NAME` | Nome host per l’istanza Mirakl. Esempio: `https://mymarketplace.mirakl.net`. | | `MIRAKL_API_KEY` | Chiave dell’operatore Mirakl. Può essere generata come operatore Mirakl nelle impostazioni API. Consigliamo di creare un operatore specifico per il plugin. | ## Attivazione Configura le impostazioni di attivazione dell’app: | Parametro | Descrizione | | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `REDIRECT_ONBOARDING` | Il plugin reindirizza il venditore a questo URL al completamento della creazione dell’account su Stripe. Valore predefinito: `$MIRAKL_HOST_NAME/mmp/shop/account/shop`. | | `BASE_HOST` | Dominio del server che ospita il plugin. Ad esempio, `stripe-mirakl.example.com`. | | `SCHEME` | Schema utilizzato dal tuo host base. Per impostazione predefinita è `https`. | | `STRIPE_SELLERS_WEBHOOK_SECRET` | Il segreto del webhook Stripe è disponibile nelle impostazioni [webhook di Connect](https://dashboard.stripe.com/workbench/webhooks) quando aggiungi l’endpoint. Per ulteriori informazioni, consulta [Aggiungi un endpoint webhook Stripe per gli account connessi](https://docs.stripe.com/use-stripe-apps/mirakl/configuration.md#add-a-stripe-webhook-endpoint-for-connected-accounts). | | `MIRAKL_CUSTOM_FIELD_CODE` | Codice del campo personalizzato che devi aggiungere. Vedi di seguito. Valore predefinito: `stripe-url`. | ### Aggiungere un endpoint del webhook di Stripe per gli account connessi 1. Vai alle tue [impostazioni webhook](https://dashboard.stripe.com/workbench/webhooks). 1. Aggiungi un endpoint *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) facendo clic sul pulsante **Aggiungi destinazione**. 1. Seleziona **Account connessi** dalle opzioni **Eventi da** e seleziona `account.updated` dall’elenco degli eventi disponibili. Inserisci la versione Stripe API desiderata. Fai clic su **Continua**. 1. Seleziona **endpoint webhook** dall’elenco dei tipi di destinazione disponibili. Fai clic su **Continua**. 1. Imposta l’URL dell’endpoint su `/api/public/webhook/sellers` e compila i campi rimanenti come desideri. 1. Fai clic su **Crea destinazione**. 1. Usa la chiave privata del webhook per la variabile dell’ambiente `STRIPE_SELLERS_WEBHOOK_SECRET`. ### Aggiungere un campo personalizzato ai negozi Mirakl 1. Accedi agli strumenti di back office di Mirakl come operatore. 1. Visita **Settings** > **Advanced Parameters** > **Shops** (Impostazioni > Parametri avanzati > Negozi). 1. Vai a **Campi personalizzati**. 1. Crea un nuovo campo utilizzando i seguenti valori: | Parametro | Descrizione | | --------------------- | ---------------------------------------------------------------------- | | Codice | Usa `stripe-url` se non scegli un’altra chiave nel file dell’ambiente. | | Tipo | `Link` | | Autorizzazioni negozi | `Read only` | | Campo obbligatorio | `No` | ## Pagamenti Configura le impostazioni di pagamento dell’app: | Parametro | Descrizione | | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `PAYMENT_METADATA_COMMERCIAL_ORDER_ID` | Chiave dei metadati utilizzata in Charges per trasferire l’ID dell’ordine commerciale Mirakl e il cui valore predefinito è `mirakl_commercial_order_id`. | | `ENABLE_PRODUCT_PAYMENT_SPLIT` | Abilita il [flusso di lavoro per suddividere il pagamento](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-split) per gli ordini di prodotti. Valore predefinito: `false`. | | `NABLE_SERVICE_PAYMENT_SPLIT` | Abilita il [flusso di lavoro per suddividere il pagamento](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-split) per gli ordini di servizi. Valore predefinito: `false`. | | `ENABLE_PRODUCT_PAYMENT_REFUND` | Abilita il [flusso di lavoro per rimborsare il pagamento](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-refund) per gli ordini di prodotti. Valore predefinito: `false`. | | `ENABLE_SERVICE_PAYMENT_REFUND` | Abilita il [flusso di lavoro per rimborsare il pagamento](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-refund) per gli ordini di servizi. Valore predefinito: `false`. | | `STRIPE_OPERATOR_WEBHOOK_SECRET` | Il segreto del webhook Stripe è disponibile nella [pagina dei dettagli della destinazione dell’evento dell’account](https://dashboard.stripe.com/workbench/webhooks) quando si aggiunge l’endpoint. Per ulteriori informazioni, consulta [Aggiungi un endpoint webhook Stripe per il tuo account](https://docs.stripe.com/use-stripe-apps/mirakl/configuration.md#add-a-stripe-webhook-endpoint-for-your-account). | ### Aggiungere un endpoint del webhook di Stripe per il tuo account 1. Vai alle tue [impostazioni webhook](https://dashboard.stripe.com/workbench/webhooks). 1. Aggiungi un endpoint *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) facendo clic sul pulsante **Aggiungi destinazione**. 1. Seleziona **Il tuo account** dalle opzioni **Eventi da** e seleziona `charge.succeeded` e `charge.updated` dall’elenco degli eventi disponibili. Inserisci la versione Stripe API desiderata. Fai clic su **Continua**. 1. Seleziona **endpoint webhook** dall’elenco dei tipi di destinazione disponibili. Fai clic su **Continua**. 1. Imposta l’URL dell’endpoint su `/api/public/webhook/operator` e compila i campi rimanenti come desideri. 1. Fai clic su **Crea destinazione**. 1. Usa la chiave privata del webhook per la variabile dell’ambiente `STRIPE_OPERATOR_WEBHOOK_SECRET`. ## Notifiche e avvisi Configura le notifiche e le impostazioni di avviso dell’app: | Parametro | Descrizione | | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `MAILER_DSN` | L’intera configurazione di Symfony Mailer utilizzando un formato URL simile a DSN. Ulteriori informazioni sono reperibili nella [documentazione di Symfony](https://symfony.com/doc/current/components/mailer.html#mailer-dsn). Esempio: `smtp://user:pass@host:port`. Valore predefinito: `smtp://null` (mailer disabilitato). | | `TECHNICAL_ALERT_EMAIL` | Destinatario di tutti gli avvisi tecnici. Esempio: `myemail@example.com`. Valore predefinito: vuoto. Richiesto se mailer è abilitato per `MAILER_DSN`. | | `TECHNICAL_ALERT_EMAIL_FROM` | Mittente di tutte le email tecniche. Valore predefinito: vuoto. Richiesto se mailer è stato configurato. Esempio: `noreply@esempio.com`. | | `OPERATOR_NOTIFICATION_URL` | Endpoint sul server impostato per ricevere le notifiche dal plugin. Valore predefinito: vuoto (notifiche disabilitate). | | `MAIL_ON_NOTIFICATION_ENDPOINT_DOWN` | Abilita gli avvisi via email se un URL è stato specificato in `OPERATOR_NOTIFICATION_URL` e questo URL non è disponibile o risponde con un errore. Valore predefinito: `true`. | | `MAIL_ON_NOTIFICATION_ENDPOINT_DOWN_COOLDOWN` | Periodo di tempo tra ciascun avviso via email. Usa `0` per disabilitare la limitazione delle richieste. Il valore massimo dipende dalla vita massima del lavoro di notifica, ad esempio `3600` per impostazione predefinita. Valore predefinito: `10`. |