Configuration des flux Stripe Billing
Découvrez comment configurer l’extension des flux Stripe Billing
Ces flux se composent d’un flux principal et de plusieurs sous-flux qui fonctionnent ensemble de manière modulable afin d’automatiser la gestion des abonnements. Ils servent principalement de catalyseur pour créer des workflows d’aide à la vente qui relient les processus Salesforce aux abonnements Stripe. Comme il s’agit d’un package non géré :
- Les flux d’automatisation peuvent être clonés ou étendus pour s’adapter à vos processus d’entreprise
- Des sous-flux individuels peuvent être réutilisés en tant que flux principaux pour des déclencheurs ou des conditions d’enregistrement personnalisés
- Les mappages d’objets et de champs par défaut peuvent être modifiés pour s’adapter à votre implémentation spécifique
- Les flux d’automatisation existants peuvent également être étendus ou mis à jour pour prendre en charge des modèles de tarification supplémentaires.
Paramètres de configuration de flux par défaut
Les flux préconfigurés implémentent plusieurs configurations et choix de conception clés, notamment :
- Objets principaux : Fonctionne avec les objets Salesforce
OrdersetContracten tant qu’entités principales. - Relation entre les objets : les commandes et les contrats sont liés, les détails de l’abonnement étant synchronisés avec les deux objets après leur création.
- Gestion des modifications : lorsqu’un nouveau paramètre
Orderest créé dans le même champContract, les flux par défaut le traitent comme une modification à l’abonnement existant - Structure tarifaire : modèle tarifaire forfaitaire récurrent
- Mécanisme de déclenchement : automatisation déclenchée par l’activation de l’objet
OrderSalesforce - Gestion des lignes de commande : les articles commandés sont automatiquement associés aux phases des planifications d’abonnement Stripe.
- Méthode de référence de prix : Impose d’utiliser
price_au lieu deid price_pour favoriser un reporting précisdata - Source du prix : par défaut
price_synchronisé avec l’id entrée du livre de prix standardSalesforce (pour une tarification personnalisée, le price_id peut être référencé à partir du produit commandé ou de l’objet de votre choix) - Gestion des métadonnées : le transfert des métadonnées est contrôlé par la classe Subscription Scheduler Manager et peut être personnalisé soit en refactorisant cette classe, soit en ajoutant une action de mise à jour de l’abonnement dans le flux principal afin de transférer des métadonnées supplémentaires.
- Considérations relatives au fuseau horaire/à la date et à l’heure : tous les champs de date sont formatés sous forme d’horodatages Unix (en secondes) pour la requête API Stripe, qui sont intrinsèquement basés sur l’UTC. Si un champ source mappé est une date Salesforce (sans heure), le système définit par défaut l’heure à 00:00:00 UTC (minuit UTC) pour cette date. Si un champ DateTime est utilisé, son équivalent UTC est utilisé.
Mise en œuvre du Core Flow
Sélection de compte Stripe
Toutes les opérations de flux nécessitent la sélection d’un compte Stripe. Le paramètre Create or Update Stripe Subscription Schedule when Order is Activated flow fournit une méthode simple prête à l’emploi, en utilisant une requête pour trouver un compte Stripe grâce à son Name.
Pour une approche plus robuste et dynamique, nous vous recommandons de créer un champ de recherche personnalisé à partir de votre Order ouContract à l’objetStripe_. Cela vous permet de référencer le compte spécifique directement dans le flux.
Quelle que soit la méthode, vous devez fournir l’ID d’enregistrement Salesforce de l’enregistrement Stripe_Account__c à l’entrée du compte Stripe dans le gestionnaire de calendrier d’abonnement.

