# Installieren Sie die Mirakl-App Richten Sie die Miraki-App für Stripe ein. Zum Installieren und Ausführen der Mirakl-App müssen Sie die folgenden Anforderungen erfüllen: - PHP 7.3+ - PostgreSQL - Ein Webserver (Nginx wird empfohlen) - Ein gültiges SSL- oder *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)-Zertifikat - Supervisord oder ein gleichwertiger Prozess-Manager - Crontab oder ein gleichwertiger Aufgabenplaner ## Verwendung von Docker Sie können die Anwendung erstellen und starten, indem Sie sie in einen Container einbetten. In unserem [Docker-Beispiel](https://github.com/stripe/stripe-mirakl-connector/tree/master/examples/docker) finden Sie weitere Informationen. ## Composer verwenden 1. Installieren Sie [Composer](https://getcomposer.org/download/). 1. Klonen Sie die Datei oder laden Sie die [Mirakl-App](https://github.com/stripe/stripe-mirakl-connector.git) von GitHub herunter. 1. Verschieben Sie den Inhalt in das Webserver-Verzeichnis, z. B. `/var/www`). 1. Laden Sie Abhängigkeiten herunter: ```bash composer install --prefer-dist --no-dev ``` 1. Konfigurieren Sie die [.env-Datei] ordnungsgemäß.](/use-stripe-apps/mirakl/configuration). 1. Führen Sie die Migrationen aus, um die Datenbank einzurichten. Wenn zu diesem Zeitpunkt Fehler auftreten, überprüfen Sie die Schaltfläche `DATABASE_URL` in Ihrer .env-Datei. ```bash bin/console doctrine:migration:migrate --no-interaction ``` 1. Aktualisieren Sie Ihr Hauptsteuerprogramm, um die Worker-Instanzen automatisch zu starten und neu zu starten. Ein [Konfigurationsbeispiel](https://github.com/stripe/stripe-mirakl-connector/blob/master/examples/docker/app/config/supervisord.conf) ist in unserem Docker-Beispiel verfügbar. Sie können diesen Schritt in einer Entwicklungsumgebung überspringen und die Worker bei Bedarf manuell starten, z. B.: ```bash php bin/console messenger:consume process_transfers --time-limit=3600 --env=prod ``` 1. Aktualisieren Sie Ihren Job-Scheduler, um die Befehle regelmäßig auszuführen. Ein [Konfigurationsbeispiel](https://github.com/stripe/stripe-mirakl-connector/blob/master/examples/docker/app/config/crontab) ist in unserem Docker-Beispiel verfügbar. Sie können diesen Schritt in einer Entwicklungsumgebung überspringen und die Aufträge bei Bedarf manuell starten, z. B.: ```bash php bin/console connector:dispatch:process-transfer -q 2>&1 ``` 1. Stellen Sie sicher, dass Ihr Webserver so konfiguriert ist, dass das Verzeichnis `public` als Dokumenten-Stammverzeichnis verwendet wird. ## Ihre Installation testen Öffnen Sie Ihr Terminal und führen Sie folgenden Befehl aus, um zu prüfen, ob Ihre Anwendung korrekt ausgeführt wird: ```bash curl -X GET "https://app-url/api/mappings" \ -H "accept: application/json" \ -H "X-AUTH-TOKEN: $OPERATOR_PASSWORD" # Während der Konfiguration erstellt. ``` Sie sollten den Antwortcode `200` zusammen mit einer leeren Nutzlast erhalten. ## Einschränken des eingehenden Datenverkehrs Schränken Sie auf Ihrem Server *den gesamten eingehenden Datenverkehr* zum Plugin ein, mit Ausnahme der folgenden Endpoints: - `/api/public/onboarding/refresh`: Stripe leitet die die/den Verkäufer/in auf diese URL weiter, um einen neuen Onboarding Link zu erhalten, wenn dieser abläuft. - `/api/public/webhook/operator`: Stripe benachrichtigt diesen Endpoint, wenn eine Zahlung aktualisiert wird, um sie mit einer Mirakl-Bestellung innerhalb der App zu verknüpfen. - `/api/public/webhook/sellers`: Stripe benachrichtigt diesen Endpoint, wenn ein Stripe-Konto aktualisiert wird, um den Status der Verkäuferin / des Verkäufers innerhalb der App zu synchronisieren. Diese Endpoints können sicher verfügbar gemacht werden, da sie jeweils über einen internen Schutzmechanismus verfügen. Andere Endpoints können nicht sicher verfügbar gemacht werden, es sei denn, sie sind durch ein starkes `OPERATOR_PASSWORD` geschützt.