Class DefaultSubscriptionFacade
- java.lang.Object
-
- de.hybris.platform.subscriptionfacades.impl.AbstractSubscriptionFacade
-
- de.hybris.platform.subscriptionfacades.impl.DefaultSubscriptionFacade
-
- All Implemented Interfaces:
SubscriptionFacade
- Direct Known Subclasses:
DefaultSapRevenueCloudSubscriptionFacade
public class DefaultSubscriptionFacade extends AbstractSubscriptionFacade
Default implementation of theSubscriptionFacadeinterface providing No-op implementations of the interface methods.
-
-
Constructor Summary
Constructors Constructor Description DefaultSubscriptionFacade()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CCPaymentInfoDatachangePaymentMethod(CCPaymentInfoData paymentInfo, java.lang.String action, boolean propagate, java.util.Map<java.lang.String,java.lang.String> parameters)Changes an existing payment method.SubscriptionDatachangeSubscriptionState(java.lang.String subscriptionId, java.lang.String newStatus, java.util.Map<java.lang.String,java.lang.String> parameters)Updates the state of an existing subscription.protected SubscriptionPaymentDatacreateEmptySubscriptionPaymentData()Creates an emptySubscriptionPaymentDataobject.CCPaymentInfoDatacreatePaymentSubscription(java.util.Map<java.lang.String,java.lang.String> paymentParameters)Creates a payment subscription on the hybris side.SubscriptionPaymentDatacreateSubscriptions(OrderData order, java.util.Map<java.lang.String,java.lang.String> parameters)Creates subscriptions for the given order and current user.SubscriptionDataextendSubscriptionTermDuration(java.lang.String subscriptionId, java.lang.Integer contractDurationExtension, java.util.Map<java.lang.String,java.lang.String> parameters)Extends the subscription term duration of an existing subscription.SubscriptionPaymentDatafinalizeTransaction(java.lang.String authorizationRequestId, java.lang.String authorizationRequestToken, java.util.Map<java.lang.String,java.lang.String> parameters)Finalizes an established subscription with the subscription billing provider.SubscriptionBillingDetailFileStreamgetBillingActivityDetail(java.lang.String billingActivityId, java.util.Map<java.lang.String,java.lang.String> parameters)Returns a file stream containing detail information for the specified billing activity.java.util.List<SubscriptionBillingData>getBillingActivityList(java.lang.String subscriptionId, java.util.Map<java.lang.String,java.lang.String> parameters)Returns a list of billing activities for the given subscription.SubscriptionDatagetSubscription(java.lang.String subscriptionId)Returns the subscription with the given ID.java.util.Collection<SubscriptionData>getSubscriptions()Returns all subscriptions for the current user.java.util.List<SubscriptionBillingData>getUpgradePreviewBillings(java.lang.String subscriptionId, java.lang.String upgradeId)Returns a list of the possible billing changes between the current subscription and an upgrade option.java.lang.StringhpfUrl()Returns the HPF URL.SubscriptionPaymentDatainitializeTransaction(java.lang.String clientIpAddress, java.lang.String returnUrl, java.lang.String cancelReturnUrl, java.util.Map<java.lang.String,java.lang.String> parameters)Initializes a transaction with the subscription billing provider.SubscriptionDatareplacePaymentMethod(java.lang.String subscriptionId, java.lang.String paymentMethodId, java.lang.String effectiveFrom, java.util.Map<java.lang.String,java.lang.String> parameters)SubscriptionPaymentDatareplacePaymentMethod(java.lang.String subscriptionId, java.lang.String paymentMethodId, java.util.Map<java.lang.String,java.lang.String> parameters)Replaces the payment method for the given subscription.SubscriptionPaymentDataupdateProfile(java.util.Map<java.lang.String,java.lang.String> parameters)Creates or updates a subscription profile for the current user.SubscriptionPaymentDataupdateSubscription(java.lang.String subscriptionId, boolean force, SubscriptionUpdateActionEnum action, java.util.Map<java.lang.String,java.lang.String> parameters)Updates the given subscription (e.g.SubscriptionDataupdateSubscriptionAutorenewal(java.lang.String subscriptionId, boolean isAutorenewal, java.util.Map<java.lang.String,java.lang.String> parameters)Updates the auto-renewal status of an existing subscription.-
Methods inherited from class de.hybris.platform.subscriptionfacades.impl.AbstractSubscriptionFacade
createEmptyCCPaymentInfoData, getBaseStoreService, getCartService, getCheckoutFacade, getCreditCardPaymentInfoConverter, getCurrencyIso, getCurrentCustomerId, getCustomerAccountService, getCustomerResolutionService, getModelService, getOrderEntryForOrderCodeAndEntryNumber, getOrderService, getProductFacade, getSubscriptionEndDate, getSubscriptionsForPaymentMethod, getUpsellingOptionsForSubscription, setBaseStoreService, setCartService, setCheckoutFacade, setCreditCardPaymentInfoConverter, setCustomerAccountService, setCustomerResolutionService, setModelService, setOrderService, setProductFacade, updateCreatedPaymentMethod
-
-
-
-
Method Detail
-
updateProfile
@Nonnull public SubscriptionPaymentData updateProfile(java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeCreates or updates a subscription profile for the current user.- Parameters:
parameters- provider specific parameters- Returns:
SubscriptionPaymentDatacontaining the results of the operation- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
createSubscriptions
public SubscriptionPaymentData createSubscriptions(@Nonnull OrderData order, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeCreates subscriptions for the given order and current user.- Parameters:
order- the order to create the subscriptions forparameters- provider specific parameters- Returns:
SubscriptionPaymentDatacontaining the results of the operation- Throws:
SubscriptionFacadeException- if subscription cannot be created
-
initializeTransaction
@Nonnull public SubscriptionPaymentData initializeTransaction(java.lang.String clientIpAddress, java.lang.String returnUrl, java.lang.String cancelReturnUrl, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeInitializes a transaction with the subscription billing provider.- Parameters:
clientIpAddress- the IP address of the calling client. May be empty.returnUrl- the URL to redirect to after the silent from post. May not be null or empty.cancelReturnUrl- the URL to redirect to in case of errors after the silent from post. May not be null or empty.parameters- provider specific parameters- Returns:
SubscriptionPaymentDatacontaining the results of the operation (hpfUrl and session token). result.getParameters().get("sessionTransactionToken") returns not-null String value.- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
finalizeTransaction
@Nonnull public SubscriptionPaymentData finalizeTransaction(java.lang.String authorizationRequestId, java.lang.String authorizationRequestToken, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeFinalizes an established subscription with the subscription billing provider.- Parameters:
authorizationRequestId- the request IDauthorizationRequestToken- the request token retrieved from the result of aSubscriptionFacade.initializeTransaction(java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>)call.parameters- provider specific parameters- Returns:
SubscriptionPaymentDatacontaining the results of the operation- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
changePaymentMethod
@Nonnull public CCPaymentInfoData changePaymentMethod(@Nonnull CCPaymentInfoData paymentInfo, java.lang.String action, boolean propagate, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeChanges an existing payment method.- Parameters:
paymentInfo-CCPaymentInfoDatathe updated payment informationaction-Stringthe change action to perform (currently supported: "enable", "disable")propagate- determines whether to propagate the change to all billing subscriptions using the given payment methodparameters- provider specific parameters- Returns:
CCPaymentInfoDatacontaining the results of the operation- Throws:
SubscriptionFacadeException- if payment method cannot be changed
-
replacePaymentMethod
@Nonnull public SubscriptionPaymentData replacePaymentMethod(java.lang.String subscriptionId, java.lang.String paymentMethodId, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeReplaces the payment method for the given subscription.- Parameters:
subscriptionId- the ID of the subscription to replace the payment method forpaymentMethodId- the ID of the new payment method which replaces the current oneparameters- provider specific parameters- Returns:
SubscriptionPaymentDatacontaining the results of the operation- Throws:
SubscriptionFacadeException- if payment method cannot be replaced
-
replacePaymentMethod
@Nonnull public SubscriptionData replacePaymentMethod(java.lang.String subscriptionId, java.lang.String paymentMethodId, java.lang.String effectiveFrom, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
- Parameters:
subscriptionId- the ID of the subscriptionpaymentMethodId- the ID of the payment method to seteffectiveFrom- determines when the replacement will take effectparameters- provider specific parameters- Returns:
SubscriptionDatacontaining the results of the operation- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
createPaymentSubscription
public CCPaymentInfoData createPaymentSubscription(java.util.Map<java.lang.String,java.lang.String> paymentParameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeCreates a payment subscription on the hybris side.- Parameters:
paymentParameters- parameters retrieved from the result of aSubscriptionFacade.finalizeTransaction(java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>)call.- Returns:
CCPaymentInfoDatathe payment information created based on the given parameters- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
updateSubscription
@Nonnull public SubscriptionPaymentData updateSubscription(java.lang.String subscriptionId, boolean force, SubscriptionUpdateActionEnum action, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeUpdates the given subscription (e.g. cancel)- Parameters:
subscriptionId- the subscription to updateforce- determines whether to force the update or notaction- the update action to performparameters- provider specific parameters- Returns:
SubscriptionPaymentDatacontaining the results of the operation- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
getSubscriptions
@Nonnull public java.util.Collection<SubscriptionData> getSubscriptions() throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeReturns all subscriptions for the current user.- Returns:
Collection<SubscriptionData> the current user's subscription- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
getSubscription
public SubscriptionData getSubscription(java.lang.String subscriptionId) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeReturns the subscription with the given ID.- Parameters:
subscriptionId- the ID of the subscription- Returns:
SubscriptionDatathe subscription with the given ID- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
hpfUrl
public java.lang.String hpfUrl() throws SubscriptionFacadeExceptionDescription copied from interface:SubscriptionFacadeReturns the HPF URL.- Returns:
- the HPF URL
- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
getUpgradePreviewBillings
public java.util.List<SubscriptionBillingData> getUpgradePreviewBillings(java.lang.String subscriptionId, java.lang.String upgradeId) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeReturns a list of the possible billing changes between the current subscription and an upgrade option.- Parameters:
subscriptionId- the current subscriptionupgradeId- the upgrade option- Returns:
ListofSubscriptionBillingData- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
updateSubscriptionAutorenewal
@Nonnull public SubscriptionData updateSubscriptionAutorenewal(java.lang.String subscriptionId, boolean isAutorenewal, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeUpdates the auto-renewal status of an existing subscription.- Parameters:
subscriptionId- the ID of the subscriptionisAutorenewal- the new auto-renewal status of the subscriptionparameters- provider specific parameters- Returns:
SubscriptionDatacontaining the results of the operation- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
changeSubscriptionState
@Nonnull public SubscriptionData changeSubscriptionState(java.lang.String subscriptionId, java.lang.String newStatus, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeUpdates the state of an existing subscription.- Parameters:
subscriptionId- the ID of the subscriptionnewStatus- new status of the subscriptionparameters- provider specific parameters- Returns:
SubscriptionDatacontaining the results of the operation- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
extendSubscriptionTermDuration
@Nonnull public SubscriptionData extendSubscriptionTermDuration(java.lang.String subscriptionId, java.lang.Integer contractDurationExtension, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeExtends the subscription term duration of an existing subscription.- Parameters:
subscriptionId- the ID of the subscriptioncontractDurationExtension- extends the duration x timesparameters- provider specific parameters- Returns:
SubscriptionDatacontaining the results of the operation- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
getBillingActivityList
public java.util.List<SubscriptionBillingData> getBillingActivityList(java.lang.String subscriptionId, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeReturns a list of billing activities for the given subscription.- Parameters:
subscriptionId- the ID of the subscriptionparameters- provider specific parameters- Returns:
List<SubscriptionBillingData>- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
getBillingActivityDetail
public SubscriptionBillingDetailFileStream getBillingActivityDetail(java.lang.String billingActivityId, java.util.Map<java.lang.String,java.lang.String> parameters) throws SubscriptionFacadeException
Description copied from interface:SubscriptionFacadeReturns a file stream containing detail information for the specified billing activity.- Parameters:
billingActivityId- the ID of the billing activityparameters- provider specific parameters- Returns:
SubscriptionBillingDetailFileStream- Throws:
SubscriptionFacadeException- if operation cannot be performed
-
createEmptySubscriptionPaymentData
@Nonnull protected SubscriptionPaymentData createEmptySubscriptionPaymentData()
Description copied from class:AbstractSubscriptionFacadeCreates an emptySubscriptionPaymentDataobject.- Overrides:
createEmptySubscriptionPaymentDatain classAbstractSubscriptionFacade- Returns:
- An empty
SubscriptionPaymentDataobject
-
-