# Intégration Stripe

<Aside type="caution" icon="setting" title="Assistance d'un développeur requise">
Vous aurez besoin de l'aide de votre équipe de développement pour transmettre les métadonnées (Journey, utilisateur, appareil) lors de la création des sessions de paiement Stripe. Partagez ce guide avec eux.
</Aside>

[Stripe](https://stripe.com/) est une plateforme de paiement qui vous permet d'accepter des paiements et de gérer des abonnements. L'intégration de Stripe avec Pushwoosh vous permet de suivre les paiements et les abonnements dans les [campagnes](/fr/product/customer-journey/pushwoosh-journey-overview/), d'analyser les revenus par Journey et par produit, de [segmenter les utilisateurs](/fr/product/audience-data-and-segmentation/segmentation/) par événements de paiement, et d'utiliser [ManyMoney AI](/fr/product/pushwoosh-ai/ai-assistant/) pour obtenir des informations sur les revenus.

## Aperçu de l'intégration

### Type d'intégration

**Source :** Les événements de paiement et d'abonnement sont envoyés de Stripe à Pushwoosh.

### Prérequis

Pour configurer l'intégration de Stripe avec Pushwoosh, assurez-vous de ce qui suit :

*   Vous avez un compte Pushwoosh actif.
*   Vous avez un compte Stripe.

### Glossaire (correspondance des noms d'entités s'ils sont différents)

Le tableau ci-dessous montre comment les entités Stripe correspondent à Pushwoosh. Cette correspondance est réalisée en transmettant les champs correspondants en tant que métadonnées lorsque vous créez une session de paiement (voir [Configuration des métadonnées](#metadata-configuration)).

| Stripe | Pushwoosh |
|---|---|
| Client | `user_id` (requis), `device_id` (facultatif) dans les métadonnées |
| Paiement / Prélèvement | Événement **StripePaymentSucceeded** (`charge.succeeded`) |
| Facture (payée) | Événement **StripeInvoicePaid** (`invoice.paid`) |
| Abonnement | **StripeSubscriptionCreated** + attributs dans **StripeInvoicePaid** |
| Produit / Prix | `product_id`, `product_name` dans les métadonnées et les attributs d'événement |
| Campagne (Journey) | `journey_uuids` dans les métadonnées |

### Entités synchronisées

*   Événements de paiement (paiements uniques, factures d'abonnement)
*   Événements d'abonnement (abonnement créé, facture d'abonnement payée)

### Comment fonctionne l'intégration ?

Après avoir connecté votre compte Stripe à Pushwoosh via **Stripe Connect**, Pushwoosh reçoit les données de paiement et d'abonnement de Stripe. Vous pouvez lier chaque transaction à une campagne et à un utilisateur ou un appareil en transmettant des métadonnées lors de la création d'une session de paiement (voir [Configuration des métadonnées](#metadata-configuration)).

Pushwoosh crée des événements que vous pouvez utiliser pour la [segmentation](/fr/product/audience-data-and-segmentation/segmentation/) et l'analyse.

##### Flux de données

1.  Vous connectez votre compte Stripe à Pushwoosh une seule fois via **Stripe Connect** dans **Paramètres** → **Intégrations tierces**.
2.  Lors de la création d'une session de paiement, vous transmettez des métadonnées afin que le paiement puisse être attribué ultérieurement (voir [Configuration des métadonnées](#metadata-configuration)).
3.  Lorsqu'un événement de paiement ou d'abonnement se produit dans Stripe (par ex. `charge.succeeded` pour un paiement unique, `invoice.paid` pour un abonnement), Stripe envoie les données à Pushwoosh.
4.  Pushwoosh crée les événements correspondants et utilise les métadonnées pour l'attribution. Ces données apparaissent dans Finance Overview, Audience → Events, et ManyMoney.

### Cas d'utilisation

##### Suivre les paiements

Recevez automatiquement des informations sur tous les paiements et abonnements réussis.

##### Lier les paiements aux campagnes

Associez les transactions à des [parcours clients](/fr/product/customer-journey/pushwoosh-journey-overview/) spécifiques en transmettant des métadonnées (voir [Configuration des métadonnées](#metadata-configuration)).

##### Analyser les revenus

Visualisez les revenus par campagnes, produits, utilisateurs et appareils.

##### Segmentez votre audience

[Créez des segments](/fr/product/audience-data-and-segmentation/segmentation/create-segments/by-events/) basés sur les événements de paiement.

##### Analyse par IA

L'assistant [ManyMoney AI](/fr/product/pushwoosh-ai/ai-assistant/) reçoit automatiquement les statistiques de paiement et d'abonnement et peut prendre des décisions basées sur ces données.

## Configurer l'intégration

### Connecter Stripe à Pushwoosh

1.  Ouvrez n'importe quelle application Pushwoosh (le compte Stripe est lié à l'ensemble de votre compte, pas à une application spécifique) et naviguez vers **Paramètres** → **Intégrations tierces**.
2.  Trouvez la carte **Stripe** et cliquez sur le bouton **PAGE DE CONNEXION**.

![Page des paramètres avec la section des intégrations tierces et la carte Stripe avec le bouton PAGE DE CONNEXION](/integrations-stripe-integration-1.webp)

3.  Vous serez redirigé vers la page d'autorisation de Stripe.

![Page d'autorisation Stripe avec sélection de compte et bouton Connecter](/integrations-stripe-integration-2.webp)

4.  Sur la page Stripe, entrez votre e-mail et cliquez sur **Continuer**.
5.  Connectez-vous à votre compte Stripe (ou créez-en un nouveau). Si vous avez plusieurs comptes, sélectionnez celui que vous souhaitez connecter.
6.  Cliquez sur **Connecter** pour confirmer.
7.  Après une autorisation réussie, vous serez redirigé vers Pushwoosh. Le statut de l'intégration passera à **Connecté**.

![Page des intégrations tierces montrant la carte Stripe avec le statut Connecté](/integrations-stripe-integration-3.webp)

### Déconnecter l'intégration

##### Méthode 1. Via Pushwoosh

1.  Allez dans **Paramètres** → **Intégrations tierces**.
2.  Trouvez la carte **Stripe** et cliquez sur le bouton **PARAMÈTRES**.
3.  Dans la fenêtre contextuelle, cliquez sur le bouton **Déconnecter**.

![Fenêtre contextuelle des PARAMÈTRES de la carte Stripe avec le bouton Déconnecter dans les intégrations tierces](/integrations-stripe-integration-4.webp)

##### Méthode 2. Via le tableau de bord Stripe

1.  Connectez-vous au [Tableau de bord Stripe](https://dashboard.stripe.com).
2.  Allez dans **Paramètres** → **Équipe et sécurité** → **Applications installées**.
3.  Trouvez l'application dans la section **Extensions Connect**.

![Paramètres du tableau de bord Stripe, Équipe et sécurité, Applications installées, section Extensions Connect](/integrations-stripe-integration-5.webp)

Lorsque vous vous déconnectez via Stripe, Pushwoosh reçoit automatiquement une notification et supprime l'intégration.

## Configuration des métadonnées

Stripe envoie des événements de paiement à Pushwoosh, mais sans données supplémentaires, Pushwoosh ne peut pas savoir à quelle campagne ou à quel utilisateur le paiement appartient. Lorsque vous transmettez des métadonnées lors de la création de la session de paiement (ID de campagne, ID d'utilisateur ou d'appareil, produit), chaque paiement est attribué au bon Journey et au bon utilisateur.

Vous voyez ensuite les revenus par campagne dans Finance Overview, construisez des segments par payeur et utilisez ManyMoney avec une attribution correcte.

### Champs de métadonnées disponibles

| Champ | Description | Requis | Exemple |
|---|---|---|---|
| `journey_uuids` | ID de campagne (Journey) séparés par des points-virgules | Non | `bfab4bc0-b0a5-414b-befc-4aaddc429b0e;a2bff710-6b49-44d1-96a7-3232feeca6e9` |
| `user_id` | Identifiant de l'utilisateur. Requis pour la collecte d'événements et pour que `device_id` soit appliqué | Oui | `user_12345` ou `email@example.com` |
| `device_id` | ID matériel de l'appareil (HWID). | Non | `hwid_abc123` |
| `product_id` | ID du produit | Non | `prod_premium` |
| `product_name` | Nom du produit | Non | `Premium Plan` |

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

*   Sans `user_id`, les événements ne sont pas collectés et `device_id` est ignoré. Pour une analyse complète, fournissez également `journey_uuids` et `device_id`.
*   `journey_uuids` est facultatif et ne peut être défini que via les métadonnées. Stripe ne fournit pas de données de campagne ou de Journey, donc transmettez-les lors de la création de la session de paiement si vous souhaitez que les revenus soient attribués à un Journey.
*   `product_id` et `product_name` sont facultatifs. Pushwoosh utilise d'abord les métadonnées. Si l'un ou l'autre est manquant dans les métadonnées, il est pris de Stripe lorsqu'il est disponible. Si aucune des deux sources n'a de valeur, le champ n'est pas stocké.

</Aside>

### Transmission des métadonnées via la session de paiement

Les métadonnées sont transmises lors de la création d'une session de paiement en fonction du type de paiement :

| Type de paiement | Paramètre | Événement Stripe |
|---|---|---|
| Paiement unique (`mode=payment`) | `payment_intent_data[metadata]` | `charge.succeeded` |
| Abonnement (`mode=subscription`) | `subscription_data[metadata]` | `invoice.paid` |

### Priorité des métadonnées lors du traitement

**Pour les abonnements** (événement `invoice.paid`) :

```text
Métadonnées de la facture → si vides → Métadonnées de l'abonnement
```

**Pour les paiements uniques** (événement `charge.succeeded`) :

```text
Métadonnées du prélèvement (de payment_intent_data)
```

## Création d'une session de paiement via l'API Stripe (curl)

##### Paiement unique (`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"
```

##### Abonnement (`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"
```

## Consulter les données

Après une intégration réussie, un nouveau tableau de bord **Finance Overview** apparaît dans la section [Tableaux de bord](/fr/product/statistics-and-analytics/dashboards/). Vous pouvez y consulter les statistiques de revenus bruts et de nouveaux abonnements ventilées par campagnes (Journey).

![Tableau de bord Finance Overview dans les statistiques avec les revenus bruts et les nouveaux abonnements par campagne](/integrations-stripe-integration-6.webp)

Pour des informations plus détaillées, visitez votre tableau de bord Stripe.

## Créer des segments basés sur les paiements

Utilisez les événements Stripe pour créer des segments d'utilisateurs :

1.  Ouvrez **Audience** → **Segments**.
2.  Cliquez sur **Créer un segment** → **Construire un segment**.
3.  Dans **Ajouter un filtre par**, cliquez sur **Événement**.
4.  Sélectionnez un événement Stripe dans la liste déroulante (voir le tableau ci-dessous pour les événements disponibles).
    <Aside type="note">
    Les événements Stripe apparaissent dans la liste une fois l'intégration connectée et les données de paiement reçues.
    </Aside>
5.  Définissez la condition : combien de fois l'événement s'est produit et la période (par ex. au cours des 30 derniers jours, entre deux dates).
6.  Affinez éventuellement le segment par attributs d'événement. Le tableau ci-dessous répertorie les attributs disponibles pour chaque événement.

| Événement | Description | Attributs |
|---|---|---|
| `StripePaymentSucceeded` | Paiement réussi | __amount, __currency, invoice_id, journey_uuids, product_id, product_name, stripe_customer_id, subscription_id |
| `StripeInvoicePaid` | Facture d'abonnement payée | __amount, __currency, journey_uuids, product_id, product_name, stripe_customer_id, transaction_id, transaction_type |
| `StripeSubscriptionCreated` | Abonnement créé | __amount, __currency, interval, journey_uuids, product_id, product_name, status, stripe_customer_id, subscription_id |

![Page des segments d'audience avec les options Créer un segment et Construire un segment](/integrations-stripe-integration-7.webp)

7.  Pour ajouter d'autres événements, ajoutez un autre filtre Événement et choisissez un opérateur (ET ou OU) entre les conditions.

[En savoir plus sur la création de segments](/fr/product/audience-data-and-segmentation/segmentation/create-segments/by-events/).

## Assistant IA ManyMoney

Après une intégration Stripe réussie, l'assistant IA [**ManyMoney**](/fr/product/pushwoosh-ai/ai-assistant/) accède automatiquement aux statistiques de paiement et d'abonnement.

ManyMoney est disponible dans l'interface du tableau de bord. Une fois que vous avez connecté Stripe, les données de paiement sont disponibles pour analyse automatiquement. Aucune configuration supplémentaire n'est requise.

### Ce que ManyMoney peut faire

*   **Analyser les revenus :** répond aux questions sur les revenus, les conversions et l'efficacité des campagnes.
*   **Comparer les périodes :** montre la dynamique des paiements et des abonnements sur différents intervalles de temps.
*   **Identifier les tendances :** détecte les produits et les segments d'audience en croissance et en déclin.
*   **Fournir des recommandations :** suggère des optimisations basées sur les données de paiement.

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

*   Quels revenus la campagne a-t-elle générés le mois dernier ?
*   Comparez les taux de conversion des abonnements entre janvier et février
*   Affichez les statistiques de remboursement

</Aside>