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.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.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.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.
        • 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.
        • 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

    • Class com.broadleafcommerce.cartoperation.service.messaging.rollback.CheckoutRollbackEvent

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

        • cartId
          String cartId
          The id of the cart that was submitted for checkout
        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • requestId
          String requestId
          The id representing this request to checkout This value can be used to identify entities that were produced due to this request and therefore need to be rolled back
  • Package com.broadleafcommerce.cartoperation.service.provider.domain

  • 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.
        • 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

  • 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