Bill Usage at a Custom Price
You can apply a negotiated or custom price to all future usage by a customer. The following contains relevant information about this use case:
Description
Livesplash is a company that offers a video storage and streaming platform subscription. The monthly billing amount for every customer is based on two subscription items:
Item | Price |
---|---|
Access | $50 |
Streaming Usage | $7.50 per 1,000 streams |
- On June 22nd, a customer contacts Livesplash to explore ways to contain the cost of their subscription, which, due to rapid growth in the customer’s business, has exceeded $10,000 per month.
- Concerned that the customer might shift some of their business to a competitor, you negotiate an offer to reduce the customer’s Streaming Usage price to $5.75 per 1,000 streams for all future billings.
- After the customer accepts the offer, Livesplash uses an intranet page to change the Streaming Usage item price for the customer’s subscription.
- At the end of the day on July 14th, a program running on Livesplash’s system does the following for each subscription with a renewal date of June 15th:
- Calculates the quantity of usage during the billing interval
- Uses the Update Subscription Item Price endpoint to update the subscription item’s quantity to 1,360 for 1,360,000 streams used during the billing interval
- On July 15th, the customer’s next billing date, the Cleverbridge platform automatically bills the customer $7,870, which is $50 for the Access subscription item plus $7,820 for usage (the quantity of 1,360 times the price of $5.75).
This use case calls the Update Subscription Item Price and the Update Subscription Item API endpoints as described below:
Update the price (first call)
The first call uses the Update Subscription Item Price API endpoint to update the price for the subscription item. If the API call is formatted as described below, it will:
- Calculate the pro-rated billing amount if the subscription item is updated.
- Return the pro-rated billing amount in the
AlignmentCustomerGrossPrice
parameter of the API response (so that it can be provided to the customer). - Not change any data in the Cleverbridge system.
Parameter | Set to Value |
---|---|
SubscriptionId | The unique identifier of the subscription. |
RunningNumber | 2 (the Streaming Usage item is the second of two items in the subscription). |
AlignmentSettings | AlignToCurrentInterval: false GetCustomerPricePreviewOnly: false |
UpdateAction | See the note below. |
CustomerPrice | CurrencyId: USD IsGross: true Value: 5.75 |
Update the quantity of usage (second call)
The second call, at the end of the billing interval, uses the Update Subscription Item API endpoint. If the API call is formatted as described below, it will update the subscription item’s price and quantity in the Cleverbridge platform.
Parameter | Set to Value |
---|---|
SubscriptionId | The unique identifier of the subscription. |
RunningNumber | 2 (the Streaming Usage item is the second of two items in the subscription). |
ProductId | The product ID for the Streaming Usage subscription item. |
Quantity | 1360 |
AlignmentSettings | AlignToCurrentInterval: false GetCustomerPricePreviewOnly: false |
UpdateAction | 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 option is also available:
- Reduce the subscription billing amount by applying a discount coupon that was set up in the Cleverbridge platform.
Tip
Get the customer's consent for changes to subscriptions. For more information, see Best Practices: Obtain Customer Consent.
Illustration
Updated over 1 year ago