Retain Customer by Increasing the Subscription Billing Interval

Overview

This guide shows you how to implement the Update Subscription Item endpoint to change a subscription’s billing interval from shorter to longer, effective on the next billing date.

Use case

  1. On May 8th, a customer clicks through an email reminder to manually renew an annual Cloudify subscription, which has a monthly billing interval, by the July 1st renewal date.
    The email redirects the customer to a landing page that displays the following options:

This image is for illustration purpose only

  1. The customer selects the annual renewal option and then clicks a button to proceed. The page uses the Update Subscription Item endpoint to change the subscription from one that has a monthly billing interval to one that has an annual billing interval.
  2. On July 1st, the Cleverbridge platform automatically bills the customer $900 for the next annual billing interval.

Implement Update Subscription Item endpoint

Before you start

Make sure that the subscription:

  • has the status Active

  • contains only a single item

  • is effective at the time of the next billing date

  • renews annually

🚧

Important

Get the customer's consent for changes to subscriptions. To avoid chargebacks and customer inquiries, it is also essential that you coordinate all price increases with Client Experience.

In the European Economic Area (EEA), Strong Customer Authentication (SCA) is required for recurring electronic payments when the amount changes. This means that some of your customers will have to authenticate their payment, which in turn might impact the renewal success rate.

For more information, see Best Practices: Obtain Customer Consent.


Parameters

To update the customer's subscription data in the Cleverbridge platform, set the parameters in the Update Subscription Item API call to the values listed in the table.

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

292124

Product ID for the new product (in this use case, it is the ID of the product with an annual billing interval).

RunningNumber

int

Yes

1

Running number of the item in the subscription.

SubscriptionId

str

Yes

S67204221

The unique identifier of the primary subscription.

UpdateAction

str

No

upgrade

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

Other considerations

  • 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 AlignmentSettings parameter for the subscription in the API response is required. Before doing so, see Get Started with Subscription API > Alignment Settings.

  • When you add 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.

📘

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)

Usage Notes

Changing the billing interval of a customer’s subscription is achieved by setting up two products in the Cleverbridge platform, one for each of the two billing intervals. Usually, these products are functionally identical to each other, but are not required to be.

Diagram


flowchart LR
  classDef mainColor fill:#ffffff,color:#96C34B,stroke:#96C34B,stroke-width:2px;

  A(["&nbsp;&nbsp;May 8th<br/>Customer selects the annual renewal option&nbsp;&nbsp;<br/>&nbsp;"]):::mainColor
    --> B(["&nbsp;&nbsp;May 8th<br/>Page uses <i>Update Subscription Item</i><br/>to switch from monthly to annual billing&nbsp;&nbsp;<br/>&nbsp;"]):::mainColor
    --> C(["&nbsp;&nbsp;July 1st<br/>Cleverbridge automatically bills<br/>$900 for the next annual billing interval&nbsp;&nbsp;<br/>&nbsp;"]):::mainColor