title: best way to handle stripe subscription upgrade and downgrade
body: <p>I have read in the documenation that the stripe has only one api for subscription update for both upgrade and downgrade.</p>
  <p>I have 2 products to which user subscribe, <code>Basic</code> and <code>Plus</code>, both are paid.When I upgrade form Basic to Plus, I do the following:</p>
  <ul>
  <li>Subscribe the user to another product.</li>
  <li>Delete the previous product from the subscription.</li>
  </ul>
  <p>It means at some point user is subscribed to two products in one subscription. What is the best way to handle it?</p>
  <p>Now if user downgrades, my buisness logic is to do not cancel the current subscription immidietly. For example, if user wants to go from Plus to Basic. The Basic will start once Plus has finished.
  Heres how I am handling it currently:</p>
  <ul>
  <li>Cancel the current subscription with property <code>cancel_at_period_end: true</code></li>
  <li>Start the next subscirption with a <code>trial period</code>, so user is charged once current subscription is ended</li>
  </ul>
  <p>Now this whole senerio is very strange for me. what is the best way to handle my upgrade/downgrade with the update api of stripe. I am using <code>NodeJs</code>.</p>
  <p>Thank you in advance</p>