Broadleaf Microservices
  • v1.0.0-latest-prod

Cart Operation Configurations

Service Properties

This service makes use of the following configuration properties from CartOperationServiceProperties:

  • broadleaf.cartoperation.service.failConfigErrorOnAdd: If there is a configuration error for a cart item when attempting to add it to a cart, fail the attempt.

    • This need to "fail fast" might be required if there isn’t a good way to fix the configuration errors after adding to cart.

    • Defaults to true.

  • broadleaf.cartoperation.service.priceInvalidation.updateContactInfo: Whether to consider pricing invalid if the contact information on the cart (e.g., customer email address) is changed.

    • Contact info can affect what offers or promotions apply to a cart since those can target a customer’s email address.

    • Default is true.

  • broadleaf.cartoperation.service.priceInvalidation.addAttribute: Whether to consider pricing invalid if a cart attribute is added.

    • Default is false.

  • broadleaf.cartoperation.service.priceInvalidation.removeAttribute: Whether to consider pricing invalid if a cart attribute is removed.

    • Default is false.

  • broadleaf.cartoperation.service.priceInvalidation.addPaymentMethod: Whether to consider pricing invalid if a payment is added to the cart.

    • Payment might matter in the case of offers and promotions that target specific payment types.

    • Default is false.

    • NOTE: This property has been removed since version 1.7.0

  • broadleaf.cartoperation.service.priceInvalidation.updatePaymentMethod: Whether to consider pricing invalid if a payment is updated.

    • Default is false.

    • NOTE: This property has been removed since version 1.7.0

  • broadleaf.cartoperation.service.priceInvalidation.removePaymentMethod: Whether to consider pricing invalid if a payment is removed.

    • Default is false.

    • NOTE: This property has been removed since version 1.7.0

  • broadleaf.cartoperation.service.bulkAddToCartOperation.productBatchSize: For bulk add to cart requests, this dicates the number of products that are fetched through the CatalogProvider at once to populate info on and validate the configuration of cart items being added.

    • This does not necessarily have a direct correlation to the number of requests that are being processed for that batch of products. For example, if two add to cart requests are based on the same product, then the product only needs to be gathered once to process both requests.

    • Default is 50.

  • broadleaf.cartoperation.service.defaultVirtualFulfillmentOptionName: Specifies the default fulfillment option for the VIRTUAL fulfillment type. If this property is specified, a default fulfillment option will be identified and assigned to the fulfillment group.

    • Default is DOWNLOAD

  • broadleaf.cartoperation.service.allowPartialQuantityForPriceLimitedByQuantity: When a PriceInfo has limited quantity, this property determines whether the item can partially use the limited price and the backup PriceInfo price if the available quantity is not sufficient to cover the entirety of the cart item.

    • For example, if a sale price only has the available quantity of 2, and the customer has 5 of the items in the cart, 2 of them will use the sale price and the remaining items will use the backup price if this property is enabled. If this property is disabled, then all 5 items will use the backup price.

    • See the Flash Sale Documentation for more information

    • Since Cart Operation Service 2.1.4, Release Train 2.1.4

    • Default is true (Enabled)

  • broadleaf.cartoperation.service.matchCartItemAssetToVariant: Determines whether the CartItem’s image should match the selected Variant where possible instead of the primary Asset of the Product.

    • Default is true since Cart Operation Service 2.2.0

    • Default is false prior to Cart Operation Service 2.2.0

  • broadleaf.cartoperation.service.preferredAssetTag: Denotes the preferred asset to use for display in the Cart. If an asset with this tag is found, it will be saved on the CartItem. If no asset is found then the primary asset or, if matchCartItemAssetToVariant is true, the first variant-matching asset will be used.

    • Since Cart Operation Service 2.2.0, Release Train 2.2.0

    • Default is cart

  • broadleaf.cartoperation.service.useVariantNameInCart: Whether to use the name of the variant as the display name of the cart item instead of the product’s name.

    • Since Cart Operation Service 2.2.0, Release Train 2.2.0

    • Default is true

  • broadleaf.cartoperation.service.promotion.giftOfferEligibleIfQualifierRemoved: Allows gift offers to be reconsidered if qualifying items are removed. If false, the gift offers are ignored for the life of the cart if the gift is removed by the user, even if the qualifying items are removed or the cart is completely empty.

    • Since Cart Operation Service 2.1.4, Release Train 2.1.4

    • Default is true

  • ` broadleaf.cartoperation.fulfillment.pricing.useCommonFulfillmentPricing`: Enables all fulfillment options to come from CommonFulfillmentPricingService instead of any static FulfillmentOption generation such as that denoted by defaultVirtualFulfillmentOptionName property.

    • Since Cart Operation Service 2.1.4, Release Train 2.1.4

    • Default is false

