In case your customer decided to suspend a subscription, The Connect platform generates a suspend subscription request. Once this request is approved, its corresponding subscription will be automatically suspended by the platform.

The initial status of a suspend fulfillment request is Pending. It remains in this state until it is processed via the Connect platform or via your deployed middleware. In case a suspend request is successfully processed, its status is changed to Approved. Furthermore, the Connect platform transfers the associated subscription to the Suspended state.

Vendors can deploy the Processor to approve pending suspend request and consequently suspend active subscriptions via their systems.

Prerequisites

Before following the provided use case, make sure that all of these prerequisites are met:

Creating Suspend Requests

Suspend requests for active subscriptions are created by customers. Vendors can also create a suspend request by accessing an active preview subscription.

Before creating a suspend request, make sure that the Administrative Hold capability from your product profile page is enabled.

The following steps showcase how to create a suspend request for your generated preview subscription.

1. Access active subscription details

Click on your active preview subscription from the Subscriptions module of the Connect platform.

Your subscriptions are displayed within the Directory tab. Make sure that a subscription that you want to suspend is in the Active state and it is marked with the Preview tag.

2. Launch a Suspend Request Wizard

Open the Actions menu from the subscription details screen and click the Cancel button.

Follow the wizard steps to successfully create a suspend request.

3. Confirm your Change Request creation

Click the Create Suspend Request button to confirm your decision.

Therefore, the Connect platform generates a fulfillment request to suspend a subscription.

Code Snippets

Create a script that triggers specific API requests to approve the aforementioned suspend requests. Therefore, subscriptions can be suspended by approving these requests via your configured Processor SDK Template.

from connect_processor.app.utils.utils import Utils
from cnct import ConnectClient
from typing import Dict


class Suspend:
    """ This class is used to manage suspend requests.

    @staticmethod
    def process_request(request, client):
        # type: (Dict, ConnectClient) -> Dict
        # This method processes the suspend requests with Pending status

        # Get the ID of the subscription that should be suspended.
        # The Subscription ID can be saved as a fulfillment parameter.
        # This external_subscription_id is used to call the Vendor API and suspend subscriptions
        external_subscription_id = Utils.get_param_value(request, 'fulfillment', 'subscription_id')

        # Add the code to suspend the subscription by calling the Vendor API:
        # api_client = APIClient(api_url='',
        #                        api_key='')
        # suspend_payload = {}
        # api_client.suspend_subscription(suspend_payload, external_subscription_id)

        # In case the suspend operation is successful, approve the request with the following code:
        return Utils.approve_fulfillment_request(request, client)
        # Therefore, the subscription status will be switched to Suspended.
        # If the suspend operation is not successful, the request can be rejected by using
        # the Utils.reject_fulfillment_request method.

Summary

Once a request to suspend a subscription is processed and approved via your deployed middleware, the Connect platform assigns the Suspended status to this subscription.

Is this page helpful?
Translate with Google
Copied to clipboard