Serialized Form
-
Package com.broadleafcommerce.cartoperation.domain
-
Class com.broadleafcommerce.cartoperation.domain.AdvancedTag
class AdvancedTag extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
id
String id
A unique system identifier. -
name
String name
A friendly identifier for the tag. -
position
String position
Defines the position over a display component this tag should be displayed such as the "top-left" of a Product's image on a list or details page. If multiple tags have the same position, then their relative order on a product or theirAdvancedTag.prioritywill determine which is displayed. -
priority
Long priority
Priority of this tag relative to other tags that may share the sameAdvancedTag.positionorAdvancedTag.type. This provides a way to pick on tag over another when there is a conflict. This could be overridden in the context of a specific product depending on theProductTag.getSorting(). -
type
String type
Defines the type of this tag such as "key feature" or "discount". This allows categorizing tags to enhance user's ability to prioritize related tags such as only showing one "discount" tag even if a product has several.
-
-
Class com.broadleafcommerce.cartoperation.domain.Attribute
class Attribute extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
value
Serializable value
The value represented by this attribute. Attributes are generally placed on domain objects as a map of attribute names to attribute values:Map<String, Attribute>.
-
-
Class com.broadleafcommerce.cartoperation.domain.AttributeChoice
class AttributeChoice extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
allowedValues
List<AttributeChoiceValue> allowedValues
Gives the customer more structured input to fill out their option, which can drive a select field or a color picker with particular colors. This restricts the available values that the user can use to complete this option.When used to distinguish variants, a value in this list should correspond to the value in a variant's
Variant.getOptionValues()map for theAttributeChoice.attributeNamekey. -
attributeName
String attributeName
The order or item attribute that this choice is stored in when the user adds to their cartWhen used to distinguish variants, this field corresponds to a key in
Variant.getOptionValues(). -
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
errorCode
String errorCode
In case of a validation failure in conjunction with aAttributeChoice.getValidationStrategy()this is the error code that should be shown to customers. This could map into a special message key on the frontend or provide additional information to the user in addition toAttributeChoice.getErrorMessage().- See Also:
-
errorMessage
String errorMessage
In case of a validation failure in conjunction with aAttributeChoice.getValidationStrategy()this is the message that should be shown to customers. Intended to be displayed directly on the page when theAttributeChoice.getValidationStrategy()fails validation. -
required
boolean required
Whether or not the user is required to fill out this option in order to add the product to their cart. This is always validated on cart add. -
validationRule
String validationRule
IfAttributeChoice.validationTypeisregex, this is the expression that should execute against the user's value. -
validationStrategy
String validationStrategy
The strategy used to determine when this product option is validated. For example, validation can be done when a product is added to a cart, when an order is submitted, or never (null). Regardless of this strategy,AttributeChoice.requiredandAttributeChoice.allowedValuesare always validated. -
validationType
String validationType
How the validation fromAttributeChoice.getValidationStrategy()should be performed. Only relevant ifAttributeChoice.getValidationStrategy()is non-null- See Also:
-
-
Class com.broadleafcommerce.cartoperation.domain.AttributeChoiceValue
class AttributeChoiceValue extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
label
String label
What the customer sees for display. For example, text in the case of sizes or a hex value in the case of colors. Can diverge fromAttributeChoiceValue.valuewhich is what is added to the cart -
value
String value
The value stored as an item attribute or cart attribute based on what the user selects.
-
-
Class com.broadleafcommerce.cartoperation.domain.CartCreationRequest
class CartCreationRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
addItemRequest
AddItemRequest addItemRequest
The initialAddItemRequestto populate the cart. -
addItemRequests
List<AddItemRequest> addItemRequests
The initialAddItemRequeststo populate the cart.If
CartCreationRequest.addItemRequestis provided, this will not be used. -
cartAttributes
Map<String,
Object> cartAttributes Miscellaneous attributes that should be copied toCart.getAttributes()- Since:
- Cart Operation Service 2.1.5, Release Train 2.1.5
-
cartInternalAttributes
Map<String,
Object> cartInternalAttributes Miscellaneous internal attributes that should be copied toCart.getInternalAttributes()- Since:
- Cart Operation Service 2.1.5, Release Train 2.1.5
-
customerTimezone
String customerTimezone
The customer's timezone.This gets stored in
Cart.getInternalAttributes()to be used by downstream services.If this is present in subscription scenarios, then it will be used to truncate the dates to the beginning of the day in customer's timezone as needed. If null, UTC time is used.
Note that if the provided timezone is invalid, an exception will be thrown. Refer to
TimeZone.getAvailableIDs()for valid timezones.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
- See Also:
-
com.broadleafcommerce.subscriptionoperation.service.SubscriptionDateUtilsTimeZone.getAvailableIDs()
-
expirationDate
Instant expirationDate
DefaultCartTypes.QUOTEcarts can have an expiration date. -
name
String name
Allows optionally setting a cart name. This is typically blank for standard, in-process carts, and may be set when creating a Quote or Named cart directly. -
priceCartRequest
PriceCartRequest priceCartRequest
The initialPriceCartRequestto price the cart. -
type
String type
Allows optionally setting the type of cart to be created. Default isDefaultCartTypes.STANDARD.- See Also:
-
DefaultCartTypesQuoteFunctionalitiesAspect
-
-
Class com.broadleafcommerce.cartoperation.domain.CartHolder
class CartHolder extends Object implements Serializable-
Serialized Fields
-
cart
P extends com.broadleafcommerce.cart.client.domain.Cart cart
Deprecated.
-
-
-
Class com.broadleafcommerce.cartoperation.domain.CatalogItemList
class CatalogItemList extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
catalogItemKeysForMissingEntities
Set<String> catalogItemKeysForMissingEntities
The list of provided keys for which a CatalogItem could not be found -
catalogItems
List<P extends CatalogItem> catalogItems
AllCatalogItemsand their details. -
catalogItemUrisForMissingEntities
Set<String> catalogItemUrisForMissingEntities
The list of provided uris for which a CatalogItem could not be found
-
-
Class com.broadleafcommerce.cartoperation.domain.Category
class Category extends Object implements Serializable- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.cartoperation.domain.Characteristic
class Characteristic extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
configurable
boolean configurable
Determines if the characteristic is configurable. -
contextState
com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
A subset ofTrackinginformation to expose the context state for this object. -
description
String description
Description for the characteristic. -
displayOrder
Integer displayOrder
Display order for the characteristic. -
endDate
Instant endDate
End date for the characteristic. -
errorMessage
String errorMessage
The error message to display if the validation rule fails. -
extensible
boolean extensible
Determines if the characteristic is extensible. -
fieldName
String fieldName
Internal field name of the characteristic. -
id
String id
Id of the characteristic. -
maxCardinality
int maxCardinality
Maximum cardinality for the characteristic. -
minCardinality
int minCardinality
Minimum cardinality for the characteristic. -
name
String name
Name of the characteristic. -
shared
boolean shared
Determines if the characteristic is shared between Specifications. -
startDate
Instant startDate
Start date for the characteristic. -
targetableForPricing
boolean targetableForPricing
Whether this characteristic should be targetable by pricing, e.g., a product's price should change depending on the value of this characteristic. -
targetableInRuleBuilders
boolean targetableInRuleBuilders
Whether this characteristic should be targetable in rule-builders (e.g., by Offers and Content Items). -
unique
boolean unique
Determines if the characteristic's value must be unique. -
validationRule
String validationRule
The validation rule to apply to the characteristic's value. -
validationType
String validationType
The type of validation to apply to the characteristic's value. -
value
List<CharacteristicValue> value
List of values for the characteristic. -
valueType
String valueType
Value type for the characteristic.
-
-
Class com.broadleafcommerce.cartoperation.domain.CharacteristicValue
class CharacteristicValue extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
Object> attributes Additional custom attributes associated with extensions and complex value types, e.g., enum, variant option. -
displayOrder
Integer displayOrder
The order this value should display in. -
endDate
Instant endDate
Date after which this value is no longer active. -
isDefault
boolean isDefault
Whether this is the default value to use. -
label
String label
A display label to use for complex value types like ENUM or VARIANT_OPTION. -
rangeInterval
String rangeInterval
An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are "open", "closed", "closedBottom" and "closedTop". -
rangeStep
Integer rangeStep
The distance between valid values in a range, e.g., 1 would indicate each discrete value is separated by 1 from its neighbors, 1, 2, 3. -
startDate
Instant startDate
Date when this value begins to be active. -
unitOfMeasure
String unitOfMeasure
Units used by the value. -
value
Object value
The simple value. This should not be a complex object. If additional fields are desired such as a label, display order, or the like, refer to those fields if already present on this domain or store them inCharacteristicValue.attributes. -
valueFrom
String valueFrom
Lower bound for the value. -
valueTo
String valueTo
Upper bound for the value. -
valueType
String valueType
The type of this value, e.g., enum, string, etc.
-
-
Class com.broadleafcommerce.cartoperation.domain.DataDrivenEnum
class DataDrivenEnum extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
displayValue
String displayValue
The display value for the associatedDataDrivenEnum.type.Different from
DataDrivenEnum.value, the display value is meant to be more user-friendly and for client-facing usages, such as searching and faceting.For example, the display value for type "MATERIAL" could be "Cotton", "Leather", "Polyester", etc.
-
id
String id
The ID of the enum. -
type
String type
Identifies the type of the associated value, this is needed to gather all the enumvaluesbased on their types.For example, if this enum type was to be used for a field representing product's materials, then the type would be "MATERIAL".
-
value
String value
The value of the associatedDataDrivenEnum.type.For example, the value for type "MATERIAL" could be "COTTON", "LEATHER", "POLYESTER", etc.
-
-
Class com.broadleafcommerce.cartoperation.domain.Fee
class Fee extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
activeEndDate
Instant activeEndDate
The date where the fee stops being active. -
activeStartDate
Instant activeStartDate
The date from which the fee should be active. -
applyBeforeDiscounts
boolean applyBeforeDiscounts
Whether to apply the fee before or after offers/discounts are applied onto the cart. -
currency
javax.money.CurrencyUnit currency
The currency of this fee. -
feeCalculationMethod
String feeCalculationMethod
Where to apply the fee during cart pricing. By default, is applied onto the Cart subtotal. -
feeCalculationOperation
String feeCalculationOperation
How to calculate the fee to be applied onto the cart. By default, is calculated by getting a percentage based on the cart subtotal. -
feeCode
String feeCode
The unique code for the fee. -
fixedAmount
javax.money.MonetaryAmount fixedAmount
The fixed amount of the fee to be applied. Only populated whenFee.feeCalculationOperationisDefaultFeeCalculationOperation.FIXED_AMOUNT. -
id
String id
-
label
String label
The label of the fee to be displayed as the cart item name on the cart. -
priority
int priority
The priority with which to apply the fee onto the cart pricing. -
rate
BigDecimal rate
The percentage of the cart subtotal to be used to determine the fee to be applied. Only populated whenFee.feeCalculationOperationisDefaultFeeCalculationOperation.RATE. -
refundable
boolean refundable
Whether the fee is refundable. -
taxCode
String taxCode
The tax code identifier for this fee.
-
-
Class com.broadleafcommerce.cartoperation.domain.FulfillmentFlatRate
class FulfillmentFlatRate extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
value
javax.money.MonetaryAmount value
The value of this flat rate
-
-
Class com.broadleafcommerce.cartoperation.domain.IncludedProduct
class IncludedProduct extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalItemPricing
com.broadleafcommerce.cart.client.domain.AdditionalItemPricing additionalItemPricing
-
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
discountAllowed
boolean discountAllowed
Dictates whether or not discounts are allowed to be applied to this included product. -
displayOrder
Long displayOrder
Defines the display position of this included product in relation to other included products. -
label
String label
The user-facing label that describes this included product. -
product
Product product
This field contains the specified product if thetypeisIncludedProductType.PRODUCT. -
quantity
int quantity
The value of the fixed quantity. -
type
String type
- See Also:
-
variant
Variant variant
This field contains the specified variant if thetypeisIncludedProductType.VARIANT.- See Also:
-
IncludedProduct.variantParentProductId
-
variantParentProductId
String variantParentProductId
This field contains the id of the parent product of the specifiedIncludedProduct.variantif thetypeisIncludedProductType.VARIANT.This field is necessary because variants are a sub-resource of product and thus API callers cannot fetch them purely by variant id alone.
- See Also:
-
IncludedProduct.variant
-
-
Class com.broadleafcommerce.cartoperation.domain.InventoryLocation
class InventoryLocation extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
address
com.broadleafcommerce.fulfillment.common.domain.Address address
Physical address of this location. -
id
String id
TheInventoryLocationcontextId. -
locationNumber
String locationNumber
Arbitrary location number, which could be an external ID, store number, etc. -
name
String name
Arbitrary name of the location. -
pickupLocation
boolean pickupLocation
Indicates if this location is available for pickup. Default is false. -
shippingLocation
boolean shippingLocation
Indicates if this location is available for shipping. Default is true. -
storeLocation
boolean storeLocation
Indicates if this inventory location is also a store, meaning that it is a location that customers can come to shop. Default is false. -
vendorRef
String vendorRef
Soft reference to the vendor associated with this inventory location. This value can be null, in which case, no vendor is associated.
-
-
Class com.broadleafcommerce.cartoperation.domain.ItemChoice
class ItemChoice extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalItemPricing
com.broadleafcommerce.cart.client.domain.AdditionalItemPricing additionalItemPricing
-
allowAddAfterInitialPurchase
boolean allowAddAfterInitialPurchase
Whether the customer is allowed to add an optional item after initial purchase.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
allowEditAfterInitialPurchase
boolean allowEditAfterInitialPurchase
Whether edit is allowed after initial purchase.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
allowQtyEditAfterInitialPurchase
boolean allowQtyEditAfterInitialPurchase
Whether quantity can be edited after initial purchase.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
allowRemoveAfterInitialPurchase
boolean allowRemoveAfterInitialPurchase
Whether the customer is allowed to remove an optional item after initial purchase.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
category
Category category
TheCategorywhich the add-on will be chosen from by the customer if theselectionisItemChoiceTargetType.CATEGORY. -
choiceKey
String choiceKey
The key to use to relate to thisItemChoicewhen configuring cart items. -
discountAllowed
boolean discountAllowed
Dictates whether or not discounts are allowed to be applied to this add-on. -
hasPostPurchaseEditRules
boolean hasPostPurchaseEditRules
Whether this has post purchase edit rules.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
isSeparateFromPrimaryItem
boolean isSeparateFromPrimaryItem
Whether this is a sub-item on the main subscription or a separate item.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
isSubscription
boolean isSubscription
Whether this addon is a subscription addon.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
maximumQuantity
Integer maximumQuantity
The maximum amount of this item that a customer can purchase at a time. If null, this would allow a customer to specify their own quantity for how many of these items they can add to the cart. -
minimumQuantity
Integer minimumQuantity
The minimum amount of the item that a customer must purchase. The minimum and maximum should never be the same as this domain would be better represented as anIncludedProduct. -
restrictQtyDecreaseAfterDays
Integer restrictQtyDecreaseAfterDays
The number of days after which a quantity decrease is not allowed until the window re-opens at the next billing cycle.nullmeans no restriction.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
restrictRemovalAfterDays
Integer restrictRemovalAfterDays
The number of days after which an item can't be removed from the subscription, until the window re-opens at the next billing cycle.nullmeans no restriction.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
selectionType
String selectionType
Describes restrictions placed on the customer's ability to select items from the targeted set. Generally, this is a restriction on how many choices can be selected for a single add-to-cart request and, potentially, how quantity is distributed among multiple selected choices.- See Also:
-
specificChoices
List<SpecificItemChoice> specificChoices
If theItemChoice.selectionTypeisItemChoiceTargetType.SPECIFIC_PRODUCTSorItemChoiceTargetType.SPECIFIC_VARIANTSthis holds the manually-curated options that the customer can choose from. This also allows for specific override pricing on an item-by-item basis -
specificItemChoice
SpecificItemChoice specificItemChoice
-
targetType
String targetType
Identifies the type of items that a customer can choose from, whether specific products, specific variants, or products from a specific category.- See Also:
-
-
Class com.broadleafcommerce.cartoperation.domain.OfferAudit
class OfferAudit extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
campaignCode
String campaignCode
The campaign code string that this audit information is for. -
campaignTrackingId
String campaignTrackingId
The tracking ID of the campaign this audit is for. -
dateApplied
Instant dateApplied
The date and time when the related offer was applied. -
offerId
String offerId
The associatedoffer's id. -
orderId
String orderId
The id of the cart upon which the related offer was used. -
sharedCode
String sharedCode
The string of theoffer codeused to apply the related offer. -
user
UserTarget user
The identifying info of the user that used the related offer.
-
-
Class com.broadleafcommerce.cartoperation.domain.Product
class Product extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Map holding any additional attributes passed in the request not matching any defined properties. -
advancedTags
List<ProductTag> advancedTags
A list ofProductTagssorted based on the sort position of theProductTagfor the product with ties broken byAdvancedTag.getPriority(). -
allowAutoRenewalModification
Boolean allowAutoRenewalModification
For subscription products only, this flag indicates whether this product's subscription's auto-renewability can be modified after declaration on the subscription.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
allowChangingBillingFrequency
boolean allowChangingBillingFrequency
Whether the billing frequency can be changed after initial purchase.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
allowQtyEditAfterInitialPurchase
boolean allowQtyEditAfterInitialPurchase
Whether quantity can be edited after initial purchase.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
assets
List<com.broadleafcommerce.cart.client.domain.ImageAssetRef> assets
AllProductAssetsfor this product. -
attributes
Map<String,
Attribute> attributes Dynamic attributes that are a part of the product. -
autoRenewalEnabled
Boolean autoRenewalEnabled
For subscription products only, this flag indicates whether this product's subscription would be auto-renewed.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
availableOnline
boolean availableOnline
Whether or not this product is available online - ie inventory is available somewhere to fulfill this product. -
brand
DataDrivenEnum brand
-
businessType
String businessType
Defines the type of the product for business purposes. This affects how the product is displayed and managed in the admin UI. -
cancellationPolicyRef
String cancellationPolicyRef
The reference to the cancellation policy, which is typically the id.This is only relevant for subscription products.
- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
categoryIdsWithParents
List<String> categoryIdsWithParents
List of all hierarchical parent category ids for the product.This is different from
Product.parentCategoriesasProduct.parentCategoriesrepresents the categories that are directly assigned to the product, whereasProduct.categoryIdsWithParentscontains a hierarchical list of all parent category ids.For example, if we have a category setup of: Top -> Level2 -> Level3 and the product is assigned to Level3, the list would be
{Top, Level2, Level3}. -
characteristics
Map<String,
ProductCharacteristic> characteristics Fields and associated Characteristics that define a specific product.- Since:
- Cart Operation Service 2.2.0, Release Train 2.2.0
-
currencyContext
com.broadleafcommerce.money.CurrencyContext currencyContext
Transient ability to have a currency initialized -
discountable
boolean discountable
Whether or not this product be applied to any offers or promotions.
Defaults to
true -
fulfillmentFlatRates
Map<String,
FulfillmentFlatRate> fulfillmentFlatRates A map of flat rates for fulfilling (e.g., shipping) this product for a particular fulfillment option type (e.g., standard shipping). Depending on if the option is configured to use flat rates, this flat rate will be used in calculating the cost of fulfilling this product.The key of the map is the type of the fulfillment option such as
FIXED_STANDARDorBANDED_PRICE_EXPRESS.- See Also:
-
fulfillmentWorkflow
DataDrivenEnum fulfillmentWorkflow
The fulfillment workflow that this product will go through after checkout.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
id
String id
The ID of the Product. -
includedProducts
List<IncludedProduct> includedProducts
Additional products that are always included with the product, no matter what. Used to configure "bundles" or "kits".
If some of these items should be optional or the user should decide which additional items are added to their cart, use
Product.optionsinstead.- See Also:
-
individuallySold
boolean individuallySold
If this product or any of its variants can be sold individually in the store, or if they must be apart of another product as an add-on.
This defaults to
true. -
inventoryCheckStrategy
String inventoryCheckStrategy
Describes when the product's inventory should be checked for availability. -
inventoryReservationStrategy
String inventoryReservationStrategy
Describes when the product's inventory should be reserved. -
inventoryType
String inventoryType
Describes the product's type of fulfillment - ie is it a physical or virtual item? -
isSubscription
boolean isSubscription
Whether this product is a Broadleaf-managed subscription.Broadleaf-managed subscriptions require Broadleaf's SubscriptionOperation, Billing, and Workflow dependencies.
- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
maximumThreshold
Integer maximumThreshold
The maximum count of this product that must be added in a cart. -
maxNumberOfActiveSubscriptions
Integer maxNumberOfActiveSubscriptions
The max number of active subscriptions that can be created for this product.nullmeans no restriction.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
merchandisingType
DataDrivenEnum merchandisingType
-
mergingType
String mergingType
Determines how this Product should merge with other similar items when it gets added to a cart. This will override the global setting on item merging. Out of box supported values are those inDefaultMergingType. -
minimumThreshold
Integer minimumThreshold
The minimum count of this product that must be added in a cart. -
name
String name
The name of the product. -
options
List<ProductOption> options
Drives additional information that the customer should enter when purchasing this product. this can be in the form of additionalvariations, additional items that can be bundled with this product or simply more information that the customer needs to enter about what they are purchasing (like a personalized message). -
parentCategories
Set<Category> parentCategories
AllCategoriesthat include the product. -
parentCharacteristics
Map<String,
Characteristic> parentCharacteristics Map of theCharacteristicsreferenced by theProductCharacteristicswhere the key is the characteristic'sfieldName. This is used instead of hydrating directly onto eachProductCharacteristicto reduce duplication and payload size.- Since:
- Cart Operation Service 2.2.0, Release Train 2.2.0
-
paymentStrategy
String paymentStrategy
Specifies a payment strategy to use for this product.Typically, this is determined by information from a pricing service rather than by the catalog service. However, in the case of
merchandising products, this needs to be set directly on the product since the Product's price is the sum of its add-ons. That is to say that the payment strategy to use can't be derived from an external pricing service since the merchandising product cannot be targeted directly for pricing. The merchandising product's payment strategy (and terms) will override the add-ons' defaults.Currently, this is only used for
merchandising products.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
- See Also:
-
DefaultPaymentStrategy
-
priceInfo
com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo
Summary of thepricing informationrelated to the product. -
pricingKey
String pricingKey
System-wide unique identifier to configure specific pricing for the product. Relevant if pricing data is managed in a separate system or data store, like the Broadleaf pricing services. -
primaryAsset
com.broadleafcommerce.cart.client.domain.ImageAssetRef primaryAsset
The asset associated with this product marked as primary. -
productType
String productType
Defines the type of the product. This value is added to theinternalAttributesunder theCartItemAttributeConstants.Internal.PRODUCT_TYPEkey and used to determine the product type for theCartItem. The default types are defined byDefaultProductType.- See Also:
-
sku
String sku
This uniquely identifies this product in the catalog when it is sold and is used for other contexts like inventory and pricing. -
tags
List<String> tags
A list of simple labels used to categorize the product -
targetDemographic
DataDrivenEnum targetDemographic
-
terms
List<ProductTerm> terms
Represents the available terms for a Product that impact pricing options. Should also match with aPriceInfobased on itsRecurringPriceDetail.- Since:
- Cart Operation Service 2.2.0, Release Train 2.2.0
-
uri
String uri
The navigable uri of this product. -
variantPricingStrategy
String variantPricingStrategy
The pricing strategy for this product's variants, only applicable toDefaultProductType.VARIANT_BASEDproducts- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
- See Also:
-
variants
List<Variant> variants
AllVariantsfor this product. -
vendorRef
String vendorRef
Soft reference to the vendor associated with this catalog. This value can be null, in which case, no vendor is associated. -
weight
Weight weight
-
-
Class com.broadleafcommerce.cartoperation.domain.ProductCharacteristic
class ProductCharacteristic extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
characteristic
Characteristic characteristic
TheCharacteristicdefinition associated with this product. Not fully hydrated by default. -
fieldName
String fieldName
Name of the field -
fieldType
String fieldType
Type of the field -
value
List<ProductCharacteristicValue> value
The list of values associated with this field
-
-
Class com.broadleafcommerce.cartoperation.domain.ProductCharacteristicValue
class ProductCharacteristicValue extends Object implements Serializable- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.cartoperation.domain.ProductOption
class ProductOption extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributeChoice
AttributeChoice attributeChoice
Configuration when the
ProductOption.typeof this option is one of:ProductOptionType.VARIANT_DISTINGUISHING- drives customer further specifying their choices into a specificVariantthat contains a unique SKU code, pricing concerns, etc.ProductOptionType.CART_ITEM_ATTRIBUTE- Customer input will flow directly in the item attributes within their cartProductOptionType.CART_ATTRIBUTE. Customer input will flow directly in the global cart attribute. Any previously-set attribute should be replaced with new values.
-
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
itemChoice
ItemChoice itemChoice
Configuration for theProductOptionType.ITEM_CHOICE. Drives customer selection of an additional item to add to their cart -
label
String label
The label shown to customers when displaying this option. This helps communicate to customers how they should fill out the input -
type
String type
Controls both how the customer should be inputting values to fill out this option as well as storage of where the value will go once added to the cart.- See Also:
-
-
Class com.broadleafcommerce.cartoperation.domain.ProductTag
class ProductTag extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
id
String id
A unique system identifier. -
productId
String productId
ID of the parent product. -
sorting
String sorting
Field indicating a sort order, if sorted. This is alphanumeric, allowing for lexicographical sorting. -
tag
AdvancedTag tag
TheAdvancedTagto associate with a product.
-
-
Class com.broadleafcommerce.cartoperation.domain.ProductTerm
class ProductTerm extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
allowEndOfTermStrategyModification
Boolean allowEndOfTermStrategyModification
This flag indicates whether this subscription'sendOfTermStrategycan be modified after declaration on the subscription.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
durationLength
int durationLength
The term duration length. -
durationType
String durationType
The term duration type, e.g. DAYS, WEEKS, MONTHS, YEARS. -
endOfTermStrategy
String endOfTermStrategy
Indicates the action to be performed at the end of term.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
isDefault
boolean isDefault
Whether this is the default term configured for aProduct.
-
-
Class com.broadleafcommerce.cartoperation.domain.SimplePage
class SimplePage extends Object implements Serializable- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.cartoperation.domain.SkuInventoryAvailabilityRequest
class SkuInventoryAvailabilityRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Map holding any additional attributes passed in the request not matching any defined properties. -
inventoryLocationReference
String inventoryLocationReference
The reference to the inventory location where to verify the availability of this item.- Since:
- Cart Operation Service 2.2.1, Release Train 2.2.1
-
quantityRequested
Integer quantityRequested
Quantity delta that is being requested (i.e. the number to check). These must always be positive numbers. -
referenceNumber
String referenceNumber
The reference number used to identify any existing soft inventory reservations.Existing soft reservations are excluded if this field is passed in. For example, if a SKU has total of 2 available and 1 is reserved for userA, and userA checks inventory availability for a quantity of 2 for the same SKU. The existing soft reservation is excluded from the check in this case, effectively making this request to check for an additional quantity of 1 to be available. However, if userB sends the same request to check availability for a quantity of 2 for the same SKU, it would return unavailable since only 1 is available as the other one is reserved for userA.
-
skuCode
String skuCode
The value of the SKU reference. This will be one of SKU contextId, SKU external ID, arbitrary SKU code, UPC, EAN, or GTIN.
-
-
Class com.broadleafcommerce.cartoperation.domain.SkuInventoryAvailabilitySummary
class SkuInventoryAvailabilitySummary extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Map holding any additional attributes passed in the request not matching any defined properties. -
available
boolean available
Indicates if the requested quantity is available. -
inventoryLocationId
String inventoryLocationId
The Inventory Location for which this availability is indicated. -
skuRef
InventorySkuRef skuRef
Holder of pointer(s) that reference the SKU. The default isskuCode. -
vendorRef
String vendorRef
Soft reference to the vendor associated with this sku inventory summary. This value can be null, in which case, no vendor is associated.
-
-
Class com.broadleafcommerce.cartoperation.domain.SkuInventoryReservationRequest
class SkuInventoryReservationRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
reservationRequestGroups
List<SkuInventoryReservationRequestGroup> reservationRequestGroups
Logically separate groups into pickup or ship groups, along with items to be adjusted. EachSkuInventoryReservationRequestGroupis loosely correlated with a Fulfillment Group in the Cart domain. -
reservationRequestType
String reservationRequestType
Indicates if the Inventory Reservation Request is a HARD or SOFT request. Soft requests are temporary and may be reversed if a HARD reservation is not eventually created. SOFT requests typically happen prior to payment or finalizing checkout. HARD requests are typically done after payment or finalizing checkout. -
skuReferenceFieldType
String skuReferenceFieldType
Indicates how we should be looking up SKU Inventory (by which field) with respect toskuReferenceValue. Default allowed values are:SKU_CONTEXT_IDSKU_EXTERNAL_IDSKU_CODEUPCEANGTIN
-
-
Class com.broadleafcommerce.cartoperation.domain.SpecificItemChoice
class SpecificItemChoice extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalItemPricing
com.broadleafcommerce.cart.client.domain.AdditionalItemPricing additionalItemPricing
-
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
discountAllowed
boolean discountAllowed
Dictates whether or not discounts are allowed to be applied to this add-on. -
product
Product product
If theSpecificItemChoice.typeisSpecificItemChoiceType.PRODUCTthis holds the product for this choice -
type
String type
Whether or not this item holds a product or a variant that the customer can select from- See Also:
-
variant
Variant variant
If theSpecificItemChoice.typeisSpecificItemChoiceType.VARIANTthis holds the variant for this choice- See Also:
-
SpecificItemChoice.variantParentProductId
-
variantParentProductId
String variantParentProductId
This field contains the id of the parent product of the specifiedSpecificItemChoice.variantif thetypeisSpecificItemChoiceType.VARIANT.This field is necessary because variants are a sub-resource of product and thus API callers cannot fetch them purely by variant id alone.
- See Also:
-
SpecificItemChoice.variant
-
variantPricing
Map<String,
com.broadleafcommerce.cart.client.domain.SpecificItemChoiceVariantPricingOverride> variantPricing Pricing overrides if specific variants of the main product this item belongs to are added to the cart.
-
-
Class com.broadleafcommerce.cartoperation.domain.TransferCartToken
class TransferCartToken extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
author
String author
The username of the author associated with the transfer cart token. -
cartId
String cartId
The ID of the cart the token is authorized to transfer. -
expirationTime
Instant expirationTime
The expiration time of the transfer cart token in UTC. This is used to inform clients of when to expect the token to be expired. -
token
String token
The token string that is used to authorize that a request has access to transfer the given cart.
-
-
Class com.broadleafcommerce.cartoperation.domain.UserTarget
class UserTarget extends Object implements Serializable- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.cartoperation.domain.Variant
class Variant extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Map holding any additional attributes passed in the request not matching any defined properties. -
advancedTags
List<ProductTag> advancedTags
A list ofProductTagssorted based on the sort position of theProductTagfor the variant with ties broken byAdvancedTag.getPriority(). -
attributes
Map<String,
Serializable> attributes Dynamic attributes that are a part of the variant. -
currencyContext
com.broadleafcommerce.money.CurrencyContext currencyContext
Transient ability to have a currency initialized -
fulfillmentFlatRates
Map<String,
FulfillmentFlatRate> fulfillmentFlatRates A map of flat rates for fulfilling (e.g., shipping) this product for a particular fulfillment option type (e.g., standard shipping). Depending on if the option is configured to use flat rates, this flat rate will be used in calculating the cost of fulfilling this product.The key of the map is the type of the fulfillment option such as
FIXED_STANDARDorBANDED_PRICE_EXPRESS.- See Also:
-
fulfillmentWorkflow
DataDrivenEnum fulfillmentWorkflow
The fulfillment workflow that this variant will go through after checkout.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
id
String id
The unique identifier for this variant. -
inventoryCheckStrategy
String inventoryCheckStrategy
Describes when the variant's inventory should be checked for availability. If not set, defaults toProduct.inventoryCheckStrategy. -
inventoryReservationStrategy
String inventoryReservationStrategy
Describes when the variant's inventory should be reserved. If not set, defaults toProduct.inventoryReservationStrategy. -
maximumThreshold
Integer maximumThreshold
The maximum count of this variant can be added in a cart. -
minimumThreshold
Integer minimumThreshold
The minimum count of this variant that must be added in a cart. -
name
String name
The name of this particular variant of the product. Generally serves as an overridable field from a product. During option selection when narrowing the specific Sku to order -
optionValues
Map<String,
String> optionValues Helper to make this particular variant uniquely identifiable across multiple variants for the same product. Keys correspond toAttributeChoice.getAttributeName()while values correspond to one of the correspondingAttributeChoice.getAttributeName(). -
priceInfo
com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo
Summary of thepricing informationrelated to the choice. -
sku
String sku
Sku code for this particular variant. Overrides the main Product Sku that is set, if any. -
tags
List<String> tags
A list of simple labels used to categorize the variant -
weight
Weight weight
-
-
Class com.broadleafcommerce.cartoperation.domain.Weight
class Weight extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
units
String units
- See Also:
-
weight
BigDecimal weight
-
-
-
Package com.broadleafcommerce.cartoperation.domain.enums
-
Package com.broadleafcommerce.cartoperation.domain.inventory.reservation
-
Class com.broadleafcommerce.cartoperation.domain.inventory.reservation.ReleaseSkuInventoryReservationRequest
class ReleaseSkuInventoryReservationRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Additional attributes that can be declared for this request. -
reservationReferenceNumbers
Set<String> reservationReferenceNumbers
The reservation numbers to identify the reservations by.This should be the same value as
SkuInventoryReservationRequestItem.getReferenceNumber()from the original requests to create the reservations.
-
-
Class com.broadleafcommerce.cartoperation.domain.inventory.reservation.ReleaseSkuInventoryReservationResponse
class ReleaseSkuInventoryReservationResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
-
Package com.broadleafcommerce.cartoperation.domain.payment
-
Class com.broadleafcommerce.cartoperation.domain.payment.CheckoutPaymentMethodOption
class CheckoutPaymentMethodOption extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
Object> attributes Miscellaneous attributes that vary by payment method type and gateway type.- Since:
- Cart Operations Service 2.3.0, Release Train 2.3.0
-
cartMaxTotalRestriction
Map<String,
BigDecimal> cartMaxTotalRestriction The maximum total a cart can have for this payment method, per currency.Will only be applied in the case of Collect on Delivery (COD) type payments by default. We will eventually extend out of box support to any payment options.
-
cartMinTotalRestriction
Map<String,
BigDecimal> cartMinTotalRestriction The minimum total a cart can have for this payment method, per currency.Will only be applied in the case of Collect on Delivery (COD) type payments by default. We will eventually extend out of box support to any payment options.
-
fees
List<CheckoutPaymentMethodOption.FeeDto> fees
The list of applicable fees for this payment option. Can be discountable and/or taxable.Will only be applied in the case of Collect on Delivery (COD) type payments by default. We will eventually extend out of box support to any payment options.
-
fulfillmentExclusions
Map<String,
List<String>> fulfillmentExclusions List of exclusion criteria to compare against aFulfillmentGroupto determine if this payment option is allowed. The key is the path of the field to compare with on the group. The value is the list of valid values.Example values:
address.country -> ['US', 'UK', 'CA']fulfillmentOption.name -> ['STANDARD', 'PRIORITY', 'EXPRESS']
-
fulfillmentInclusions
Map<String,
List<String>> fulfillmentInclusions List of inclusion criteria to compare against aFulfillmentGroupto determine if this payment option is allowed. The key is the path of the field to compare with on the group. The value is the list of valid values.Example values:
address.country -> ['US', 'UK', 'CA']fulfillmentOption.name -> ['STANDARD', 'PRIORITY', 'EXPRESS']
-
paymentMethodGatewayType
@NotEmpty String paymentMethodGatewayType
The gateway configured for this payment method. -
paymentMethodType
@NotEmpty String paymentMethodType
The type of this payment like Credit Card or Gift Card.
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.CheckoutPaymentMethodOption.FeeDto
class FeeDto extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
@NotNull BigDecimal amount
-
currency
@NotEmpty String currency
-
isDiscountable
boolean isDiscountable
-
isRefundable
boolean isRefundable
-
isTaxable
boolean isTaxable
-
name
@NotEmpty String name
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.CreditAccount
class CreditAccount extends Object implements Serializable-
Serialized Fields
-
accountNumber
String accountNumber
Generated code that can be used to reference the credit account. -
alternativeOwningUserRef
String alternativeOwningUserRef
Describes an alternative owning user reference for the credit account, that can be used instead of theCreditAccount.owningUserRef. -
alternativeOwningUserType
String alternativeOwningUserType
Describes an alternative owning user type of the credit account, that can be used instead of theCreditAccount.owningUserType. -
attributes
Map<String,
Object> attributes Additional attributes associated with this credit account. -
balance
javax.money.MonetaryAmount balance
The current balance for this credit account. -
contextState
com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
A subset ofTrackinginformation to expose the context state for this object. -
id
String id
The id of this credit account. -
owningUserRef
String owningUserRef
The reference to the user that owns this credit account. For example, this may be a customer id, an account id, or the anonymous user's email address. -
owningUserType
String owningUserType
Describes the owning user type of the credit account. For example, the credit account could belong to a customer, anonymous user or an account, therefore this value might be BLC_CUSTOMER, ANONYMOUS_USER_EMAIL, ANONYMOUS_USER_PHONE, or BLC_ACCOUNT. -
type
String type
The type of this credit account. By default, it can be "STORE_CREDIT", "ACCOUNT_CREDIT" or "GIFT_CARD". -
version
Integer version
The version of this credit account. Used for checking that the requested version of the credit account is up-to-date before saving changes. Required for any request which results in an update being made to the credit account. This should never be manually incremented/decremented.
-
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.CreditAccountRef
class CreditAccountRef extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
accountNumber
String accountNumber
Generated code that can be used to reference the credit account. -
id
String id
The credit account's id. -
owningUserRef
String owningUserRef
The reference to the user that owns this credit account. For example, this may be a customer id, an account id, or the anonymous user's email address. -
owningUserType
String owningUserType
Describes the owning user type of the credit account. For example, the credit account could belong to a customer, anonymous user or an account, therefore this value might be BLC_CUSTOMER, ANONYMOUS_USER_EMAIL, ANONYMOUS_USER_PHONE, or BLC_ACCOUNT. -
type
String type
The type of this credit account. By default, it can be "STORE_CREDIT", "ACCOUNT_CREDIT" or "GIFT_CARD".
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.CreditAccountTransaction
class CreditAccountTransaction extends Object implements Serializable-
Serialized Fields
-
amount
javax.money.MonetaryAmount amount
The amount related to this transaction. -
contextState
com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
A subset ofTrackinginformation to expose the context state for this object. -
creditAccountRef
CreditAccountRef creditAccountRef
The credit account reference to the credit account. -
dateRecorded
Instant dateRecorded
The timestamp when this transaction response was recorded. -
id
String id
The id of this transaction. -
reason
String reason
The reason for this transaction. -
reasonDescription
String reasonDescription
Description for the reason for this transaction. -
requestId
String requestId
The id used to represent the request that produced this transaction. -
source
String source
The name of the system that initiated the transaction - e.g. CART_OPERATION_SERVICES vs ORDER_OPERATION_SERVICES. -
sourceEntityId
String sourceEntityId
The ID of the source entity associated with the transaction.For example, if
CreditAccountTransaction.getSourceEntityType()isORDER_FULFILLMENT, this would be the ID of theOrderFulfillment. -
sourceEntityType
String sourceEntityType
The type of the source entity associated with the transaction. For example, "CHECKOUT_REQUEST" or "ORDER_FULFILLMENT". -
sourceUserId
String sourceUserId
The id of user who initiated the transaction. -
sourceUserType
String sourceUserType
The type of user who initiated the transaction. By default, it can be "BLC_CUSTOMER", "BLC_ACCOUNT" or "BLC_CSR". -
transactionReferenceId
String transactionReferenceId
The transaction id known by the payment gateway. This reference can be used to link the request to the gateway's record of the transaction in the case that the calling application does not receive a response from the gateway. -
type
String type
The type of this transaction. By default, it can be "CREDIT" or "DEBIT"
-
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.ExternalFulfillmentCallbackDTO
class ExternalFulfillmentCallbackDTO extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
cartId
String cartId
The ID of the cart. -
gatewayType
String gatewayType
The gateway type of this payment. -
requestBody
Map<String,
Object> requestBody The request body of the payment gateway redirect, if any. -
requestParams
Map<String,
String> requestParams The request params of the payment gateway redirect. Should contain the parameters that were passed on the callback URL and any that the gateway would add.
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.ExternalFulfillmentCallbackInfo
class ExternalFulfillmentCallbackInfo extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustmentsTotal
javax.money.MonetaryAmount adjustmentsTotal
The adjustments total for this fulfillment callback. -
attributes
Map<String,
Object> attributes Any additional attributes to build the fulfillment callback response for the payment gateway. -
fulfillmentOptions
Map<String,
List<ExternalFulfillmentOption>> fulfillmentOptions A list ofExternalFulfillmentOptionsmapped by the fulfillment reference number. -
gatewayType
String gatewayType
The payment gateway type for this fulfillment callback. -
orderSubtotal
javax.money.MonetaryAmount orderSubtotal
The order item subtotal for this fulfillment callback. -
shippingTotal
javax.money.MonetaryAmount shippingTotal
The shipping total for this fulfillment callback. -
taxTotal
javax.money.MonetaryAmount taxTotal
The tax total for this fulfillment callback. -
transactionTotal
javax.money.MonetaryAmount transactionTotal
The transaction total for this fulfillment callback.
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.ExternalFulfillmentOption
class ExternalFulfillmentOption extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
javax.money.MonetaryAmount amount
The total price of this fulfillment option. -
fulfillmentType
String fulfillmentType
The fulfillment type. -
gatewayFulfillmentType
String gatewayFulfillmentType
The fulfillment type as defined by the payment gateway. -
id
String id
The ID of the external fulfillment option. -
label
String label
The customer-facing label of this fulfillment option. -
selected
boolean selected
Whether or not this is the currently selected fulfillment option.
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.ExternalFulfillmentUpdate
class ExternalFulfillmentUpdate extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
externalReferenceId
String externalReferenceId
The external reference ID for this fulfillment. -
fulfillmentAddress
com.broadleafcommerce.order.common.domain.Address fulfillmentAddress
The updated shipping address from the payment gateway. -
fulfillmentOption
ExternalFulfillmentOption fulfillmentOption
The fulfillment option selected. -
fulfillmentReferenceId
String fulfillmentReferenceId
The fulfillment reference ID for our fulfillment system. This is typically theFulfillmentGroup.getReferenceNumber()
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.ExternalPaymentTransactionCallbackDTO
class ExternalPaymentTransactionCallbackDTO extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Miscellaneous attributes that can be used throughout the processing of a callback. -
cart
com.broadleafcommerce.cart.client.domain.Cart cart
The resolved cart related to the payment transactions -
cartId
String cartId
The ID of the cart. -
cartPayments
List<PaymentSummary> cartPayments
The cart's collection ofPaymentSummaries -
gatewayType
String gatewayType
The gateway type of this payment. -
paymentFinalizationStatus
String paymentFinalizationStatus
The state of the cart's payments following the external payment interaction. This can communicate that all payments are finalized, a transaction failed requiring another form of payment, or that external interaction (e.g. 3DS verification or HPP interaction) is required for another one of the cart's payments. Defaults toDefaultPaymentFinalizationStatus.UNKNOWN.- See Also:
-
paymentResult
String paymentResult
The result of the payment interaction that was completed, causing the redirect to CartOps. Defaults toDefaultExternalPaymentInteractionResult.UNKNOWN.- See Also:
-
redirectAttributes
Map<String,
Object> redirectAttributes Attributes to be returned with the redirect from CartOps to the frontend -
requestBody
Map<String,
Object> requestBody The request body of the payment gateway redirect, if any. -
requestParams
Map<String,
String> requestParams The request params of the payment gateway redirect. Should contain the parameters that were passed on the callback URL and any that the gateway would add. -
validRequest
boolean validRequest
Declares whether the request has been deemed valid.
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.FulfillmentCallbackResponse
class FulfillmentCallbackResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.cartoperation.domain.payment.PaymentCallbackValidationRequest
class PaymentCallbackValidationRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
String> attributes Any additional attributes that should be passed. -
gatewayType
String gatewayType
The gateway type for this payment. -
ownerId
String ownerId
The ID of the payment owner. Typically, this is the cart ID. -
ownerType
String ownerType
The type of entity that owns the payment. Typically, this isDefaultPaymentOwnerTypes.BLC_CART. -
requestParams
Map<String,
String> requestParams Request params received from the payment callback.
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.PaymentCallbackValidationResponse
class PaymentCallbackValidationResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
Class com.broadleafcommerce.cartoperation.domain.payment.PaymentFulfillmentCallbackResponse
class PaymentFulfillmentCallbackResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
fulfillmentUpdates
List<ExternalFulfillmentUpdate> fulfillmentUpdates
A list of fulfillment updates that were made by the payment gateway. -
valid
boolean valid
Whether or not this callback response was determined valid for the payment gateway.
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.PaymentSummary
class PaymentSummary extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
accessRestrictions
List<String> accessRestrictions
The list of restrictions that apply to payment access. -
addressByType
Map<String,
com.broadleafcommerce.order.common.domain.Address> addressByType The collection of related addresses that may include billing or shipping addresses -
adjustmentsTotal
javax.money.MonetaryAmount adjustmentsTotal
The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.Note: Only the
PaymentSummary.amountis required, but if this value is included, then thePaymentSummary.subtotal,PaymentSummary.fulfillmentTotal,PaymentSummary.feesTotal,PaymentSummary.taxTotal, &PaymentSummary.includedTaxTotalshould be included also. -
amount
javax.money.MonetaryAmount amount
The amount for which this payment is allotted.If specified, the amount details should be equal to this amount using the following equation: transactionAmount =
PaymentSummary.subtotal+PaymentSummary.fulfillmentTotal+PaymentSummary.feesTotal-PaymentSummary.adjustmentsTotal+PaymentSummary.taxTotal-PaymentSummary.includedTaxTotal. -
amountAuthorized
javax.money.MonetaryAmount amountAuthorized
The total authorized amount for capture. This value is calculated as "total authorized - total reverse-authed". -
amountAwaiting3DSResult
javax.money.MonetaryAmount amountAwaiting3DSResult
The total amount of Authorize or AuthorizeAndCapture transactions that require 3DS verification. Note: this excludes transactions that previously required 3DS verification, but we now have transaction results for.This value should only be present for payment gateways that support 3DS verification.
-
amountAwaitingExternalResult
javax.money.MonetaryAmount amountAwaitingExternalResult
The total amount of AuthorizeAndCapture transactions that require external interaction.This value should only be present for payment gateways that support external interaction.
-
amountCaptured
javax.money.MonetaryAmount amountCaptured
The total amount that is currently captured. This value is calculated as "total captured - total refunded". -
amountCredited
javax.money.MonetaryAmount amountCredited
The total detached credit amount. -
amountRefunded
javax.money.MonetaryAmount amountRefunded
The total refunded amount. -
attributes
Map<String,
String> attributes General use map to capture any additional attributes needed for this Payment -
authorizeAmountAwaitingResult
javax.money.MonetaryAmount authorizeAmountAwaitingResult
The total amount sent to the payment gateway for authorize, and is waiting for a response about the transaction result.Typically authorize transactions have immediate result, but sometimes the result can be pending for certain gateways.
-
captureAmountAwaitingResult
javax.money.MonetaryAmount captureAmountAwaitingResult
The total amount sent to the payment gateway for capture, and is waiting for a response about the transaction result.This value should only be present for payment gateways that support asynchronous transaction executions.
-
displayAttributes
Map<String,
String> displayAttributes General use map to capture any display properties for this Payment -
feesTotal
javax.money.MonetaryAmount feesTotal
The total fees related to the transactionPaymentSummary.amountNote: Only the
PaymentSummary.amountis required, but if this value is included, then thePaymentSummary.subtotal,PaymentSummary.fulfillmentTotal,PaymentSummary.adjustmentsTotal,PaymentSummary.taxTotal, &PaymentSummary.includedTaxTotalshould be included also. -
fulfillmentTotal
javax.money.MonetaryAmount fulfillmentTotal
The payment's total fulfillment cost.Note: Only the
PaymentSummary.amountis required, but if this value is included, then thePaymentSummary.subtotal,PaymentSummary.feesTotal,PaymentSummary.adjustmentsTotal,PaymentSummary.taxTotal, &PaymentSummary.includedTaxTotalshould be included also. -
gatewayType
String gatewayType
The gateway used to process this payment. Only a SINGLE payment gateway can modify transactions on a particular payment. -
hasTransactionFlaggedForManualReview
boolean hasTransactionFlaggedForManualReview
Indicates that the payment transaction has been flagged for manual review by fraud checks. -
includedTaxTotal
javax.money.MonetaryAmount includedTaxTotal
The amount of taxes that are included in the subtotal (VAT).Note: Only the
PaymentSummary.amountis required, but if this value is included, then thePaymentSummary.subtotal,PaymentSummary.fulfillmentTotal,PaymentSummary.feesTotal,PaymentSummary.adjustmentsTotal, &PaymentSummary.taxTotalshould be included also. -
isShouldSavePaymentForFutureUse
boolean isShouldSavePaymentForFutureUse
Should the payment method be saved to the owning user- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
isSingleUsePaymentMethod
boolean isSingleUsePaymentMethod
Whether or not the underlying payment method can only be used once.In most cases, we're managing a single-use token that represents a credit card. This flag is especially important for managing payments with successful transactions. In those cases, the token has already been used and cannot be reused. If we need modify the payment's amount, then we may actually need to archive the existing payment, and create a new payment, with a new underlying token. Additionally, this flag is helpful when needing to re-authorize an expired authorization transaction. In that case, if the payment represents a single-use payment method, then the re-authorization may not be possible, and you'll need to seek an alternative form of payment.
-
name
String name
The name of this payment. This name is typically something like "Visa ending in 1234". -
owningEntityId
String owningEntityId
The id of the entity that owns this payment. For example, this may be a cart id, or a subscription billing cycle id. -
owningEntityType
String owningEntityType
Describes the owning entity of the payment. For example, the payment could have originated with a cart or a subscription, therefore this value might be CART or SUBSCRIPTION. -
paymentId
String paymentId
The id of this payment. -
subtotal
javax.money.MonetaryAmount subtotal
The payment's total usually excluding adjustments, tax, fees, and shipping.Note: Only the
PaymentSummary.amountis required, but if this value is included, then thePaymentSummary.fulfillmentTotal,PaymentSummary.feesTotal,PaymentSummary.adjustmentsTotal,PaymentSummary.taxTotal, &PaymentSummary.includedTaxTotalshould be included also. -
taxTotal
javax.money.MonetaryAmount taxTotal
The payment's total tax cost.Note: Only the
PaymentSummary.amountis required, but if this value is included, then thePaymentSummary.subtotal,PaymentSummary.fulfillmentTotal,PaymentSummary.feesTotal,PaymentSummary.adjustmentsTotal, &PaymentSummary.includedTaxTotalshould be included also. -
totalEverCaptured
javax.money.MonetaryAmount totalEverCaptured
The total amount ever captured, as opposed to the current snapshot of the captured amount represented inPaymentSummary.getAmountCaptured(). -
type
String type
The type of this payment like Credit Card or Gift Card. -
version
Integer version
The version of this payment. Used for checking that the requested version of the payment is up-to-date before saving changes. Required for any request which results in an update being made to the payment. This should never be manually incremented/decremented.
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.PaymentTransactionRef
class PaymentTransactionRef extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustmentsTotal
javax.money.MonetaryAmount adjustmentsTotal
The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.Note: Only the
PaymentTransactionRef.amountis required, but if this value is included, then thePaymentTransactionRef.subtotal,PaymentTransactionRef.fulfillmentTotal,PaymentTransactionRef.feesTotal,PaymentTransactionRef.taxTotal, &PaymentTransactionRef.includedTaxTotalshould be included also. -
amount
javax.money.MonetaryAmount amount
The amount related to this transaction. Depending on thePaymentTransactionRef.type, this may be the amount authorized, captured, refunded, etc. -
attributes
Map<String,
String> attributes Map of specific attributes that have been gathered from the raw response. This should be used for data points that are to be used programmatically. For example, a gateway-specific transaction id that can be used to capture or refund the transaction. -
dateRecorded
Instant dateRecorded
The timestamp when this transaction response was recorded -
failureType
String failureType
The type of transaction failure -
feesTotal
javax.money.MonetaryAmount feesTotal
The total fees related to thePaymentTransactionRef.amountNote: Only the
PaymentTransactionRef.amountis required, but if this value is included, then thePaymentTransactionRef.subtotal,PaymentTransactionRef.fulfillmentTotal,PaymentTransactionRef.adjustmentsTotal,PaymentTransactionRef.taxTotal, &PaymentTransactionRef.includedTaxTotalshould be included also. -
flaggedForManualReview
boolean flaggedForManualReview
Indicates that the payment transaction has been flagged for manual review via fraud checks. -
fulfillmentTotal
javax.money.MonetaryAmount fulfillmentTotal
The payment's total fulfillment cost.Note: Only the
PaymentTransactionRef.amountis required, but if this value is included, then thePaymentTransactionRef.subtotal,PaymentTransactionRef.feesTotal,PaymentTransactionRef.adjustmentsTotal,PaymentTransactionRef.taxTotal, &PaymentTransactionRef.includedTaxTotalshould be included also. -
gatewayResponseCode
String gatewayResponseCode
The response code provided by the payment gateway which may represent a success or failure -
gatewayTransactionId
String gatewayTransactionId
The gateway-specific id for the transaction. -
gatewayTransactionType
String gatewayTransactionType
The type of this transaction, as described by the gateway. -
id
String id
The payment transaction's id. -
includedTaxTotal
javax.money.MonetaryAmount includedTaxTotal
The amount of taxes that are included in the subtotal (VAT).Note: Only the
PaymentTransactionRef.amountis required, but if this value is included, then thePaymentTransactionRef.subtotal,PaymentTransactionRef.fulfillmentTotal,PaymentTransactionRef.feesTotal,PaymentTransactionRef.adjustmentsTotal, &PaymentTransactionRef.taxTotalshould be included also. -
indeterminateResult
boolean indeterminateResult
Tells if this transaction has an indeterminate result.Having an indeterminate result means that the true outcome of the transaction is not known. For example, if a transaction is sent to the payment processor but a network error occurred, it is not known to us whether the user was actually charged or not (thus, the result is indeterminate).
Transactions should be marked as indeterminate when sending to the payment processor, and then unmarked once a response is received, understood, and recorded. This means that a transaction in an indeterminate result state is expected during the sending to processor phase. However, if the transaction remains in that state for an excessive amount of time, something likely went wrong and the transaction will need to be reconciled. If the transaction changes from the sending to processor status but remains indeterminate, the transaction will also require reconciliation in that scenario.
Some situations which may lead to an indeterminate result:
- A transaction is sent to the processor, but a network error prevents us from receiving the response
- A transaction is sent to the processor, but the processor returns an unexpected error (e.g. 500 internal server error)
- A transaction is sent to the processor and a response is received, but cannot be recorded because Cart Services is down
- A transaction is sent to the processor and a response is received, but cannot be recorded because the database is down
-
managementState
String managementState
The state of this transaction - e.g. whether the transaction is scheduled for reversal or if it's being used in an active checkout. If the transaction was not successful, then we expect this value to be null. -
managementStateReason
String managementStateReason
Describes the reason for thePaymentTransactionRef.managementState. -
manualReviewResult
String manualReviewResult
Describes the outcome of the manual review of a transaction after it was flagged by fraud checks. -
manualReviewResultReason
String manualReviewResultReason
Describes the reason for approving/rejecting a transaction during a manual fraud review. -
nextAction
NextAction nextAction
The next step required for the payment gateway to continue processing this payment. -
parentSourceEntityId
String parentSourceEntityId
The id of the parent source entity of the transaction that proceeded this transaction. -
parentSourceEntityType
String parentSourceEntityType
The type of the parent source entity of the transaction that proceeded this transaction.This is used to identify the parent transaction instead of using the parent transaction id itself, because other systems have no knowledge of specific transactions.
For example, the execution of a refund transaction requires a proceeding capture or authorize and capture transaction. Let's say the proceeding capture transaction has the source entity type of
ORDER_FULFILLMENT, and the refund transaction has the entity source type ofRETURN_CONFIRMATION. In this case, the refund transaction request needs the parent source entity type ofORDER_FULFILLMENTand its id in order to identify the parent capture transaction. -
parentTransactionId
String parentTransactionId
The id of the parent payment transaction. Necessary for operations on a payment that require something to have happened beforehand. For instance, an authorize transaction would not have a parent but a capture must have an authorize parent transaction and a refund must have a capture parent transaction. The full set of expected parent-child transaction relationships are as follows:- Child Transaction -> Parent Transaction
- Reverse Authorize -> Authorize
- Capture -> Authorize
- Refund -> Capture
- Refund -> AuthorizeAndCapture
-
paymentId
String paymentId
The payment's id. -
previousRequestIds
List<String> previousRequestIds
The list ofrequestIdsthat were previously used for this transaction.Note: if the transaction is reused for multiple requests, then the
PaymentTransactionRef.requestIdshould be updated with the latest value, & the previous value should be stored in this collection. -
requestId
String requestId
The id used to represent the request that produced this transaction. -
source
String source
The name of the system that initiated the transaction - e.g. CART_OPERATION_SERVICES vs ORDER_OPERATION_SERVICES. -
sourceEntityId
String sourceEntityId
Deprecated.The ID of the source entity associated with the transaction.For example, if
PaymentTransactionRef.getSourceEntityType()isORDER_FULFILLMENT, this would be the ID of theOrderFulfillment. -
sourceEntityIds
List<String> sourceEntityIds
The IDs of the source entities associated with the transaction.For example, if
PaymentTransactionRef.getSourceEntityType()isCHECKOUT_REQUEST, this would be the ID of the checkout request.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
- See Also:
-
sourceEntityType
String sourceEntityType
The type of the source entity associated with the transaction. For example, "CHECKOUT_REQUEST" or "ORDER_FULFILLMENT". -
status
String status
The status of the transaction- See Also:
-
subtotal
javax.money.MonetaryAmount subtotal
The payment's total usually excluding adjustments, tax, fees, and shipping.Note: Only the
PaymentTransactionRef.amountis required, but if this value is included, then thePaymentTransactionRef.fulfillmentTotal,PaymentTransactionRef.feesTotal,PaymentTransactionRef.adjustmentsTotal,PaymentTransactionRef.taxTotal, &PaymentTransactionRef.includedTaxTotalshould be included also. -
taxTotal
javax.money.MonetaryAmount taxTotal
The payment's total tax cost.Note: Only the
PaymentTransactionRef.amountis required, but if this value is included, then thePaymentTransactionRef.subtotal,PaymentTransactionRef.fulfillmentTotal,PaymentTransactionRef.feesTotal,PaymentTransactionRef.adjustmentsTotal, &PaymentTransactionRef.includedTaxTotalshould be included also. -
transactionReferenceId
String transactionReferenceId
The transaction id known by the payment gateway.This reference can be used to link the request to the gateway's record of the transaction in the case that the calling application does not receive a response from the gateway.
-
type
String type
The type of this transaction (authorize, capture, refund, etc.)
-
-
Class com.broadleafcommerce.cartoperation.domain.payment.SavedPaymentMethodSummary
class SavedPaymentMethodSummary extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
contextState
com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
A subset ofTrackinginformation to expose the context state for this object. -
defaultForOwner
boolean defaultForOwner
Whether this saved payment is the default payment method for the owning user. -
gatewayType
String gatewayType
The gateway used to process this saved payment method. Only a SINGLE payment gateway can be used for a payment. -
id
String id
The id of this saved payment method. -
name
String name
The name of this saved payment method. This name is typically something like "Visa ending in 1234". -
status
String status
The status of this saved payment method. -
type
String type
The type of this saved payment method like Credit Card or Gift Card.
-
-
-
Package com.broadleafcommerce.cartoperation.domain.subscription
-
Class com.broadleafcommerce.cartoperation.domain.subscription.CancellationPolicy
class CancellationPolicy extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
Object> attributes The additional attributes. -
description
String description
The description of the policy. -
id
String id
The id of the policy. -
name
String name
The name of the policy. -
postpaidPolicyDetail
CancellationPolicyDetail postpaidPolicyDetail
The policy details for items that are using thePOSTPAIDstrategy. -
prepaidPolicyDetail
CancellationPolicyDetail prepaidPolicyDetail
The policy details for items that are using thePREPAIDstrategy.
-
-
Class com.broadleafcommerce.cartoperation.domain.subscription.CancellationPolicyDetail
class CancellationPolicyDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
allowCancellation
boolean allowCancellation
Whether the customer can cancel their service before the end of the agreement. -
attributes
Map<String,
Object> attributes The additional attributes. -
cancellationFeeProductId
String cancellationFeeProductId
The product id that holds the cancellation fee. -
cancellationStrategy
String cancellationStrategy
The strategy to use when cancelling a subscription, e.g. IMMEDIATE, CANCEL_AUTO_RENEWAL. -
chargeForPreviouslyReceivedDiscountAmounts
boolean chargeForPreviouslyReceivedDiscountAmounts
Whether the customer would be charged for any discounts he/she received before cancelling the subscription. -
chargeForRemainderOfTerms
boolean chargeForRemainderOfTerms
Whether the customer would be charged for the remainder of the term despite cancelling the subscription. -
chargeFullPriceForRemainderOfTerms
boolean chargeFullPriceForRemainderOfTerms
Whether the customer would be charged the full price for the remainder of the term despite cancelling the subscription. -
chargeStrategy
String chargeStrategy
The strategy to use when charging a customer for cancelling a subscription, e.g. NO_CHARGE, PRORATED. -
gracePeriodCancellationFeeProductId
String gracePeriodCancellationFeeProductId
The product id that holds the cancellation fee for the grace period. -
gracePeriodCancellationStrategy
String gracePeriodCancellationStrategy
The cancellation strategy to use during the grace period. -
gracePeriodChargeStrategy
String gracePeriodChargeStrategy
The charge strategy to use during the grace period. -
gracePeriodDurationInDays
Integer gracePeriodDurationInDays
Duration of the initial grace period in days. -
gracePeriodRecursEachBillingPeriod
boolean gracePeriodRecursEachBillingPeriod
Whether the grace period repeats after each billing period.For “terms”, this would typically be false.
-
gracePeriodSupported
boolean gracePeriodSupported
Whether grace period properties are enabled.The grace period is a time-window (typically ~7 days) in which the cancellation policy can differ from the normal cancellation policy. This period occurs just after the subscription’s Auto Renewal. For products without a contract, the grace period opens at the beginning of each period. For products with a contract, the grace period opens at the beginning of the contract & each contract renewal.
-
-
Class com.broadleafcommerce.cartoperation.domain.subscription.DelayedSubscriptionAction
class DelayedSubscriptionAction extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
actionEffectiveType
String actionEffectiveType
The descriptor of when the price change should take effect.- See Also:
-
DefaultDelayedSubscriptionActionEffectiveType
-
actionFlow
String actionFlow
The original action flow that led to the creation of this delayed action.- See Also:
-
actionType
String actionType
The type of delayed action that is to be performed.- See Also:
-
DefaultDelayedSubscriptionActionType
-
applicablePeriod
Integer applicablePeriod
The period number on which the delayed action is due. For example, ifDelayedSubscriptionAction.getActionEffectiveType()isDefaultDelayedSubscriptionActionEffectiveType#NEXT_BILL_DATE, then this will represent the subscription's current period when the original action was requested + 1. -
attributes
Map<String,
Object> attributes Any additional attributes used to describe the delayed action -
orderFulfillmentId
String orderFulfillmentId
The id of the fulfillment that led to the creation of this delayed action. -
orderId
String orderId
The id of the order that led to the creation of this delayed action. -
subscriptionId
String subscriptionId
The id of delayed action's related subscription. -
workflowName
String workflowName
The name of the workflow that created this delayed action.
-
-
Class com.broadleafcommerce.cartoperation.domain.subscription.ExistingAdjustmentDetail
class ExistingAdjustmentDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustmentName
String adjustmentName
The name of the adjustment, the name of the applied offer by default. -
adjustmentRef
String adjustmentRef
The reference of the adjustment, the id of the applied offer by default. -
adjustmentType
String adjustmentType
Defines the type of the discount, e.g., free trial, order discount, future credit, etc. This primarily determines when it should be applied to the order or items. This helps distinguish whether the adjustment applies at checkout or later such as for a subscription.- See Also:
-
DefaultAdjustmentType
-
attributes
Map<String,
Object> attributes Additional attributes to include. -
beginPeriod
Integer beginPeriod
Number of the billing period this adjustment starts being active. -
endPeriod
Integer endPeriod
Number of the billing period this adjustment stops. If this field is null, the adjustment is considered indefinite -
freeTrialEndDate
Instant freeTrialEndDate
The end date of the free trial for this subscription, if applicable, null if none applied.This is an easy way to determine if a subscription is in a free trial period without having to calculate from the adjustment.
-
id
String id
-
periodsAlreadyUsed
int periodsAlreadyUsed
Represents the number of periods this adjustment has already been used. This is helpful to determine if the adjustment has any remaining periods.
-
-
Class com.broadleafcommerce.cartoperation.domain.subscription.ExistingSubscriptionAdjustmentDetail
class ExistingSubscriptionAdjustmentDetail extends ExistingAdjustmentDetail implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
subscriptionId
String subscriptionId
The id of the subscription.
-
-
Class com.broadleafcommerce.cartoperation.domain.subscription.ExistingSubscriptionDetails
class ExistingSubscriptionDetails extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
Object> attributes Additional attributes to include. -
currentPeriod
Integer currentPeriod
The subscription's current period -
delayedActions
List<DelayedSubscriptionAction> delayedActions
List of delayed actions for this subscription. Often, these delayed actions are related to requested actions against a subscription with aPREPAIDpayment strategy where instead of refunding the customer, the action is delayed until the end of the period, causing the next period to naturally identify the updated price. -
endOfTermDate
Instant endOfTermDate
Stores the time at which the current subscription's ends.For terms, this points to the time at which the current term ends.
-
existingAdjustmentDetails
List<ExistingSubscriptionAdjustmentDetail> existingAdjustmentDetails
Details describing existing subscription-level adjustments. -
existingItemDetails
List<ExistingSubscriptionItemDetail> existingItemDetails
ExistingSubscriptionItemDetailfor each subscription item on the existing subscription. -
paymentStrategy
String paymentStrategy
Declares that payments made against a subscription are going towards the goods/services rendered in the previous vs current period.- See Also:
-
DefaultSubscriptionPaymentStrategy
-
periodFrequency
int periodFrequency
The frequency with which the recurring price should be charged., e.g., a value of 1 combined withExistingSubscriptionDetails.periodTypeof MONTH would indicate to a subscription service that the price should be charged every 1 month.- See Also:
-
ExistingSubscriptionDetails.periodType
-
periodType
String periodType
The period type for the price, e.g. MONTHLY, QUARTERLY, ANNUALLY- See Also:
-
ExistingSubscriptionDetails.periodFrequency
-
rootSubscriptionItemId
String rootSubscriptionItemId
ID of the root subscription item. -
subscriptionId
String subscriptionId
The id of the subscription
-
-
Class com.broadleafcommerce.cartoperation.domain.subscription.ExistingSubscriptionItemAdjustmentDetail
class ExistingSubscriptionItemAdjustmentDetail extends ExistingAdjustmentDetail implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
subscriptionItemId
String subscriptionItemId
The id of the subscription item.
-
-
Class com.broadleafcommerce.cartoperation.domain.subscription.ExistingSubscriptionItemDetail
class ExistingSubscriptionItemDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
addOnKey
String addOnKey
The add-on key -
attributes
Map<String,
Object> attributes Additional attributes to include. -
existingItemAdjustmentDetails
List<ExistingSubscriptionItemAdjustmentDetail> existingItemAdjustmentDetails
Details describing existing subscription item-level adjustments. -
itemQuantity
Integer itemQuantity
The quantity of the item -
itemRef
String itemRef
The reference of the item -
itemRefType
String itemRefType
The type of the item reference -
itemSku
String itemSku
The sku of the item -
parentItemRef
String parentItemRef
The unique identifier for the parentItem. In case of "BLC_PRODUCT", this field would point to the productId. -
parentItemRefType
String parentItemRefType
The reference type of the parentItem. Usually, it would be "BLC_PRODUCT". -
subscriptionItemId
String subscriptionItemId
The id of the subscription item
-
-
Class com.broadleafcommerce.cartoperation.domain.subscription.UserSubscriptionSummary
class UserSubscriptionSummary extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
activeSubscriptions
List<ExistingSubscriptionDetails> activeSubscriptions
ExistingSubscriptionDetailsof the active subscriptions purchased by the user. -
attributes
Map<String,
Object> attributes Additional attributes to include. -
formerSubscriptions
List<ExistingSubscriptionDetails> formerSubscriptions
ExistingSubscriptionDetailsof the former subscriptions purchased by the user.
-
-
-
Package com.broadleafcommerce.cartoperation.exception
-
Exception com.broadleafcommerce.cartoperation.exception.AddCodeException
class AddCodeException extends RuntimeException implements Serializable-
Serialized Fields
-
reasonType
String reasonType
The reason type for why the code could not be added.
-
-
-
Exception com.broadleafcommerce.cartoperation.exception.AddPaymentException
class AddPaymentException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CartApprovalRequestMessageException
class CartApprovalRequestMessageException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CartApprovalValidationException
class CartApprovalValidationException extends RuntimeException implements Serializable-
Serialized Fields
-
additionalInfo
Map<String,
Object> additionalInfo The map that can be used to specify the additional info for this exception. -
cart
com.broadleafcommerce.cart.client.domain.Cart cart
The cart whose approval has failed. -
failureMessages
Map<String,
String> failureMessages Failure messages used to describe issues with individual fields or array items (keys), providing an explanation for why each is misconfigured (value). -
failureType
String failureType
The category of workflow failure that caused this exception.
-
-
-
Exception com.broadleafcommerce.cartoperation.exception.CartAwaitingPaymentFinalizationException
class CartAwaitingPaymentFinalizationException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CartAwaitingPaymentResultsMessageException
class CartAwaitingPaymentResultsMessageException extends CheckoutException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CartFinalizationException
class CartFinalizationException extends CheckoutException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CartItemValidationException
class CartItemValidationException extends RuntimeException implements Serializable-
Serialized Fields
-
cartItem
com.broadleafcommerce.cart.client.domain.CartItem cartItem
The invalidCartItemwith the errors.
-
-
-
Exception com.broadleafcommerce.cartoperation.exception.CartRejectionMessageException
class CartRejectionMessageException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CartValidationException
class CartValidationException extends RuntimeException implements Serializable- serialVersionUID:
- 1L
-
Exception com.broadleafcommerce.cartoperation.exception.CartVersionRequiredException
class CartVersionRequiredException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CatalogItemNotFoundException
class CatalogItemNotFoundException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CheckoutCompletionMessageException
class CheckoutCompletionMessageException extends CheckoutException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CheckoutException
class CheckoutException extends RuntimeException implements Serializable-
Serialized Fields
-
additionalInfo
Map<String,
Object> additionalInfo The map that can be used to specify the additional info for this exception. -
checkoutProcessDto
CheckoutProcessDto checkoutProcessDto
TheCheckoutProcessDtocontaining the details of the checkout where exception was thrown. -
failureType
String failureType
The category of workflow failure that caused this exception.- See Also:
-
-
-
Exception com.broadleafcommerce.cartoperation.exception.CheckoutRollbackException
class CheckoutRollbackException extends CheckoutException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CheckoutSubscriptionLockException
class CheckoutSubscriptionLockException extends CheckoutWorkflowActivityException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CheckoutWorkflowActivityException
class CheckoutWorkflowActivityException extends RuntimeException implements Serializable-
Serialized Fields
-
additionalInfo
Map<String,
Object> additionalInfo The map that can be used to specify the additional info for this exception. -
checkoutProcessDto
CheckoutProcessDto checkoutProcessDto
TheCheckoutProcessDtobeing processed in the activity. -
failureType
String failureType
The category of workflow failure that caused this exception.- See Also:
-
itemFailureMessages
Map<String,
String> itemFailureMessages Line item error messages used to describe issues with individual fields, cart items, etc. For example, this may consist of map entries where the key is a cart item id (or name) & the value is an explanation of why the item is misconfigured. -
paymentTransactionFailureDetails
List<PaymentTransactionFailureDetail> paymentTransactionFailureDetails
A collection ofPaymentTransactionFailureDetailsdescribing how the transaction(s) failed.
-
-
-
Exception com.broadleafcommerce.cartoperation.exception.CheckoutWorkflowException
class CheckoutWorkflowException extends CheckoutException implements Serializable-
Serialized Fields
-
itemFailureMessages
Map<String,
String> itemFailureMessages Line item error messages used to describe issues with individual fields, cart items, etc. For example, this may consist of map entries where the key is a cart item id (or name) & the value is an explanation of why the item is misconfigured. -
paymentTransactionFailureDetails
List<PaymentTransactionFailureDetail> paymentTransactionFailureDetails
A collection ofPaymentTransactionFailureDetailsdescribing how the transaction(s) failed.
-
-
-
Exception com.broadleafcommerce.cartoperation.exception.CheckoutWorkflowRollbackException
class CheckoutWorkflowRollbackException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CheckoutWorkflowRollbackMessageException
class CheckoutWorkflowRollbackMessageException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.CODPaymentMethodNotApplicableException
class CODPaymentMethodNotApplicableException extends RuntimeException implements Serializable- serialVersionUID:
- 1L
-
Exception com.broadleafcommerce.cartoperation.exception.CreditAccountInsufficientBalanceException
class CreditAccountInsufficientBalanceException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.GuestTokenExpirationException
class GuestTokenExpirationException extends GuestTokenValidationException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.GuestTokenValidationException
class GuestTokenValidationException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.InvalidAddPaymentRequestException
class InvalidAddPaymentRequestException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.InvalidCartStatusTransitionException
class InvalidCartStatusTransitionException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.InvalidUpdatePaymentRequestException
class InvalidUpdatePaymentRequestException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.OverridePriceException
class OverridePriceException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.PaymentFulfillmentCallbackException
class PaymentFulfillmentCallbackException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.PaymentLockException
class PaymentLockException extends RuntimeException implements Serializable- serialVersionUID:
- 1L
-
Exception com.broadleafcommerce.cartoperation.exception.PaymentTransactionFailureException
class PaymentTransactionFailureException extends RuntimeException implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
cart
com.broadleafcommerce.cart.client.domain.Cart cart
Deprecated.in favor ofPaymentTransactionFailureException.checkoutProcessDtoThe cart whose payment is being processed. -
checkoutProcessDto
CheckoutProcessDto checkoutProcessDto
TheCheckoutProcessDtofor the checkout request. -
paymentTransactionFailureDetails
List<PaymentTransactionFailureDetail> paymentTransactionFailureDetails
A collection ofPaymentTransactionFailureDetailsdescribing how the transaction(s) failed.
-
-
Exception com.broadleafcommerce.cartoperation.exception.PendingPaymentFailedMessageException
class PendingPaymentFailedMessageException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.ProviderApiException
class ProviderApiException extends RuntimeException implements Serializable-
Serialized Fields
-
receivedException
org.springframework.web.reactive.function.client.WebClientResponseException receivedException
The received error.
-
-
-
Exception com.broadleafcommerce.cartoperation.exception.QuoteNotEnabledException
class QuoteNotEnabledException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.RejectedItemMergeException
class RejectedItemMergeException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.StaleCartException
class StaleCartException extends RuntimeException implements Serializable-
Serialized Fields
-
upToDateCart
com.broadleafcommerce.cart.client.domain.Cart upToDateCart
-
-
-
Exception com.broadleafcommerce.cartoperation.exception.TransferCartTokenCreationException
class TransferCartTokenCreationException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.TransferCartTokenEncoderException
class TransferCartTokenEncoderException extends Exception implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.TransferCartTokenParseException
class TransferCartTokenParseException extends Exception implements Serializable
-
-
Package com.broadleafcommerce.cartoperation.exception.security
-
Exception com.broadleafcommerce.cartoperation.exception.security.AuthenticationRequiredException
class AuthenticationRequiredException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.security.CartAccessException
class CartAccessException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.security.CartNoteAccessException
class CartNoteAccessException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.exception.security.NotOwnerException
class NotOwnerException extends RuntimeException implements Serializable
-
-
Package com.broadleafcommerce.cartoperation.service.checkout
-
Class com.broadleafcommerce.cartoperation.service.checkout.DefaultCheckoutMessageRetryPolicyClassifier
class DefaultCheckoutMessageRetryPolicyClassifier extends Object implements Serializable-
Serialized Fields
-
retryPolicy
org.springframework.retry.RetryPolicy retryPolicy
-
-
-
-
Package com.broadleafcommerce.cartoperation.service.exception
-
Exception com.broadleafcommerce.cartoperation.service.exception.InvalidCartStatusException
class InvalidCartStatusException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.service.exception.PaymentFinalizationLockReleaseException
class PaymentFinalizationLockReleaseException extends RuntimeException implements Serializable
-
-
Package com.broadleafcommerce.cartoperation.service.messaging.approval
-
Class com.broadleafcommerce.cartoperation.service.messaging.approval.CartRejectionEvent
class CartRejectionEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Deprecated, for removal: This API element is subject to removal in a future version.A map of additional attributes that provides flexibility for a more extensive usage of this event -
cartActionAudit
com.broadleafcommerce.cart.client.domain.CartActionAudit cartActionAudit
Deprecated, for removal: This API element is subject to removal in a future version.The CartActionAudit object generated to record this rejection -
cartId
String cartId
Deprecated, for removal: This API element is subject to removal in a future version.The id of the cart that was rejected The cart's id can be used to reference other related objects, such as previous CartActionAudits. -
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
Deprecated, for removal: This API element is subject to removal in a future version.TheContextInfocontaining tenant and sandbox info. -
customerFullName
String customerFullName
Deprecated, for removal: This API element is subject to removal in a future version.The full name of the customer whose cart was rejected -
emailAddress
String emailAddress
Deprecated, for removal: This API element is subject to removal in a future version.The email address of the customer whose cart was rejected
-
-
-
Package com.broadleafcommerce.cartoperation.service.messaging.completion
-
Class com.broadleafcommerce.cartoperation.service.messaging.completion.CheckoutCompletionEvent
class CheckoutCompletionEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
cart
com.broadleafcommerce.cart.client.domain.CheckoutCart cart
The cart object that completed the checkout workflow -
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
TheContextInfoderived from the original request containing tenant and sandbox info. -
paymentSummaries
List<PaymentSummary> paymentSummaries
The payments for the cart that completed the checkout workflow -
requestId
String requestId
The id representing this request to checkout This value can be used to identify entities that were produced due to this request and therefore need to be rolled back
-
-
-
Package com.broadleafcommerce.cartoperation.service.messaging.finalizecart
-
Class com.broadleafcommerce.cartoperation.service.messaging.finalizecart.CartAwaitingPaymentResultsEvent
class CartAwaitingPaymentResultsEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Any extra properties needed for this event -
cart
com.broadleafcommerce.cart.client.domain.CheckoutCart cart
The cart that is being processed as part of a checkout attempt -
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
TheContextInfoderived from the original request containing tenant and sandbox info. -
paymentNextActions
List<PaymentNextAction> paymentNextActions
A collection ofPaymentNextActionsdescribing the required next steps for the payment. -
paymentSummaries
List<PaymentSummary> paymentSummaries
A collection of the cart'sPaymentSummaries
-
-
Class com.broadleafcommerce.cartoperation.service.messaging.finalizecart.CartPendingPaymentFailedEvent
class CartPendingPaymentFailedEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Any extra properties needed for this event -
cart
com.broadleafcommerce.cart.client.domain.CheckoutCart cart
The cart that is being processed as part of a checkout attempt -
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
TheContextInfoderived from the original request containing tenant and sandbox info.
-
-
Class com.broadleafcommerce.cartoperation.service.messaging.finalizecart.ExternalPaymentTransactionCartFinalizationEvent
class ExternalPaymentTransactionCartFinalizationEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes A map of additional attributes that provides flexibility for a more extensive usage of this event. -
cartId
String cartId
The cart that is being processed as part of a checkout attempt -
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
TheContextInfoderived from the original request containing tenant and sandbox info.
-
-
Class com.broadleafcommerce.cartoperation.service.messaging.finalizecart.PaymentRef
class PaymentRef extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
gatewayType
String gatewayType
The gateway used to process this payment. Only a SINGLE payment gateway can be used for a payment. -
id
String id
The payment's id. -
name
String name
The payment's name. -
ownerId
String ownerId
The id of the entity that owns this payment. For example, this may be a cart id, or a subscription billing cycle id. -
ownerType
String ownerType
Describes the owner of the payment. For example, the payment could have originated with a cart or a subscription, therefore this value might be CART or SUBSCRIPTION. -
owningUserId
String owningUserId
The id of the owning user that owns this payment. For example, this may be a customer id, or an account id. -
owningUserType
String owningUserType
Describes the owning user type of the payment. For example, the payment could belong to a customer or an account, therefore this value might be BLC_CUSTOMER or BLC_ACCOUNT. -
type
String type
The type of this payment like Credit Card or Gift Card.
-
-
Class com.broadleafcommerce.cartoperation.service.messaging.finalizecart.PaymentTransactionResultEvent
class PaymentTransactionResultEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Miscellaneous attributes that can be added to this payload in order to provide more information. Note, it is recommended to not add any sensitive information in these attributes. -
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
TheContextInfoderived from the original request containing tenant and sandbox info. -
paymentRef
PaymentRef paymentRef
The payment in the relationship. -
paymentTransactionRef
PaymentTransactionRef paymentTransactionRef
The payment transaction's id. -
transactionRequiredExternalInteraction
boolean transactionRequiredExternalInteraction
Whether the transaction required external interaction (3DS or HPP).
-
-
-
Package com.broadleafcommerce.cartoperation.service.messaging.rollback
-
Class com.broadleafcommerce.cartoperation.service.messaging.rollback.CheckoutRollbackEvent
class CheckoutRollbackEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
cartId
String cartId
The id of the cart that was submitted for checkout -
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
TheContextInfoderived from the original request containing tenant and sandbox info. -
failureType
String failureType
Failure type from theCheckoutWorkflowActivityException.getFailureType() -
requestId
String requestId
The id representing this request to checkout This value can be used to identify entities that were produced due to this request and therefore need to be rolled back
-
-
-
Package com.broadleafcommerce.cartoperation.service.provider.domain
-
Class com.broadleafcommerce.cartoperation.service.provider.domain.ClaimCheckoutTransactionsRequest
class ClaimCheckoutTransactionsRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
lockToken
String lockToken
The payment lock token. -
paymentId
String paymentId
The id of the payment to claim the transactions against. -
requestId
String requestId
The id of the checkout request to claim the transactions for. -
resetTransactionReversalState
boolean resetTransactionReversalState
Whether to reset transaction reversal state. -
transactionType
String transactionType
The type of the transaction.
-
-
Class com.broadleafcommerce.cartoperation.service.provider.domain.EstimatedFuturePayment
class EstimatedFuturePayment extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
javax.money.MonetaryAmount amount
Amount due on the payment schedule date. Equal toEstimatedFuturePayment.getProratedAmount()+EstimatedFuturePayment.getPriorUnbilledAmount()-EstimatedFuturePayment.getCreditedAmount(). -
billDate
Instant billDate
The date on which the customer is expected to be billed. -
creditedAmount
javax.money.MonetaryAmount creditedAmount
For edits, upgrades, and downgrades, the system has partial credits to the prorated amount that the customer already paid. Typically only impacts the first period in the estimatedFuturePaymentsList. For example, consider a customer who is upgrading from 10 to 20 licenses at $1 each half-way through a 30 day month. The user prorated amount would be $10 for 20 licenses. This user has already partially paid for 10 of the licenses, so they will be due a credit of $5 toward the amount. -
itemDetails
List<SubscriptionItemPriceDetail> itemDetails
A list ofSubscriptionPriceItemDetailsdescribing the individual item prices that contributed to the overallEstimatedFuturePayment.getAmount(). -
periodEndDate
Instant periodEndDate
The date describing the end of the billing period that is being billed for. -
periodNumber
Integer periodNumber
The period number of the billing period. -
periodStartDate
Instant periodStartDate
The date describing the beginning of the billing period that is being billed for. -
priorUnbilledAmount
javax.money.MonetaryAmount priorUnbilledAmount
Prior to an upgrade, downgrade, or edit, the system may have prior unbilled charges that will be part of the next invoice. In this case, the user will owe this in addition to the prorated charges for the changes being made. Typically only impacts the first period in the estimatedFuturePaymentsList. -
proratedAmount
javax.money.MonetaryAmount proratedAmount
Prorated amount for this item (for new, this would match the amount)
-
-
Class com.broadleafcommerce.cartoperation.service.provider.domain.IdentifyCancellationPolicyRequest
class IdentifyCancellationPolicyRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
Class com.broadleafcommerce.cartoperation.service.provider.domain.IdentifyCancellationPolicyResponse
class IdentifyCancellationPolicyResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Miscellaneous attributes that can be added to the response in order to provide more information. -
policyByCartItemId
Map<String,
com.broadleafcommerce.order.common.domain.subscription.CancellationPolicyRef> policyByCartItemId A map ofCartItem.getId()to the matchingCancellationPolicyRef.
-
-
Class com.broadleafcommerce.cartoperation.service.provider.domain.RemovedAdjustment
class RemovedAdjustment extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustmentAmountTotal
BigDecimal adjustmentAmountTotal
Amount of this adjustment -
adjustmentCartLabel
String adjustmentCartLabel
Friendly label to display in the cart or to a customer in general instead of theRemovedAdjustment.adjustmentName. -
adjustmentCodeRef
String adjustmentCodeRef
A reference to the Offer Code (if any). -
adjustmentDescription
String adjustmentDescription
A description of what benefits the adjustment provides to a customer. -
adjustmentName
String adjustmentName
Name of the adjustment applied. -
adjustmentProrationType
String adjustmentProrationType
Determines how an adjustment's discount amount is distributed across the adjustment's related item types. This can either be set to prorate across target items or target and qualifier items. -
adjustmentRef
String adjustmentRef
Reference to the promotion or offer that drives this adjustment -
adjustmentUnitAmount
BigDecimal adjustmentUnitAmount
The unit discount of anAdjustment. -
attributes
Map<String,
Object> attributes Additional information to include with this removal DTO. -
beginPeriod
Integer beginPeriod
Number of the billing period this adjustment starts being active -
campaignTrackingId
String campaignTrackingId
The campaign tracking id (if any) for this adjustment. -
codeUsed
String codeUsed
The code used (if any) that triggered the application of the adjustment for this adjustment. -
discountType
String discountType
Defines the type of the discount. This primarily determines when it should be applied to the order or items. This helps distinguish whether the adjustment applies at checkout or later such as for a subscription. -
endPeriod
Integer endPeriod
Number of the billing period this adjustment stops. If this field is null, the adjustment is considered indefinite -
freeTrialLength
Integer freeTrialLength
IfRemovedAdjustment.discountTypeisFREE_TRIAL, then this defines the free trial's length.- See Also:
-
RemovedAdjustment.freeTrialLengthUnits
-
freeTrialLengthUnits
String freeTrialLengthUnits
IfRemovedAdjustment.discountTypeisFREE_TRIAL, then this defines the units forRemovedAdjustment.freeTrialLength.- See Also:
-
RemovedAdjustment.freeTrialLength
-
itemAdjustmentQuantity
Integer itemAdjustmentQuantity
If it's an item adjustment, it represents the quantity this adjustment applies to. If null, then the full quantity of the item is targeted. -
reasonCode
String reasonCode
A system code used to identify the reason for the removal of the adjustment. -
reasonMessage
String reasonMessage
A message to the customer specifying why the adjustment is being removed. -
subscriptionAdjustmentType
String subscriptionAdjustmentType
Type of this adjustment
-
-
Class com.broadleafcommerce.cartoperation.service.provider.domain.SubscriptionActionPriceDetail
class SubscriptionActionPriceDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
cartItemId
String cartItemId
Reference to the subscriptionCartItem -
itemName
String itemName
Name of the item identified bySubscriptionActionPriceDetail.getItemRefType()&SubscriptionActionPriceDetail.getItemRef(). -
itemRef
String itemRef
Reference to the id of the item represented by this object. For example, the product id. -
itemRefType
String itemRefType
Type of item that this object represents. For example, BLC_PRODUCT. -
parentItemRef
String parentItemRef
Reference of the parent subscription item's backing item if this is a child subscription item -
parentItemRefType
String parentItemRefType
Type of the parent subscription item's backing item if this is a child subscription item -
postActionSubtotal
javax.money.MonetaryAmount postActionSubtotal
The subscription item subtotal after to the action being taken, reflecting the typical recurring price for the item. -
preActionSubtotal
javax.money.MonetaryAmount preActionSubtotal
The subscription item subtotal prior to the action being taken, reflecting the typical recurring price for the item. For aDefaultSubscriptionActionFlow.CREATEaction, this value will be null since there was no prior subscription.
-
-
Class com.broadleafcommerce.cartoperation.service.provider.domain.SubscriptionItemAdjustmentPriceDetail
class SubscriptionItemAdjustmentPriceDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Miscellaneous attributes that can be set to this request in order to inform business logic -
adjustmentQuantity
Integer adjustmentQuantity
The quantity of the item impacted by the adjustment after the subscription modification.For
DefaultSubscriptionActionFlow.CREATE, this is just the item's quantity. -
adjustmentRef
String adjustmentRef
Reference to the promotion or offer that drives this adjustment. -
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
creditedUnitDiscountAmount
javax.money.MonetaryAmount creditedUnitDiscountAmount
The subscription item discount per unit to be deducted from theSubscriptionItemPriceDetail.getCreditedUnitAmount().Similar to
SubscriptionItemPriceDetail.getCreditedUnitAmount(), the customer had the full discount applied in their previous payment, so when it needs to be credited due to an edit, upgrade, or downgrade, the discount amount needs to be prorated and deducted from the credited amount. -
existingItemAdjustmentQuantity
Integer existingItemAdjustmentQuantity
The quantity of the item impacted by the adjustment prior to the subscription modification.It is important to keep track because the impacted quantity may change after the modification, and this is used to calculate the credited and prior unbilled amounts. For example, if the quantity is reduced from 10 to 5 from the modification, the discount amount to deduct from the credited amount should be calculated based on the original quantity of 10, whereas the discount amount to deduct from the prorated amount should be calculated based on the new quantity of 5.
This is only relevant for subscription modification flows.
- See Also:
-
priorUnbilledUnitDiscountAmount
javax.money.MonetaryAmount priorUnbilledUnitDiscountAmount
The subscription item discount per unit to be deducted from theSubscriptionItemPriceDetail.getPriorUnbilledUnitAmount().Similar to
SubscriptionItemPriceDetail.getPriorUnbilledUnitAmount(), the discount amount also needs to be prorated and deducted from the prior unbilled amount, since the discount was applied prior to the edit, upgrade, or downgrade. -
proratedUnitDiscountAmount
javax.money.MonetaryAmount proratedUnitDiscountAmount
Similar toSubscriptionItemPriceDetail.getProratedUnitAmount(), this is the original discount amount prorated relative to the next invoice date. For a new purchase, this reflects the full date range. For edits, upgrades, & downgrades, this reflects the prorated price between the action & the end of the billing period.
-
-
Class com.broadleafcommerce.cartoperation.service.provider.domain.SubscriptionItemPriceDetail
class SubscriptionItemPriceDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustmentPriceDetailsByAdjustmentRef
Map<String,
SubscriptionItemAdjustmentPriceDetail> adjustmentPriceDetailsByAdjustmentRef The map ofSubscriptionItemAdjustmentPriceDetailby adjustment reference, containing the details about how the discount affects the prorated unit amount, credited amount, and prior unbilled amount. -
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
cartItemId
String cartItemId
Reference to the subscriptionCartItem -
creditedAmount
javax.money.MonetaryAmount creditedAmount
Stores the credited portion of the item subtotal, which is based on theSubscriptionItemPriceDetail.getCreditedUnitAmount(). This unit amount is scaled by theSubscriptionItemPriceDetail.getExistingSubscriptionItemQuantity(). -
creditedUnitAmount
javax.money.MonetaryAmount creditedUnitAmount
For edits, upgrades, and downgrades on a subscription that’s using a PREPAID payment strategy, the customer has already paid the full amount for this billing cycle at the previous rate. For example, consider a customer who is upgrading from 10 to 20 licenses at $1 each half-way through a 30-day month. The user prorated amount would be $10 for 20 licenses. This user has already partially paid for 10 of the licenses, so they will be due a credit of $5 toward the second-half-of-the-month amount. Note: This typically only impacts the first period in the estimatedFuturePayments list. -
dueNowQuantityOverride
Integer dueNowQuantityOverride
An item's quantity override value used for "due now" price calculations where the item's quantity decreased due to the subscription action. -
existingSubscriptionItemQuantity
Integer existingSubscriptionItemQuantity
The existing subscription item's quantity prior the subscription action (e.g. edit, upgrade, downgrade, etc.). -
itemName
String itemName
Name of the item identified bySubscriptionItemPriceDetail.getItemRefType()&SubscriptionItemPriceDetail.getItemRef(). -
itemRef
String itemRef
Reference to the id of the item represented by this object. For example, the product id. -
itemRefType
String itemRefType
Type of item that this object represents. For example, BLC_PRODUCT. -
itemSubtotal
javax.money.MonetaryAmount itemSubtotal
Stores the item subtotal, which is equal toSubscriptionItemPriceDetail.getProratedAmount()+SubscriptionItemPriceDetail.getPriorUnbilledAmount()-SubscriptionItemPriceDetail.getCreditedAmount().Note: Keep in mind that the
SubscriptionItemPriceDetail.getProratedAmount()is based on a unit price that's scaled based on the item's new quantity, whereas theSubscriptionItemPriceDetail.getPriorUnbilledAmount()&SubscriptionItemPriceDetail.getCreditedAmount()are based on unit prices that are scaled based on the item's previous quantity. -
parentItemRef
String parentItemRef
Reference of the parent subscription item's backing item if this is a child subscription item -
parentItemRefType
String parentItemRefType
Type of the parent subscription item's backing item if this is a child subscription item -
parentQuantity
Integer parentQuantity
The item's parent quantity following the subscription action (e.g. create, edit, upgrade, downgrade, etc.). This is typically used to scale a dependent item's quantity based on its parent for calculating subtotals. -
priorUnbilledAmount
javax.money.MonetaryAmount priorUnbilledAmount
Stores the prior unbilled portion of the item subtotal, which is based on theSubscriptionItemPriceDetail.getPriorUnbilledUnitAmount(). This unit amount is scaled by theSubscriptionItemPriceDetail.getExistingSubscriptionItemQuantity(). -
priorUnbilledUnitAmount
javax.money.MonetaryAmount priorUnbilledUnitAmount
Prior to an edit, upgrade, or downgrade on a subscription that’s using a Postpaid payment strategy, the system will have prior unbilled charges that will be part of the next invoice. In this case, the user will owe this in addition to the prorated charges for the changes being made. For example, consider a customer who is upgrading from 10 to 20 licenses at $1 each half-way through a 30-day month. The user prorated amount would be $10 for 20 licenses. This user also owes $5 for access to the 10 licenses in the first half of the month. Note: This typically only impacts the first period in the estimatedFuturePayments list. -
proratedAmount
javax.money.MonetaryAmount proratedAmount
Stores the prorated portion of the item subtotal, which is based on theSubscriptionItemPriceDetail.getProratedUnitAmount(). This unit amount is scaled by theSubscriptionItemPriceDetail.getDueNowQuantityOverride()if it's present. Otherwise, the unit amount is scaled by theSubscriptionItemPriceDetail.getQuantity(). -
proratedUnitAmount
javax.money.MonetaryAmount proratedUnitAmount
The subscription item price per unit, prorated relative to the next invoice date. For a new purchase, this reflects the full date range. For edits, upgrades, & downgrades, this reflects the prorated price between the action & the end of the billing period. -
quantity
Integer quantity
The item's quantity following the subscription action (e.g. create, edit, upgrade, downgrade, etc.).
-
-
Class com.broadleafcommerce.cartoperation.service.provider.domain.SubscriptionPriceResponse
class SubscriptionPriceResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
actionPriceDetails
List<SubscriptionActionPriceDetail> actionPriceDetails
A collection ofSubscriptionActionPriceDetailobjects describing the price before & after the action for each item. -
additionalAttributes
Map<String,
Object> additionalAttributes Miscellaneous attributes that can be added to the response in order to provide more information. -
amountDueNow
javax.money.MonetaryAmount amountDueNow
Amount due today, which is typically captured immediately. Equal toSubscriptionPriceResponse.getProratedAmount()+SubscriptionPriceResponse.getPriorUnbilledAmount()-SubscriptionPriceResponse.getCreditedAmount(). Note: This value is allowed to be negative, representing a required refund. -
attributes
Map<String,
Object> attributes Map holding any additional attributes passed in the request not matching any defined properties. -
creditedAmount
javax.money.MonetaryAmount creditedAmount
For edits, upgrades, and downgrades on a subscription that’s using anDefaultPaymentStrategy.PREPAIDpayment strategy, the customer has already paid the full amount for this billing cycle at the previous rate. For example, consider a customer who is upgrading from 10 to 20 licenses at $1 each half-way through a 30-day month. The user prorated amount would be $10 for 20 licenses. This user has already partially paid for 10 of the licenses, so they will be due a credit of $5 toward the second-half-of-the-month amount. Note: This typically only impacts the first period in the estimatedFuturePayments list. -
dueNowItemDetails
List<SubscriptionItemPriceDetail> dueNowItemDetails
A list ofSubscriptionPriceItemDetailsdescribing the individual item prices that contributed to the overallSubscriptionPriceResponse.getAmountDueNow(). -
estimatedFuturePayments
List<EstimatedFuturePayment> estimatedFuturePayments
A collection ofEstimatedFuturePaymentobjects describing the timing & amount of future subscription payments. -
flow
String flow
Describes the subscription action flow that is being executed.- See Also:
-
paymentStrategy
String paymentStrategy
The payment strategy of the subscription, e.g. PREPAID vs POSTPAID- See Also:
-
DefaultPaymentStrategy
-
periodFrequency
int periodFrequency
The frequency with which the recurring price should be charged., e.g., a value of 1 combined withSubscriptionPriceResponse.periodTypeof MONTH would indicate to a subscription service that the price should be charged every 1 month.- See Also:
-
SubscriptionPriceResponse.periodType
-
periodType
String periodType
The period type for the price, e.g. DAY, MONTH, YEAR- See Also:
-
SubscriptionPriceResponse.periodFrequency
-
postActionSubtotal
javax.money.MonetaryAmount postActionSubtotal
The subscription subtotal after to the action being taken, reflecting the typical recurring price for the subscription. -
preActionSubtotal
javax.money.MonetaryAmount preActionSubtotal
The subscription subtotal prior to the action being taken, reflecting the typical recurring price for the subscription. For aDefaultSubscriptionActionFlow.CREATEaction, this value will be null since there was no prior subscription. -
priorUnbilledAmount
javax.money.MonetaryAmount priorUnbilledAmount
Prior to an edit, upgrade, or downgrade on a subscription that’s using a Postpaid payment strategy, the system will have prior unbilled charges that will be part of the next invoice. In this case, the user will owe this in addition to the prorated charges for the changes being made. For example, consider a customer who is upgrading from 10 to 20 licenses at $1 each half-way through a 30-day month. The user prorated amount would be $10 for 20 licenses. This user also owes $5 for access to the 10 licenses in the first half of the month. Note: This typically only impacts the first period in the estimatedFuturePayments list. -
proratedAmount
javax.money.MonetaryAmount proratedAmount
The subscription price, prorated relative to the next invoice date. For a new purchase, this reflects the full date range. For edits, upgrades, & downgrades, this reflects the prorated price between the action & the end of the billing period. -
removedAdjustments
List<RemovedAdjustment> removedAdjustments
The list ofAdjustmentsbeing removed with additional contextual information. -
rootCartItemId
String rootCartItemId
Reference to the root subscriptionCartItem -
rootItemRef
String rootItemRef
Reference to the id of the item represented by this object. For example, the product id. -
rootItemRefType
String rootItemRefType
Type of item that this object represents. For example, BLC_PRODUCT. -
subscriptionActionDate
Instant subscriptionActionDate
The timestamp at which the subscription action was taken. In most pricing contexts, the action has not been formally submitted, so we'll use today's date for making pricing calculations.
-
-
-
Package com.broadleafcommerce.cartoperation.service.provider.external
-
Class com.broadleafcommerce.cartoperation.service.provider.external.ExternalCartProvider.CartConflictResponse
class CartConflictResponse extends Object implements Serializable-
Serialized Fields
-
newCart
com.broadleafcommerce.cart.client.domain.Cart newCart
-
-
-
-
Package com.broadleafcommerce.cartoperation.service.provider.external.domain.audit
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.audit.CloneCartActionAuditRequest
class CloneCartActionAuditRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Additional attributes. -
cartActionAuditToCreate
com.broadleafcommerce.cart.client.domain.CartActionAudit cartActionAuditToCreate
ACartActionAuditto create along with the clone. -
cartIdToCloneFrom
String cartIdToCloneFrom
The id of the cart to clone theCartActionAuditsfrom. -
cartIdToCloneTo
String cartIdToCloneTo
The id of the cart to clone theCartActionAuditsto.
-
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.audit.CloneCartActionAuditResponse
class CloneCartActionAuditResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
-
Package com.broadleafcommerce.cartoperation.service.provider.external.domain.cart
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.cart.UpdateCartRequest
class UpdateCartRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
allowPriceCart
boolean allowPriceCart
Whether the cart may be priced. -
cart
com.broadleafcommerce.cart.client.domain.Cart cart
An updatedCartobject. -
cartActionAuditToCreate
com.broadleafcommerce.cart.client.domain.CartActionAudit cartActionAuditToCreate
ACartActionAuditto create along with the cart update.This is typically for B2B use cases where a
CartActionAuditneeds to be created when an action is performed on an account cart. -
invalidatePrices
boolean invalidatePrices
Whether to invalidate prices on the cart if changes were made. -
paymentLockTokens
Map<String,
String> paymentLockTokens Tokens that grant this service access to act upon the payment. The presence of these tokens indicates that this execution flow owns the lock. -
wasCartModified
boolean wasCartModified
Whether the cart was actually modified by the caller.
-
-
-
Package com.broadleafcommerce.cartoperation.service.provider.external.domain.catalog
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.catalog.CatalogItemRequest
class CatalogItemRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Map holding any additional attributes passed in the request not matching any defined properties. -
productId
String productId
The ID of the Product. -
sku
String sku
This Stock Keeping Unit uniquely identifies this item in the catalog when it is sold and is used for other contexts like inventory and pricing. -
variantId
String variantId
The ID of the Variant, if any.
-
-
-
Package com.broadleafcommerce.cartoperation.service.provider.external.domain.inventory
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.inventory.InventoryAvailabilityRequest
class InventoryAvailabilityRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Map holding any additional attributes passed in the request not matching any defined properties. -
inventoryLocationReference
String inventoryLocationReference
The reference to the inventory location where to verify the availability of the item.- Since:
- Cart Operation Service 2.2.1, Release Train 2.2.1
-
quantity
int quantity
The quantity being requested for this item. -
referenceNumber
String referenceNumber
The reference number used to identify any existing soft inventory reservations.Existing soft reservations are excluded if this field is passed in. For example, if a SKU has total of 2 available and 1 is reserved for userA, and userA checks inventory availability for a quantity of 2 for the same SKU. The existing soft reservation is excluded from the check in this case, effectively making this request to check for an additional quantity of 1 to be available. However, if userB sends the same request to check availability for a quantity of 2 for the same SKU, it would return unavailable since only 1 is available as the other one is reserved for userA.
-
sku
String sku
This Stock Keeping Unit that uniquely identifies this item.
-
-
-
Package com.broadleafcommerce.cartoperation.service.provider.external.domain.payment
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.payment.LockPaymentRequest
class LockPaymentRequest extends Object implements Serializable-
Serialized Fields
-
ownerId
String ownerId
The id of the entity that owns this payment. For example, this may be a cart id, or a subscription billing cycle id. -
ownerType
String ownerType
Describes the owner of the payment. For example, the payment could have originated with a cart or a subscription, therefore this value might be CART or SUBSCRIPTION.- See Also:
-
-
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.payment.LockPaymentsResponse
class LockPaymentsResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
lockTokens
Map<String,
String> lockTokens Map of payment ids to payment lock tokens. -
paymentSummaries
List<PaymentSummary> paymentSummaries
List of payments that were locked.
-
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.payment.NextAction
class NextAction extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
actionType
String actionType
The type of action that must be taken.- See Also:
-
attributes
Map<String,
Object> attributes Map holding any additional attributes not matching any defined properties. -
redirectUrl
String redirectUrl
The gateway-provided url that can redirect to the next action the customer must take. This URL can be used for redirecting to hosted payments page, displaying a 3D Secure form, etc. The customer is typically redirected to this location, but the page can also be rendered within an iframe if this is supported by the gateway.
-
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.payment.TransactionExecutionDetail
class TransactionExecutionDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustmentsTotal
javax.money.MonetaryAmount adjustmentsTotal
The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts. -
attributes
Map<String,
String> attributes Map of specific attributes that have been gathered from the raw response. This should be used for data points that are to be used programmatically. For example, a gateway-specific transaction id that can be used to capture or refund the transaction. Note: It's very important that this does not include sensitive payment method data. Doing so will expand the PCI scope to include CartOperationServices and its related services. -
dateRecorded
Instant dateRecorded
The timestamp when this transaction response was recorded -
declineType
String declineType
The type of transaction failure (hard vs soft failure)- See Also:
-
failureType
String failureType
The type of transaction failure- See Also:
-
feesTotal
javax.money.MonetaryAmount feesTotal
The total fees related to theTransactionExecutionDetail.transactionAmount -
flaggedForManualReview
boolean flaggedForManualReview
Indicates that the payment transaction has been flagged for manual review via fraud checks. -
fulfillmentTotal
javax.money.MonetaryAmount fulfillmentTotal
The payment's total fulfillment cost. -
gatewayResponseCode
String gatewayResponseCode
The response code provided by the payment gateway which may represent a success or failure -
includedTaxTotal
javax.money.MonetaryAmount includedTaxTotal
The amount of taxes that are included in the subtotal (VAT). -
indeterminateResult
boolean indeterminateResult
Tells if this transaction has an indeterminate result.Having an indeterminate result means that the true outcome of the transaction is not known. For example, if a transaction is sent to the payment processor but a network error occurred, it is not known to us whether the user was actually charged or not (thus, the result is indeterminate).
Transactions should be marked as indeterminate when sending to the payment processor, and then unmarked once a response is received, understood, and recorded. This means that a transaction in an indeterminate result state is expected during the sending to processor phase. However, if the transaction remains in that state for an excessive amount of time, something likely went wrong and the transaction will need to be reconciled. If the transaction changes from the sending to processor status but remains indeterminate, the transaction will also require reconciliation in that scenario.
Some situations which may lead to an indeterminate result:
- A transaction is sent to the processor, but a network error prevents us from receiving the response
- A transaction is sent to the processor, but the processor returns an unexpected error (e.g. 500 internal server error)
- A transaction is sent to the processor and a response is received, but cannot be recorded because Cart Services is down
- A transaction is sent to the processor and a response is received, but cannot be recorded because the database is down
-
message
String message
Message describing the result of the transaction -
nextAction
NextAction nextAction
The next step required for the payment gateway to continue processing this payment. -
parentTransactionId
String parentTransactionId
The id of the parent payment transaction. Necessary for operations on a payment that require something to have happened beforehand. For instance, an authorize transaction would not have a parent but a capture must have an authorize parent transaction and a refund must have a capture parent transaction. The full set of expected parent-child transaction relationships are as follows:- Child Transaction -> Parent Transaction
- Reverse Authorize -> Authorize
- Capture -> Authorize
- Refund -> Capture
- Refund -> AuthorizeAndCapture
-
subtotal
javax.money.MonetaryAmount subtotal
The payment's total usually excluding adjustments, tax, fees, and shipping. -
taxTotal
javax.money.MonetaryAmount taxTotal
The payment's total tax cost. -
threeDSecureVerificationUrl
String threeDSecureVerificationUrl
Deprecated.in favor ofTransactionExecutionDetail.nextActionThe gateway-provided url where the customer must verify that they are in fact the owner of the payment method. The customer is typically redirected to this location, but the page can also be rendered within an iframe if this is supported by the gateway. -
transactionAmount
javax.money.MonetaryAmount transactionAmount
The transaction amount that we're expecting to execute against thePaymentSummary. This amount must be valid according to what's available for thePaymentSummary. If specified, the amount details should be equal to this amount using the following equation: transactionAmount =TransactionExecutionDetail.subtotal+TransactionExecutionDetail.fulfillmentTotal+TransactionExecutionDetail.feesTotal-TransactionExecutionDetail.adjustmentsTotal+TransactionExecutionDetail.taxTotal-TransactionExecutionDetail.includedTaxTotal. -
transactionId
String transactionId
The id of the executed transaction. -
transactionReferenceId
String transactionReferenceId
The transaction id known by the payment gateway. This reference can be used to link the request to the gateway's record of the transaction in the case that the calling application does not receive a response from the gateway. -
transactionStatus
String transactionStatus
The status of the transaction.- See Also:
-
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.payment.TransactionExecutionRequest
class TransactionExecutionRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustmentsTotal
javax.money.MonetaryAmount adjustmentsTotal
The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts. Note: Only theTransactionExecutionRequest.transactionAmountis required, but if this value is included, then theTransactionExecutionRequest.subtotal,TransactionExecutionRequest.fulfillmentTotal,TransactionExecutionRequest.feesTotal,TransactionExecutionRequest.taxTotal, &TransactionExecutionRequest.includedTaxTotalshould be included also. -
allowAutomaticReversal
boolean allowAutomaticReversal
Whether to allow this transaction to be automatically reversed by payment system's scheduled jobs.Set this field to
falseif this transaction should only be allowed to be reversed by Order Operation Service. -
feesTotal
javax.money.MonetaryAmount feesTotal
The total fees related to theTransactionExecutionRequest.transactionAmountNote: Only theTransactionExecutionRequest.transactionAmountis required, but if this value is included, then theTransactionExecutionRequest.subtotal,TransactionExecutionRequest.fulfillmentTotal,TransactionExecutionRequest.adjustmentsTotal,TransactionExecutionRequest.taxTotal, &TransactionExecutionRequest.includedTaxTotalshould be included also. -
fulfillmentTotal
javax.money.MonetaryAmount fulfillmentTotal
The payment's total fulfillment cost. Note: Only theTransactionExecutionRequest.transactionAmountis required, but if this value is included, then theTransactionExecutionRequest.subtotal,TransactionExecutionRequest.feesTotal,TransactionExecutionRequest.adjustmentsTotal,TransactionExecutionRequest.taxTotal, &TransactionExecutionRequest.includedTaxTotalshould be included also. -
includedTaxTotal
javax.money.MonetaryAmount includedTaxTotal
The amount of taxes that are included in the subtotal (VAT). Note: Only theTransactionExecutionRequest.transactionAmountis required, but if this value is included, then theTransactionExecutionRequest.subtotal,TransactionExecutionRequest.fulfillmentTotal,TransactionExecutionRequest.feesTotal,TransactionExecutionRequest.adjustmentsTotal, &TransactionExecutionRequest.taxTotalshould be included also. -
parentTransactionId
String parentTransactionId
The id of the payment transaction that proceeded this transaction. Typically this is used when the execution of a transaction requires knowledge of the proceeding transaction, like the need to reference anDefaultTransactionTypes.AUTHORIZEtransaction to execute aDefaultTransactionTypes.CAPTUREtransaction. -
paymentId
String paymentId
The id of the relatedPaymentSummarythat is meant to be used for the transaction. -
paymentMethodProperties
Map<String,
Object> paymentMethodProperties Additional data is needed to execute payment transactions, esp. properties that should not be persisted to the Payment#paymentMethodProperties in PaymentTransactionServices. -
requestId
String requestId
The id representing the customer's request to execute one or more transactions. -
securityCode
String securityCode
The payment method security code that may be required to execute the transaction. Typically, this value is required to execute transactions against multi-use payment methods to validate that the user is the owner of the payment method. -
source
String source
A simple description of the system that initiated this transaction execution request. -
sourceEntityId
String sourceEntityId
Deprecated.since Cart Operation Service 2.3.0, Release Train 2.3.0, useTransactionExecutionRequest.getSourceEntityIds()The ID of the source entity associated with the transaction.For example, if
TransactionExecutionRequest.getSourceEntityType()isCHECKOUT_REQUEST, this would be the ID of the checkout request. -
sourceEntityIds
List<String> sourceEntityIds
The IDs of the source entities associated with the transaction.For example, if
TransactionExecutionRequest.getSourceEntityType()isCHECKOUT_REQUEST, this would be the ID of the checkout request.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
- See Also:
-
sourceEntityType
String sourceEntityType
The type of the source entity associated with the transaction. For example, "CHECKOUT_REQUEST". -
subtotal
javax.money.MonetaryAmount subtotal
The payment's total usually excluding adjustments, tax, fees, and shipping. Note: Only theTransactionExecutionRequest.transactionAmountis required, but if this value is included, then theTransactionExecutionRequest.fulfillmentTotal,TransactionExecutionRequest.feesTotal,TransactionExecutionRequest.adjustmentsTotal,TransactionExecutionRequest.taxTotal, &TransactionExecutionRequest.includedTaxTotalshould be included also. -
taxTotal
javax.money.MonetaryAmount taxTotal
The payment's total tax cost. Note: Only theTransactionExecutionRequest.transactionAmountis required, but if this value is included, then theTransactionExecutionRequest.subtotal,TransactionExecutionRequest.fulfillmentTotal,TransactionExecutionRequest.feesTotal,TransactionExecutionRequest.adjustmentsTotal, &TransactionExecutionRequest.includedTaxTotalshould be included also. -
transactionAmount
javax.money.MonetaryAmount transactionAmount
The transaction amount that we're expecting to execute against thePaymentSummary. This amount must be valid according to what's available for thePaymentSummary. If specified, the amount details should be equal to this amount using the following equation: transactionAmount =TransactionExecutionRequest.subtotal+TransactionExecutionRequest.fulfillmentTotal+TransactionExecutionRequest.feesTotal-TransactionExecutionRequest.adjustmentsTotal+TransactionExecutionRequest.taxTotal-TransactionExecutionRequest.includedTaxTotal. -
transactionType
String transactionType
The type of transaction that is to be executed.- See Also:
-
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.payment.TransactionExecutionResponse
class TransactionExecutionResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustmentsTotal
javax.money.MonetaryAmount adjustmentsTotal
The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts. -
expectedTotalAmount
javax.money.MonetaryAmount expectedTotalAmount
The total amount that we're expecting to be executed against the payment, spread across theTransactionExecutionResponse.transactionExecutionDetails. This amount must be valid according to what's available for the payment. If specified, the amount details (TransactionExecutionResponse.subtotal,TransactionExecutionResponse.adjustmentsTotal,TransactionExecutionResponse.fulfillmentTotal, &TransactionExecutionResponse.taxTotal) should sum together to equal this amount. -
feesTotal
javax.money.MonetaryAmount feesTotal
The total fees related to theTransactionExecutionResponse.expectedTotalAmount -
fulfillmentTotal
javax.money.MonetaryAmount fulfillmentTotal
The payment's total fulfillment cost. -
includedTaxTotal
javax.money.MonetaryAmount includedTaxTotal
The amount of taxes that are included in the subtotal (VAT). -
owningEntityPayments
List<PaymentSummary> owningEntityPayments
The list of all payments for the owning entity (e.g. Cart). This list is returned if the request containshydrateOwningEntityPayments=trueparameter. -
paymentSummary
PaymentSummary paymentSummary
The updatedPaymentSummaryrepresentation.This can be null if the payment is archived as a result of a failed transaction.
-
requestId
String requestId
The id representing the customer's request to execute one or more transactions. -
subtotal
javax.money.MonetaryAmount subtotal
The payment's total usually excluding adjustments, tax, fees, and shipping. -
taxTotal
javax.money.MonetaryAmount taxTotal
The payment's total tax cost. -
transactionExecutionDetails
List<TransactionExecutionDetail> transactionExecutionDetails
A list ofTransactionExecutionDetailsdescribing the transactions executed. -
transactionType
String transactionType
The type of transactions that were executed.- See Also:
-
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.payment.UnlockPaymentRequest
class UnlockPaymentRequest extends Object implements Serializable-
Serialized Fields
-
lockTokens
Collection<String> lockTokens
List of tokens that can be used to release payment locks.
-
-
-
Class com.broadleafcommerce.cartoperation.service.provider.external.domain.payment.UpdatePaymentsResponse
class UpdatePaymentsResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
failedPayments
List<PaymentSummary> failedPayments
List of payments that failed during processing. -
failureMessages
Map<String,
String> failureMessages Map of payment ids to failures messages detailing what failed during processing. -
successfulPayments
List<PaymentSummary> successfulPayments
List of payments that were successfully processed.
-
-
-
Package com.broadleafcommerce.cartoperation.web.endpoint.domain
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.AddAttributeRequest
class AddAttributeRequest extends CartModifyingRequest implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
invalidatePricing
boolean invalidatePricing
Whether to invalidate Pricing. This is used to override theaddAttributeproperty ofCartOperationServiceProperties.PriceInvalidation.- Since:
- Cart Operation Service 2.1.5, Release Train 2.1.5
-
key
String key
The attribute's key. -
value
Object value
The attribute's value.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.AddCodeRequest
class AddCodeRequest extends CartModifyingRequest implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
code
String code
The code to add.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.AddCodeToCartResponse
class AddCodeToCartResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustments
List<com.broadleafcommerce.order.common.domain.Adjustment> adjustments
The list of adjustments that were added to the cart because of the code's application. -
cart
com.broadleafcommerce.cart.client.domain.Cart cart
The updatedCart, including the code and applicable adjustments (discounts). -
code
String code
The added offer or campaign code. -
message
String message
A message describing the results of adding the code to the cart. -
responseCode
String responseCode
A simple code describing the results of the add code to cart request.- See Also:
-
vouchers
List<com.broadleafcommerce.order.common.domain.Voucher> vouchers
The list of vouchers that were added to the cart because of the code's application.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.AddItemListToCartRequest
class AddItemListToCartRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.AddItemRequest
class AddItemRequest extends CartModifyingRequest implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Miscellaneous attributes that can be set to this request in order to inform business logic for adding aCartItem. -
cartAttributes
Map<String,
Object> cartAttributes Attributes that should be copied to theCart.getAttributes()for this request. -
currency
javax.money.CurrencyUnit currency
This specifies the user's preferred currency for creating or pricing the cart. It is passed from the front-end. This is ignored ifPriceCartRequestis present. -
dependentCartItems
List<AddItemRequest> dependentCartItems
A list of additionalAddItemRequeststhat should be processed as dependent items of the resulting parent item of this currentAddItemRequest. -
inventoryLocationReference
String inventoryLocationReference
The reference to the inventory location where to verify the availability of this item.- Since:
- Cart Operation Service 2.2.1, Release Train 2.2.1
-
itemAttributeChoices
Map<String,
String> itemAttributeChoices Attribute choices that should be copied toCartItem.getAttributeChoices()for this request. -
itemAttributes
Map<String,
Object> itemAttributes Miscellaneous attributes that should be copied to theCartItem.getAttributes()for this request. -
itemChoiceKey
String itemChoiceKey
If thisAddItemRequestis one withinAddItemRequest.getDependentCartItems(), this is the key to use to relate to thisCartItemto a configured product item choice. -
itemInternalAttributes
Map<String,
Object> itemInternalAttributes Miscellaneous internal attributes that should be copied to theCartItem.getInternalAttributes()for this request. -
itemType
String itemType
Thetypeof this item (e.g. Standard or Custom Quote Item). Defaults toDefaultCartItemTypes.STANDARD.- See Also:
-
locale
Locale locale
Deprecated.in favor of usingPriceCartRequestfor creating or pricing a cart. -
merchandisingContext
String merchandisingContext
The value that should be mapped toCartItem.getMerchandisingContext(). This holds the selector or merchandising product's id. -
nonCatalogItemDetails
NonCatalogItemDetails nonCatalogItemDetails
Additional request information for adding a non-catalog item to the cart. For example, this can be useful for adding aDefaultCartItemTypes.CUSTOM_QUOTE_ITEMthat doesn't exist in the catalog. -
paymentStrategy
String paymentStrategy
Declares that payments made against a subscription are going towards the goods/services rendered in the previous vs current period.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
productId
String productId
The id of the product for this add item request. Used to retrieve product information for the cart item. -
quantity
int quantity
The amount of this item to be added to theCart. -
recurringPeriodFrequency
Integer recurringPeriodFrequency
The frequency of the recurring period, e.g., if this is 1 andAddItemRequest.recurringPeriodTypeis MONTHLY, then the recurring price should be charged every 1 month.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
- See Also:
-
AddItemRequest.recurringPeriodType
-
recurringPeriodType
String recurringPeriodType
The period type for the recurring price, e.g. MONTHLY, QUARTERLY, ANNUALLY.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
- See Also:
-
AddItemRequest.recurringPeriodFrequency
-
sku
String sku
The SKU code for the item (e.g., Product or Variant). -
termDurationLength
Integer termDurationLength
The length of the term duration selected for the item, if any. Some items may have terms to allow certain pricing for the user. This indicates the length of duration for the selected term. For example, choosing between paying the full price for a device (no terms) vs splitting payment over 36 months (termDurationLengthof 36 andAddItemRequest.termDurationTypeof MONTHS).- Since:
- Cart Operation Service 2.2.0, Release Train 2.2.0
- See Also:
-
AddItemRequest.termDurationType
-
termDurationType
String termDurationType
The type of the term duration selected for the item, if any. Some items may have terms to allow certain pricing for the user. This indicates the type of duration, e.g., DAYS, WEEKS, MONTHS, YEARS, for the selected term. For example, choosing between paying the full price for a device (no terms) vs splitting payment over 36 months (AddItemRequest.termDurationLengthof 36 andtermDurationTypeof MONTHS).- Since:
- Cart Operation Service 2.2.0, Release Train 2.2.0
- See Also:
-
AddItemRequest.termDurationLength
-
variantId
String variantId
The id of the variant for this add item request. Used to retrieve variant information for the cart item.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.CartHistoryResponse
class CartHistoryResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
cart
com.broadleafcommerce.cart.client.domain.Cart cart
-
payments
List<PaymentSummary> payments
The payments for this cart.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.CartItemModifyingRequest
class CartItemModifyingRequest extends Object implements Serializable-
Serialized Fields
-
cartVersion
Integer cartVersion
-
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.CartModifyingRequest
class CartModifyingRequest extends Object implements Serializable-
Serialized Fields
-
version
Integer version
-
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.CartRequest
class CartRequest extends com.broadleafcommerce.cart.client.domain.Cart implements Serializable-
Serialized Fields
-
requestId
String requestId
A unique id used to represent the request. This value can be used to link various persisted entities/values to the originating request. -
securityCodes
Map<String,
String> securityCodes A map of security codes to their payment ids. This value can be used in payment activities to pass secure code information to payment gateways.
-
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.ContactInfoRequest
class ContactInfoRequest extends CartModifyingRequest implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
emailAddress
String emailAddress
Email addresses that should be used as a point of contact for the cart.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.GuestTokenResponse
class GuestTokenResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
cart
com.broadleafcommerce.cart.client.domain.Cart cart
-
token
com.broadleafcommerce.cart.client.domain.GuestToken token
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.GuestTokenValidationResponse
class GuestTokenValidationResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
token
com.broadleafcommerce.cart.client.domain.GuestToken token
-
valid
boolean valid
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.ItemListAddToCartResponse
class ItemListAddToCartResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
cart
com.broadleafcommerce.cart.client.domain.Cart cart
TheCartrelated to the checkout submission. -
failedItemAdditions
Map<String,
List<String>> failedItemAdditions Map ofItemListids to a collection ofItemListItemids that could not be added to cart -
inaccessibleItemListIds
Set<String> inaccessibleItemListIds
From the list of ids that the user attempted to add to cart, this represents the set ofItemListids that the user does not have access to
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.NonCatalogItemDetails
class NonCatalogItemDetails extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Miscellaneous attributes that can be set to this request. -
discountable
boolean discountable
Whether this non-catalog item can receive discounts. Default is false.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
itemName
String itemName
The name for the item. -
price
javax.money.MonetaryAmount price
The price of the item.If specified by a CSR, this price is used to create an
price overrideforCartItem.getOverrideDetails()- See Also:
-
CartItem.isOverridePriceFlag()
-
taxable
boolean taxable
Whether this non-catalog item is taxable. Default is false.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.OverridePriceRequest
class OverridePriceRequest extends CartItemModifyingRequest implements Serializable- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.PriceCartRequest
class PriceCartRequest extends CartModifyingRequest implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
currency
javax.money.CurrencyUnit currency
The currency to price the cart against. -
locale
Locale locale
The locale to price the cart against. -
updateCatalogPricing
boolean updateCatalogPricing
Declares if catalog prices should also be gathered as part of the repricing process.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.UpdateCartInfoRequest
class UpdateCartInfoRequest extends CartModifyingRequest implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
clearExpirationDate
boolean clearExpirationDate
IfUpdateCartInfoRequest.expirationDateis null and this field is true, then the expiration date on the cart will be cleared. This is needed because Java does not treat undefined and null differently. -
expirationDate
Instant expirationDate
Then new expiration date for aDefaultCartTypes.QUOTEcart. -
name
String name
The new name for the cart.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.UpdateCartStatusRequest
class UpdateCartStatusRequest extends CartModifyingRequest implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
status
String status
The new status to move the cart to.- See Also:
-
DefaultCartStatuses
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.UpdateFulfillmentGroupRequest
class UpdateFulfillmentGroupRequest extends CartModifyingRequest implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
address
com.broadleafcommerce.order.common.domain.Address address
The shipping address for this fulfillment group. -
attributes
Map<String,
Object> attributes Miscellaneous attributes for this fulfillment group. All attributes will be added to theFulfillmentGroup.attributesmap. -
fulfillmentOption
com.broadleafcommerce.order.common.domain.FulfillmentOption fulfillmentOption
The fulfillment option chosen for theUpdateFulfillmentGroupRequest.getType(). -
pricedFulfillmentOption
com.broadleafcommerce.order.common.domain.PricedFulfillmentOption pricedFulfillmentOption
The fulfillment option chosen for theUpdateFulfillmentGroupRequest.getType(). -
referenceNumber
String referenceNumber
The reference number of the fulfillment group to update. -
type
String type
The type of means by which this fulfillment group is fulfilled. This could be SHIP, PICKUP, or VIRTUAL, for example.- See Also:
-
FulfillmentType
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.UpdateItemRequest
class UpdateItemRequest extends CartItemModifyingRequest implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Miscellaneous attributes that can be set to this request in order to inform business logic for updating aCartItem. -
cartAttributes
Map<String,
Object> cartAttributes Attributes that should be copied to theCart.getAttributes()for this request. -
cartItemId
String cartItemId
ID of theCartItemto update. -
dependentItemsToAdd
List<AddItemRequest> dependentItemsToAdd
A list of additionalAddItemRequeststhat should be added as children items of the resulting parent item of this currentUpdateItemRequest.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
dependentItemsToRemove
List<String> dependentItemsToRemove
A list of additionalcartItemIdsthat should be removed as children items of the resulting parent item of this currentUpdateItemRequest.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
dependentItemUpdates
List<UpdateItemRequest> dependentItemUpdates
A list of additionalAddItemRequeststhat should be processed as children items of the resulting parent item of this currentUpdateItemRequest. -
itemAttributeChoices
Map<String,
String> itemAttributeChoices Attribute choices that should be copied toCartItem.getAttributeChoices()for this request. -
itemAttributes
Map<String,
Object> itemAttributes Attributes that should be copied to theCartItem.getAttributes()for this request. -
parentCartItemId
String parentCartItemId
The id of the parentCartItemfor this add item request. This would create a childCartItemof the parent. -
quantity
int quantity
The amount of this item to be added to theCart. -
recurringPeriodFrequency
Integer recurringPeriodFrequency
The frequency of the recurring period, e.g., if this is 1 andUpdateItemRequest.recurringPeriodTypeis MONTHLY, then the recurring price should be charged every 1 month.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
- See Also:
-
UpdateItemRequest.recurringPeriodType
-
recurringPeriodType
String recurringPeriodType
The period type for the recurring price, e.g. MONTHLY, QUARTERLY, ANNUALLY.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
- See Also:
-
UpdateItemRequest.recurringPeriodFrequency
-
variantId
String variantId
The id of the variant for this add item request. Used to retrieve variant information for the cart item.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.UpdatePaymentRequest
class UpdatePaymentRequest extends Object implements Serializable-
Serialized Fields
-
accessRestrictions
List<String> accessRestrictions
The list of restrictions that apply to payment access. -
adjustmentsTotal
javax.money.MonetaryAmount adjustmentsTotal
The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts. Note: Only theUpdatePaymentRequest.amountis required, but if this value is included, then theUpdatePaymentRequest.subtotal,UpdatePaymentRequest.fulfillmentTotal,UpdatePaymentRequest.feesTotal,UpdatePaymentRequest.taxTotal, &UpdatePaymentRequest.includedTaxTotalshould be included also. -
amount
javax.money.MonetaryAmount amount
The amount for which this payment is allotted.If specified, the amount details should be equal to this amount using the following equation: transactionAmount =
UpdatePaymentRequest.subtotal+UpdatePaymentRequest.fulfillmentTotal+UpdatePaymentRequest.feesTotal-UpdatePaymentRequest.adjustmentsTotal+UpdatePaymentRequest.taxTotal-UpdatePaymentRequest.includedTaxTotal. -
attributes
Map<String,
String> attributes Map to capture any additional information about the payment -
billingAddress
com.broadleafcommerce.order.common.domain.Address billingAddress
The billing address associated with this payment. -
displayAttributes
Map<String,
String> displayAttributes General use map to capture any display properties for this Payment -
feesTotal
javax.money.MonetaryAmount feesTotal
The total fees related to the transactionUpdatePaymentRequest.amountNote: Only the
UpdatePaymentRequest.amountis required, but if this value is included, then theUpdatePaymentRequest.subtotal,UpdatePaymentRequest.fulfillmentTotal,UpdatePaymentRequest.adjustmentsTotal,UpdatePaymentRequest.taxTotal, &UpdatePaymentRequest.includedTaxTotalshould be included also.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
fulfillmentTotal
javax.money.MonetaryAmount fulfillmentTotal
The payment's total fulfillment cost.Note: Only the
UpdatePaymentRequest.amountis required, but if this value is included, then theUpdatePaymentRequest.subtotal,UpdatePaymentRequest.feesTotal,UpdatePaymentRequest.adjustmentsTotal,UpdatePaymentRequest.taxTotal, &UpdatePaymentRequest.includedTaxTotalshould be included also. -
includedTaxTotal
javax.money.MonetaryAmount includedTaxTotal
The amount of taxes that are included in the subtotal (VAT).Note: Only the
UpdatePaymentRequest.amountis required, but if this value is included, then theUpdatePaymentRequest.subtotal,UpdatePaymentRequest.fulfillmentTotal,UpdatePaymentRequest.feesTotal,UpdatePaymentRequest.adjustmentsTotal, &UpdatePaymentRequest.taxTotalshould be included also.- Since:
- Cart Operation Service 2.3.0, Release Train 2.3.0
-
markTransactionsIneligibleForAutomaticReversal
boolean markTransactionsIneligibleForAutomaticReversal
Declares whether the payment's transactions should be marked ineligible for automatic reversal. -
name
String name
The name of this payment. This name is typically something like "Visa ending in 1234". -
paymentId
String paymentId
The ID of the payment to update. Will be pre-populated in Cart Operations from the request. -
shouldSavePaymentForFutureUse
boolean shouldSavePaymentForFutureUse
Should the payment method be saved to the owning user. -
shouldSavePaymentToCustomer
Boolean shouldSavePaymentToCustomer
Deprecated, for removal: This API element is subject to removal in a future version.since 1.7.2, in favor ofUpdatePaymentRequest.shouldSavePaymentForFutureUseto support owning user types other than a customer (i.e. account). -
subtotal
javax.money.MonetaryAmount subtotal
The payment's total usually excluding adjustments, tax, fees, and shipping. Note: Only theUpdatePaymentRequest.amountis required, but if this value is included, then theUpdatePaymentRequest.fulfillmentTotal,UpdatePaymentRequest.feesTotal,UpdatePaymentRequest.adjustmentsTotal,UpdatePaymentRequest.taxTotal, &UpdatePaymentRequest.includedTaxTotalshould be included also. -
taxTotal
javax.money.MonetaryAmount taxTotal
The payment's total tax cost.Note: Only the
UpdatePaymentRequest.amountis required, but if this value is included, then theUpdatePaymentRequest.subtotal,UpdatePaymentRequest.fulfillmentTotal,UpdatePaymentRequest.feesTotal,UpdatePaymentRequest.adjustmentsTotal, &UpdatePaymentRequest.includedTaxTotalshould be included also.
-
-
-
-
Package com.broadleafcommerce.cartoperation.web.endpoint.domain.approval
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.approval.CartApprovalProcessResponse
class CartApprovalProcessResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
-
Package com.broadleafcommerce.cartoperation.web.endpoint.domain.checkout
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.checkout.CheckoutResponse
class CheckoutResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
awaitingPaymentResult
boolean awaitingPaymentResult
Whether or not the cart was submitted for checkout but awaiting payment result. -
cart
com.broadleafcommerce.cart.client.domain.Cart cart
TheCartrelated to the checkout submission. -
failureMessage
String failureMessage
Message intended to inform why the checkout submission failed ifCheckoutResponse.isSuccess()is false. -
failureType
String failureType
The type of checkout failure which can be used programmatically by the client application to react to the failure. Note: This should only be populated ifCheckoutResponse.isSuccess()is false.- See Also:
-
itemFailureMessages
Map<String,
String> itemFailureMessages Line item error messages used to describe issues with individual fields, cart items, etc. For example, this may consist of map entries where the key is a cart item id (or name) & the value is an explanation of why the item is misconfigured. -
paymentNextActions
List<PaymentNextAction> paymentNextActions
A collection ofPaymentNextActionsdescribing the required next steps for the payment. -
paymentSummaries
List<PaymentSummary> paymentSummaries
A collection ofPaymentSummariesrelated to theCart. -
paymentTransactionFailureDetails
List<PaymentTransactionFailureDetail> paymentTransactionFailureDetails
A collection ofPaymentTransactionFailureDetailsdescribing how the transaction(s) failed. -
requestId
String requestId
The id representing the customer's request to checkout -
success
boolean success
Whether or not the checkout submission was successful.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.checkout.PaymentNextAction
class PaymentNextAction extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
nextAction
NextAction nextAction
The next step required for the payment gateway to continue processing this payment. -
paymentId
String paymentId
The id of the payment.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.checkout.PaymentTransactionFailureDetail
class PaymentTransactionFailureDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,
String> attributes Map of specific attributes that have been gathered from the raw response. This should be used for data points that are to be used programmatically. For example, a gateway-specific transaction id that can be used to capture or refund the transaction. Note: It's very important that this does not include sensitive payment method data. Doing so will expand the PCI scope to include CartOperationServices and its related services. -
dateRecorded
Instant dateRecorded
The timestamp when this transaction response was recorded -
declineType
String declineType
The type of transaction failure (hard vs soft failure)- See Also:
-
failureType
String failureType
The type of transaction failure- See Also:
-
gatewayResponseCode
String gatewayResponseCode
The response code provided by the payment gateway which may represent a success or failure -
indeterminateResult
boolean indeterminateResult
Tells if this transaction has an indeterminate result.Having an indeterminate result means that the true outcome of the transaction is not known. For example, if a transaction is sent to the payment processor but a network error occurred, it is not known to us whether the user was actually charged or not (thus, the result is indeterminate).
Transactions should be marked as indeterminate when sending to the payment processor, and then unmarked once a response is received, understood, and recorded. This means that a transaction in an indeterminate result state is expected during the sending to processor phase. However, if the transaction remains in that state for an excessive amount of time, something likely went wrong and the transaction will need to be reconciled. If the transaction changes from the sending to processor status but remains indeterminate, the transaction will also require reconciliation in that scenario.
Some situations which may lead to an indeterminate result:
- A transaction is sent to the processor, but a network error prevents us from receiving the response
- A transaction is sent to the processor, but the processor returns an unexpected error (e.g. 500 internal server error)
- A transaction is sent to the processor and a response is received, but cannot be recorded because Cart Services is down
- A transaction is sent to the processor and a response is received, but cannot be recorded because the database is down
-
message
String message
Message describing the result of the transaction -
nextAction
NextAction nextAction
The next step required for the payment gateway to continue processing this payment. -
paymentId
String paymentId
The id of the payment. -
requestId
String requestId
The id representing the customer's request to execute the transaction. -
threeDSecureVerificationUrl
String threeDSecureVerificationUrl
Deprecated.in favor ofPaymentTransactionFailureDetail.nextActionThe gateway-provided url where the customer must verify that they are in fact the owner of the payment method. The customer is typically redirected to this location, but the page can also be rendered within an iframe if this is supported by the gateway. -
transactionAmount
javax.money.MonetaryAmount transactionAmount
The transaction amount that was executed against thePaymentSummary. -
transactionId
String transactionId
The id of the executed transaction. -
transactionReferenceId
String transactionReferenceId
The transaction id known by the payment gateway. This reference can be used to link the request to the gateway's record of the transaction in the case that the calling application does not receive a response from the gateway. -
transactionStatus
String transactionStatus
The status of the transaction.- See Also:
-
transactionType
String transactionType
The type of transactions that were executed.- See Also:
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.checkout.SendCheckoutEventResponse
class SendCheckoutEventResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
cartId
String cartId
TheCart.getId()that was requested to re-send the event. -
failureMessage
String failureMessage
Message intended to inform why the sending the event failed ifSendCheckoutEventResponse.isSuccess()is false. -
success
boolean success
Whether or not sending the event was successful.
-
-
-
Package com.broadleafcommerce.cartoperation.web.endpoint.domain.quote
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.quote.QuoteConfigurationResponse
class QuoteConfigurationResponse extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
enabled
boolean enabled
Whether Quote is enabled.
-
-
Class com.broadleafcommerce.cartoperation.web.endpoint.domain.quote.QuoteProcessRequest
class QuoteProcessRequest extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
additionalAttributes
Map<String,
Object> additionalAttributes Miscellaneous attributes that can be added to this request in order to provide more information. -
cart
com.broadleafcommerce.cart.client.domain.Cart cart
TheCartthat the request is for.This is resolved by the system based on
QuoteProcessRequest.getCartId(). -
cartId
String cartId
The id of theCartthat the request is for -
customerRef
com.broadleafcommerce.order.common.domain.CustomerRef customerRef
TheCustomerRefrepresenting the currently authenticated user -
targetQuoteStatus
String targetQuoteStatus
The target quote status to change into.
-
-
-
Package com.broadleafcommerce.cartoperation.web.endpoint.exception
-
Exception com.broadleafcommerce.cartoperation.web.endpoint.exception.BulkAddToCartLimitExceededException
class BulkAddToCartLimitExceededException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.web.endpoint.exception.CartNotFoundException
class CartNotFoundException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.web.endpoint.exception.GuestCartOnlyException
class GuestCartOnlyException extends RuntimeException implements Serializable -
Exception com.broadleafcommerce.cartoperation.web.endpoint.exception.GuestTokenDisabledException
class GuestTokenDisabledException extends RuntimeException implements Serializable
-
-
Package com.broadleafcommerce.cartoperation.web.validator.exception
-
Exception com.broadleafcommerce.cartoperation.web.validator.exception.GuestTokenRequiredException
class GuestTokenRequiredException extends RuntimeException implements Serializable
-
PaymentTransactionRef.getSourceEntityIds()