# Configura la aplicación Mirkal Define tus variables de integración. Antes de instalar la aplicación Mirakl, prepara un archivo con las variables descritas en esta guía. Para empezar, puedes copiar nuestro [archivo de configuración de muestra](https://github.com/stripe/stripe-mirakl-connector/blob/master/.env.dist) y cambiar el nombre a `.env`. ## Configuración general Configura los ajustes generales de la aplicación: | Parámetro | Descripción | | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `APP_SECRET` | A generar. Se usa comúnmente para añadir más entropía a las operaciones relacionadas con la seguridad. Encontrarás más información en la [documentación de Symfony](https://symfony.com/doc/current/reference/configuration/framework.html#secret). | | `OPERATOR_PASSWORD` | A generar. Se utiliza para proteger las solicitudes a la API expuesta por el plugin. Establece el parámetro `X-AUTH-TOKEN` a este valor al llamar a la API. | | `DATABASE_URL` | La URL de la conexión a tu base de datos. Encontrarás más información en la [documentación de Doctrine](https://www.doctrine-project.org/projects/doctrine-dbal/en/2.9/reference/configuration.html#connecting-using-a-url). Por ejemplo,`pgsql://symfony:symfony@db:5432/symfony?charset=UTF-8`. | | `MESSENGER_TRANSPORT_DSN` | El transporte que se utiliza para el sistema de colas. Para conocer los transportes aceptados, consulta la [documentación de Symfony Messenger](https://symfony.com/doc/current/messenger.html#transports-async-queued-messages). Por ejemplo, `amqp://guest:guest@localhost:5672/%2f/messages`. El valor predeterminado es `doctrine://default`. | | `STRIPE_CLIENT_SECRET` | Tu clave secreta de la API de Stripe está disponible en la [configuración de tus claves API](https://dashboard.stripe.com/apikeys). Recomendamos crear una clave API específica para el complemento. No se admiten claves restringidas. | | `MIRAKL_HOST_NAME` | Nombre de host de tu instancia de Mirakl. Por ejemplo, `https://mymarketplace.mirakl.net`. | | `MIRAKL_API_KEY` | La llave de operador de Mirakl. Se puede generar como un operador de Mirakl en la configuración de la API. Recomendamos crear un operador específico para el plugin. | ## Onboarding Configura los ajustes de onboarding de la aplicación: | Parámetro | Descripción | | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `REDIRECT_ONBOARDING` | El plugin redirige al vendedor a esta URL después de terminar de crear su cuenta en Stripe. El valor predeterminado es `$MIRAKL_HOST_NAME/mmp/shop/account/shop`. | | `BASE_HOST` | El dominio del servidor que aloja tu plugin. Por ejemplo, `stripe-mirakl.example.com`. | | `SCHEME` | El esquema empleado por el servidor de tu base. Valores predeterminados en `https`. | | `STRIPE_SELLERS_WEBHOOK_SECRET` | Your Stripe webhook secret available in your [Connect webhook settings](https://dashboard.stripe.com/workbench/webhooks) when adding the endpoint. See [Add a Stripe webhook endpoint for connected accounts](https://docs.stripe.com/use-stripe-apps/mirakl/configuration.md#add-a-stripe-webhook-endpoint-for-connected-accounts) for details. | | `MIRAKL_CUSTOM_FIELD_CODE` | Código del campo personalizado que debes añadir, consulta la siguiente información. El valor predeterminado es `stripe-url`. | ### Añade un punto de conexión del webhook de Stripe a tu cuenta conectada 1. Ve a la [configuración del webhook](https://dashboard.stripe.com/workbench/webhooks). 1. Añade un punto de conexión de*webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) haciendo clic en el botón **Añadir destino**. 1. Selecciona **Cuentas conectadas** de las opciones **Eventos de** y selecciona `account.updated` de la lista de eventos disponibles. Introduce la versión que desees de la API Stripe. Haz clic en **Continuar**. 1. Selecciona **Punto de conexión de webhook** de la lista de tipos de destino disponibles. Haz clic en **Continuar**. 1. Establece la URL del punto de conexión en `/api/public/webhook/sellers` y completa los campos restantes como quieras. 1. Haz clic en **Crear destino**. 1. Usa el secreto del webhook para la variable de entorno `STRIPE_SELLERS_WEBHOOK_SECRET`. ### Añadir un campo personalizado a las tiendas de Mirakl 1. Inicia sesión en tu back office de Mirakl como un operador. 1. Ve a **Configuración** > **Parámetros avanzados** > **Tiendas**. 1. Ve a **Campos personalizados**. 1. Crea un nuevo campo con los siguientes valores: | Parámetro | Descripción | | ----------------------- | ------------------------------------------------------------------------------------- | | Código | Usa `stripe-url` salvo que hayas elegido un clave diferente en tu archivo de entorno. | | Tipo | `Link` | | Permisos de las tiendas | `Read only` | | Campo obligatorio | `No` | ## Pagos Configura los ajustes de pago de la aplicación: | Parámetro | Descripción | | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `PAYMENT_METADATA_COMMERCIAL_ORDER_ID` | Clave de metadatos utilizada en Cargos para transmitir el ID de pedido comercial de Mirakl. El valor predeterminado es `mirakl_commercial_order_id`. | | `ENABLE_PRODUCT_PAYMENT_SPLIT` | Habilita el [flujo de trabajo de fraccionamiento de pagos](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-split) para pedidos de productos. El valor predeterminado es `false`. | | `NABLE_SERVICE_PAYMENT_SPLIT` | Habilita el [flujo de trabajo de fraccionamiento de pagos](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-split) para pedidos de servicios. El valor predeterminado es `false`. | | `ENABLE_PRODUCT_PAYMENT_REFUND` | Habilita el [flujo de trabajo de reembolso de pagos](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-refund) para pedidos de productos. El valor predeterminado es `false`. | | `ENABLE_SERVICE_PAYMENT_REFUND` | Habilita el [flujo de trabajo de reembolso de pagos](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-refund) para pedidos de servicios. El valor predeterminado es `false`. | | `STRIPE_OPERATOR_WEBHOOK_SECRET` | La clave secreta de tu webhook de Stripe está disponible en la [página de detalles del destino del evento de tu cuenta](https://dashboard.stripe.com/workbench/webhooks) al añadir el punto de conexión. Consulta [Añadir un punto de conexión de webhook de Stripe para tu cuenta](https://docs.stripe.com/use-stripe-apps/mirakl/configuration.md#add-a-stripe-webhook-endpoint-for-your-account) para obtener más información. | ### Añade un punto de conexión del webhook de Stripe a tu cuenta 1. Ve a la [configuración del webhook](https://dashboard.stripe.com/workbench/webhooks). 1. Añade un punto de conexión de*webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) haciendo clic en el botón **Añadir destino**. 1. Selecciona **Tu cuenta** de las opciones **Eventos de** y selecciona `charge.succeeded` y `charge.updated` de la lista de eventos disponibles. Introduce la versión que desees de la API Stripe. Haz clic en **Continuar**. 1. Selecciona **Punto de conexión de webhook** de la lista de tipos de destino disponibles. Haz clic en **Continuar**. 1. Establece la URL del punto de conexión en `/api/public/webhook/operator` y completa los campos restantes como quieras. 1. Haz clic en **Crear destino**. 1. Usa el secreto del webhook para la variable de entorno `STRIPE_OPERATOR_WEBHOOK_SECRET`. ## Notificaciones y alertas Configura las notificaciones y los ajustes de alertas de la aplicación: | Parámetro | Descripción | | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `MAILER_DSN` | Toda la configuración de Symfony Mailer usa un formato de URL tipo DSN. Encontrarás más información en la [documentación de Symfony](https://symfony.com/doc/current/components/mailer.html#mailer-dsn). Por ejemplo, `smtp://user:pass@host:port`. El valor predeterminado es `smtp://null` (gestor de correo deshabilitado). | | `TECHNICAL_ALERT_EMAIL` | El destinatario de todas las alertas técnicas. Por ejemplo, `myemail@example.com`. El valor predeterminado está vacío. Es necesario para `MAILER_DSN` si el gestor de correo está habilitado. | | `TECHNICAL_ALERT_EMAIL_FROM` | El remitente de todos los correos electrónicos técnicos. El valor predeterminado está vacío. Es necesario si se ha configurado el gestor de correo. Por ejemplo, `noreply@example.com`. | | `OPERATOR_NOTIFICATION_URL` | El punto de conexión de tu servidor que va a recibir las notificaciones del plugin. El valor predeterminado está vacío (notificaciones desactivadas). | | `MAIL_ON_NOTIFICATION_ENDPOINT_DOWN` | Habilita las alertas por correo electrónico si se proporciona una URL en `OPERATOR_NOTIFICATION_URL` y esa URL no está disponible o responde con un error. El valor predeterminado es `true`. | | `MAIL_ON_NOTIFICATION_ENDPOINT_DOWN_COOLDOWN` | Tiempo que transcurre entre cada alerta de correo electrónico. Utiliza `0` para deshabilitar la limitación. El valor máximo depende de la duración máxima del trabajador de notificaciones, es decir, `3600` de forma predeterminada. El valor predeterminado es `10`. |