# Configurer l'application Mirkal Définissez vos variables d’intégration. Avant d’installer l’application Mirakl, préparez un fichier contenant les variables décrites dans ce guide. Pour démarrer, vous pouvez copier notre [exemple de fichier de configuration ](https://github.com/stripe/stripe-mirakl-connector/blob/master/.env.dist) et le renommer en `.env`. ## Paramètres généraux Configurez les paramètres généraux de l’application : | Paramètre | Description | | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `APP_SECRET` | À générer. Sert généralement à ajouter une plus grande entropie aux opérations liées à la sécurité. Pour en savoir plus, consultez la [documentation sur Symfony](https://symfony.com/doc/current/reference/configuration/framework.html#secret). | | `OPERATOR_PASSWORD` | A générer. Utilisé pour sécuriser les requêtes à l’API exposée par le module d’extension. Attribuez cette valeur à l’en-tête `X-AUTH-TOKEN` lorsque vous appelez l’API. | | `DATABASE_URL` | L’URL de connexion à votre base de données. Pour en savoir plus, consultez la [documentation sur Doctrine](https://www.doctrine-project.org/projects/doctrine-dbal/en/2.9/reference/configuration.html#connecting-using-a-url). Par exemple `pgsql://symfony:symfony@db:5432/symfony?charset=UTF-8`. | | `MESSENGER_TRANSPORT_DSN` | Le moyen d’acheminement utilisé pour le système de mise en file d’attente. Consultez la [documentation de Symfony Messenger](https://symfony.com/doc/current/messenger.html#transports-async-queued-messages) pour connaître les moyens d’acheminement pris en charge. Par exemple, `amqp://guest:guest@localhost:5672/%2f/messages`. Sa valeur par défaut est `doctrine://default`. | | `STRIPE_CLIENT_SECRET` | Votre clé secrète API Stripe disponible dans vos [paramètres de clés API](https://dashboard.stripe.com/apikeys). Nous vous recommandons de créer une clé API spécifique pour le module d’extension. Les clés limitées ne sont pas prises en charge. | | `MIRAKL_HOST_NAME` | Nom d’hôte de votre instance Mirakl. Par exemple, `https://mymarketplace.mirakl.net`. | | `MIRAKL_API_KEY` | La clé d’opérateur Mirakl. Elle peut être générée en tant qu’opérateur Mirakl dans vos paramètres d’API. Nous vous recommandons de créer un opérateur réservé au module d’extension. | ## Inscription des utilisateurs Configurez les paramètres d’inscription des utilisateurs de l’application : | Paramètre | Description | | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `REDIRECT_ONBOARDING` | Le module d’extension redirige le marchand vers cette URL une fois son compte créé sur Stripe. La valeur par défaut est `$MIRAKL_HOST_NAME/mmp/shop/account/shop`. | | `BASE_HOST` | Le domaine du serveur qui héberge votre module d’extension. Par exemple, `stripe-mirakl.example.com`. | | `SCHEME` | Le schéma utilisé par votre hôte de base. Sa valeur par défaut est `https`. | | `STRIPE_SELLERS_WEBHOOK_SECRET` | Votre clé secrète de lien de rappel HTTP Stripe disponible dans vos [paramètres de lien de rappel HTTP Connect](https://dashboard.stripe.com/workbench/webhooks) lors de l’ajout du point de terminaison. Consultez la page [Ajouter un point de terminaison de lien de rappel HTTP Stripe pour les comptes connectés](https://docs.stripe.com/use-stripe-apps/mirakl/configuration.md#add-a-stripe-webhook-endpoint-for-connected-accounts) pour en savoir plus. | | `MIRAKL_CUSTOM_FIELD_CODE` | Code du champ personnalisé que vous devez ajouter; voir ci-dessous. Sa valeur par défaut est `stripe-url`. | ### Ajouter un point de terminaison de webhook Stripe pour les comptes connectés 1. Allez dans vos [paramètres de lien de rappel HTTP](https://dashboard.stripe.com/workbench/webhooks). 1. Ajoutez un point de terminaison *web hook* en cliquant sur le bouton **Ajouter une destination**. 1. Sélectionnez **Comptes connectés** dans les options **Événements de** et sélectionnez `account.updated` dans la liste des événements disponibles. Entrez la version de l’API Stripe souhaitée. Cliquez sur **Continuer**. 1. Sélectionnez **Point de terminaison de l’accroche web** dans la liste des types de destination disponibles. Cliquez sur **Continuer**. 1. Définissez l’URL du point de terminaison sur `/api/public/webhook/sellers` et remplissez les autres champs comme vous le souhaitez. 1. Cliquez sur **Créer une destination**. 1. Utilisez la clé secrète de webhook pour la variable d’environnement `STRIPE_SELLERS_WEBHOOK_SECRET`. ### Ajouter un champ personnalisé à vos boutiques Mirakl 1. Connectez-vous à votre application administrative Mirakl en tant qu’opérateur. 1. Accédez à **Paramètres** > **Paramètres avancés** > **Boutiques**. 1. Allez dans **Champs personnalisés**. 1. Créez un nouveau champ en utilisant les valeurs qui suivent : | Paramètre | Description | | --------------------------- | ----------------------------------------------------------------------------------------------------- | | Code | Utilisez `stripe-url`, sauf si vous choisissez une clé différente dans votre fichier d’environnement. | | Type | `Link` | | Autorisations des boutiques | `Lecture seule` | | Champ obligatoire | `No` | ## Paiements Configurez les paramètres de paiement de l’application : | Paramètre | Description | | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `PAYMENT_METADATA_COMMERCIAL_ORDER_ID` | Clé de métadonnées utilisée dans Charges pour transférer l’identifiant de commande commerciale Mirakl, et dont la valeur par défaut est `mirakl_commercial_order_id`. | | `ENABLE_PRODUCT_PAYMENT_SPLIT` | Activez le [flux de fractionnement des paiements](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-split) pour les commandes de produits. Sa valeur par défaut est `false`. | | `NABLE_SERVICE_PAYMENT_SPLIT` | Activez le [flux de fractionnement des paiements](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-split) pour les commandes de services. Sa valeur par défaut est `false`. | | `ENABLE_PRODUCT_PAYMENT_REFUND` | Activez le [flux de remboursement des paiements](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-refund) pour les commandes de produits. Sa valeur par défaut est `false`. | | `ENABLE_SERVICE_PAYMENT_REFUND` | Activez le [flux de remboursement des paiements](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-refund) pour les commandes de services. Sa valeur par défaut est `false`. | | `STRIPE_OPERATOR_WEBHOOK_SECRET` | La clé secrète de votre accroche web Stripe est disponible sur votre [Page de détails de la destination de l’événement du compte](https://dashboard.stripe.com/workbench/webhooks) lorsque vous ajoutez le point de terminaison. Consultez la page [jouter un point de terminaison de lien de rappel HTTP Stripe pour votre compte](https://docs.stripe.com/use-stripe-apps/mirakl/configuration.md#add-a-stripe-webhook-endpoint-for-your-account) pour en savoir plus. | ### Ajouter un point de terminaison de webhook Stripe pour votre compte 1. Allez dans vos [paramètres de lien de rappel HTTP](https://dashboard.stripe.com/workbench/webhooks). 1. Ajoutez un point de terminaison *web hook* en cliquant sur le bouton **Ajouter une destination**. 1. Sélectionnez **Votre compte** dans les options **Événements de** et sélectionnez `charge.succeeded` et `charge.updated` dans la liste des événements disponibles. Entrez la version de l’API Stripe souhaitée. Cliquez sur **Continuer**. 1. Sélectionnez **Point de terminaison de l’accroche web** dans la liste des types de destination disponibles. Cliquez sur **Continuer**. 1. Définissez l’URL du point de terminaison sur `/api/public/webhook/operator` et remplissez les autres champs comme vous le souhaitez. 1. Cliquez sur **Créer une destination**. 1. Utilisez la clé secrète de webhook pour la variable d’environnement `STRIPE_OPERATOR_WEBHOOK_SECRET`. ## Notifications et alertes Configurez les paramètres de notification et d’alerte de l’application : | Paramètre | Description | | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `MAILER_DSN` | L’ensemble de la configuration de Symfony Mailer qui utilise un format d’URL de type DSN. Pour en savoir plus, consultez [la documentation de Symfony](https://symfony.com/doc/current/components/mailer.html#mailer-dsn). Par exemple `smtp://user:pass@host:port`. Sa valeur par défaut est `smtp://null` (expéditeur désactivé) | | `TECHNICAL_ALERT_EMAIL` | Le destinataire des alertes techniques. Par exemple, `myemail@example.com`. Sa valeur par défaut est nulle. Obligatoire si l’expéditeur est activé par `MAILER_DSN`. | | `TECHNICAL_ALERT_EMAIL_FROM` | L’expéditeur de tous les courriels techniques. Sa valeur par défaut est nulle. Obligatoire si l’expéditeur est configuré. Par exemple : `noreply@example.com`. | | `OPERATOR_NOTIFICATION_URL` | Le point de terminaison de votre serveur qui est configuré pour recevoir des notifications du module d’extension. Sa valeur par défaut est nulle (notifications désactivées). | | `MAIL_ON_NOTIFICATION_ENDPOINT_DOWN` | Active les alertes par courriel si une URL est renseignée dans `OPERATOR_NOTIFICATION_URL` et que cette URL n’est pas disponible ou répond avec une erreur. Sa valeur par défaut est `true`. | | `MAIL_ON_NOTIFICATION_ENDPOINT_DOWN_COOLDOWN` | Intervalle entre chaque alerte par courriel. Utilisez `0` pour désactiver la limitation. La valeur maximale dépend de la durée de vie maximale du traitement des notifications, à savoir `3600`par défaut. La valeur par défaut est définie à `10`. |