Class DefaultCheckoutPaymentMethodService

java.lang.Object
com.broadleafcommerce.cartoperation.service.payment.DefaultCheckoutPaymentMethodService
All Implemented Interfaces:
CheckoutPaymentMethodService

public class DefaultCheckoutPaymentMethodService extends Object implements CheckoutPaymentMethodService
Author:
Marie Standeven (mariestandeven)
  • Constructor Details

  • Method Details

    • getCheckoutPaymentMethodOptions

      public List<CheckoutPaymentMethodOption> getCheckoutPaymentMethodOptions(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @Nullable com.broadleafcommerce.order.common.domain.CustomerRef customer, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CheckoutPaymentMethodService
      Find the available checkout payment method options for the given cart, customer, and context.
      Specified by:
      getCheckoutPaymentMethodOptions in interface CheckoutPaymentMethodService
      Parameters:
      cart - the current cart in checkout
      customer - a reference to the current customer in checkout
      contextInfo - context information around sandbox and multitenant state
      Returns:
      a list of payment method options available in the current checkout context
    • filterAvailableCheckoutPaymentMethodOptionsByCustomer

      protected List<CheckoutPaymentMethodOption> filterAvailableCheckoutPaymentMethodOptionsByCustomer(@NonNull @NonNull List<CheckoutPaymentMethodOption> checkoutPaymentMethodOptions, @Nullable com.broadleafcommerce.order.common.domain.CustomerRef customerRef, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Hook point to filter available checkout payment method options by the customer details.
      Parameters:
      checkoutPaymentMethodOptions - the list of available checkout payment method options
      customerRef - a reference to the current customer in checkout
      contextInfo - context information around sandbox and multitenant state
      Returns:
      the updated list of available payment methods
    • filterAvailableCheckoutPaymentMethodOptionsByCart

      protected List<CheckoutPaymentMethodOption> filterAvailableCheckoutPaymentMethodOptionsByCart(@NonNull @NonNull List<CheckoutPaymentMethodOption> checkoutPaymentMethodOptions, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Hook point to filter available checkout payment method options by the cart details.
      Parameters:
      checkoutPaymentMethodOptions - the list of available checkout payment method options
      cart - the current cart in checkout
      contextInfo - context information around sandbox and multitenant state
      Returns:
      the updated list of available payment methods
    • isPaymentMethodOptionAvailableForFulfillmentGroups

      protected boolean isPaymentMethodOptionAvailableForFulfillmentGroups(@NonNull @NonNull CheckoutPaymentMethodOption option, @NonNull @NonNull List<com.broadleafcommerce.cart.client.domain.FulfillmentGroup> fulfillmentGroups)
      Checks that the option is available at least for one of the fulfillment groups.
      Parameters:
      option - the payment method option to validate
      fulfillmentGroups - the cart fulfillment groups
      Returns:
      true if fulfillment groups is empty or the option is available for one of the group
    • doFulfillmentExclusionsPassForPayment

      protected boolean doFulfillmentExclusionsPassForPayment(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.FulfillmentGroup fulfillmentGroup, @NonNull @NonNull CheckoutPaymentMethodOption codCheckoutPaymentMethodOption)
    • doFulfillmentInclusionsPassForPayment

      protected boolean doFulfillmentInclusionsPassForPayment(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.FulfillmentGroup fulfillmentGroup, @NonNull @NonNull CheckoutPaymentMethodOption codCheckoutPaymentMethodOption)
    • isCartMaxTotalAllowedForPayment

      protected boolean isCartMaxTotalAllowedForPayment(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull CheckoutPaymentMethodOption option)
    • isCartMinTotalAllowedForPayment

      protected boolean isCartMinTotalAllowedForPayment(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull CheckoutPaymentMethodOption option)
    • getApplicationIdFromContext

      @Nullable protected String getApplicationIdFromContext(@Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getTenantIdFromContext

      @Nullable protected String getTenantIdFromContext(@Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getCartOperationCheckoutProperties

      protected CartOperationCheckoutProperties getCartOperationCheckoutProperties()
    • getSpelRuleEvaluationService

      protected com.broadleafcommerce.rulesengine.expression.service.SpelRuleEvaluationService getSpelRuleEvaluationService()
    • setSpelRuleEvaluationService

      @Autowired public void setSpelRuleEvaluationService(com.broadleafcommerce.rulesengine.expression.service.SpelRuleEvaluationService spelRuleEvaluationService)