Class DefaultCheckoutFacade
- java.lang.Object
-
- de.hybris.platform.commercefacades.order.impl.DefaultCheckoutFacade
-
- All Implemented Interfaces:
CheckoutFacade
- Direct Known Subclasses:
DefaultAcceleratorCheckoutFacade
,DefaultCheckoutFacade
public class DefaultCheckoutFacade extends java.lang.Object implements CheckoutFacade
Default implementation ofCheckoutFacade
-
-
Constructor Summary
Constructors Constructor Description DefaultCheckoutFacade()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
afterPlaceOrder(CartModel cartModel, OrderModel orderModel)
boolean
authorizePayment(java.lang.String securityCode)
Authorize payment for the order.protected void
beforePlaceOrder(CartModel cartModel)
protected boolean
checkIfCurrentUserIsTheCartUser()
boolean
containsTaxValues()
Checks that cart or any of cart entries has TaxValuesprotected DeliveryModeData
convert(DeliveryModeModel deliveryModeModel)
protected CommerceCheckoutParameter
createCommerceCheckoutParameter(CartModel cart, boolean enableHooks)
protected AddressModel
createDeliveryAddressModel(AddressData addressData, CartModel cartModel)
CCPaymentInfoData
createPaymentSubscription(CCPaymentInfoData paymentInfoData)
Create new payment subscription.protected Converter<AddressModel,AddressData>
getAddressConverter()
AddressData
getAddressDataForId(java.lang.String addressId, boolean visibleAddressesOnly)
Looks up addresses in the customer address bookprotected Populator<AddressData,AddressModel>
getAddressReversePopulator()
protected BaseStoreService
getBaseStoreService()
java.util.List<CountryData>
getBillingCountries()
Deprecated.since 1808.protected Converter<CardType,CardTypeData>
getCardTypeConverter()
protected CartModel
getCart()
protected CartFacade
getCartFacade()
protected <T extends CartService>
TgetCartService()
CartData
getCheckoutCart()
Method gets checkout cart, if any exist.protected CheckoutCustomerStrategy
getCheckoutCustomerStrategy()
protected CommerceCardTypeService
getCommerceCardTypeService()
protected CommerceCheckoutService
getCommerceCheckoutService()
protected CommonI18NService
getCommonI18NService()
java.util.List<CountryData>
getCountries(CountryType countryType)
Get countries.protected Converter<CountryModel,CountryData>
getCountryConverter()
protected Converter<CreditCardPaymentInfoModel,CCPaymentInfoData>
getCreditCardPaymentInfoConverter()
protected CustomerModel
getCurrentUserForCheckout()
protected CustomerAccountService
getCustomerAccountService()
protected AddressData
getDeliveryAddress()
AddressData
getDeliveryAddressForCode(java.lang.String code)
Get the delivery address with the specified codeprotected AddressModel
getDeliveryAddressModelForCode(java.lang.String code)
java.util.List<CountryData>
getDeliveryCountries()
Deprecated.since 1808.protected DeliveryModeData
getDeliveryMode()
protected Converter<DeliveryModeModel,DeliveryModeData>
getDeliveryModeConverter()
protected DeliveryService
getDeliveryService()
protected EnumerationService
getEnumerationService()
protected ModelService
getModelService()
protected Converter<OrderModel,OrderData>
getOrderConverter()
protected CCPaymentInfoData
getPaymentDetails()
protected java.lang.String
getPaymentProvider()
protected PriceDataFactory
getPriceDataFactory()
java.util.List<CardTypeData>
getSupportedCardTypes()
Get supported payment card typesjava.util.List<AddressData>
getSupportedDeliveryAddresses(boolean visibleAddressesOnly)
Get the list of supported delivery addresses.java.util.List<? extends DeliveryModeData>
getSupportedDeliveryModes()
Get the supported delivery modes for the cart.protected UserService
getUserService()
protected Converter<ZoneDeliveryModeModel,ZoneDeliveryModeData>
getZoneDeliveryModeConverter()
boolean
hasCheckoutCart()
Check if checkout cart exist.protected boolean
hasItemsMatchingPredicate(java.util.function.Predicate<AbstractOrderEntryModel> predicate)
boolean
hasPickUpItems()
Checks if at least one entry in the cart is a pickup entryboolean
hasShippingItems()
Checks if at least one entry in the cart is for shippingprotected boolean
isSupportedDeliveryMode(java.lang.String deliveryModeCode, CartModel cartModel)
OrderData
placeOrder()
Place orderprotected OrderModel
placeOrder(CartModel cartModel)
void
prepareCartForCheckout()
Prepares cart for checkoutboolean
removeDeliveryAddress()
Removes delivery address from session cart.boolean
removeDeliveryMode()
Removes the delivery mode on the cartvoid
setAddressConverter(Converter<AddressModel,AddressData> addressConverter)
void
setAddressReversePopulator(Populator<AddressData,AddressModel> addressReversePopulator)
void
setBaseStoreService(BaseStoreService baseStoreService)
void
setCardTypeConverter(Converter<CardType,CardTypeData> cardTypeConverter)
void
setCartFacade(CartFacade cartFacade)
void
setCartService(CartService cartService)
boolean
setCheapestDeliveryModeForCheckout()
Sets the cheapest delivery mode in the cart when calledvoid
setCheckoutCustomerStrategy(CheckoutCustomerStrategy checkoutCustomerStrategy)
void
setCommerceCardTypeService(CommerceCardTypeService commerceCardTypeService)
void
setCommerceCheckoutService(CommerceCheckoutService commerceCheckoutService)
void
setCommonI18NService(CommonI18NService commonI18NService)
void
setCountryConverter(Converter<CountryModel,CountryData> countryConverter)
void
setCreditCardPaymentInfoConverter(Converter<CreditCardPaymentInfoModel,CCPaymentInfoData> creditCardPaymentInfoConverter)
void
setCustomerAccountService(CustomerAccountService customerAccountService)
boolean
setDefaultDeliveryAddressForCheckout()
Sets the defaultAddress info on the cart with if current user has a default address infoboolean
setDefaultPaymentInfoForCheckout()
Sets the defaultPayment info on the cart if the current user has a default payment infoboolean
setDeliveryAddress(AddressData addressData)
Set the delivery address on the cart.boolean
setDeliveryAddressIfAvailable()
Set delivery address if customer has a default delivery address and is valid for the cartboolean
setDeliveryMode(java.lang.String deliveryModeCode)
Set the delivery mode on the cart Checks if the deliveryMode code is supported.void
setDeliveryModeConverter(Converter<DeliveryModeModel,DeliveryModeData> deliveryModeConverter)
boolean
setDeliveryModeIfAvailable()
Set cheapest delivery mode if the cart has one or more supported delivery modesvoid
setDeliveryService(DeliveryService deliveryService)
void
setEnumerationService(EnumerationService enumerationService)
void
setModelService(ModelService modelService)
void
setOrderConverter(Converter<OrderModel,OrderData> orderConverter)
boolean
setPaymentDetails(java.lang.String paymentInfoId)
Set Payment Details on the cartboolean
setPaymentInfoIfAvailable()
Set payment details if the customer has a default payment detailsvoid
setPriceDataFactory(PriceDataFactory priceDataFactory)
void
setUserService(UserService userService)
void
setZoneDeliveryModeConverter(Converter<ZoneDeliveryModeModel,ZoneDeliveryModeData> zoneDeliveryModeConverter)
-
-
-
Method Detail
-
hasCheckoutCart
public boolean hasCheckoutCart()
Description copied from interface:CheckoutFacade
Check if checkout cart exist.- Specified by:
hasCheckoutCart
in interfaceCheckoutFacade
- Returns:
- true if cart exists
-
getCheckoutCart
public CartData getCheckoutCart()
Description copied from interface:CheckoutFacade
Method gets checkout cart, if any exist.- Specified by:
getCheckoutCart
in interfaceCheckoutFacade
- Returns:
- cart data if cart exists
-
getCart
protected CartModel getCart()
-
getSupportedDeliveryAddresses
public java.util.List<AddressData> getSupportedDeliveryAddresses(boolean visibleAddressesOnly)
Description copied from interface:CheckoutFacade
Get the list of supported delivery addresses.- Specified by:
getSupportedDeliveryAddresses
in interfaceCheckoutFacade
- Parameters:
visibleAddressesOnly
- include only the visible addresses- Returns:
- the supported delivery addresses
-
getDeliveryAddressForCode
public AddressData getDeliveryAddressForCode(java.lang.String code)
Description copied from interface:CheckoutFacade
Get the delivery address with the specified code- Specified by:
getDeliveryAddressForCode
in interfaceCheckoutFacade
- Parameters:
code
- the code- Returns:
- the delivery address
-
getDeliveryAddressModelForCode
protected AddressModel getDeliveryAddressModelForCode(java.lang.String code)
-
createDeliveryAddressModel
protected AddressModel createDeliveryAddressModel(AddressData addressData, CartModel cartModel)
-
getDeliveryAddress
protected AddressData getDeliveryAddress()
-
setDeliveryAddress
public boolean setDeliveryAddress(AddressData addressData)
Description copied from interface:CheckoutFacade
Set the delivery address on the cart.- Specified by:
setDeliveryAddress
in interfaceCheckoutFacade
- Parameters:
addressData
- the address, If null the delivery address is removed from the session cart.- Returns:
- true if operation succeeded
-
getSupportedDeliveryModes
public java.util.List<? extends DeliveryModeData> getSupportedDeliveryModes()
Description copied from interface:CheckoutFacade
Get the supported delivery modes for the cart.- Specified by:
getSupportedDeliveryModes
in interfaceCheckoutFacade
- Returns:
- the collection of supported delivery modes
-
setDeliveryAddressIfAvailable
public boolean setDeliveryAddressIfAvailable()
Description copied from interface:CheckoutFacade
Set delivery address if customer has a default delivery address and is valid for the cart- Specified by:
setDeliveryAddressIfAvailable
in interfaceCheckoutFacade
- Returns:
- true if successful
-
setDeliveryModeIfAvailable
public boolean setDeliveryModeIfAvailable()
Description copied from interface:CheckoutFacade
Set cheapest delivery mode if the cart has one or more supported delivery modes- Specified by:
setDeliveryModeIfAvailable
in interfaceCheckoutFacade
- Returns:
- true if successful
-
setPaymentInfoIfAvailable
public boolean setPaymentInfoIfAvailable()
Description copied from interface:CheckoutFacade
Set payment details if the customer has a default payment details- Specified by:
setPaymentInfoIfAvailable
in interfaceCheckoutFacade
- Returns:
- true if successful
-
getDeliveryMode
protected DeliveryModeData getDeliveryMode()
-
setDeliveryMode
public boolean setDeliveryMode(java.lang.String deliveryModeCode)
Description copied from interface:CheckoutFacade
Set the delivery mode on the cart Checks if the deliveryMode code is supported. If the code is not supported it does not get set and a false is returned.- Specified by:
setDeliveryMode
in interfaceCheckoutFacade
- Parameters:
deliveryModeCode
- the delivery mode- Returns:
- true if successful
-
isSupportedDeliveryMode
protected boolean isSupportedDeliveryMode(java.lang.String deliveryModeCode, CartModel cartModel)
-
convert
protected DeliveryModeData convert(DeliveryModeModel deliveryModeModel)
-
getDeliveryCountries
@Deprecated(since="1808") public java.util.List<CountryData> getDeliveryCountries()
Deprecated.since 1808. Please useCheckoutFacade.getCountries(CountryType)
instead.Description copied from interface:CheckoutFacade
Get the supported delivery countries. The list is sorted alphabetically.- Specified by:
getDeliveryCountries
in interfaceCheckoutFacade
- Returns:
- list of supported delivery countries.
-
getBillingCountries
@Deprecated(since="1808") public java.util.List<CountryData> getBillingCountries()
Deprecated.since 1808. Please useCheckoutFacade.getCountries(CountryType)
instead.Description copied from interface:CheckoutFacade
Get the supported billing countries. The list is sorted alphabetically.- Specified by:
getBillingCountries
in interfaceCheckoutFacade
- Returns:
- list of supported billing countries.
-
getCountries
public java.util.List<CountryData> getCountries(CountryType countryType)
Description copied from interface:CheckoutFacade
Get countries.- Specified by:
getCountries
in interfaceCheckoutFacade
- Parameters:
countryType
- If the value of type equals to shipping, then return shipping countries. If the value of type equals to billing, then return billing countries. If the value of type is not given, return all countries. The list is sorted alphabetically.- Returns:
- list of countries.
-
containsTaxValues
public boolean containsTaxValues()
Description copied from interface:CheckoutFacade
Checks that cart or any of cart entries has TaxValues- Specified by:
containsTaxValues
in interfaceCheckoutFacade
- Returns:
- true if the cart or its entries has TaxValues
-
getPaymentDetails
protected CCPaymentInfoData getPaymentDetails()
-
setPaymentDetails
public boolean setPaymentDetails(java.lang.String paymentInfoId)
Description copied from interface:CheckoutFacade
Set Payment Details on the cart- Specified by:
setPaymentDetails
in interfaceCheckoutFacade
- Parameters:
paymentInfoId
- the ID of the payment info to set as the default payment- Returns:
- true if operation succeeded
-
getSupportedCardTypes
public java.util.List<CardTypeData> getSupportedCardTypes()
Description copied from interface:CheckoutFacade
Get supported payment card types- Specified by:
getSupportedCardTypes
in interfaceCheckoutFacade
- Returns:
- list of supported card types
-
createPaymentSubscription
public CCPaymentInfoData createPaymentSubscription(CCPaymentInfoData paymentInfoData)
Description copied from interface:CheckoutFacade
Create new payment subscription. Pass in a CCPaymentInfoData containing the customer's card details. A new payment subscription will be created, and the sorted card details will be returned in a new CCPaymentInfoData.- Specified by:
createPaymentSubscription
in interfaceCheckoutFacade
- Parameters:
paymentInfoData
- the data instance containing the customers cart details- Returns:
- the newly created payment info data
-
authorizePayment
public boolean authorizePayment(java.lang.String securityCode)
Description copied from interface:CheckoutFacade
Authorize payment for the order. The order must have a subscription payment details set on it before the payment can be authorized.- Specified by:
authorizePayment
in interfaceCheckoutFacade
- Parameters:
securityCode
- the 3 or 4 number CV2 or CVV security code- Returns:
- true if successful
-
placeOrder
public OrderData placeOrder() throws InvalidCartException
Description copied from interface:CheckoutFacade
Place order- Specified by:
placeOrder
in interfaceCheckoutFacade
- Returns:
- orderData representing the order
- Throws:
InvalidCartException
- is thrown by underlyingCartValidator
-
beforePlaceOrder
protected void beforePlaceOrder(CartModel cartModel)
-
placeOrder
protected OrderModel placeOrder(CartModel cartModel) throws InvalidCartException
- Throws:
InvalidCartException
-
afterPlaceOrder
protected void afterPlaceOrder(CartModel cartModel, OrderModel orderModel)
-
removeDeliveryAddress
public boolean removeDeliveryAddress()
Description copied from interface:CheckoutFacade
Removes delivery address from session cart.- Specified by:
removeDeliveryAddress
in interfaceCheckoutFacade
- Returns:
- true if delivery address was removed from cart
-
removeDeliveryMode
public boolean removeDeliveryMode()
Description copied from interface:CheckoutFacade
Removes the delivery mode on the cart- Specified by:
removeDeliveryMode
in interfaceCheckoutFacade
- Returns:
- true if successfully removed.
-
getAddressDataForId
public AddressData getAddressDataForId(java.lang.String addressId, boolean visibleAddressesOnly)
Description copied from interface:CheckoutFacade
Looks up addresses in the customer address book- Specified by:
getAddressDataForId
in interfaceCheckoutFacade
- Parameters:
addressId
- The PK of an addressvisibleAddressesOnly
- If true checks visible addresses in the address book- Returns:
- A address from the address book with a matching id
-
prepareCartForCheckout
public void prepareCartForCheckout()
Description copied from interface:CheckoutFacade
Prepares cart for checkout- Specified by:
prepareCartForCheckout
in interfaceCheckoutFacade
-
setDefaultDeliveryAddressForCheckout
public boolean setDefaultDeliveryAddressForCheckout()
Description copied from interface:CheckoutFacade
Sets the defaultAddress info on the cart with if current user has a default address info- Specified by:
setDefaultDeliveryAddressForCheckout
in interfaceCheckoutFacade
- Returns:
- true if successful
-
setDefaultPaymentInfoForCheckout
public boolean setDefaultPaymentInfoForCheckout()
Description copied from interface:CheckoutFacade
Sets the defaultPayment info on the cart if the current user has a default payment info- Specified by:
setDefaultPaymentInfoForCheckout
in interfaceCheckoutFacade
- Returns:
- true if successful
-
setCheapestDeliveryModeForCheckout
public boolean setCheapestDeliveryModeForCheckout()
Description copied from interface:CheckoutFacade
Sets the cheapest delivery mode in the cart when called- Specified by:
setCheapestDeliveryModeForCheckout
in interfaceCheckoutFacade
- Returns:
- boolean if successful
-
hasShippingItems
public boolean hasShippingItems()
Description copied from interface:CheckoutFacade
Checks if at least one entry in the cart is for shipping- Specified by:
hasShippingItems
in interfaceCheckoutFacade
- Returns:
- true if at least one shipping entry is found in the cart
-
hasPickUpItems
public boolean hasPickUpItems()
Description copied from interface:CheckoutFacade
Checks if at least one entry in the cart is a pickup entry- Specified by:
hasPickUpItems
in interfaceCheckoutFacade
- Returns:
- true if even one pickup entry is found in the cart
-
hasItemsMatchingPredicate
protected boolean hasItemsMatchingPredicate(java.util.function.Predicate<AbstractOrderEntryModel> predicate)
-
checkIfCurrentUserIsTheCartUser
protected boolean checkIfCurrentUserIsTheCartUser()
-
getPaymentProvider
protected java.lang.String getPaymentProvider()
-
getCurrentUserForCheckout
protected CustomerModel getCurrentUserForCheckout()
-
createCommerceCheckoutParameter
protected CommerceCheckoutParameter createCommerceCheckoutParameter(CartModel cart, boolean enableHooks)
-
getCartFacade
protected CartFacade getCartFacade()
-
setCartFacade
public void setCartFacade(CartFacade cartFacade)
-
getCartService
protected <T extends CartService> T getCartService()
-
setCartService
public void setCartService(CartService cartService)
-
getAddressConverter
protected Converter<AddressModel,AddressData> getAddressConverter()
-
setAddressConverter
public void setAddressConverter(Converter<AddressModel,AddressData> addressConverter)
-
getAddressReversePopulator
protected Populator<AddressData,AddressModel> getAddressReversePopulator()
-
setAddressReversePopulator
public void setAddressReversePopulator(Populator<AddressData,AddressModel> addressReversePopulator)
-
getDeliveryService
protected DeliveryService getDeliveryService()
-
setDeliveryService
public void setDeliveryService(DeliveryService deliveryService)
-
getUserService
protected UserService getUserService()
-
setUserService
public void setUserService(UserService userService)
-
getPriceDataFactory
protected PriceDataFactory getPriceDataFactory()
-
setPriceDataFactory
public void setPriceDataFactory(PriceDataFactory priceDataFactory)
-
getCommerceCheckoutService
protected CommerceCheckoutService getCommerceCheckoutService()
-
setCommerceCheckoutService
public void setCommerceCheckoutService(CommerceCheckoutService commerceCheckoutService)
-
getEnumerationService
protected EnumerationService getEnumerationService()
-
setEnumerationService
public void setEnumerationService(EnumerationService enumerationService)
-
getCommerceCardTypeService
protected CommerceCardTypeService getCommerceCardTypeService()
-
setCommerceCardTypeService
public void setCommerceCardTypeService(CommerceCardTypeService commerceCardTypeService)
-
getCustomerAccountService
protected CustomerAccountService getCustomerAccountService()
-
setCustomerAccountService
public void setCustomerAccountService(CustomerAccountService customerAccountService)
-
getCreditCardPaymentInfoConverter
protected Converter<CreditCardPaymentInfoModel,CCPaymentInfoData> getCreditCardPaymentInfoConverter()
-
setCreditCardPaymentInfoConverter
public void setCreditCardPaymentInfoConverter(Converter<CreditCardPaymentInfoModel,CCPaymentInfoData> creditCardPaymentInfoConverter)
-
getDeliveryModeConverter
protected Converter<DeliveryModeModel,DeliveryModeData> getDeliveryModeConverter()
-
setDeliveryModeConverter
public void setDeliveryModeConverter(Converter<DeliveryModeModel,DeliveryModeData> deliveryModeConverter)
-
getZoneDeliveryModeConverter
protected Converter<ZoneDeliveryModeModel,ZoneDeliveryModeData> getZoneDeliveryModeConverter()
-
setZoneDeliveryModeConverter
public void setZoneDeliveryModeConverter(Converter<ZoneDeliveryModeModel,ZoneDeliveryModeData> zoneDeliveryModeConverter)
-
getOrderConverter
protected Converter<OrderModel,OrderData> getOrderConverter()
-
setOrderConverter
public void setOrderConverter(Converter<OrderModel,OrderData> orderConverter)
-
getModelService
protected ModelService getModelService()
-
setModelService
public void setModelService(ModelService modelService)
-
getCommonI18NService
protected CommonI18NService getCommonI18NService()
-
setCommonI18NService
public void setCommonI18NService(CommonI18NService commonI18NService)
-
getBaseStoreService
protected BaseStoreService getBaseStoreService()
-
setBaseStoreService
public void setBaseStoreService(BaseStoreService baseStoreService)
-
getCardTypeConverter
protected Converter<CardType,CardTypeData> getCardTypeConverter()
-
setCardTypeConverter
public void setCardTypeConverter(Converter<CardType,CardTypeData> cardTypeConverter)
-
getCheckoutCustomerStrategy
protected CheckoutCustomerStrategy getCheckoutCustomerStrategy()
-
setCheckoutCustomerStrategy
public void setCheckoutCustomerStrategy(CheckoutCustomerStrategy checkoutCustomerStrategy)
-
getCountryConverter
protected Converter<CountryModel,CountryData> getCountryConverter()
-
setCountryConverter
public void setCountryConverter(Converter<CountryModel,CountryData> countryConverter)
-
-