Class DefaultSubscriptionService

java.lang.Object
de.hybris.platform.sap.saprevenuecloudorder.service.impl.DefaultSubscriptionService
All Implemented Interfaces:
SubscriptionService

public class DefaultSubscriptionService extends Object implements SubscriptionService
Default Subscription Service to communicate with Sap Subscription Billing system
  • Constructor Details

    • DefaultSubscriptionService

      public DefaultSubscriptionService()
  • Method Details

    • getSubscriptionsByClientId

      public List<Subscription> getSubscriptionsByClientId(String clientId) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Description copied from interface: SubscriptionService
      fetch subscription details using customerId
      Specified by:
      getSubscriptionsByClientId in interface SubscriptionService
      Parameters:
      clientId - customerId
      Returns:
      List list of Subscription
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • getSubscriptionsByClientIdPage

      public PaginationResult<List<Subscription>> getSubscriptionsByClientIdPage(String clientId, Integer pageIdx, Integer pageSize, String sort) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Description copied from interface: SubscriptionService
      fetch subscription details with Pagination
      Specified by:
      getSubscriptionsByClientIdPage in interface SubscriptionService
      Parameters:
      clientId - customerId
      pageIdx - pageNumber
      pageSize - pageSize
      sort - Sorting Order
      Returns:
      single page of Subscription
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • getSubscription

      public Subscription getSubscription(String subscriptionId) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Description copied from interface: SubscriptionService
      fetch subscription details using subscriptionId
      Specified by:
      getSubscription in interface SubscriptionService
      Parameters:
      subscriptionId - subscription code
      Returns:
      Subscription
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • cancelSubscription

      public CancellationResponse cancelSubscription(String subscriptionId, CancellationRequest cancellationForm) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Description copied from interface: SubscriptionService
      cancel a subscription based on subscription code
      Specified by:
      cancelSubscription in interface SubscriptionService
      Parameters:
      subscriptionId - subscription code
      cancellationForm - subscription data required for cancellation
      Returns:
      Response of cancelled subscription
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • withdrawSubscription

      public WithdrawalResponse withdrawSubscription(String subscriptionId, WithdrawalRequest withdrawalForm) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Description copied from interface: SubscriptionService
      withdraw a subscription based on subscription code
      Specified by:
      withdrawSubscription in interface SubscriptionService
      Parameters:
      subscriptionId - subscription code
      withdrawalForm - subscription data required for Withdrawal
      Returns:
      Response of withdrawn subscription
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • updatePayment

      public PaymentResponse updatePayment(String subscriptionId, PaymentRequest paymentDetailsForm) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Description copied from interface: SubscriptionService
      Makes service call to change payment details of provided subscription code
      Specified by:
      updatePayment in interface SubscriptionService
      Parameters:
      subscriptionId - Subscription Id for which payment details needs to be changed
      paymentDetailsForm - Payment details that is to be updated
      Returns:
      result of Payment update
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • getBillingFrequency

      public BillingFrequencyModel getBillingFrequency(ProductModel productModel)
      Description copied from interface: SubscriptionService
      get billingFrequency for specific product
      Specified by:
      getBillingFrequency in interface SubscriptionService
      Parameters:
      productModel - - product model
      Returns:
      BillingFrequencyModel
    • computeCancellationDate

      public EffectiveExpirationDate computeCancellationDate(String subscriptionId, String reqCancellationDate) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Description copied from interface: SubscriptionService
      get effective end date for subscription
      Specified by:
      computeCancellationDate in interface SubscriptionService
      Parameters:
      subscriptionId - subscription code
      reqCancellationDate - requested cancellation date
      Returns:
      effective end date for subscription
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • extendSubscription

      public ExtensionResponse extendSubscription(String subscriptionId, ExtensionRequest extensionForm, boolean simulate) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Description copied from interface: SubscriptionService
      extend a subscription based on subscription code
      Specified by:
      extendSubscription in interface SubscriptionService
      Parameters:
      subscriptionId - subscriptionId
      extensionForm - subscription data required for extending subscription
      simulate - simulation flag (Data will simulate but won't persist)
      Returns:
      extension status
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • reverseCancellation

      public CancellationReversalResponse reverseCancellation(String subscriptionId, CancellationReversalRequest cancellationReversalForm) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Description copied from interface: SubscriptionService
      Reverses the cancellation of subscription
      Specified by:
      reverseCancellation in interface SubscriptionService
      Parameters:
      subscriptionId - subscription id
      cancellationReversalForm - Cancellation Reversal
      Returns:
      Cancellation Reversal Response
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • setSbApiClient

      public void setSbApiClient(SubscriptionBillingApiClient sbApiClient)
    • setUserService

      public void setUserService(de.hybris.platform.servicelayer.user.UserService userService)