Konfiguration der Stripe Billing-Abläufe
So konfigurieren Sie die Erweiterung für Stripe Billing-Abläufe
Diese Abläufe bestehen aus einem primären Ablauf und mehreren Teilabläufen, die auf kombinierbare Weise zusammenwirken, um die Abo-Verwaltung zu automatisieren. Sie dienen in erster Linie als Katalysator für die Erstellung von vertriebsunterstützenden Workflows, die Salesforce-Prozesse mit Stripe-Abos verbinden. Da es sich um ein nicht verwaltetes Paket handelt:
- Automatisierungsabläufe können geklont oder erweitert werden, um sie an Ihre Geschäftsprozesse anzupassen.
- Einzelne Teilabläufe können als primäre Abläufe für benutzerdefinierte Datensatzauslöser oder -bedingungen wiederverwendet werden.
- Standard-Objekt- und Feldzuordnungen können an Ihre spezifische Implementierung angepasst werden
- Bestehende Automatisierungsabläufe können auch erweitert oder aktualisiert werden, um zusätzliche Preismodelle zu unterstützen
Standardeinstellungen für den Ablauf
Die vordefinierten Abläufe implementieren mehrere wichtige Konfigurationen und Designoptionen, darunter:
- Primäre Objekte: Funktioniert mit Salesforce-
BestellungenundVertrags-Objekten als Kerneinheiten - Objektbeziehung: Bestellungen und Verträge sind miteinander verknüpft, wobei Abo nach der Erstellung mit beiden Objekten zurücksynchronisiert werden
- Verarbeitung von Änderungen: Wenn eine neue
Bestellunginnerhalb desselbenVertragserstellt wird, behandeln die Standardabläufe sie als Änderung des bestehenden Abos - Preisstruktur: Pauschales wiederkehrendes Preismodell
- Auslösemechanismus: Automatisierung, ausgelöst durch die Aktivierung des Salesforce-Objekts
Bestellung - Bearbeitung von Posten: Bestellposten werden automatisch Phasen in Stripe-Abonnementplänen zugeordnet
- Preisreferenzmethode: Erzwingt die Verwendung von
price_anstelle vonid price_, um eine genaue Berichterstattung zu bevorzugendata - Price Source: Standardmäßig
price_synchronisiert mit Salesforceid Standard Price Book Entry(für Custom Pricing kann price_id aus dem Produkt Bestellung oder dem Objekt Ihrer Wahl referenziert werden) - Verarbeitung von Metadaten: Die Übergabe von Metadaten wird von der Klasse „Subscription Scheduler Manager“ gesteuert und kann entweder durch Refactoring dieser Klasse oder durch Hinzufügen einer Aktion „Abo aktualisieren“ im Hauptablauf angepasst werden, um zusätzliche Metadaten zu übergeben.
- Berücksichtigung der Zeitzone/Datumszeit: Alle Datumsfelder sind als Unix-Zeitstempel (in Sekunden) für die Anfrage der Stripe-API formatiert, die standardmäßig auf UTC basieren. Wenn ein zugeordnetes Quellfeld ein Salesforce-Datum (ohne Uhrzeit) ist, ist die Zeit standardmäßig 00:00:00 Uhr UTC (Mitternacht UTC) für dieses Datum. Wenn ein Datums-/Uhrzeitfeld verwendet wird, wird dessen UTC-Äquivalent verwendet.
Implementierung von Core Flow
Auswahl des Stripe-Kontos
Für alle Ablaufvorgänge muss ein Stripe-Konto ausgewählt werden. Der Ablauf Stripe-Abonnementplan erstellen oder aktualisieren, wenn Bestellung aktiviert wird bietet eine einfache, sofort einsatzbereite Methode, bei der mithilfe einer Abfrage ein Stripe-Konto anhand seines Namens gesucht wird.
Für einen robusteren und dynamischeren Ansatz empfehlen wir, ein benutzerdefiniertes Suchfeld aus Ihrer Bestellung oder Ihrem Vertrag-Objekt auf das Stripe_-Objekt zu erstellen. So können Sie direkt im Ablauf auf das jeweilige Konto verweisen.
Unabhängig von der Methode müssen Sie die Salesforce-Datensatz-ID des Datensatzes Stripe_Account__c an die Eingabe des Stripe-Kontos im Abonnementplan-Manager übermitteln.

