RedChurn

Configuration RevenueCat

RedChurn s'appuie sur RevenueCat. Vous conservez votre paywall, vos droits et votre facturation existants. RedChurn écoute les événements webhook et exécute les flux de rétention par e-mail, in-app, ou les deux.

Avant de commencer

Vous devez disposer d'un projet RevenueCat avec au moins une app iOS ou Android configurée. RedChurn ne remplace pas RevenueCat. Il ajoute la récupération automatique des paiements, la sauvegarde à l'annulation et le win back sur les canaux de votre choix.

Créez d'abord votre app dans le tableau de bord RedChurn. Lors de l'onboarding, RedChurn génère une URL webhook unique et un secret d'autorisation pour votre app. Vous les collerez dans RevenueCat.

  • Un projet RevenueCat avec des abonnements actifs
  • Un compte RedChurn avec une app créée
  • Point de terminaison webhook HTTPS (fourni par RedChurn)
  • Compte Resend connecté si vous souhaitez des flux e-mail dès le premier jour
  • E-mails des abonnés transmis à RevenueCat depuis votre app (requis pour la récupération par e-mail)

Transmettre les e-mails des abonnés à RevenueCat

RedChurn envoie les e-mails de récupération à l'adresse que RevenueCat connaît pour chaque abonné. RevenueCat ne déduit pas les e-mails depuis le store. Votre app doit les définir après la connexion.

Ajoutez une ligne dans votre app mobile lorsque l'utilisateur se connecte. Une fois déployée, les nouveaux webhooks incluent l'e-mail et RedChurn peut livrer automatiquement. Les abonnés existants recevront l'e-mail lors de leur prochaine ouverture de l'app après la mise à jour.

Swift (iOS) · swift
import RevenueCat

// After login, when you know the subscriber email
Purchases.shared.attribution.setEmail(user.email)
React Native · tsx
import Purchases from 'react-native-purchases'

// After login, when you know the subscriber email
await Purchases.setEmail(user.email)
Kotlin (Android) · kotlin
import com.revenuecat.purchases.Purchases

// After login, when you know the subscriber email
Purchases.sharedInstance.setEmail(user.email)

Ce que RedChurn lit depuis RevenueCat

RedChurn réagit aux événements du cycle de vie des abonnés transmis via les webhooks RevenueCat. Chaque type d'événement correspond à l'un des trois flux de rétention.

Les événements de problème de facturation déclenchent la récupération des paiements. Les événements d'annulation et d'expiration alimentent la sauvegarde à l'annulation et le win back. Les événements de renouvellement confirment les abonnés récupérés ou réactivés afin que l'impact MRR s'affiche correctement dans votre tableau de bord.

  • BILLING_ISSUE → récupération des paiements (paiement échoué, relance)
  • CANCELLATION → flux de sauvegarde à l'annulation lorsqu'un abonné initie une annulation
  • EXPIRATION → win back pour les abonnés déjà churnés
  • RENEWAL / réactivation → suivi des résultats lorsque RedChurn a envoyé un e-mail, une push ou un message in-app entre la détection et la récupération (voir docs/billing-logic.md)

Configuration du webhook

Ouvrez votre tableau de bord RevenueCat : Project → Integrations → Webhooks → Add new configuration.

Copiez l'URL webhook depuis l'onboarding RedChurn ou depuis Tableau de bord → Apps → Intégrations. L'URL suit ce modèle et doit utiliser HTTPS :

text
https://app.redchurn.io/api/webhooks/rc/{your-app-slug}

En-tête Authorization

RevenueCat envoie un en-tête Authorization sur chaque POST webhook. RedChurn vérifie cet en-tête pour rejeter les requêtes falsifiées.

Copiez le secret webhook depuis RedChurn et collez-le dans le champ Authorization header de RevenueCat. Collez uniquement la valeur brute du secret. N'ajoutez pas de préfixe Bearer sauf si l'interface RevenueCat l'exige explicitement pour votre configuration.

Environnement, app et événements

Configurez les environnements Production et Sandbox pour tester les flux avant le lancement. Sélectionnez votre app ou All apps in the project selon la structure de votre projet RevenueCat.

Activez tous les événements (recommandé). RedChurn filtre ce dont il a besoin côté serveur. Restreindre les événements trop étroitement peut empêcher les flux de se déclencher.

  • Environment : Production et Sandbox
  • App : votre app ou All apps in the project
  • Events : All events (recommended)

Vérifier la connexion

Après avoir enregistré le webhook dans RevenueCat, retournez dans RedChurn et cliquez sur Test connection. RedChurn envoie une charge utile de test et confirme que le point de terminaison répond correctement.

