Class DefaultCheckoutPaymentMethodService

    • Constructor Detail

    • Method Detail

      • 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)
      • getSpelRuleEvaluationService

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

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