Broadleaf Microservices
  • v1.0.0-latest-prod

Role in the Ecosystem

The Billing Service serves a dual purpose:

  • Manages subscriptions' lifecycle in various flows

  • Serves as a billing orchestrator for subscription payments

This page discusses other services and integrations necessary to harness this service’s capabilities.

For a broader view of the entire subscription ecosystem, see Subscriptions Ecosystem.

Billing Service Context Diagram
Figure 1. Context Diagram showing relationships with other services

Details of integrations' roles:

  • Cart Operations Service

    • Kicks off the flow by creating an order from a checked-out cart

    • Does not directly interface with Billing

  • Order Operations Service

    • Creates subscriptions for orders that completed check out.

    • CSRs manage the subscription along with the order’s lifecycle

  • Subscription Operations Service

    • Manages complex state transitions, sandboxed modifications (edits, upgrades, downgrades, cancellations), locking mechanisms, and the calculation of prorated prices and estimated future payments.

    • Operations performed in the Subscription Operations Service (like creating a new subscription or modifying an existing one) typically result in the generation of `BillingEvent`s which are then processed by the Billing Service’s scheduled jobs.

  • Payment Transaction Service

    • Provides Saved Payment Methods to use for payments

    • Executes AuthAndCapture requests for a subscription

    • Executes Refund requests for a subscription

    • Tip: Start exploring payment integrations here.

  • Tax Provider

    • Calculates taxes for a payment

    • Tip: To learn more about tax integration options, see the Tax page.

  • Catalog Service

    • Provides SKU to Entitlement mapping to persist the effects of subscription changes onto Entitlements

  • Entitlement Service

    • Grants and revokes entitlements based on subscription changes