Interface SubscriptionService

All Known Implementing Classes:
DefaultSubscriptionService

public interface SubscriptionService
This service connects to Sap Subscription Billing System and performs Subscription related actions
  • Method Details

    • getSubscriptionsByClientId

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

      PaginationResult<List<Subscription>> getSubscriptionsByClientIdPage(String clientId, Integer pageNumber, Integer pageSize, String sortBy) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      fetch subscription details with Pagination
      Parameters:
      clientId - customerId
      pageNumber - pageNumber
      pageSize - pageSize
      sortBy - Sorting Order
      Returns:
      single page of Subscription
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • getSubscription

      Subscription getSubscription(String subscriptionsId) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      fetch subscription details using subscriptionId
      Parameters:
      subscriptionsId - subscription code
      Returns:
      Subscription
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • cancelSubscription

      CancellationResponse cancelSubscription(String code, CancellationRequest subscription) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      cancel a subscription based on subscription code
      Parameters:
      code - subscription code
      subscription - 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

      WithdrawalResponse withdrawSubscription(String code, WithdrawalRequest subscription) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      withdraw a subscription based on subscription code
      Parameters:
      code - subscription code
      subscription - subscription data required for Withdrawal
      Returns:
      Response of withdrawn subscription
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • extendSubscription

      ExtensionResponse extendSubscription(String subscriptionCode, ExtensionRequest subscription, boolean simulate) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      extend a subscription based on subscription code
      Parameters:
      subscriptionCode - subscriptionId
      subscription - 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
    • getBillingFrequency

      BillingFrequencyModel getBillingFrequency(ProductModel productModel) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      get billingFrequency for specific product
      Parameters:
      productModel - - product model
      Returns:
      BillingFrequencyModel
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data
    • computeCancellationDate

      EffectiveExpirationDate computeCancellationDate(String subscriptionsId, String reqCancellationDate) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      get effective end date for subscription
      Parameters:
      subscriptionsId - 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
    • updatePayment

      PaymentResponse updatePayment(String code, PaymentRequest changePaymentData) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Makes service call to change payment details of provided subscription code
      Parameters:
      code - Subscription Id for which payment details needs to be changed
      changePaymentData - 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
    • reverseCancellation

      CancellationReversalResponse reverseCancellation(String code, CancellationReversalRequest cancellationReversal) throws de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException
      Reverses the cancellation of subscription
      Parameters:
      code - subscription id
      cancellationReversal - Cancellation Reversal
      Returns:
      Cancellation Reversal Response
      Throws:
      de.hybris.platform.subscriptionservices.exception.SubscriptionServiceException - if error occurs due to input data