# Integración con Stripe

<Aside type="caution" icon="setting" title="Se necesita ayuda del desarrollador">
Necesitará la ayuda de su equipo de desarrollo para pasar los metadatos (journey, usuario, dispositivo) al crear Sesiones de Checkout de Stripe. Comparta esta guía con ellos.
</Aside>

[Stripe](https://stripe.com/) es una plataforma de pagos que le permite aceptar pagos y gestionar suscripciones. La integración de Stripe con Pushwoosh le permite rastrear pagos y suscripciones en [campañas](/es/product/customer-journey/pushwoosh-journey-overview/), analizar los ingresos por journey y producto, [segmentar usuarios](/es/product/audience-data-and-segmentation/segmentation/) por eventos de pago y usar [ManyMoney AI](/es/product/pushwoosh-ai/ai-assistant/) para obtener información sobre los ingresos.

## Resumen de la integración

### Tipo de integración

**Fuente:** Los eventos de pago y suscripción se envían desde Stripe a Pushwoosh.

### Prerrequisitos

Para configurar la integración de Stripe con Pushwoosh, asegúrese de lo siguiente:

*   Tiene una cuenta activa de Pushwoosh.
*   Tiene una cuenta de Stripe.

### Glosario (mapeo de nombres de entidades si son diferentes)

La siguiente tabla muestra cómo las entidades de Stripe se mapean a Pushwoosh. Este mapeo se logra pasando los campos correspondientes como metadatos cuando crea una Sesión de Checkout (consulte [Configuración de metadatos](#metadata-configuration)).

| Stripe | Pushwoosh |
| --- | --- |
| Cliente | `user_id` (requerido), `device_id` (opcional) en metadatos |
| Pago / Cargo | Evento **StripePaymentSucceeded** (`charge.succeeded`) |
| Factura (pagada) | Evento **StripeInvoicePaid** (`invoice.paid`) |
| Suscripción | **StripeSubscriptionCreated** + atributos en **StripeInvoicePaid** |
| Producto / Precio | `product_id`, `product_name` en metadatos y atributos de evento |
| Campaña (journey) | `journey_uuids` en metadatos |

### Entidades sincronizadas

*   Eventos de pago (pagos únicos, facturas de suscripción)
*   Eventos de suscripción (suscripción creada, factura de suscripción pagada)

### ¿Cómo funciona la integración?

Después de conectar su cuenta de Stripe a Pushwoosh a través de **Stripe Connect**, Pushwoosh recibe datos de pago y suscripción de Stripe. Puede vincular cada transacción a una campaña y usuario o dispositivo pasando metadatos al crear una Sesión de Checkout (consulte [Configuración de metadatos](#metadata-configuration)).

Pushwoosh crea eventos que puede usar para [segmentación](/es/product/audience-data-and-segmentation/segmentation/) y análisis.

##### Flujo de datos

1.  Conecta su cuenta de Stripe a Pushwoosh una vez a través de **Stripe Connect** en **Configuración** → **Integraciones de terceros**.
2.  Al crear una Sesión de Checkout, pasa metadatos para que el pago pueda ser atribuido más tarde (consulte [Configuración de metadatos](#metadata-configuration)).
3.  Cuando ocurre un evento de pago o suscripción en Stripe (por ejemplo, `charge.succeeded` para un pago único, `invoice.paid` para una suscripción), Stripe envía los datos a Pushwoosh.
4.  Pushwoosh crea los eventos correspondientes y usa los metadatos para la atribución. Estos datos aparecen en Finance Overview, Audience → Events y ManyMoney.

### Casos de uso
##### Rastrear pagos
Reciba automáticamente información sobre todos los pagos y suscripciones exitosos.

##### Vincular pagos a campañas
Asocie transacciones con [customer journeys](/es/product/customer-journey/pushwoosh-journey-overview/) específicos pasando metadatos (consulte [Configuración de metadatos](#metadata-configuration)).

##### Analizar ingresos
Vea los ingresos por campañas, productos, usuarios y dispositivos.

##### Segmentar su audiencia
[Cree segmentos](/es/product/audience-data-and-segmentation/segmentation/create-segments/by-events/) basados en eventos de pago.

##### Analítica de IA
El asistente [ManyMoney AI](/es/product/pushwoosh-ai/ai-assistant/) recibe automáticamente estadísticas de pago y suscripción y puede tomar decisiones basadas en estos datos.

## Configurar la integración

### Conectar Stripe a Pushwoosh

1.  Abra cualquier aplicación de Pushwoosh (la cuenta de Stripe está vinculada a toda su cuenta, no a una aplicación específica) y navegue a **Configuración** → **Integraciones de terceros**.
2.  Encuentre la tarjeta de **Stripe** y haga clic en el botón **PÁGINA DE INICIO DE SESIÓN**.

![Página de configuración con la sección de integraciones de terceros y la tarjeta de Stripe con el botón PÁGINA DE INICIO DE SESIÓN](/integrations-stripe-integration-1.webp)

3.  Será redirigido a la página de autorización de Stripe.

![Página de autorización de Stripe con selección de cuenta y botón Conectar](/integrations-stripe-integration-2.webp)

4.  En la página de Stripe, ingrese su correo electrónico y haga clic en **Continuar**.
5.  Inicie sesión en su cuenta de Stripe (o cree una nueva). Si tiene varias cuentas, seleccione la cuenta que desea conectar.
6.  Haga clic en **Conectar** para confirmar.
7.  Después de una autorización exitosa, será redirigido de nuevo a Pushwoosh. El estado de la integración cambiará a **Conectado**.

![Página de integraciones de terceros que muestra la tarjeta de Stripe con el estado Conectado](/integrations-stripe-integration-3.webp)

### Desconectar la integración

##### Método 1. A través de Pushwoosh

1.  Vaya a **Configuración** → **Integraciones de terceros**.
2.  Encuentre la tarjeta de **Stripe** y haga clic en el botón **CONFIGURACIÓN**.
3.  En la ventana emergente, haga clic en el botón **Desconectar**.

![Ventana emergente de CONFIGURACIÓN de la tarjeta de Stripe con el botón Desconectar en integraciones de terceros](/integrations-stripe-integration-4.webp)

##### Método 2. A través del Dashboard de Stripe

1.  Inicie sesión en el [Dashboard de Stripe](https://dashboard.stripe.com).
2.  Vaya a **Configuración** → **Equipo y seguridad** → **Aplicaciones instaladas**.
3.  Encuentre la aplicación en la sección **Extensiones de Connect**.

![Configuración del Dashboard de Stripe, Equipo y seguridad, Aplicaciones instaladas, sección de Extensiones de Connect](/integrations-stripe-integration-5.webp)

Cuando se desconecta a través de Stripe, Pushwoosh recibe automáticamente una notificación y elimina la integración.

## Configuración de metadatos

Stripe envía eventos de pago a Pushwoosh, pero sin datos adicionales Pushwoosh no puede saber a qué campaña o a qué usuario pertenece el pago. Cuando pasa metadatos en la creación de la Sesión de Checkout (IDs de campaña, ID de usuario o dispositivo, producto), cada pago se atribuye al journey y usuario correctos.

Luego, verá los ingresos por campaña en Finance Overview, construirá segmentos por pagador y usará ManyMoney con la atribución correcta.

### Campos de metadatos disponibles

| Campo | Descripción | Requerido | Ejemplo |
| --- | --- | --- | --- |
| `journey_uuids` | IDs de campaña (journey) separados por punto y coma | No | `bfab4bc0-b0a5-414b-befc-4aaddc429b0e;a2bff710-6b49-44d1-96a7-3232feeca6e9` |
| `user_id` | Identificador de usuario. Requerido para la recolección de eventos y para que se aplique `device_id` | Sí | `user_12345` o `email@example.com` |
| `device_id` | ID de Hardware del Dispositivo (HWID). | No | `hwid_abc123` |
| `product_id` | ID del producto | No | `prod_premium` |
| `product_name` | Nombre del producto | No | `Premium Plan` |

<Aside type="caution" title="Importante">

-   Sin `user_id`, los eventos no se recolectan y `device_id` se ignora. Para un análisis completo, proporcione también `journey_uuids` y `device_id`.

-   `journey_uuids` es opcional y solo se puede establecer a través de metadatos. Stripe no proporciona datos de campaña o journey, así que páselo al crear la Sesión de Checkout si desea que los ingresos se atribuyan a un journey.

-   `product_id` y `product_name` son opcionales. Pushwoosh usa primero los metadatos. Si falta alguno en los metadatos, se toma de Stripe cuando esté disponible. Si ninguna de las fuentes tiene un valor, el campo no se almacena.

</Aside>

### Pasar metadatos a través de la Sesión de Checkout

Los metadatos se pasan al crear una Sesión de Checkout dependiendo del tipo de pago:

| Tipo de pago | Parámetro | Evento de Stripe |
| --- | --- | --- |
| Pago único (`mode=payment`) | `payment_intent_data[metadata]` | `charge.succeeded` |
| Suscripción (`mode=subscription`) | `subscription_data[metadata]` | `invoice.paid` |

### Prioridad de los metadatos durante el procesamiento

**Para suscripciones** (evento `invoice.paid`):

```text
Metadatos de la factura → si está vacío → Metadatos de la suscripción
```

**Para pagos únicos** (evento `charge.succeeded`):

```text
Metadatos del cargo (de payment_intent_data)
```

## Creación de una sesión de checkout a través de la API de Stripe (curl)

##### Pago único (`mode=payment`)

```bash
curl https://api.stripe.com/v1/checkout/sessions \
  -u sk_live_YOUR_SECRET_KEY: \
  -d "mode=payment" \
  -d "success_url=https://example.com/success" \
  -d "cancel_url=https://example.com/cancel" \
  -d "line_items[0][price]=price_1234567890" \
  -d "line_items[0][quantity]=1" \
  -d "payment_intent_data[metadata][journey_uuids]=bfab4bc0-b0a5-414b-befc-4aaddc429b0e" \
  -d "payment_intent_data[metadata][user_id]=user_12345" \
  -d "payment_intent_data[metadata][device_id]=hwid_abc123" \
  -d "payment_intent_data[metadata][product_id]=prod_premium" \
  -d "payment_intent_data[metadata][product_name]=Premium Plan"
```

##### Suscripción (`mode=subscription`)

```bash
curl https://api.stripe.com/v1/checkout/sessions \
  -u sk_live_YOUR_SECRET_KEY: \
  -d "mode=subscription" \
  -d "success_url=https://example.com/success" \
  -d "cancel_url=https://example.com/cancel" \
  -d "line_items[0][price]=price_monthly_premium" \
  -d "line_items[0][quantity]=1" \
  -d "subscription_data[metadata][journey_uuids]=bfab4bc0-b0a5-414b-befc-4aaddc429b0e" \
  -d "subscription_data[metadata][user_id]=user_12345" \
  -d "subscription_data[metadata][device_id]=hwid_abc123" \
  -d "subscription_data[metadata][product_name]=Monthly Premium"
```

## Ver datos

Después de una integración exitosa, aparece un nuevo panel de control **Finance Overview** en la sección [Dashboards](/es/product/statistics-and-analytics/dashboards/). Allí puede ver las estadísticas de Ingresos Brutos y Nuevas Suscripciones desglosadas por campañas (journey).

![Panel de control de Finance Overview en Estadísticas con Ingresos Brutos y Nuevas Suscripciones por campaña](/integrations-stripe-integration-6.webp)

Para obtener información más detallada, visite su Dashboard de Stripe.

## Crear segmentos basados en pagos

Use los eventos de Stripe para crear segmentos de usuarios:

1.  Abra **Audiencia** → **Segmentos**.
2.  Haga clic en **Crear Segmento** → **Construir Segmento**.
3.  En **Añadir filtro por**, haga clic en **Evento**.
4.  Seleccione un evento de Stripe del menú desplegable (consulte la tabla a continuación para ver los eventos disponibles).
<Aside type="note">
Los eventos de Stripe aparecen en la lista después de que la integración se conecta y se reciben los datos de pago.
</Aside>

5.  Establezca la condición: cuántas veces ocurrió el evento y el marco de tiempo (por ejemplo, durante los últimos 30 días, entre fechas).
6.  Opcionalmente, restrinja el segmento por atributos de evento. La siguiente tabla enumera los atributos disponibles para cada evento.

| Evento | Descripción | Atributos |
| --- | --- | --- |
| `StripePaymentSucceeded` | Pago exitoso | __amount, __currency, invoice_id, journey_uuids, product_id, product_name, stripe_customer_id, subscription_id |
| `StripeInvoicePaid` | Factura de suscripción pagada | __amount, __currency, journey_uuids, product_id, product_name, stripe_customer_id, transaction_id, transaction_type |
| `StripeSubscriptionCreated` | Suscripción creada | __amount, __currency, interval, journey_uuids, product_id, product_name, status, stripe_customer_id, subscription_id |

![Página de Segmentos de Audiencia con las opciones Crear Segmento y Construir Segmento](/integrations-stripe-integration-7.webp)

7.  Para agregar más eventos, agregue otro filtro de Evento y elija un operador (Y u O) entre las condiciones.

[Aprenda más sobre la creación de segmentos](/es/product/audience-data-and-segmentation/segmentation/create-segments/by-events/).

## Asistente de IA ManyMoney

Después de una integración exitosa con Stripe, el asistente de IA [**ManyMoney**](/es/product/pushwoosh-ai/ai-assistant/) obtiene acceso automáticamente a las estadísticas de pago y suscripción.

ManyMoney está disponible en la interfaz del Dashboard. Después de conectar Stripe, los datos de pago están disponibles para su análisis automáticamente. No se requiere configuración adicional.

### Qué puede hacer ManyMoney

-   **Analizar ingresos:** responde preguntas sobre ingresos, conversiones y efectividad de la campaña.
-   **Comparar períodos:** muestra la dinámica de pagos y suscripciones en diferentes intervalos de tiempo.
-   **Identificar tendencias:** detecta productos y segmentos de audiencia en crecimiento y en declive.
-   **Proporcionar recomendaciones:** sugiere optimizaciones basadas en los datos de pago.

<Aside type="tip" title="Ejemplos de prompts">

-   ¿Qué ingresos generó la campaña el mes pasado?
-   Compare las tasas de conversión de suscripciones entre enero y febrero
-   Muestre las estadísticas de reembolsos

</Aside>