To allow customers to choose the add-ons at the time of signup, you will need to build a simple form on your end where the add-ons are listed. Your customers can choose the add-ons they want (and specify addon quantity, if applicable) on this form before going to the checkout page.
Here’s the syntax to pass add-ons onto the checkout page URL:
------------------
Example: Let’s assume my Chargebee domain name is https://umbrellacorp.chargebee.com the plan id is “Grow-monthly” & the addon ids are “custom-report” and “phone-support” - the syntax for passing both the addons on the checkout page URL would look something like:
-------------------
Now you don't have to manually construct the URLs and instead use a Javascript to do this automatically based on the customer’s selection on your form. The demo below serves as an example and the form uses a Javascript to construct the hosted page URL based on the selections made.
https://www.chargebee.com/labs/signup-with-addons-and-quantity.html
If you're using Chargebee's Customer Portal and you want your existing subscribers to add/remove recurring add-ons from their subscriptions, they could simply login to the portal and do it. You can specify what operations can be done through the portal under Settings>>Configure Chargebee>>Checkout & Self-Serve Portal(under Customer-facing essentials section)>>Customer portal.
If you'd like to attach more than one plan to a subscription, you could create a $0 plan and associate multiple recurring quantity-based addons {one for each product}, as we support only plan per subscription only.
Note: Chargebee provides add-ons to help you manage your customer's additional product needs. The additional products can be modeled as a recurring or a non-recurring addon depending on whether it will be a one time purchase or a recurring charge on top of a subscription.
If you're using the V3 checkout pages, check this article.