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 their AdvancedTag.priority will determine which is displayed.
        • priority
          Long priority
          Priority of this tag relative to other tags that may share the same AdvancedTag.position or AdvancedTag.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 the ProductTag.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 the AttributeChoice.attributeName key.

        • attributeName
          String attributeName
          The order or item attribute that this choice is stored in when the user adds to their cart

          When 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 a AttributeChoice.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 to AttributeChoice.getErrorMessage().
          See Also:
        • errorMessage
          String errorMessage
          In case of a validation failure in conjunction with a AttributeChoice.getValidationStrategy() this is the message that should be shown to customers. Intended to be displayed directly on the page when the AttributeChoice.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
          If AttributeChoice.validationType is regex, 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.required and AttributeChoice.allowedValues are always validated.
        • validationType
          String validationType
          How the validation from AttributeChoice.getValidationStrategy() should be performed. Only relevant if AttributeChoice.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 from AttributeChoiceValue.value which 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 initial AddItemRequest to populate the cart.
        • addItemRequests
          List<AddItemRequest> addItemRequests
          The initial AddItemRequests to populate the cart.

          If CartCreationRequest.addItemRequest is provided, this will not be used.

        • expirationDate
          Instant expirationDate
          DefaultCartTypes.QUOTE carts 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 initial PriceCartRequest to price the cart.
        • type
          String type
          Allows optionally setting the type of cart to be created. Default is DefaultCartTypes.STANDARD.
          See Also:
    • 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
          All CatalogItems and 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
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • id
          String id
          The primary id of the category.
        • name
          String name
          The name of the category.
        • url
          String url
          The url of the category.
    • 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 of Tracking information 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 in CharacteristicValue.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 associated DataDrivenEnum.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 enum values based 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 associated DataDrivenEnum.type.

          For example, the value for type "MATERIAL" could be "COTTON", "LEATHER", "POLYESTER", etc.

    • 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 the type is IncludedProductType.PRODUCT.
        • quantity
          int quantity
          The value of the fixed quantity.
        • type
          String type
          Describes which of the product or variant fields should be used for this included product.
          See Also:
        • variant
          Variant variant
          This field contains the specified variant if the type is IncludedProductType.VARIANT.
          See Also:
          • IncludedProduct.variantParentProductId
        • variantParentProductId
          String variantParentProductId
          This field contains the id of the parent product of the specified IncludedProduct.variant if the type is IncludedProductType.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
          The InventoryLocation contextId.
        • 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.
    • Exception com.broadleafcommerce.cartoperation.domain.InventoryUnavailableException

      class InventoryUnavailableException extends RuntimeException implements Serializable
      • Serialized Fields

        • itemFailureMessages
          Map<String,String> itemFailureMessages
          Line item error messages to indicate which cart items were unavailable. These are typically identified by CartItem ids.
    • Class com.broadleafcommerce.cartoperation.domain.ItemChoice

      class ItemChoice 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.
        • category
          Category category
          The Category which the add-on will be chosen from by the customer if the selection is ItemChoiceTargetType.CATEGORY.
        • choiceKey
          String choiceKey
          The key to use to relate to this ItemChoice when configuring cart items.
        • discountAllowed
          boolean discountAllowed
          Dictates whether or not discounts are allowed to be applied to this add-on.
        • 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 an IncludedProduct.
        • 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 the ItemChoice.selectionType is ItemChoiceTargetType.SPECIFIC_PRODUCTS or ItemChoiceTargetType.SPECIFIC_VARIANTS this 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 associated offer's id.
        • orderId
          String orderId
          The id of the cart upon which the related offer was used.
        • sharedCode
          String sharedCode
          The string of the offer code used 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 of ProductTags sorted based on the sort position of the ProductTag for the product with ties broken by AdvancedTag.getPriority().
        • assets
          List<com.broadleafcommerce.cart.client.domain.ImageAssetRef> assets
          All ProductAssets for this product.
        • attributes
          Map<String,Attribute> attributes
          Dynamic attributes that are a part of the product.
        • 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.
        • categoryIdsWithParents
          List<String> categoryIdsWithParents
          List of all hierarchical parent category ids for the product.

          This is different from Product.parentCategories as Product.parentCategories represents the categories that are directly assigned to the product, whereas Product.categoryIdsWithParents contains 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_STANDARD or BANDED_PRICE_EXPRESS.

          See Also:
        • 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.options instead.

          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?
        • maximumThreshold
          Integer maximumThreshold
          The maximum count of this product that must be added in a cart.
        • 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 in DefaultMergingType.
        • 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 additional variations, 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
          All Categories that include the product.
        • parentCharacteristics
          Map<String,Characteristic> parentCharacteristics
          Map of the Characteristics referenced by the ProductCharacteristics where the key is the characteristic's fieldName. This is used instead of hydrating directly onto each ProductCharacteristic to reduce duplication and payload size.
          Since:
          Cart Operation Service 2.2.0, Release Train 2.2.0
        • priceInfo
          com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo
          Summary of the pricing information related 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 the internalAttributes under the CartItemAttributeConstants.Internal.PRODUCT_TYPE key and used to determine the product type for the CartItem. The default types are defined by DefaultProductType.
          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 a PriceInfo based on its RecurringPriceDetail.
          Since:
          Cart Operation Service 2.2.0, Release Train 2.2.0
        • uri
          String uri
          The navigable uri of this product.
        • variants
          List<Variant> variants
          All Variants for 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
    • Class com.broadleafcommerce.cartoperation.domain.ProductCharacteristicValue

      class ProductCharacteristicValue extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • sourceCharacteristicValueId
          String sourceCharacteristicValueId
          The source characteristic value this DTO is referring to
        • value
          Object value
        • valueType
          String valueType
    • Class com.broadleafcommerce.cartoperation.domain.ProductOption

      class ProductOption extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributeChoice
          AttributeChoice attributeChoice

          Configuration when the ProductOption.type of this option is one of:

          1. ProductOptionType.VARIANT_DISTINGUISHING - drives customer further specifying their choices into a specific Variant that contains a unique SKU code, pricing concerns, etc.
          2. ProductOptionType.CART_ITEM_ATTRIBUTE - Customer input will flow directly in the item attributes within their cart
          3. ProductOptionType.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 the ProductOptionType.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
          The AdvancedTag to associate with a product.
    • Class com.broadleafcommerce.cartoperation.domain.ProductTerm

      class ProductTerm extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • durationLength
          int durationLength
          The term duration length.
        • durationType
          String durationType
          The term duration type, e.g. DAYS, WEEKS, MONTHS, YEARS.
        • isDefault
          boolean isDefault
          Whether this is the default term configured for a Product.
    • Class com.broadleafcommerce.cartoperation.domain.SimplePage

      class SimplePage 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.
        • content
          List<T> content
    • 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.
        • 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 is skuCode.
        • 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. Each SkuInventoryReservationRequestGroup is 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 to skuReferenceValue. Default allowed values are:

          SKU_CONTEXT_ID

          SKU_EXTERNAL_ID

          SKU_CODE

          UPC

          EAN

          GTIN

    • 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 the SpecificItemChoice.type is SpecificItemChoiceType.PRODUCT this 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 the SpecificItemChoice.type is SpecificItemChoiceType.VARIANT this holds the variant for this choice
          See Also:
          • SpecificItemChoice.variantParentProductId
        • variantParentProductId
          String variantParentProductId
          This field contains the id of the parent product of the specified SpecificItemChoice.variant if the type is SpecificItemChoiceType.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
      • Serialized Fields

        • targetType
          String targetType
          The type of the user.
          See Also:
        • targetValue
          String targetValue
          An identifying value for the user. Could be an email, username, or some similarly identifying value.
    • 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 of ProductTags sorted based on the sort position of the ProductTag for the variant with ties broken by AdvancedTag.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_STANDARD or BANDED_PRICE_EXPRESS.

          See Also:
        • 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 to Product.inventoryCheckStrategy.
        • inventoryReservationStrategy
          String inventoryReservationStrategy
          Describes when the variant's inventory should be reserved. If not set, defaults to Product.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 to AttributeChoice.getAttributeName() while values correspond to one of the corresponding AttributeChoice.getAttributeName().
        • priceInfo
          com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo
          Summary of the pricing information related 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
  • Package com.broadleafcommerce.cartoperation.domain.enums

  • Package com.broadleafcommerce.cartoperation.domain.inventory.reservation

  • Package com.broadleafcommerce.cartoperation.domain.payment

    • Class com.broadleafcommerce.cartoperation.domain.payment.CheckoutPaymentMethodOption

      class CheckoutPaymentMethodOption extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • 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 a FulfillmentGroup to 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 a FulfillmentGroup to 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 the CreditAccount.owningUserRef.
        • alternativeOwningUserType
          String alternativeOwningUserType
          Describes an alternative owning user type of the credit account, that can be used instead of the CreditAccount.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 of Tracking information 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 of Tracking information 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() is ORDER_FULFILLMENT, this would be the ID of the OrderFulfillment.

          See Also:
        • 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.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 of PaymentSummaries
        • 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 to DefaultPaymentFinalizationStatus.UNKNOWN.
          See Also:
        • paymentResult
          String paymentResult
          The result of the payment interaction that was completed, causing the redirect to CartOps. Defaults to DefaultExternalPaymentInteractionResult.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.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 is DefaultPaymentOwnerTypes.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

        • attributes
          Map<String,String> attributes
          Any additional attributes that should be passed.
        • valid
          boolean valid
          Whether or not the payment callback request is valid.
        • validationMessage
          String validationMessage
          If the request is not valid, this contains any message provided on why it failed.
    • 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.amount is required, but if this value is included, then the PaymentSummary.subtotal, PaymentSummary.fulfillmentTotal, PaymentSummary.feesTotal, PaymentSummary.taxTotal, & PaymentSummary.includedTaxTotal should 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 transaction PaymentSummary.amount Note: Only the PaymentSummary.amount is required, but if this value is included, then the PaymentSummary.subtotal, PaymentSummary.fulfillmentTotal, PaymentSummary.adjustmentsTotal, PaymentSummary.taxTotal, & PaymentSummary.includedTaxTotal should be included also.
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost. Note: Only the PaymentSummary.amount is required, but if this value is included, then the PaymentSummary.subtotal, PaymentSummary.feesTotal, PaymentSummary.adjustmentsTotal, PaymentSummary.taxTotal, & PaymentSummary.includedTaxTotal should 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.amount is required, but if this value is included, then the PaymentSummary.subtotal, PaymentSummary.fulfillmentTotal, PaymentSummary.feesTotal, PaymentSummary.adjustmentsTotal, & PaymentSummary.taxTotal should be included also.
        • 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.amount is required, but if this value is included, then the PaymentSummary.fulfillmentTotal, PaymentSummary.feesTotal, PaymentSummary.adjustmentsTotal, PaymentSummary.taxTotal, & PaymentSummary.includedTaxTotal should be included also.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost. Note: Only the PaymentSummary.amount is required, but if this value is included, then the PaymentSummary.subtotal, PaymentSummary.fulfillmentTotal, PaymentSummary.feesTotal, PaymentSummary.adjustmentsTotal, & PaymentSummary.includedTaxTotal should be included also.
        • totalEverCaptured
          javax.money.MonetaryAmount totalEverCaptured
          The total amount ever captured, as opposed to the current snapshot of the captured amount represented in PaymentSummary.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.amount is required, but if this value is included, then the PaymentTransactionRef.subtotal, PaymentTransactionRef.fulfillmentTotal, PaymentTransactionRef.feesTotal, PaymentTransactionRef.taxTotal, & PaymentTransactionRef.includedTaxTotal should be included also.

        • amount
          javax.money.MonetaryAmount amount
          The amount related to this transaction. Depending on the PaymentTransactionRef.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 the PaymentTransactionRef.amount

          Note: Only the PaymentTransactionRef.amount is required, but if this value is included, then the PaymentTransactionRef.subtotal, PaymentTransactionRef.fulfillmentTotal, PaymentTransactionRef.adjustmentsTotal, PaymentTransactionRef.taxTotal, & PaymentTransactionRef.includedTaxTotal should 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.amount is required, but if this value is included, then the PaymentTransactionRef.subtotal, PaymentTransactionRef.feesTotal, PaymentTransactionRef.adjustmentsTotal, PaymentTransactionRef.taxTotal, & PaymentTransactionRef.includedTaxTotal should 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.amount is required, but if this value is included, then the PaymentTransactionRef.subtotal, PaymentTransactionRef.fulfillmentTotal, PaymentTransactionRef.feesTotal, PaymentTransactionRef.adjustmentsTotal, & PaymentTransactionRef.taxTotal should 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 the PaymentTransactionRef.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.
          See Also:
        • 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 of RETURN_CONFIRMATION. In this case, the refund transaction request needs the parent source entity type of ORDER_FULFILLMENT and 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 of requestIds that were previously used for this transaction.

          Note: if the transaction is reused for multiple requests, then the PaymentTransactionRef.requestId should 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
          The ID of the source entity associated with the transaction.

          For example, if PaymentTransactionRef.getSourceEntityType() is ORDER_FULFILLMENT, this would be the ID of the OrderFulfillment.

          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.amount is required, but if this value is included, then the PaymentTransactionRef.fulfillmentTotal, PaymentTransactionRef.feesTotal, PaymentTransactionRef.adjustmentsTotal, PaymentTransactionRef.taxTotal, & PaymentTransactionRef.includedTaxTotal should be included also.

        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost.

          Note: Only the PaymentTransactionRef.amount is required, but if this value is included, then the PaymentTransactionRef.subtotal, PaymentTransactionRef.fulfillmentTotal, PaymentTransactionRef.feesTotal, PaymentTransactionRef.adjustmentsTotal, & PaymentTransactionRef.includedTaxTotal should 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.)
  • Package com.broadleafcommerce.cartoperation.exception

  • Package com.broadleafcommerce.cartoperation.exception.security

  • Package com.broadleafcommerce.cartoperation.service.checkout

  • Package com.broadleafcommerce.cartoperation.service.exception

  • 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.
          The ContextInfo containing 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
          The ContextInfo derived 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
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • paymentNextActions
          List<PaymentNextAction> paymentNextActions
          A collection of PaymentNextActions describing the required next steps for the payment.
        • paymentSummaries
          List<PaymentSummary> paymentSummaries
          A collection of the cart's PaymentSummaries
    • 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
          The ContextInfo derived 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
          The ContextInfo derived 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
          The ContextInfo derived 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

  • Package com.broadleafcommerce.cartoperation.service.provider.domain

  • Package com.broadleafcommerce.cartoperation.service.provider.external

  • Package com.broadleafcommerce.cartoperation.service.provider.external.domain.audit

  • 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 updated Cart object.
        • cartActionAuditToCreate
          com.broadleafcommerce.cart.client.domain.CartActionAudit cartActionAuditToCreate
          A CartActionAudit to create along with the cart update.

          This is typically for B2B use cases where a CartActionAudit needs 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

  • 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.
        • 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 the TransactionExecutionDetail.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 of TransactionExecutionDetail.nextAction
          The 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 the PaymentSummary. This amount must be valid according to what's available for the PaymentSummary. 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 the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.subtotal, TransactionExecutionRequest.fulfillmentTotal, TransactionExecutionRequest.feesTotal, TransactionExecutionRequest.taxTotal, & TransactionExecutionRequest.includedTaxTotal should 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 false if this transaction should only be allowed to be reversed by Order Operation Service.

        • feesTotal
          javax.money.MonetaryAmount feesTotal
          The total fees related to the TransactionExecutionRequest.transactionAmount Note: Only the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.subtotal, TransactionExecutionRequest.fulfillmentTotal, TransactionExecutionRequest.adjustmentsTotal, TransactionExecutionRequest.taxTotal, & TransactionExecutionRequest.includedTaxTotal should be included also.
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost. Note: Only the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.subtotal, TransactionExecutionRequest.feesTotal, TransactionExecutionRequest.adjustmentsTotal, TransactionExecutionRequest.taxTotal, & TransactionExecutionRequest.includedTaxTotal should be included also.
        • includedTaxTotal
          javax.money.MonetaryAmount includedTaxTotal
          The amount of taxes that are included in the subtotal (VAT). Note: Only the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.subtotal, TransactionExecutionRequest.fulfillmentTotal, TransactionExecutionRequest.feesTotal, TransactionExecutionRequest.adjustmentsTotal, & TransactionExecutionRequest.taxTotal should 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 an DefaultTransactionTypes.AUTHORIZE transaction to execute a DefaultTransactionTypes.CAPTURE transaction.
        • paymentId
          String paymentId
          The id of the related PaymentSummary that 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
          The ID of the source entity associated with the transaction.

          For example, if TransactionExecutionRequest.getSourceEntityType() is CHECKOUT_REQUEST, this would be the ID of the checkout request.

          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 the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.fulfillmentTotal, TransactionExecutionRequest.feesTotal, TransactionExecutionRequest.adjustmentsTotal, TransactionExecutionRequest.taxTotal, & TransactionExecutionRequest.includedTaxTotal should be included also.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost. Note: Only the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.subtotal, TransactionExecutionRequest.fulfillmentTotal, TransactionExecutionRequest.feesTotal, TransactionExecutionRequest.adjustmentsTotal, & TransactionExecutionRequest.includedTaxTotal should be included also.
        • transactionAmount
          javax.money.MonetaryAmount transactionAmount
          The transaction amount that we're expecting to execute against the PaymentSummary. This amount must be valid according to what's available for the PaymentSummary. 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 the TransactionExecutionResponse.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 the TransactionExecutionResponse.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 contains hydrateOwningEntityPayments=true parameter.
        • paymentSummary
          PaymentSummary paymentSummary
          The updated PaymentSummary representation.

          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 of TransactionExecutionDetails describing 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

        • 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 updated Cart, 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
      • Serialized Fields

        • itemListIds
          Set<String> itemListIds
          Set of ids representing the ItemLists that are to be added to cart
    • 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 a CartItem.
        • cartAttributes
          Map<String,Object> cartAttributes
          Attributes that should be copied to the Cart.getAttributes() for this request.
        • currency
          javax.money.CurrencyUnit currency
          Deprecated.
          in favor of using PriceCartRequest for creating or pricing a cart.
        • dependentCartItems
          List<AddItemRequest> dependentCartItems
          A list of additional AddItemRequests that should be processed as dependent items of the resulting parent item of this current AddItemRequest.
        • itemAttributeChoices
          Map<String,String> itemAttributeChoices
          Attribute choices that should be copied to CartItem.getAttributeChoices() for this request.
        • itemAttributes
          Map<String,Object> itemAttributes
          Miscellaneous attributes that should be copied to the CartItem.getAttributes() for this request.
        • itemChoiceKey
          String itemChoiceKey
          If this AddItemRequest is one within AddItemRequest.getDependentCartItems(), this is the key to use to relate to this CartItem to a configured product item choice.
        • itemInternalAttributes
          Map<String,Object> itemInternalAttributes
          Miscellaneous internal attributes that should be copied to the CartItem.getInternalAttributes() for this request.
        • itemType
          String itemType
          The type of this item (e.g. Standard or Custom Quote Item). Defaults to DefaultCartItemTypes.STANDARD.
          See Also:
        • locale
          Locale locale
          Deprecated.
          in favor of using PriceCartRequest for creating or pricing a cart.
        • merchandisingContext
          String merchandisingContext
          The value that should be mapped to CartItem.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 a DefaultCartItemTypes.CUSTOM_QUOTE_ITEM that doesn't exist in the catalog.
        • 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 the Cart.
        • 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 (termDurationLength of 36 and AddItemRequest.termDurationType of 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.termDurationLength of 36 and termDurationType of 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

    • Class com.broadleafcommerce.cartoperation.web.endpoint.domain.CartModifyingRequest

      class CartModifyingRequest extends Object implements Serializable
      • Serialized Fields

    • 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
          The Cart related to the checkout submission.
        • failedItemAdditions
          Map<String,List<String>> failedItemAdditions
          Map of ItemList ids to a collection of ItemListItem ids 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 of ItemList ids 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.
        • 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 override for CartItem.getOverrideDetails()

          See Also:
          • CartItem.isOverridePriceFlag()
    • Class com.broadleafcommerce.cartoperation.web.endpoint.domain.OverridePriceRequest

      class OverridePriceRequest extends CartItemModifyingRequest implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • comment
          String comment
          The optional, long-form comment explaining any extra context for the override.
        • overridePrice
          javax.money.MonetaryAmount overridePrice
          The new price value.
        • reason
          String reason
          The reason the override was performed, for example, "Price Match".
    • 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.ShareItemListRequest

      class ShareItemListRequest extends Object implements Serializable
      • Serialized Fields

        • listId
          String listId
          The ID of the item list being shared. This will be populated from the request path.
        • role
          String role
          The role that the targets this item list is being shared with will be granted. See ItemListAccessRule.getRole() for how this is used. See DefaultItemListAccessRuleRole for the default supported values.
        • targets
          Set<ShareItemListRequest.Target> targets
          Describes who this list is being shared with.
        • valueType
          String valueType
          The type of values that this list will be shared with (e.g email address, customer ID, etc.). This corresponds to ShareItemListRequest.Target.value. See ItemListAccessRule.getType() for how this is used. See DefaultItemListAccessRuleType for the default supported values.
    • Class com.broadleafcommerce.cartoperation.web.endpoint.domain.ShareItemListRequest.Target

      class Target extends Object implements Serializable
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Any additional attributes that identify this target/share request. Might be used for something like the target's name if they were to be included in an email.
        • value
          String value
          The value that identifies who this list is to be shared with. This should be of the value type ShareItemListRequest.valueType. An example may be an email address or a customer ID.
    • Class com.broadleafcommerce.cartoperation.web.endpoint.domain.UpdateCartInfoRequest

      class UpdateCartInfoRequest extends CartModifyingRequest implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • clearExpirationDate
          boolean clearExpirationDate
          If UpdateCartInfoRequest.expirationDate is 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 a DefaultCartTypes.QUOTE cart.
        • 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 the FulfillmentGroup.attributes map.
        • fulfillmentOption
          com.broadleafcommerce.order.common.domain.FulfillmentOption fulfillmentOption
          The fulfillment option chosen for the UpdateFulfillmentGroupRequest.getType().
        • pricedFulfillmentOption
          com.broadleafcommerce.order.common.domain.PricedFulfillmentOption pricedFulfillmentOption
          The fulfillment option chosen for the UpdateFulfillmentGroupRequest.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 a CartItem.
        • cartAttributes
          Map<String,Object> cartAttributes
          Attributes that should be copied to the Cart.getAttributes() for this request.
        • cartItemId
          String cartItemId
          ID of the CartItem to update.
        • dependentItemUpdates
          List<UpdateItemRequest> dependentItemUpdates
          A list of additional AddItemRequests that should be processed as children items of the resulting parent item of this current UpdateItemRequest.
        • itemAttributeChoices
          Map<String,String> itemAttributeChoices
          Attribute choices that should be copied to CartItem.getAttributeChoices() for this request.
        • itemAttributes
          Map<String,Object> itemAttributes
          Attributes that should be copied to the CartItem.getAttributes() for this request.
        • parentCartItemId
          String parentCartItemId
          The id of the parent CartItem for this add item request. This would create a child CartItem of the parent.
        • quantity
          int quantity
          The amount of this item to be added to the Cart.
        • 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.
        • amount
          javax.money.MonetaryAmount amount
          The amount for which the payment is allotted.
        • 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
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost
        • 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 of UpdatePaymentRequest.shouldSavePaymentForFutureUse to support owning user types other than a customer (i.e. account).
        • subtotal
          javax.money.MonetaryAmount subtotal
          The payment's total usually excluding adjustments, tax, and shipping.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost
  • Package com.broadleafcommerce.cartoperation.web.endpoint.domain.approval

  • 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
          The Cart related to the checkout submission.
        • failureMessage
          String failureMessage
          Message intended to inform why the checkout submission failed if CheckoutResponse.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 if CheckoutResponse.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 of PaymentNextActions describing the required next steps for the payment.
        • paymentSummaries
          List<PaymentSummary> paymentSummaries
          A collection of PaymentSummaries related to the Cart.
        • paymentTransactionFailureDetails
          List<PaymentTransactionFailureDetail> paymentTransactionFailureDetails
          A collection of PaymentTransactionFailureDetails describing 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 of PaymentTransactionFailureDetail.nextAction
          The 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 the PaymentSummary.
        • 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
          The Cart.getId() that was requested to re-send the event.
        • failureMessage
          String failureMessage
          Message intended to inform why the sending the event failed if SendCheckoutEventResponse.isSuccess() is false.
        • success
          boolean success
          Whether or not sending the event was successful.
  • Package com.broadleafcommerce.cartoperation.web.endpoint.domain.quote

  • Package com.broadleafcommerce.cartoperation.web.endpoint.exception

  • Package com.broadleafcommerce.cartoperation.web.validator.exception