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 Summary
ConstructorDescriptionDefaultCheckoutPaymentMethodService
(CartOperationCheckoutProperties cartOperationCheckoutProperties) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
doFulfillmentExclusionsPassForPayment
(@NonNull com.broadleafcommerce.cart.client.domain.FulfillmentGroup fulfillmentGroup, @NonNull CheckoutPaymentMethodOption codCheckoutPaymentMethodOption) protected boolean
doFulfillmentInclusionsPassForPayment
(@NonNull com.broadleafcommerce.cart.client.domain.FulfillmentGroup fulfillmentGroup, @NonNull CheckoutPaymentMethodOption codCheckoutPaymentMethodOption) protected List<CheckoutPaymentMethodOption>
filterAvailableCheckoutPaymentMethodOptionsByCart
(@NonNull List<CheckoutPaymentMethodOption> checkoutPaymentMethodOptions, @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Hook point to filter available checkout payment method options by the cart details.protected List<CheckoutPaymentMethodOption>
filterAvailableCheckoutPaymentMethodOptionsByCustomer
(@NonNull List<CheckoutPaymentMethodOption> checkoutPaymentMethodOptions, com.broadleafcommerce.order.common.domain.CustomerRef customerRef, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Hook point to filter available checkout payment method options by the customer details.protected String
getApplicationIdFromContext
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected CartOperationCheckoutProperties
getCheckoutPaymentMethodOptions
(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.order.common.domain.CustomerRef customer, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find the available checkout payment method options for the given cart, customer, and context.protected com.broadleafcommerce.rulesengine.expression.service.SpelRuleEvaluationService
protected String
getTenantIdFromContext
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected boolean
isCartMaxTotalAllowedForPayment
(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull CheckoutPaymentMethodOption option) protected boolean
isCartMinTotalAllowedForPayment
(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull CheckoutPaymentMethodOption option) protected boolean
isPaymentMethodOptionAvailableForFulfillmentGroups
(@NonNull CheckoutPaymentMethodOption option, @NonNull List<com.broadleafcommerce.cart.client.domain.FulfillmentGroup> fulfillmentGroups) Checks that the option is available at least for one of the fulfillment groups.void
setSpelRuleEvaluationService
(com.broadleafcommerce.rulesengine.expression.service.SpelRuleEvaluationService spelRuleEvaluationService)
-
Constructor Details
-
DefaultCheckoutPaymentMethodService
public DefaultCheckoutPaymentMethodService(CartOperationCheckoutProperties cartOperationCheckoutProperties)
-
-
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 interfaceCheckoutPaymentMethodService
- Parameters:
cart
- the current cart in checkoutcustomer
- a reference to the current customer in checkoutcontextInfo
- 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 optionscustomerRef
- a reference to the current customer in checkoutcontextInfo
- 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 optionscart
- the current cart in checkoutcontextInfo
- 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 validatefulfillmentGroups
- 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
-
getSpelRuleEvaluationService
protected com.broadleafcommerce.rulesengine.expression.service.SpelRuleEvaluationService getSpelRuleEvaluationService() -
setSpelRuleEvaluationService
@Autowired public void setSpelRuleEvaluationService(com.broadleafcommerce.rulesengine.expression.service.SpelRuleEvaluationService spelRuleEvaluationService)
-