Rabatte konfigurieren
Mit den Abläufen können Sie Rabatte sowohl auf der Ebene der Abo-Phase als auch auf der Ebene der Abo-Phasenposten mithilfe von zwei vereinfachten Feldern anwenden:
RabattbetragRabattprozentsatz
Wenn Sie für eines dieser Felder einen Wert ungleich Null angeben, erstellt das System automatisch einen neuen Stripe Gutschein mit maximalen Einlösungen, der auf 1 gesetzt ist und wendet ihn auf die entsprechende Phase oder den entsprechenden Posten an.
Hinweis zu Aktualisierungen und Ergänzungen
Wenn Sie einen Aktualisierungs- oder Änderungsvorgang durchführen, erstellt der Ablauf anhand der angegebenen Werte neue Stripe-Gutscheine. Dies dient der Einfachheit und Idempotenz, da der Bereich und die Verwaltung vorhandener Stripe-Gutschein-IDs in Salesforce vermieden werden. Der angegebene Rabattwert wird immer als Gesamtrabatt für diese Phase oder Posten zum Zeitpunkt der Aktualisierung behandelt.
Konsolidierung der Abo-Phase
Eine wichtige Funktion der Automatisierung ist die Möglichkeit, mehrere Salesforce-OrderItems in einer linearen Reihe von Stripe-Abo-Phasen zu konsolidieren. Die API von Stripe erfordert, dass Abo-Phasen diskret und linear sind – eine Phase endet genau zu dem Zeitpunkt, zu dem die nächste beginnt, ohne Lücken oder Überschneidungen.
Salesforce-Bestellungen haben diese Einschränkung nicht. Sie können beispielsweise zwei OrderItems mit sich überschneidenden Servicedaten haben:
- Produkt A: 1. Januar 2025 – 1. Januar 2026
- Produkt B: 1. Juni 2025 – 1. Januar 2026
Die Ablauflogik konsolidiert diese für Stripe automatisch in zwei unterschiedliche, lineare Phasen:
- Phase 1: 1. Januar 2025 bis 1. Juni 2025 (enthält nur Produkt A)
- Phase 2: 1. Juni 2025 – 1. Januar 2026 (enthält Produkt A + Produkt B)
Vorsicht
Phasenkonsolidierung bei Lücken: Die Logik löst einen Fehler aus, wenn eine Lücke zwischen den Phasen erkannt wird.
Eigenschaft stimmt nicht überein: Wenn zwei sich überschneidende Phasen unterschiedliche Eigenschaften haben (z. B. wenn bei einer die Eigenschaft „collection_method” auf „send_invoice” und bei der anderen auf „charge_automatically” gesetzt ist), kann der Ablauf den Konflikt nicht lösen und gibt eine Fehlermeldung aus.
Mengenabweichungen: Wenn sich zwei Phasen mit demselben Produkt überlappen, aber unterschiedliche Mengen aufweisen, gibt der Ablauf einen Fehler aus.
Zusätzliche Einstellungen für Abonnementplan
Sie können mehrere erweiterte Einstellungen im Abschnitt „Zusätzliche Einstellungen für den Abonnementplan“ der Ablaufaktion konfigurieren.
- ID des verbundenen Stripe-Kontos: Wenn Sie diese Anfrage im Auftrag eines verbundenen Kontos durchführen, geben Sie hier die Stripe-ID an (z. B.
acct_).. . . - Idempotenz-Schlüssel: Um idempotente Anfragen zu gewährleisten, können Sie einen eindeutigen Schlüssel angeben. Es wird empfohlen, die Flow-Interview-GUID zu verwenden:
{!$Flow..InterviewGUID} - Billing-Sync-Ereignisverarbeitung ignorieren: Setzen Sie diesen Wert auf
wahr, um zu verhindern, dass der Importprozess für Stripe Billing-Datenereignisse für Ereignisse ausgeführt wird, die durch diesen Vorgang erzeugt wurden. Dies ist nützlich, um rekursive Schleifen zu vermeiden, wenn Sie Auslöser für die benutzerdefinierten Objekte von Stripe Billing Data eingerichtet haben. - DML-Speicherung nach Aufrufen durchführen: Dieses Kennzeichen steuert, ob der Ablauf nach Abschluss der Aufrufe Datenbankspeicherungen (z. B. Erstellen von
Sync_-Datensätzen, Upserting von Stripe Billing-Objekten) festschreibt.Log_ _ c

