Customize Subscription Renewal Price
The following contains relevant information about this use case:
Preconditions and Considerations
- The subscription has the status Active.
- Any changes made, including the price and/or quantity, apply to all future billing events unless modified subsequently.
- Use of the
CustomerPrice
parameter in the API response is required. Before doing so, see Understand Customer Price. - Use the
AlignmentSettings
parameter for the subscription in the API response is required. Before doing so, see Get Started with Subscription API > Alignment Settings.
For more information on which API endpoint to use, see Guidelines for When to Use UpdateSubscriptionItem vs. UpdateSubscriptionItemPrice.
Description
- On July 8th, a customer purchases a client’s Enterprise Platform subscription, which requires the customer to specify the number of seats for the subscription. The customer chooses 700 seats during the checkout process, which are priced at $22.95 per seat.
- On July 18th, the client opens an intranet page that uses Get Subscription API endpoint to display the customer's current subscription details. The client then contacts the customer to thank them for their purchase and ask for feedback.
- The customer states that they would like to purchase additional seats within the next 60 days and asks for a discount on the price per seat. The client negotiates a modified price per seat of $19.50 to apply to the existing 700 seats at the time of renewal and also to any additional seats that are purchased in the future.
- You change the per-seat price for the customer’s subscription on the intranet page that uses Update Subscription Item Price API endpoint to update the newly negotiated price.
- On August 8th, the customer’s subscription automatically renews, and the Cleverbridge platform automatically bills the customer based upon the number of seats in the subscription and the revised price.
This use case calls the Get Subscription and the Update Subscription Item Price API endpoints as described below:
Retrieve the Quantity of Users (first call)
To retrieve the current subscription item quantity:
- Call the Get Subscription API endpoint.
- In the
SubscriptionItem
array data returned in the response, locate the single instance in the array for which both of the following statements are true:
RunningNumber
matches the running number of the subscription item for which the quantity is needed.- The
IsCurrent
parameter istrue
.
- Retrieve the current quantity for the Users subscription item from this instance of the array.
Update Subscription Item Price (second call)
Set the parameters in the Update Subscription Item Price API call to the values listed in the table.
Parameter | Set to Value |
---|---|
SubscriptionId | The unique identifier of the subscription. |
RunningNumber | 1 (it is assumed that the seats item is the only item in the subscription). |
AlignmentSettings | AlignToCurrentInterval: false GetCustomerPricePreviewOnly: false |
CustomerPrice | CurrencyId: HUF IsGross: true Value: 1950.00 |
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)
Illustration
Updated 10 months ago