# Installa l'app Mirakl Configura l'app Miraki per Stripe. Per installare ed eseguire l’app Mirakl, devi soddisfare i seguenti requisiti: - PHP 7.3+ - PostgreSQL - Un server web, (Nginx consigliato) - Un certificato SSL o *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) valido - Responsabile di elaborazione supervisionato o equivalente - Crontab o un’utilità di pianificazione equivalente ## Utilizza Docker Puoi implementare e avviare l’applicazione integrandola in un contenitore. Per ulteriori informazioni, consulta il [Docker di esempio](https://github.com/stripe/stripe-mirakl-connector/tree/master/examples/docker). ## Utilizza Composer 1. Installa [Composer](https://getcomposer.org/download/). 1. Clona o scarica l’[app Mirakl](https://github.com/stripe/stripe-mirakl-connector.git) da GitHub. 1. Sposta i contenuti nella directory del server web ( ad esempio, `/var/www`). 1. Scarica le dipendenze: ```bash composer install --prefer-dist --no-dev ``` 1. Configura correttamente il file [.env](https://docs.stripe.com/use-stripe-apps/mirakl/configuration.md). 1. Esegui le migrazioni per configurare il database. Se riscontri errori in questa fase, controlla il `DATABASE_URL` variabile nel tuo file .env. ```bash bin/console doctrine:migration:migrate --no-interaction ``` 1. Aggiorna il tuo supervisore per avviare e riavviare automaticamente i lavoratori. Un [esempio di configurazione](https://github.com/stripe/stripe-mirakl-connector/blob/master/examples/docker/app/config/supervisord.conf) è disponibile nel nostro esempio Docker. Puoi evitare questo passaggio in un ambiente di sviluppo e avviare manualmente i lavoratori quando necessario, ad esempio: ```bash php bin/console messenger:consume process_transfers --time-limit=3600 --env=prod ``` 1. Aggiorna il tuo pianificatore lavori per eseguire i comandi periodicamente. Un [esempio di configurazione](https://github.com/stripe/stripe-mirakl-connector/blob/master/examples/docker/app/config/crontab) è disponibile nel nostro esempio di Docker. Puoi evitare questo passaggio in un ambiente di sviluppo e avviare i lavori manualmente quando è necessario, ad esempio: ```bash php bin/console connector:dispatch:process-transfer -q 2>&1 ``` 1. Assicurati che il server web sia stato configurato in modo da utilizzare la directory `public` come radice documento. ## Verifica l’installazione Apri un terminale ed esegui il comando che segue per verificare che l’applicazione sia in esecuzione: ```bash curl -X GET "https://app-url/api/mappings" \ -H "accept: application/json" \ -H "X-AUTH-TOKEN: $OPERATOR_PASSWORD" # Generato in fase di configurazione. ``` Dovresti ricevere il codice di risposta `200` insieme a un payload vuoto. ## Limita il traffico in entrata Sul server, *limita tutto il traffico in ingresso* verso il plugin ad eccezione dei seguenti endpoint: - `/api/public/onboarding/refresh`: Stripe reindirizza il venditore a questo URL per ottenere un nuovo link di registrazione se quello precedente è scaduto. - `/api/public/webhook/operator`: Stripe invia un avviso all’endpoint quando un pagamento viene aggiornato per mapparlo con un ordine Mirakl all’interno dell’app. - `/api/public/webhook/sellers`: Stripe invia una notifica a questo endpoint quando un account Stripe viene aggiornato per sincronizzare lo stato del venditore all’interno dell’app. Questi endpoint possono essere esposti in tutta sicurezza poiché dispongono di un meccanismo di protezione interno. Altri endpoint non possono essere esposti in sicurezza se non sono protetti da un valore `OPERATOR_PASSWORD`