Subscriptions

Manages subscription lifecycle, billing cycles, and plan management for recurring revenue streams.

Domain Subdomain

Overview

The Subscriptions Domain is responsible for managing all aspects of subscription-based services within our e-commerce platform. It is part of the E-Commerce E-Commerce Domain v1.0.0 The E-Commerce domain is the core business domain of FlowMart, our modern digital marketplace. This domain orchestrates ... Owner dboyne , full-stack Map Repo View docs domain and manages entities like BillingProfile BillingProfile Entity v1.0.0 Stores billing-related contact information and preferences for a customer, often used for invoices and communication. View docs and SubscriptionPeriod SubscriptionPeriod Entity v1.0.0 Represents a single billing cycle or interval within a subscription's lifetime. View docs .

This domain orchestrates the User Cancels Subscription User Cancels Subscription Flow v1.0.0 Flow for when a user has cancelled a subscription Owner subscriptions-management View flow View docs and Subscription Renewal Flow Subscription Renewal Flow Flow v1.0.0 Business flow for automatic subscription renewals and related processes Owner subscriptions-management View flow View docs flows for subscription lifecycle management.

Core Capabilities

  • Subscription Lifecycle: Create, update, pause, resume, and cancel subscriptions
  • Billing Cycles: Manage monthly, quarterly, and annual billing cycles
  • Plan Management: Define and manage subscription plans and pricing
  • Trial Periods: Support free trials and promotional periods
  • Usage-based Billing: Track and bill based on usage metrics

Services

BillingService

The Billing Service Billing Service Service v0.0.1 Manages billing cycles, invoice generation, and payment scheduling for subscriptions Publishes InvoiceGenerated , SubscriptionPaymentDue Subscribes PaymentProcessed APIs GraphQL Owner dboyne Map Repo View docs handles billing cycle calculations, invoice generation, and payment scheduling. It coordinates with the Payment Payment Domain v0.0.1 Domain that contains payment related services and messages for processing financial transactions. Owner dboyne Map View docs domain and Payment Service Payment Service Service v0.0.1 Service that handles payments Publishes PaymentProcessed Subscribes PaymentInitiated Owner dboyne Map Repo View docs for processing recurring payments.

Cross-Domain Integration

The Subscriptions domain integrates closely with:

Domain Events

Key events in the Subscriptions domain:

  • SubscriptionPaymentDue - Triggers payment collection
  • PlanMigrationCompleted - Subscription plan changed

Bounded context

Messages for this domain

Sends messages (2)

Quickly find the message you need by searching for the name, type, or summary.
NameVersionTypeSummary
Invoice Generated
v0.0.1eventEmitted when an invoice is generated for a subscription
Subscription Payment Due
v0.0.1eventEmitted when a subscription payment is due for collection

Receives messages (1)

Quickly find the message you need by searching for the name, type, or summary.
NameVersionTypeSummary
Payment Processed
v1.0.0eventEvent is triggered after the payment has been successfully processed