Si le test réussit mais qu'aucun événement live n'est encore arrivé, déclenchez un achat sandbox ou un problème de facturation dans RevenueCat. Le tableau de bord passe à Connected dès la réception du premier webhook authentique.

Importer les événements passés (optionnel)

Les webhooks ne couvrent que les événements à partir du moment où l'intégration devient active. Pour remplir l'historique des abonnements et synchroniser le catalogue offerings/paywalls dans Red Center, ajoutez votre ID projet RevenueCat et une clé API secrète V2 dans Tableau de bord → Apps → Intégrations → API RevenueCat.

Cette étape est optionnelle. La plupart des équipes démarrent uniquement avec les webhooks live et ajoutent la clé API plus tard pour les cohortes historiques ou les libellés d'offerings dans le cockpit.

Créez la clé dans RevenueCat : Paramètres projet → Clés API → + Nouvelle clé secrète → Version V2. Les permissions en lecture suffisent — RedChurn n'écrit jamais dans RevenueCat.

API RevenueCat v2 — permissions requises

Activez toutes les permissions ci-dessous sur la même clé secrète V2. Dans le dashboard RevenueCat, elles se trouvent sous Customer information et Project configuration. Lecture seule uniquement.

Si la sync catalogue échoue avec une erreur d'autorisation sur les offerings, il manque les permissions Project configuration. Si l'import historique liste les clients mais ne charge pas les événements, activez Purchases (lecture) ou contactez le support RevenueCat pour activer l'export d'événements clients sur votre projet.

  • Customer information → Customers (lecture) — lister les abonnés lors de l'import historique
  • Customer information → Subscriptions (lecture) — détecter les abonnements actifs avant de récupérer les événements
  • Customer information → Purchases (lecture) — importer INITIAL_PURCHASE, RENEWAL, CANCELLATION et événements associés
  • Project configuration → Offerings (lecture) — liste des offerings, flag offering courante, catalogue paywalls, statut Live/Legacy dans Red Center
  • Project configuration → Packages (lecture) — packages de chaque offering (requis pour expand=items.package)
  • Project configuration → Products (lecture) — noms produits, durée d'essai et période de facturation dans les tableaux Red Center

Commencer avec l'e-mail uniquement

Vous n'avez pas besoin du SDK pour lancer la récupération des paiements par e-mail. Suivez le guide de configuration Resend, vérifiez votre domaine d'envoi, puis activez les séquences e-mail sous Scenarios → Email.

Lorsque RevenueCat signale un problème de facturation, RedChurn envoie des e-mails de récupération depuis votre domaine selon le calendrier que vous configurez. Aucune release d'app requise.

Ajouter les flux in-app plus tard

La sauvegarde à l'annulation, la relance in-app des paiements et les invites win back nécessitent le SDK React Native. Installez-le une fois, passez votre clé SDK et l'App User ID RevenueCat, et tous les textes et offres restent modifiables depuis le tableau de bord.

Consultez la documentation du SDK React Native pour l'installation et les trois scénarios in-app.

Ce qui reste inchangé

RedChurn est en lecture seule sur les données de facturation RevenueCat. Il ne modifie pas les droits, ne traite pas les remboursements et ne change pas la logique de votre paywall. Votre app continue de fonctionner normalement si RedChurn est temporairement indisponible.

RevenueCat Paywalls, Offerings et CustomerInfo continuent de fonctionner exactement comme avant. RedChurn ajoute uniquement l'automatisation de la rétention par-dessus.

Dépannage

Si les événements n'arrivent pas, vérifiez que l'URL webhook est en HTTPS, que le secret d'autorisation correspond exactement, et que l'environnement RevenueCat correspond à votre achat de test (Sandbox vs Production).

Si le test de connexion réussit mais que les flux ne se déclenchent pas, confirmez que le flux concerné est activé dans le tableau de bord RedChurn et que Resend est connecté pour les canaux e-mail.

  • Erreurs 401 : secret d'autorisation incorrect
  • Aucun événement dans le tableau de bord : mauvais environnement ou filtre d'app dans RevenueCat
  • E-mail non envoyé : domaine Resend non vérifié ou flux désactivé
  • In-app non affiché : SDK non installé ou App User ID non défini
  • Échec sync catalogue (offerings:read) : recréez la clé V2 avec toutes les permissions Project configuration en lecture listées ci-dessus
  • Import historique sans événements : activez Purchases (lecture) ou demandez au support RevenueCat d'activer l'export d'événements clients