Customer Converts from Freemium to Paid Subscription

Overview

This guide shows you how to implement the the Update Subscription Item endpoint to replace the Freemium product with the Paid product.

Use Case

A customer converts from a freemium subscription product to a paid subscription in the Cleverbridge system. The client must have agreed to a processing fee for freemium subscriptions, and the customer must enter payment details during the initial purchase.


  1. On January 1st, a customer uses the Cleverbridge checkout process to purchase your company's Freemium subscription to a photo upload and sharing service that includes up to 10 gigabytes of storage space.
  2. On July 1st, the customer would like additional storage space, and subscribes to the Paid service for $25 annually. The customer visits a client-hosted page to upgrade the subscription. You use the Update Subscription Item endpoint to replace the Freemium product with the Paid product.
  3. The Cleverbridge platform automatically bills the customer a pro-rated amount for the rest of the billing interval.
  4. On July 1st of the following year, the Cleverbridge platform automatically bills the customer $25 for the Premium plan for the new annual billing interval.

Implement Update Subscription Item endpoint

Before you start

Make sure that:

  • Both the Freemium and Paid subscription products are set up in the Cleverbridge platform.
  • The customer's payment information was captured during a past purchase.
  • The Freemium subscription has the status Active.
  • The billing interval for the Freemium subscription product and the Paid subscription product are the same (in this use case, annually).
  • The renewal date for the Paid subscription will be based on the date that the customer purchased the Freemium subscription.
  • Using the Update Subscription Item API endpoint to change the billing interval of a subscription is only supported for single-item subscriptions (which is the most common type of subscription), and only effective at the time of the next billing date. Otherwise, when one subscription item is replaced with another, the original and the replacement items must have the same currency and billing interval.
  • Changes made by this function, including the price and/or quantity, apply to all future billing events unless changed subsequently.
  • Use of the CustomerPrice parameter in the API response is optional. Before doing so, see Understand Customer Price.
  • Use of the SubscriptionAlignmentSettings parameter in the API response is required. Before doing so, see Get Started with Subscription API > Alignment Settings.
  • If a client adds a subscription item, a history of revisions is created automatically. It is important to confirm that the current version receives the update.

For more information on which API endpoint to use, see Guidelines for When to Use UpdateSubscriptionItem vs. UpdateSubscriptionItemPrice.

Parameters

Parameter

Type

Required

Example

Notes

AlignmentSettings

obj

No

AlignToCurrentInterval: false

GetCustomerPricePreviewOnly: false

The subscription is changed as requested in the API call.

ProductId

int

Yes

29899

Product ID for the subscription item usage.

RunningNumber

int

Yes

1

Running number of the item in the subscription.

Quantity

int

Yes

1

Total number of items after the update.

SubscriptionId

str

Yes

284947

The unique identifier of the subscription.

UpdateAction

str

No

upgrade

The value set does not affect transaction processing.
See the note below.


📘

Note

The UpdateAction parameter is currently used for documentation and tracking only. The value set does not affect transaction processing.

The supported values are as follows:

  • For upgrades, set the parameter to upgrade (or 1 for JSON)
  • For downgrades, set the parameter to downgrade, (or 2 for JSON)
  • For all other changes, set the parameter to update (or 0 for JSON)

Options

Although not utilized in this use case, the following options are also available:

  • Reduce the price of the Paid subscription by applying a discount coupon that was set up in the  Cleverbridge platform. This discount is applied to all future billings of the subscription.
  • The client creates and hosts the sign-up process for the Freemium subscription. When a Freemium customer purchases the Paid subscription, the customer is redirected to the Cleverbridge checkout process to capture payment information to create the subscription in the Cleverbridge platform.

Diagram