# Configurer l'application Mirkal Définissez vos variables d'intégration. Avant d’installer l’application Mirakl, préparez un fichier avec les variables décrites dans ce guide. Pour commencer, 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` | À générer. Sert à confirmer les requêtes vers 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 sur 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 est disponible dans vos [paramètres des clés API](https://dashboard.stripe.com/apikeys). Nous vous recommandons de créer une clé API réservée au connecteur. Les clés à usage limité 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. Peut être généré en tant qu’opérateur Mirakl dans les paramètres de votre API. Nous vous recommandons de créer un opérateur réservé au plugin. | ## Inscription des utilisateurs Configurez les paramètres d’inscription de l’application : | Paramètre | Description | | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `REDIRECT_ONBOARDING` | Le plugin 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 hébergeant votre plugin. 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é webhook Stripe est disponible dans vos [paramètres webhook Connect](https://dashboard.stripe.com/workbench/webhooks) lorsque vous ajoutez l’endpoint. Voir [Ajouter un endpoint webhook 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 plus de détails. | | `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 endpoint de webhook Stripe pour les comptes connectés 1. Rendez-vous dans vos [paramètres webhook](https://dashboard.stripe.com/workbench/webhooks). 1. Ajoutez un *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) 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 votre version API Stripe souhaitée. Cliquez sur **Continuer**. 1. Sélectionnez **Endpoint Webhook** dans la liste des types de destination disponibles. Cliquez sur **Continuer**. 1. Définissez l’URL de l’endpoint sur `/api/public/webhook/sellers` et remplissez les champs restants selon vos souhaits. 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 back-office Mirakl en tant qu’opérateur. 1. Rendez-vous sur **Settings** > **Advanced Parameters** > **Shops**. 1. Accédez à **Champs personnalisés**. 1. Créez un nouveau champ à l’aide des valeurs suivantes : | 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 | `Read only` | | 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. La 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. La 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. La 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. La valeur par défaut est `false`. | | `STRIPE_OPERATOR_WEBHOOK_SECRET` | Votre clé webhook Stripe est disponible dans votre [page d’informations de destination d’événements de compte](https://dashboard.stripe.com/workbench/webhooks) lorsque vous ajoutez l’endpoint. Voir [Ajouter un endpoint webhook Stripe pour votre compte](https://docs.stripe.com/use-stripe-apps/mirakl/configuration.md#add-a-stripe-webhook-endpoint-for-your-account) pour plus d’informations. | ### Ajouter un endpoint de webhook Stripe pour votre compte 1. Rendez-vous dans vos [paramètres webhook](https://dashboard.stripe.com/workbench/webhooks). 1. Ajoutez un *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) 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 votre version API Stripe souhaitée. Cliquez sur **Continuer**. 1. Sélectionnez **Endpoint Webhook** dans la liste des types de destination disponibles. Cliquez sur **Continuer**. 1. Définissez l’URL de l’endpoint sur `/api/public/webhook/operator` et remplissez les champs restants selon vos souhaits. 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 Symfony Mailer qui utilise un format d’URL de type DSN. Pour en savoir plus, consultez la [documentation sur 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é en vertu de `MAILER_DSN`. | | `TECHNICAL_ALERT_EMAIL_FROM` | L’expéditeur de tous les e-mails techniques. Sa valeur par défaut est nulle. Obligatoire si l’expéditeur est configuré. Par exemple : `noreply@example.com`. | | `OPERATOR_NOTIFICATION_URL` | L’endpoint de votre serveur qui est configuré pour recevoir des notifications du plugin. Sa valeur par défaut est nulle (notifications désactivées). | | `MAIL_ON_NOTIFICATION_ENDPOINT_DOWN` | Activer les alertes par e-mail si une URL figure dans `OPERATOR_NOTIFICATION_URL` et que cette URL n’est pas disponible ou renvoie une erreur. Sa valeur par défaut est `true`. | | `MAIL_ON_NOTIFICATION_ENDPOINT_DOWN_COOLDOWN` | Intervalle entre chaque envoi d’alerte par e-mail. Saisissez `0` pour désactiver la limite. La valeur maximum dépend de la durée de vie maximale du traitement des notifications, qui est de `3600` par défaut. Sa valeur est fixée à `10` par défaut. |