Broadleaf Microservices
  • v1.0.0-latest-prod

Cart Operation Release Notes for 2.2.0

Table of Contents
Tip
The 2.x versions are Spring Boot 3 compatible.

New Features & Notable Changes

  • Improvements to support the Adyen payment integration

    • Added an ability to send the additional data in the CheckoutProcessRequest, needed to execute payment transactions, esp. properties that should not be persisted to the Payment#paymentMethodProperties. See CheckoutProcessRequest#sensitivePaymentMethodData

Important

This release includes a potentially breaking change if you have an override/implementation of one of the following methods:

  • CheckoutService#processCheckout(…​)

  • CheckoutWorkflow#execute(…​)

    • DefaultCheckoutWorkflow#executeActivity(…​) (protected method)

  • RequiresSecurePaymentInformationActivity#execute(…​)

  • PaymentTransactionExecutionService#executeCartPaymentTransactions(…​)

  • DefaultPaymentTransactionExecutionService#executeCartPaymentTransactions(…​) (protected method)

  • DefaultPaymentTransactionExecutionService#executePaymentTransaction(…​) (protected method)

  • DefaultPaymentTransactionExecutionService#buildTransactionExecutionRequest(…​) (protected method)

If this effects your project, you’ll encounter a compilation issue. These compilation issues should be simple to resolve - ie look to gather data from the provided SensitivePaymentMethodData objects, or simply pass them along to the next service component.

In short, these method signature changes within the CartOps were needed to effectively pass the SensitivePaymentMethodData representations through the checkout process, & do so in a way that is very intentional about which components do/do not have access to the data.

This change was also made to future-proof these method signatures by passing objects, rather than simple params.

  • Fix bug where a failed payment transaction causes the PaymentSummary in the CheckoutResponse to be out of date