All Classes and Interfaces
Class
Description
Contains street address fields for payment purposes
The street address for a physical location.
Deprecated.
The system generally expects to programmatically assign ids
Deprecated.
Use
BillingTenantJpaTracking
insteadDeprecated.
Use
com.broadleafcommerce.data.tracking.core.TenantTrackable insteadDeprecated.
Use
com.broadleafcommerce.data.tracking.jpa.filtering.JpaTrackableRepository
insteadDeprecated.
Deprecated.
Use
com.broadleafcommerce.data.tracking.core.TrackableRepository insteadOverride out-of-the-box audit mapping to set updater value as well during create (non-null
fields)
Scheduled Job listener responsible for starting the Subscription Billing Job to bill
subscriptions on or past their due date.
A Billing version of
SandboxJpaTracking.Base auto configuration that does not necessarily apply to a particular area
Common configuration for billing caching.
Properties that influence cache settings for the billing service
Properties that influence cache estimated size settings for the service
Properties that influence cache weight settings for the service.
Auto-configuration for billing caching using Caffeine as the underlying cache implementation.
Configuration for engaging default Broadleaf support for Ehcache in the Billing service.
Represents a specific instance of billing a user for a
Subscription.Contains street address fields for a
BillingEvent.BillingEventAddressRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Represents a price adjustment to the original price on a
BillingEvent.BillingEventAdjustmentRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
This is a container for a
BillingEventDTO and a list of RefundEventWithDetailsRepresents a specific line item of a
BillingEventRepresents a price adjustment to a
line item.BillingEventItemAdjustmentRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
BillingEventItemRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
This is a container for a
BillingEventItem, a list of BillingTaxDetail, and a
list of BillingEventItemAdjustmentA payment associated with a
BillingEvent.This stores a summary of results of processing a payment.
BillingEventPaymentRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
BillingEventPaymentService<P extends BillingEventPayment,Q extends BillingEventPaymentWithEvent,R extends BillingEventDTO,S extends BillingEventPaymentWithTransaction>
This is a container for a
BillingEventPayment and a BillingEventThis is a container for a
BillingEventPayment and a list of
PaymentTransactionDetailBillingEventPricingService<P extends BillingEventDTO,Q extends BillingEvent,R extends BillingEventAdjustment,S extends BillingEventItemWithTaxDetails,T extends BillingEventPaymentWithTransaction>
BillingEventRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
BillingEventService<P extends BillingEvent,Q extends BillingEventDTO,R extends CreateBillingEventRequest>
This is the entry point for the billing process.
Map legacy pubsub topic declarations to spring cloud stream
BillingJobService<P extends BillingProcessingRequest,R extends BillingEventPayment,S extends InitializeBillingProcessingRequests>
A distinct Billing version of
JpaBasicAudit that differs from
the original in column names and their non-nullability to support backwards-compatibility with
legacy BillingServices versions.This is the main DTO used throughout the Billing Job to transfer information about payment
methods, transactions, their results, and more.
Records the final result of the billing processing requests and routes the request to event
payment or refund event updater.
Receives the newly generated billing processing requests and adds the required payment
information for each request.
This is a container for a
BillingProcessingRequest and a BillingEventDTOThis is an all-encompassing container for a
BillingProcessingRequest, a
BillingEventPaymentWithEvent, a RefundDetailsWithRefundAndBillingEvent, a
PaymentTransactionDetail, and a BillingEventDTO.This is a container for a
BillingProcessingRequest and a BillingEventPaymentThis is a container for a
BillingProcessingRequest and a RefundEventDetailBillingProcessRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
BillingProcessRequestService<P extends BillingProcessingRequest,Q extends BillingProcessingRequestWithFullDetails>
Represents a schedule and tracking of retries for payment or refund operations
BillingRetryScheduleRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Deprecated.
Deprecated.
The default operations processing location was moved to *
SubscriptionOperationServices.
This object contains information about tax as it applies to a particular
BillingEventItem.BillingTaxDetailRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
A Billing version of
TenantJpaTracking.Describes details for access & charges in the current period in which the cancellation is being
requested/executed.
Describes properties declaring what to do if the subscription has terms and/or discounts.
Endpoint for interacting with the Cancellation Policy
CancellationPolicyRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Repository layer for interacting with
JpaCancellationPolicyService layer for interacting with
CancellationPolicyValidations for
CancellationPolicyA request DTO that provides the id of the subscription to be cancelled and the reason to cancel
Provider used to retrieve data about product-entitlement relationships
Finds event payment that are ready for retry and generates billing processing requests for them.
Deprecated.
Our normal pattern is to pre-assign primary keys, but keep the domain class id declaration using
Hibernate generation in case an alternate flow is used to create.
A request DTO that contains
BillingEvent and related objects that should be created
alongside it.DomainMapperMember capable of conditionally generating UUID or ULID primary key values during
create operations based on the value of the
broadleaf.billing.jpa.id.type property in
standard spring configuration.Deprecated.
Use
com.broadleafcommerce.data.tracking.core.service.CrudEntityHelper insteadRepresents the details of the exchange rate used to convert a
MonetaryAmount from one
currency to another.CustomizedBillingEventPaymentRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
CustomizedBillingProcessRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
CustomizedRefundEventDetailRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
CustomizedSubscriptionItemRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
This repository is used to manage locks on subscriptions.
CustomizedSubscriptionRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Exception that signifies that a version mismatch has taken place
This is a representation of a special type of message that stores messages the billing module
cannot process due to errors
Map legacy pubsub topic declarations to spring cloud stream
The DTO used to transfer parameters for operations on the DeadLetter Queue, namely sending
notification emails, querying for a set of DeadLetters, or processing unresolved DeadLetters.
DeadLetterRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Attempt to re-engage the processing flow with a previous failed message that did not allow the
process to complete.
DefaultBillingEventPaymentService<P extends BillingEventPayment,Q extends BillingEventPaymentWithEvent,R extends BillingEventDTO,S extends BillingEventPaymentWithTransaction,T extends PaymentTransactionDetail>
DefaultBillingEventPricingService<P extends BillingEventDTO,Q extends BillingEvent,R extends BillingEventAdjustment,S extends BillingEventItemWithTaxDetails,T extends BillingEventPaymentWithTransaction>
DefaultBillingEventService<P extends BillingEvent,Q extends BillingEventDTO,R extends CreateBillingEventRequest>
DefaultBillingJobService<P extends BillingProcessingRequest,R extends BillingEventPayment,S extends InitializeBillingProcessingRequests>
DefaultBillingProcessRequestService<P extends BillingProcessingRequest,Q extends BillingProcessingRequestWithFullDetails>
The strategy for charging a cancellation fee when a customer cancels a subscription.
Default implementation of
CancellationPolicyServiceThe strategy using which a subscription can be cancelled.
Describes how the effective date of a delayed subscription action should be determined.
Describes the type of delayed subscription action that will be applied in the future.
DefaultDelegatingTaxService<P extends BillingEventItem,Q extends BillingTaxDetail,R extends BillingProcessingRequestWithBillingEventDTO>
This implementation of
TaxService calls TaxDelegate, which has a discovery
process to determine the best TaxProvider implementation based on configured properties,
the provided TaxCalculationRequest, and the ContextInfo.Deprecated.
Use
EntitlementProvider insteadClusterService responsible for interval polling workflows whose retention period have
expired and deleting them.DefaultPaymentAndRefundUpdaterService<P extends BillingProcessingRequestWithPayment,Q extends BillingProcessingRequestWithRefundDetail>
When a payment gateway declines a payment, this value indicates whether it is a "soft"
(insufficient funds) or "hard" (stolen card) decline.
DefaultPaymentProcessingResultHandlerService<P extends BillingProcessingRequest,Q extends PaymentTransactionDetail>
Enum values describing the possible payment processing types for
BillingEvents & their BillingEventPayments.Default implementation of the
PaymentTransactionExecutionService that's used to
communicate with Broadleaf's PaymentTransactionServices to execute AuthorizeAndCapture and/or
Refund transactions.Describes how the effective date of a subscription price change should be determined.
DefaultRefundEventDetailService<P extends RefundEventDetail,Q extends RefundDetailsWithRefundAndBillingEvent>
Enum values describing the reason for a subscription's period to be shortened.
Describes the possible services whose APIs are intended to be used to handle subscription actions
(e.g.
The default types of actions that can be taken against a
Subscription.Enumerates the types of subscription item references.
Declares that payments made against a subscription are going towards the goods/services rendered
in the previous vs current period.
Enumerates the types of subscription period types.
Enumerates the types of subscription sources.
DefaultWalletService<W extends WalletWithPaymentAccounts,R extends BillingProcessingRequestWithFullDetails>
Simple object describing a subscription action that should be applied in the future.
Exception highlighting the attempt to execute the same transaction twice.
The strategies by which a subscription's end of term can be configured.
This is a copy of the domain object from EntitlementServices.
This request is used to send
entitlements within Billing to a handler that
would set them up for being granted, revoked, or otherwise processed by an external service.Deprecated.
Use
EntitlementProvider insteadUpdates the billing event payment with the result of the payment processing.
Default implementation of the
CatalogEntitlementProvider that communicates with the
Broadleaf Monolith ecosystem.Properties for interacting with an external payment transaction service.
Implementation of
SavedPaymentMethodProvider that's meant to interact with Broadleaf's
PaymentTransactionServices to gather SavedPaymentMethods.Properties for interacting with Broadleaf's PaymentTransactionServices.
This message DTO is used to bridge the gap between processing results of payment transactions and
finalizing the states of
BillingEvent or
RefundEvent on basis of the transaction results.This message DTO is used to kick off retry requests for
requests
of type
PaymentAccountProcessingTransactionType.CHARGEThis message DTO is used to kick off generation of new
BillingProcessingRequest to
process
PaymentAccountProcessingTransactionType.CHARGE
requestsThis message DTO is used to kick off generation of new
BillingProcessingRequest to
process
PaymentAccountProcessingTransactionType.REFUND
requestsThis message DTO is used to kick off retry requests for
requests
of type
PaymentAccountProcessingTransactionType.REFUNDThe request used to kick off the Subscription Billing Job by
SubscriptionBillingJobInitiatorEnumeration of id field types supported by the system.
Exception thrown if the client received no response from the server after sending out a request.
This message DTO passes the ids of the
requests that should be
processed by BillingProcessingRequestInitializerThis request DTO is used to supply parameters of the Billing Job process that needs to be started
This represents a specification for retrying operations after a given number of days.
Exception thrown by
SubscriptionService to signify that the request to cancel a
subscription was invalid.Exception thrown to indicate a problem in processing a
RefundEvent requestException thrown to signify that the request to create a subscription was invalid.
Exception thrown when a transaction execution request has been deemed invalid.
Common interface for job requests within the Billing Service
Attributes for billing events
Attributes for billing event items
JPA equivalent of
CancellationPolicyJPA counterpart of
CancellationPolicyDetailJPA Repository for
JpaCancellationPolicyPersistent counter-part to an
DelayedSubscriptionAction for use with a JPA datastore.Attributes for payment transactions
Attributes for refund events
JPA representation of a refund event item.
Deprecated.
This Jpa entity is unused
Represents a lock on a subscription.
JPA Repository for
JpaSubscriptionLockPersistent counter-part to an
SubscriptionPeriod for use with a JPA datastore.Enumeration of json field types supported by the system.
Deprecated.
Use a regular
ObjectMapper bean insteadPerforms Jsr380 based validation of projections via the Broadleaf core
EntityValidator
architecture.Deprecated.
Use
AdjustmentEndpoint and ItemAdjustmentEndpoint insteadDeprecated.
Use
SubscriptionEndpoint insteadThis is a request DTO that supplies parameters to
Entitlement retrieval requests going
out to EntitlementServicesREST API for managing subscription locks.
Exception thrown when a lock cannot be acquired.
Event that is fired when a subscription lock is purged.
This class listens for
LockPurgedEvent and reverts or commits the subscription and its
related entities.Informative DTO about the lock status.
Deprecated.
Use
com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
instead.Utility for easily getting the appropriate recorded message source for a given message payload
class
Finds new
BillingEventPaymentWithEvent that are ready for processing and generates
billing processing requests for them.Finds new refund events that are due for processing and generates billing processing requests for
them.
This class is responsible for determining the next retry date on failed payments/refunds on a
BillingEventPayment.Alternative to
DefaultClientCredentialsTokenResponseClient that uses WebClient
and allows for access token response that contain additional non-String parameters.A DTO structure that provides offer qualifier or target information for a given item.
Deprecated.
Use
com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
instead.This contains details of a single payment account that can be used for payment transactions
This DTO is used to record detailed results of the processed transaction to pass on to subsequent
handlers
This message DTO is used to transfer
PaymentAccountProcessedEvent from
PaymentProcessingResultHandlerService to the
next handler.This DTO stores the payment account, the payment transaction's processing status, and its result.
PaymentAndRefundUpdaterService<P extends BillingProcessingRequestWithPayment,Q extends BillingProcessingRequestWithRefundDetail>
Records the result of payment processing and delegates to process their consequences
This is a container holding various lists of
requests, separated
by their status for next steps.PaymentProcessingResultHandlerService<P extends BillingProcessingRequest,Q extends PaymentTransactionDetail>
Handles the incoming
request by delegating payment processing to
PaymentProcessingService, sending requests for a single gateway at a time.This message DTO is used for passing
requests to record results
of payment transactionsThe domain that summarizes the current state of transactions against the payment.
This represents a single transaction's state and results.
PaymentTransactionDetailRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Provider for interfacing with a PaymentTransactionService's APIs to execute payment transactions.
Simple abstraction for executing payment transactions based on a provided
BillingProcessingRequest.Exception thrown if there was an issue while attempting to execute a payment transaction for an
event's
PaymentSummary.Structure representing a change to the pricing of the subscription.
Represents a request to change the price data for a batch of subscriptions.
This message DTO holds a list of
events.This message DTO is used to kick off payment processing on the embedded
requestsVariant specifically designed for re-introducing a billing payment that previously failed for
what was determined to be an unrecoverable reason without manual intervention.
Defines a generic error that can be thrown in response to receiving an error from an API that one
of the providers (e.g.,
ExternalSavedPaymentMethodProvider) received.Defines a generic error that can be thrown in response to receiving an error from an API that one
of the providers (e.g.,
ExternalEntitlementProvider)
received.Utilities for working with JPA queries
This represents a specific instance of refunding a user for a
BillingEvent.This contains the details of a refund summarized by the related
RefundEventRefundEventDetailRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
RefundEventDetailService<P extends RefundEventDetail,Q extends RefundDetailsWithRefundAndBillingEvent>
Represents an item being refunded.
RefundEventItemRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
RefundEventRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Updates the
RefundEvent with the result of the payment processing.Finds refund events that are ready for retry and generates billing processing requests for them.
Represents a request to remove subscription item adjustments.
Represents the response from removing subscription item adjustments.
An API-layer equivalent of the
EntityMissingExceptionGenerates a Page representing the data and page data received as a response from another service.
Generates a Page representing the data and page data received as a response from another service.
Request DTO to revoke entitlements through
EntitlementProviderThis entity is designed to store customer's, account's, or other entity's saved payment methods
for future use.
Provider for interfacing with Broadleaf's PaymentTransactionServices to gather a user's
SavedPaymentMethods.The request payload used to execute a transaction against a
SavedPaymentMethod.Deprecated.
Use
Pageable insteadThis is a container for a mapping from product SKUs to
Entitlement.entitlementCodeContains properties dictating SSL verification.
DomainMapperMember capable of truncating a stacktrace before persistence.
This is a domain representing a user's subscription to a service or a good.
This is a representation of a price adjustment for a
SubscriptionSubscriptionAdjustmentRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Deprecated.
in favor of
DefaultSubscriptionAdjustmentTypeContains all the constants for
Subscription.getAttributes() and
Subscription.getInternalAttributes().Base auto configuration that does not necessarily apply to a particular area
SubscriptionBillingAuditRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Service for operating upon a subscription's
BillingEvents.Endpoint that initiates the subscription billing job
This is the entry point for the subscription billing process.
Deprecated.
No longer used in the current codebase
Configuration properties related to subscription billing.
An util class for time related calculations.
General exception handler registry for handlers not exclusive to a single controller.
This represents a line item for a
SubscriptionThis represents a line item price adjustment for a
SubscriptionSubscriptionItemAdjustmentRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
SubscriptionItemRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Establishing
TrackableBehaviorOverrides to allow divergence
between trackable behavior seen in the Admin UI vs.Thrown if the subscription can't be locked.
Configuration properties for subscription locks.
Repository layer for interacting with
JpaSubscriptionLockIntra-service POJO for describing a request to apply locks upon a
SubscriptionA request DTO that describes the
BillingEvents that are to be generated for
a given subscription.DTO that contains information about the owner of a subscription, e.g.
Simple object describing the start, end, & bill dates of a subscription period.
SubscriptionRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
This is a record created when a given
Subscription changes status.SubscriptionStatusAuditRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Regardless of trackable behavior, this mapper will always set the application on the projection
in the Billing route when application is available on the
ApplicationTrackable entity.Utility methods related to subscription handling.
This is a container for a
Subscription and a list of SubscriptionItemThis is a container for a
Subscription, a list of SubscriptionItem, and a list of
SubscriptionAdjustmentThis component implements
OAuth2AuthorizedClientManager and internally instantiates and
delegates to AuthorizedClientServiceOAuth2AuthorizedClientManager.Variant specifically designed for re-introducing a billing tax calc that previously failed for
what was determined to be an unrecoverable reason without manual intervention.
This message DTO transfers
objects to start
tax calculation in the
TaxCalculationProcessorHandler.Handles operations on
its type parameter and
the TaxCalculationProcessingResultHandlerDTO dto.Receives requests to calculate tax and delegates to the
TaxService to find and call tax
providers.Records results of tax calculation by
TaxCalculationProcessorHandler and delegates to
TaxCalculationProcessorHandler to process their consequences.This message DTO is used to transfer the
dtos
with completed tax results to the
tax result
handler.This object serves as an embedded container for results of tax calculation ran by
TaxCalculationProcessorHandler.Enumeration result values for tax calculation in
TaxCalculationProcessorHandler.TaxService<P extends BillingEventItem,Q extends BillingTaxDetail,R extends BillingProcessingRequestWithBillingEventDTO>
Service for calculating and applying taxes to a
BillingProcessingRequest, typically by
integrating with one or more TaxProviders, depending on if there should be
estimated and actual taxes calculated.Object describing the resulting transaction detail.
The request payload used to execute a transaction against a payment.
Response object describing the resulting transaction details and
PaymentSummary.Variant specifically designed for re-introducing a generic caught message that previously failed
for what was determined to be an unrecoverable reason without manual intervention.
Exception thrown when a lock cannot be removed.
A request DTO used to upgrade subscriptions.
Exception thrown when annotation-based validations (e.g.
This class contains the different views used for serialization and deserialization of objects.
View for public serialization, typically used for API responses.
View for internal serialization which contains the sensitive PII fields, and is typically not
exposed to the client.
This is a basic wallet representation of a given user's payment accounts.
WalletService<W extends WalletWithPaymentAccounts,R extends BillingProcessingRequestWithFullDetails>
This is a container for a
Wallet and a list of PaymentAccountConfiguration related to spawning
SimpleWorkflow instances for Subscription
instances with the appropriate workflow attributes defined.