JDK 11 is required for Broadleaf release trains 1.7.0-GA, and beyond.
JDK 17 is supported for Broadleaf release trains 1.8.1-GA, and beyond.
Updated DefaultPaymentTransactionExecutionService
to avoid attempting to execute transactions if the PaymentSummary#amount
is less than or equal to 0.
Updated the cart resolution flow to optionally avoid executing the stale cart repricing logic. The method parameter flag allowRepriceDueToStaleCartPrices
controls whether or not to reprice and can be updated to change the default behavior.
By default, this value is set to false
for situations where the cart is resolved just so that it can be declared as a named cart. In these situations, there’s no need to reprice the cart. Instead, the repricing will occur when the cart once again becomes the user’s active cart.
Updated several DefaultCheckoutWorkflow
methods' access modifiers from private
to protected
Improved payment exceptions logging & tracking within DefaultCheckoutWorkflow
Added payment error messages to logging of CheckoutWorkflowActivityException
Updated errors in PaymentTransactionExecutionActivity
to provide the original exception when creating a CheckoutWorkflowActivityException
Introduced the ability to declare the serialization value with add-to-cart requests, so that serialized inventory availability check & reservation request are correctly made within CartOps.
Added support to check for existing reservations when checking inventory availability for the same item and user.
Added a field for a reference number for a previous reservation to SkuInventoryAvailabilityRequest
and updated DefaultInventoryAvailabilityService
to set it.
Added an attributes map for extensibility to SkuInventoryAvailabilityRequest
Note
|
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. |
Fixed NullPointerException with DefaultFulfillmentPricingService
when changing to an address without a fulfillment option configuration & repricing cart with currency change
Added validation to prevent checkout with the stale or unavailable priced fulfillment options
If the priced fulfillment option is added to the fulfillment group, and after that, the cart is changed so that the previously selected option is no longer available, then a new option should be selected. The added validation blocks the checkout if the fulfillment option is not updated.
Fixed bug where CSR price override doesn’t work when there are multiple items in cart
Added null check within DefaultCheckoutService#clearAdjustmentFields(…)
in case adj.getOfferRef()
returns null.
Fixed application of Offer’s "Apply to Sale Price?" field such that if true, then the better of either default price + offer adjustment or the sale price wins out.
This fix includes removing sale prices from the cart item’s sku price info if the default price + offer adjustment produces the better price.
Fixed tax-related currency mismatch issues when a cart’s currency changes by ensuring that the following fields are cleared when preparing for cart pricing:
CartPricing#includedTaxAmount
CartPricing#taxIncludedType
FulfillmentItem#fulfillmentItemTaxDetails
Fixed checkout validation of CartItem-level offer/campaign code usages via the CartOfferValidationActivity by also sending the offer ids gathered from item-level adjustments to OfferProvider
#validateOfferAndOfferCodeUsages(…)
.
Fixed NullPointerException when adding a bundle type product to cart
Fixed PriceInfo
from losing data due to always creating a new PriceInfo
Fixed issue where soft reservation request not get sent when using COMBINE
merging type
Fixed bug where the inventory soft reservation is not updated when updating the quantity of an item
Fixed bug where the inventory soft reservation is not released when removing an item from the cart