Combine an Upgrade with an Early Custom-Price Renewal of a Data-Limited Subscription

retain-phase-combine-upgrade-with-early-full-price-renewal-of-data-limited-subscription

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

Step 1: Show customer custom price of upgrade and immediate renewal

Call the Update Subscription Item API endpoint to generate a preview of the price that the customer will pay for the upgrade 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 upgrade 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 the price that the customer will pay for the renewal in the CustomerPrice argument.
  • 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
    },
    "CustomerPrice" : {
	  "CurrencyId": USD,
	  "IsGross": true,
	  "Value": 215
    }
    "GenerateMail": false,
    "ProductId": 123451,
    "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 upgrade 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 upgrade 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
    },
    "CustomerPrice" : {
      "CurrencyId": USD,
      "IsGross": true,
      "Value": 215
    }
    "GenerateMail": true,
    "ProductId": 123451,
    "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).