# Installer l'application Mirakl Configurez l'application Miraki pour Stripe. Pour installer et exécuter l’application Mirakl, vous devez remplir les conditions suivantes : - PHP 7.3+ - PostgreSQL - Un serveur Web (Nginx recommandé) - Un certificat SSL ou *TLS* (TLS refers to the process of securely transmitting data between the client—the app or browser that your customer is using—and your server. This was originally performed using the SSL (Secure Sockets Layer) protocol) valide. - Supervisord ou un gestionnaire de processus équivalent - Crontab ou un planificateur de tâches équivalent ## Utilisez Docker Pour créer et lancer l’application, vous pouvez l’intégrer à un conteneur. Pour en savoir plus, consultez [exemple de Docker](https://github.com/stripe/stripe-mirakl-connector/tree/master/examples/docker). ## Utiliser Composer 1. Installez [Composer](https://getcomposer.org/download/). 1. Clonez ou téléchargez l’application [Mirakl](https://github.com/stripe/stripe-mirakl-connector.git) depuis GitHub. 1. Déplacez le contenu dans le répertoire de votre serveur Web (par exemple, `/var/www`). 1. Télécharger les dépendances : ```bash composer install --prefer-dist --no-dev ``` 1. Configurez correctement le fichier [.env](https://docs.stripe.com/use-stripe-apps/mirakl/configuration.md). 1. Exécutez les migrations pour configurer la base de données. Si vous rencontrez des erreurs à cette étape, vérifiez la variable `DATABASE_URL` dans votre fichier .env. ```bash bin/console doctrine:migration:migrate --no-interaction ``` 1. Mettez à jour votre superviseur pour qu’il démarre et redémarre automatiquement les travailleurs. Un [exemple de configuration](https://github.com/stripe/stripe-mirakl-connector/blob/master/examples/docker/app/config/supervisord.conf) est disponible dans notre modèle Docker. Vous pouvez sauter cette étape dans un environnement de développement et démarrer les travailleurs manuellement lorsque cela est nécessaire, par exemple : ```bash php bin/console messenger:consume process_transfers --time-limit=3600 --env=prod ``` 1. Mettez à jour votre planificateur de tâches pour exécuter les commandes périodiquement. Un [exemple de configuration](https://github.com/stripe/stripe-mirakl-connector/blob/master/examples/docker/app/config/crontab) est disponible dans notre modèle Docker. Vous pouvez ignorer cette étape dans un environnement de développement et lancer les tâches manuellement lorsque cela est nécessaire, par exemple : ```bash php bin/console connector:dispatch:process-transfer -q 2>&1 ``` 1. Veillez à ce que votre serveur Web soit configuré pour utiliser le répertoire `public` en tant que document racine. ## Tester votre installation Ouvrez votre terminal et exécutez la commande suivante afin de vérifier que votre application fonctionne correctement : ```bash curl -X GET "https://app-url/api/mappings" \ -H "accept: application/json" \ -H "X-AUTH-TOKEN: $OPERATOR_PASSWORD" # Générés au cours de la configuration ``` Vous devez obtenir un code de réponse `200` ainsi qu’une charge utile nulle. ## Limiter le trafic entrant Sur votre serveur, *limitez tout le trafic entrant* vers le module d’extension, sauf pour les points de terminaison suivants : - `/api/public/onboarding/refresh` : Stripe redirige le marchand vers cette URL pour obtenir un nouveau lien d’inscription des utilisateurs s’il expire. - `/api/public/webhook/operator` : Stripe notifie ce point de terminaison lorsqu’un paiement est mis à jour pour le mettre en correspondance avec une commande Mirakl dans l’application. - `/api/public/webhook/sellers` : Stripe notifie ce point de terminaison lorsqu’un compte Stripe est mis à jour afin de synchroniser l’état du marchand dans l’application. Ces points de terminaison peuvent être exposés en toute sécurité, car ils disposent chacun d’un mécanisme de protection interne. Les autres points de terminaison ne peuvent pas être exposés en toute sécurité, à moins d’être protégés par un puissant `OPERATOR_PASSWORD`.