Configuration des remises
Les flux vous permettent d’appliquer des remises à la fois au niveau de la phase d’abonnement et de l’élément de la phase d’abonnement à l’aide de deux champs simplifiés :
Discount Amount OffDiscount Percent Off
Lorsque vous fournissez une valeur non nulle pour l’un ou l’autre de ces champs, le système crée automatiquement un nouveau bon de réduction Stripe avec le paramètre Max Redemptions défini à 1 et l’applique à la phase ou à l’élément correspondant.
Note sur les mises à jour et les modifications
Lorsque vous effectuez une mise à jour Update ou une modification Amend, le flux crée de nouveaux bons de réduction Stripe en fonction des valeurs fournies. Ceci est fait dans un souci de simplicité et d’idempotence, car cela évite d’avoir à suivre et à gérer les identifiants de coupon Stripe existants dans Salesforce. La valeur de remise fournie est toujours considérée comme la remise totale pour cette phase ou cet article au moment de la mise à jour.
Consolidation de la phase d’abonnement
L’une des principales fonctionnalités de l’automatisation est sa capacité à consolider plusieurs applications Salesforce.OrderItems en une série linéaire de phases d’abonnement Stripe. L’API Stripe exige que les phases d’abonnement soient discrètes et linéaires : une phase se termine au moment exact où la suivante commence, sans interruption ni chevauchement.
Les commandes Salesforce ne sont pas soumises à cette contrainte. Par exemple, vous pourriez avoir deux OrderItems avec des dates de service qui se chevauchent :
- Produit A : 1er janvier 2025 - 1er janvier 2026
- Produit B : 1er juin 2025 - 1er janvier 2026
La logique de flux regroupe automatiquement ces éléments en deux phases distinctes et linéaires pour Stripe :
- Phase 1 : du 1er janvier 2025 au 1er juin 2025 (comprend uniquement le produit A)
- Phase 2 : 1er juin 2025 - 1er janvier 2026 (comprend le produit A + le produit B)
Mise en garde
Avertissement concernant la consolidation des phases en cas d’écarts : le programme génère une erreur si un écart est détecté entre les phases.
Incompatibilité des propriétés : si deux phases qui se chevauchent ont des propriétés différentes (par exemple l’une a collection_method défini sur send_invoice et l’autre sur charge_automatically), le flux ne peut pas résoudre le conflit et renvoie une erreur.
Incohérences de quantité : si deux phases avec le même produit se chevauchent mais ont des quantités différentes, le flux générera une erreur.
Paramètres supplémentaires de planification d’abonnement
Vous pouvez configurer plusieurs Paramètres avancés dans la section paramètres de planification d’abonnement supplémentaires de l’action de flux.
- Stripe Connected Account ID : si vous effectuez cette requête au nom d’un compte connecté, fournissez ici l’ID Stripe correspondant (par exemple
acct_).. . . - Clé d’idempotence : pour garantir l’idempotence des requêtes, vous pouvez fournir une clé unique. L’approche recommandée consiste à utiliser le GUID de l’entretien de flux :
{ !$Flow..InterviewGUID} - Ignorer le traitement des événements de synchronisation de facturation : définissez cette option sur
truepour empêcher le processus d’importation des événements Stripe Billing Data de s’exécuter pour les événements générés par cette opération. Cela est utile pour éviter les boucles récursives si vous avez des déclencheurs sur les objets personnalisés Stripe Billing Data. - Effectuer une sauvegarde DML après les appels : cet indicateur contrôle si le flux valide les opérations de base de données (par exemple la création de
Sync_, ou la mise à jour d’objets Stripe Billing) une fois les appels terminés.Log_ _ c