Einrichtung und Aktivierung der Abläufe
Das Paket enthält Beispiel-Ablaufvorlagen, die standardmäßig deaktiviert sind. Diese Abläufe dienen als Ausgangspunkt und sind nicht zwangsläufig für alle geschäftlichen Anforderungen geeignet. Sie können sie direkt aktivieren oder klonen, um die Logik anzupassen. Um einen Ablauf zu aktivieren, navigieren Sie zu Einrichtung → Abläufe, wählen Sie den datensatzbasierten Auslöser-Ablauf aus und klicken Sie auf Aktivieren.
Datensatzgesteuerte Abläufe
Diese Abläufen werden automatisch ausgelöst, basierend auf Änderungen von Datensätzen in Salesforce:
Stripe-Abonnementplan erstellen oder aktualisieren, wenn Bestellung aktiviert wird
Dies ist der primäre Ablauf. Wenn eine Bestellung aktiviert wird, wird entweder ein neuer Stripe-Abonnementplan erstellt oder ein bestehender aktualisiert.
Synchroner Pfad: Der Ablauf prüft zunächst, ob der mit der
BestellungverknüpfteVertragbereits über eine Stripe Abonnementplan-ID verfügt. Wenn dies der Fall ist, kopiert er diese ID in den Datensatz derBestellungund bereitet sie auf eine Aktualisierung vor.Asynchroner Pfad: Der Ablauf läuft asynchron (zur Durchführung des API-Aufrufs) und prüft, ob die
Bestellungeine Abonnementplan-ID hat.- Wenn JA, wird der Teilablauf
Stripe-Abonnementplan aus Bestelländerung aktualisierenaufgerufen (und als Änderung behandelt). - Wenn NEIN, wird der Teilablauf
Stripe-Abonnementplan aus Bestellung erstellenaufgerufen.
- Wenn JA, wird der Teilablauf
Implementierungshinweis: Bevor Sie die Aktivierung durchführen, müssen Sie im asynchronen Pfad das Abfrageelement „Stripe-Konto aufrufen“ aktualisieren, um das gewünschte Stripe-Konto abzurufen.
Stripe-Abonnementplan aktualisieren, wenn OrderItem aktualisiert wird
Wird ausgelöst, wenn die Menge, das ServiceDate oder das EndDate eines OrderItem-Eintrags geändert wird.
- Asynchroner Pfad: Der Ablauf prüft, ob der übergeordneten Bestellung ein Stripe-Abonnementplan zugeordnet ist. Wenn dies der Fall ist, wird der Stripe-Abonnementplan aus dem Teilablauf „Stripe-Abonnementplan aus Originalbestellung aktualisieren“ aufgerufen, um die Änderungen zu synchronisieren.
Produkt2 synchronisieren, wenn Stripe-Produkt aktualisiert wird
Wenn ein stripeGC__Product__c-Eintrag in Salesforce (über die Datensynchronisierung von Stripe) aktualisiert wird, wird durch diesen Ablauf ein übereinstimmender Salesforce Product2-Eintrag aktualisiert.
- Synchroner Pfad: Ruft sofort den Teilablauf „Produkt2 aus Stripe-Produkt abrufen oder erstellen“ auf.
PricebookEntry synchronisieren, wenn ein Stripe-Preis aktualisiert oder erstellt wird
Wenn ein stripeGC__Price__c-Datensatz aktualisiert wird, wird durch diesen Ablauf ein übereinstimmender Salesforce PricebookEntry-Datensatz aktualisiert.
- Synchroner Pfad: Ruft sofort den Teilablauf „PricebookEntry aus Stripe-Preis abrufen oder erstellen“ auf.
Automatisch gestartete Abläufe (Teilabläufe)
Diese Abläufe sind die Kernbausteine, die von den datensatzgesteuerten Abläufen verwendet werden. Sie sind standardmäßig aktiviert, können aber geklont und geändert werden. Wenn Sie sie anpassen, denken Sie daran, die datensatzgesteuerten Abläufe zu aktualisieren, um Ihre neuen, geklonten Versionen aufzurufen.
Stripe-Abonnementplan aus Bestellung erstellen: Verarbeitet die Logik zum Erstellen eines neuen Abonnementplans. Es ruft das zugehörige Konto (zur Verwendung als Stripe-Kunde/Kundin) und die OrderItems (zum Erstellen der Phasen) ab.Stripe-Abonnementplan aus „Bestellung ändern“ aktualisieren: Verarbeitet Änderungen an Abos. Dieser Ablauf verwendet den Aktualisierungstyp „Ändern“ in der AktionStripe-Abonnementplan Manager.Abonnementplan von Stripe aus der ursprünglichen Bestellung aktualisieren: Verarbeitet Aktualisierungen einer ursprünglichen Bestellung (z. B. wenn einOrderItemgeändert wird). Dieser Ablauf verwendet den Aktualisierungstyp „Ersetzen“ und sendet das gesamte Bild des Abos erneut an Stripe.Stripe-Abonnementplan von Bestellung stornieren: Storniert den mit einerBestellungverknüpften Abonnementplan.Stripe-Kundin/Kunden aus Konto abrufen oder erstellen: Ein wiederverwendbarer Dienstprogrammablauf, der eine/n Stripe-Kundin/Kunden basierend auf einem Salesforce-Kontoeintragfindet oder erstellt.Abrufen oder Erstellen.Produkt- und Preisabläufe: Dienstprogrammabläufe (…. . Stripe-Produkt aus Product2, .usw.), die die bidirektionale Synchronisierung von Produkt- und Preisdaten verarbeiten.. . Stripe-Preis aus PricebookEntry