Checkout Properties

The following checkout configuration properties are from CartOperationCheckoutProperties:

  • broadleaf.cartoperation.checkout.messaging.active

    • Enables the checkout-related messaging components within CartOps

  • broadleaf.cart.checkout.messaging.active

    • Enables the checkout-related messaging components within CartOps

    • Since 2.2.0-GA of ReleaseTrain, only broadleaf.cartoperation.checkout.messaging.active should be used instead

  • broadleaf.cartoperation.service.checkout.checkout-transaction-types

    • Sets the transaction type that should be performed during checkout by payment gateway name

  • broadleaf.cartoperation.service.checkout.checkout-transaction-external

    • Whether the checkout transaction occurs externally such as for transparent redirect. Otherwise, the transaction is created in Broadleaf during the checkout workflow. The system can use this when validating payments to make sure that they have been executed in the external service. Map is keyed by payment gateway name

  • broadleaf.cartoperation.service.checkout.checkout-lookup-3ds-transactions-enabled

    • Whether or not to lookup the results of pending 3DS transactions during the checkout workflow

  • broadleaf.cartoperation.service.checkout.payment-gateway-priorities

    • A list of payment gateway types defining the order by which payments will be processed during checkout

  • broadleaf.cartoperation.service.checkout.checkout-payment-method-options

    • A list of configured payment methods that are available during checkout

  • broadleaf.cartoperation.service.checkout.checkout-payment-method-validation-enabled

    • Whether or not to validate payment methods during checkout activity workflow

    • Default is false

  • broadleaf.cartoperation.checkout.guest-token.token-timeout

    • Determines how long the guest token remains valid. Since this field is a duration values can specify the unit: 1h for 1 hour, 1s for 1 second, etc.

    • Default is 1h

  • broadleaf.cartoperation.checkout.activity.limited-price-availability.enabled

    • Enables the CartLimitedPriceAvailabilityCheckoutActivity bean as a part of checkout activities.

    • Since Cart Operation Service 2.1.4, Release Train 2.1.4

    • Default is true

Important
Please note that the following properties can be discriminated based on tenants and/or applications. For example, broadleaf.cartoperation.service.checkout.tenant.{MY_TENANT}.checkout-transaction-types.{GATEWAY_TYPE} can be defined for tenant discrimination, and broadleaf.cartoperation.service.checkout.application.{MY_APPLICATION}.checkout-transaction-types.{GATEWAY_TYPE} can be defined for application discrimination
Property Description

broadleaf.cartoperation.cart-cookie.*

Properties configuring the cookie that will store cart information. See com.broadleafcommerce.cartoperation.web.autoconfigure.CartCookieProperties for the full list of options.

broadleaf.cartoperation.cart-cookie.cookie-same-site-value

(since 1.6.0) The value to use for the SameSite attribute on the cart cookie.

(Defaults to Lax)

Delegating Tax Service Properties

The following checkout configuration properties are from DelegatingTaxServiceProperties:

  • broadleaf.cartoperation.delegatingtaxservice.persist-tax-response-on-cart

    • Whether to populate the tax response payload on the cart. Typically, this is only extra information not needed by downstream systems.

    • Caution! This payload can be fairly large depending on tax provider, which may cause issues downstream with messages. Be sure the size is validated before setting to true.

    • Default is false

  • broadleaf.cartoperation.delegatingtaxservice.persist-tax-response-on-fulfillments

    • Whether to populate the tax response payload on the fulfillment groups. Typically, this is only extra information not needed by downstream systems.

    • Caution! This payload can be fairly large depending on tax provider, which may cause issues downstream with messages. Be sure the size is validated before setting to true.

    • Default is false