Gather Validate Plan Sync + Save

The single path for all commerce operations. Every subscription mutation flows through these 4 stages — collect current state, apply business rules, compute the change set, then write to Stripe and persist locally.

1. Gather collect current state 2. Validate apply business rules 3. Plan compute change set 4. Sync + Save write Stripe + persist
changes_calculator pipeline — the unified path for all subscription mutations.
Dashboard
Customer UI

Self-service subscription management — upgrades, downgrades, cancellations. All on-session payments originate here.

iAPI Gateway
API access

Internal service-to-service calls for subscription operations. The largest programmatic surface into commerce.

Catalog
Product definitions

Plan and feature configuration that drives pricing and availability. Defines what can be purchased and at what price.

CF Queues
Registrar domains

Async domain subscription events from the registrar system. Domain purchases flow through the same pipeline as all other subscriptions.

PackageStatusDescription
cfstripe/SimplifiedStripe API layer — fewer direct calls after pipeline unification.
objectproducts/ChangedOPE state management for product-level subscriptions.
entitlements/SimplifiedEntitlement provisioning calls — sync-only after PDE.
provision/SimplifiedProvisioning orchestration after subscription changes.
probation/DeletedInterim state while payment resolved — eliminated by PDE.
SystemRole
PostgreSQLSubscription state, object products, and pricing records. The local source of truth for what customers own.
RedisCache and rate limiting for pipeline operations.
StripeHeaviest writes — subscriptions, invoices, payment intents. 126 distinct API calls across the pipeline. Also an external system.
Entitlements APIFeature provisioning sync after subscription state changes.
PGQ → KafkaEvent fan-out to ~50 downstream services. Every subscription mutation produces events.
Pipeline Unification

All subscription changes through one path — eliminating the multiple code paths that produced different behavior for the same operation. Five paths become one.

Stripe Simplification

Fewer direct Stripe calls as operations consolidate through the unified pipeline. Reduces the 126-touchpoint surface area.

Probation Removal

Interim state no longer needed with confirm-then-commit. The entire probation/ package is deleted. PDE makes rollback unnecessary.