Configuration et activation des flux
Le package comprend des modèles de flux par défaut qui sont désactivés. Ces flux sont destinés à servir de point de départ et ne sont pas garantis de répondre à tous les besoins commerciaux. Vous pouvez les activer directement ou les cloner pour personnaliser la logique. Pour activer un flux, accédez à Configuration → Flux, sélectionnez le flux de déclenchement d’enregistrement, puis cliquez sur Activer.
Flux déclenchés par des enregistrements
Ces flux se déclenchent automatiquement en fonction des modifications apportées aux enregistrements dans Salesforce :
Create or Update Stripe Subscription Schedule when Order is Activated
Il s’agit du flux primaire. Lorsqu’un paramètre Order est activé, il crée soit un nouvelle planification d’abonnement Stripe, soit met à jour un enregistrement existant.
Chemin synchrone : le flux vérifie d’abord si le
Contractassocié à la valeurorderdispose déjà d’un ID de planification d’abonnement Stripe. Si c’est le cas, il copie cet ID dans l’enregistrementOrder, le préparant pour une mise à jour.Chemin asynchrone : le flux s’exécute de manière asynchrone (pour effectuer l’appel à l’API) et vérifie si le paramètre
Ordera un ID de planification d’abonnement.- Si OUI, il appelle le sous-flux
Update Stripe Subscription Schedule from Change Order, (en le traitant comme un amendement). - Si NON, il appelle le sous-flux
Create Stripe Subscription Schedule from Order.
- Si OUI, il appelle le sous-flux
Remarque concernant la mise en œuvre : avant l’activation, vous devez mettre à jour l’élément de requête Get Stripe Account dans le chemin asynchrone afin de récupérer le compte Stripe que vous souhaitez utiliser.
Update Stripe Subscription Schedule when OrderItem is Updated
Se déclenche lorsque la quantité, la date de service ou la date de fin d’un enregistrement OrderItem est modifiée.
- Chemin asynchrone : le flux vérifie si la commande parent est associée à une planification d’abonnement Stripe. Si c’est le cas, il appelle le sous-flux « Mettre à jour la planification d’abonnement Stripe à partir de la commande d’origine » pour synchroniser les modifications.
Create or Update Stripe Subscription Schedule when Order is Activated flow
Lorsqu’un enregistrement stripeGC__Product__c est mis à niveau dans Salesforce (via la synchronisation données de Stripe), ce flux perturbe un enregistrement Salesforce Product2 correspondant.
- Chemin synchrone : appelle immédiatement la sous-séquence Get ou Create Product2 de Stripe Product.
Sync PricebookEntry when Stripe Price is Upserted
Lorsqu’un enregistrement stripeGC__Price__c est mis à niveau, ce flux perturbe un enregistrement Salesforce PricebookEntry correspondant.
- Chemin synchrone : appelle immédiatement la fonction Get ou Create PricebookEntry à partir du sous-flux Stripe Price.
Flux lancés automatiquement (sous-flux)
Ces flux constituent les éléments de base utilisés par les flux déclenchés par des enregistrements. Ils sont activés par défaut, mais peuvent être clonés et modifiés. Si vous les personnalisez, n’oubliez pas de mettre à jour les flux déclenchés par des enregistrements afin qu’ils appellent vos nouvelles versions clonées.
Create or Update Stripe Subscription Schedule when Order is Activated flow: gère la logique de création d’une nouvelle planification d’abonnement. Ce paramètre récupère le compte associé (à utiliser en tant que client Stripe) et les OrderItems (pour créer les phases).Mettre à jour la planification d'abonnement Stripe à partir de l’ordre de modification: gère les modifications de l’abonnement. Ce flux utilise le type de mise à jour Modifier dans l’action dugestionnaire de planification d'abonnement.Mettre à jour une planification d’abonnement Stripe à partir de la commande d’origine: gère les modifications d’une commande d’origine (par exemple lorsqu’unOrderItemest modifié). Ce flux utilise le type de mise à jour Replace et renvoie l’intégralité de la configuration d’abonnement à Stripe.Cancel Stripe Subscription Schedule from Order: annule le planification d’abonnement associé à un objetOrder.Get or Create Stripe Customer from Account: un flux utilitaire réutilisable qui recherche ou crée un client Stripe à partir d’unAccountSalesforce.Get or Create.Flux de produits et de prix : flux utilitaires (…. . Stripe Product from Product2, .etc.) qui gèrent la synchronisation bidirectionnelle des données produit et prix.. . Stripe Price from PricebookEntry,