Combine a Downgrade with an Early Full-Price Renewal of a Data-Limited Subscription

If a customer's subscription's data-limit is expired, and they wish to downgrade to a plan with a lower data limit and immediately renew their subscription to continue using your service, follow the steps below to renew their subscription:

Step 1: Show customer price of the downgrade and immediate renewal

Call the Update Subscription Item API endpoint to generate a preview of the price that the customer will pay for the downgrade and renewal. In the API call, do the following:

  • Submit the SubscriptionId that belongs to the customer's subscription.
  • Submit the ProductId that belongs to the product that the customer would like to downgrade to.
  • Set GetCustomerPricePreviewOnly to true in the AlignmentSettings argument and set GenerateMail to false to generate a preview that will not be processed or communicated via email.
  • Set TriggerImmediateRenewal to true to trigger the renewal immediately.
  • Set ResetBillingInterval to true so that a new billing interval starts immediately.
  • Set UpdateAction to Update for reporting purposes.
curl --request POST \
  --url https://rest.cleverbridge.com/subscription/updatesubscriptionitem \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --header 'authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
  --data '{
    "AlignmentSettings": {
      "AlignToCurrentInterval": false,
      "ExtendInterval": false,
      "GetCustomerPricePreviewOnly": true
    },
    "GenerateMail": false,
    "ProductId": 123450,
    "Quantity": 1,
    "RunningNumber": 1,
    "SubscriptionId": "S12345678",
    "TriggerImmediateRenewal": true,
    "ResetBillingInterval" : true,
    "UpdateAction": "Update"
  }'

For more information about the AlignmentSettings argument, see Alignment Settings.

Step 2: Process downgrade for customer

After the customer confirms the previewed price, set GetCustomerPricePreviewOnly to false in the AlignmentSettings argument and set GenerateMail to true. Call the Update Subscription Item API endpoint again. Cleverbridge will process the downgrade using the payment details that we have stored in our database and send a confirmation email to the customer.

curl --request POST \
  --url https://rest.cleverbridge.com/subscription/updatesubscriptionitem \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --header 'authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
  --data '{
    "AlignmentSettings": {
      "AlignToCurrentInterval": false,
      "ExtendInterval": false,
      "GetCustomerPricePreviewOnly": false
    },
    "GenerateMail": true,
    "ProductId": 123450,
    "Quantity": 1,
    "RunningNumber": 1,
    "SubscriptionId": "S12345678",
    "TriggerImmediateRenewal": true,
    "ResetBillingInterval": true,
    "UpdateAction": "Update"
  }'

Step 3: Cleverbridge sends you a PaidOrderNotification

For more information, see Step 3: Cleverbridge sends you a PaidOrderNotification in Combine Upgrade with Early Renewal (Basic to Premium).