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.
Added overload of
PricingProvider#retrievePrices that takes the entire cart instead of just the cart items to ease extension use cases that may want to use attributes on the cart when constructing the
Such use cases could include a Price List targeting a campaign code added to the cart.
Similarly, allow extensions of
ExternalOfferProvider#createCustomerContext to look at the entire cart to build out the
Ensured that IncludedProducts are always marked as not-discountable by default.
IncludedProducts represent Bundle Items and cannot be discounted normally in Broadleaf. Instead, the parent bundle can be discounted.
Added a specific response message to distinguish between offer codes that qualify a cart for a voucher and offer codes that perform adjustments on the cart when applied.
Removed overly noisy logging around
PaymentTransactionFailureException & update debug logging to include the PaymentTransactionFailureException stacktraces.
Exposed new provider method
PaymentTransactionExecutionProvider#lookupExternalTransactionResult to retrieve externally executed transactions from the gateway.
Added method to the checkout workflow to support externally executed transactions.
NextAction to describe the next action for the payment transaction process.
Exposed new service method
FulfillmentOptionRequestService#refreshOptions to facilitate refreshing the selected options on a cart as needed.
Refreshed fulfillment options if the cart currency changes.
Refreshed options based on matching service level and fulfillment type.
Provider ID is not checked anymore during refresh.
The fulfillment service level is now populated correctly on the FulfillmentPricingGroup when preparing for fulfillment pricing.
Fixed NPE from adding second item with ADD_TO_CART reservation strategy.
Fixed dependent items not have their
parentLineItemId field set when sent to the Offer Engine.
itemType not being set to
FulfillmentLineItemDtos representing dependent cart items sent to Offer Engine indicating they are dependents.
This is needed since they don’t have a parent line item field.
DefaultFulfillmentOptionRequestService#buildFulfillmentOptionRequest(Cart, FulfillmentPricingConfig, ContextInfo) has been deprecated in favor of an overloaded method that takes an additional
DefaultFulfillmentOptionRequestService#createRequest(Cart, Collection<FulfillmentPricingGroup>, FulfillmentPricingConfig, ContextInfo) has been deprecated in favor of an overloaded method that takes an additional
DefaultFulfillmentOptionRequestService#refreshSelectedOptionsAndGrouping(Cart, FulfillmentPricingConfig, ContextInfo) has been deprecated in favor of the
refreshOptionsAndSyncGroups method that takes an additional
String PaymentTransactionFailureDetail#threeDSecureVerificationUrl field has been deprecated in favor of
NextAction nextAction and the
CartPaymentMethodValidationActivity#getCheckoutTransactionType(String, ContextInfo) has been deprecated in favor of an overloaded method that replaces the
String parameter with
CartOperationCheckoutProperties#getCheckoutTransactionType(String, String, String) has been deprecated in favor of an overloaded method that takes an additional