# Instala la aplicación de Mirakl Configura la aplicación de Mirakl para Stripe. Para instalar y ejecutar la aplicación Mirakl, debes cumplir con los siguientes requisitos: - PHP 7.3, o superior - PostgreSQL - Un servidor web (se recomienda Nginx) - Un certificado 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) válido - Supervisord o un gestor de procesos equivalente - Crontab o un programador de tareas equivalente ## Usa Docker Puedes crear e iniciar la aplicación integrándola en un contenedor. Para obtener más información, consulta nuestra [muestra de Docker](https://github.com/stripe/stripe-mirakl-connector/tree/master/examples/docker). ## Usa Composer 1. Instala [Composer](https://getcomposer.org/download/). 1. Clona o descarga la [Mirakl app](https://github.com/stripe/stripe-mirakl-connector.git) de GitHub. 1. Mueve el contenido del directorio de tu servidor web, por ejemplo, `/var/www`). 1. Descarga las dependencias: ```bash composer install --prefer-dist --no-dev ``` 1. Configura correctamente el archivo [.env file](https://docs.stripe.com/use-stripe-apps/mirakl/configuration.md). 1. Ejecuta las migraciones para configurar la base de datos. Si encuentras algún error en esta etapa, verifica la variable `DATABASE_URL` en tu archivo .env. ```bash bin/console doctrine:migration:migrate --no-interaction ``` 1. Actualiza tu supervisor para iniciar y reiniciar automáticamente los trabajadores. Hay un [ejemplo de configuración](https://github.com/stripe/stripe-mirakl-connector/blob/master/examples/docker/app/config/supervisord.conf) disponible en nuestro ejemplo de Docker. Puedes omitir este paso en un entorno de desarrollo e iniciar los trabajadores manualmente cuando sea necesario, por ejemplo: ```bash php bin/console messenger:consume process_transfers --time-limit=3600 --env=prod ``` 1. Actualiza el programador de trabajos para ejecutar los comandos periódicamente. Hay un [ejemplo de configuración](https://github.com/stripe/stripe-mirakl-connector/blob/master/examples/docker/app/config/crontab) disponible en nuestro ejemplo de Docker. Puedes omitir este paso en un entorno de desarrollo e iniciar los trabajos manualmente cuando sea necesario, por ejemplo: ```bash php bin/console connector:dispatch:process-transfer -q 2>&1 ``` 1. Asegúrate de que tu servidor web esté configurado para usar el directorio `public` como directorio raíz de documentos. ## Prueba tu instalación Abre tu Terminal y ejecuta el siguiente comando para confirmar que tu aplicación está funcionando correctamente: ```bash curl -X GET "https://app-url/api/mappings" \ -H "accept: application/json" \ -H "X-AUTH-TOKEN: $OPERATOR_PASSWORD" # Generado durante la configuración ``` Deberías recibir un código de respuesta `200` junto con una carga vacía. ## Restringe el tráfico entrante En tu servidor, *restringe todo el tráfico entrante* al plugin, excepto los siguientes puntos de conexión: - `/api/public/onboarding/refresh`: Stripe redirige el vendedor a esta URL para obtener un nuevo enlace de onboarding en caso de que caduque. - `/api/public/webhook/operator`: Stripe notifica a este punto de conexión cuando se actualiza un pago para asignarlo con un pedido de Mirakl dentro de la aplicación. - `/api/public/webhook/sellers`: Stripe notifica a este punto de conexión cuando se actualiza un cuenta de Stripe para sincronizar el estatus del vendedor dentro de la aplicación. Es seguro exponer estos puntos de conexión, ya que cada uno tiene un mecanismo de protección interno. Otros puntos de conexión no son seguros a menos que estén protegidos por un `OPERATOR_PASSWORD`.