title: Node JS: Stripe payment intent is null when upgrading the subscription
body: <p>I am implementing upgrade subscription functionality where the user's previous tier's cost will be prorated and (s)he will be charged the difference of new and old tier when upgrading. this payment will be done on the same day, resetting the billing cycle. here's my node js code:</p>
  <pre><code>        let sub = await stripe.subscriptions.retrieve(project.stripe_subscription_id)
          let update_req = await stripe.subscriptions.update(project.stripe_subscription_id, {
              'billing_cycle_anchor': 'now',
              items: [{
                  id: sub.items.data[0].id,
                  price: pricing_id,
              }],
              payment_behavior: 'default_incomplete',
              expand: ['latest_invoice.payment_intent'],
          })
  
          // res_data['client_secret'] = update_req.latest_invoice.payment_intent.client_secret
          res_data['subscription_id'] = update_req.id
  
          console.log({is_null: update_req.latest_invoice.payment_intent === null })
  
  
          intent_cache[update_req.id] = {
              intent_id: update_req.latest_invoice.payment_intent.id,
              pricing_id,
              project_id: project._id
          }
  
          return res.send({
              success: true,
              code: 200,
              action_required: &quot;payment method&quot;,
              data: res_data,
              message: &quot;initiated subscription, further payment required&quot;
          })
  </code></pre>
  <p>here I the update_req.latest_invoice.payment_intent is a null object. the customer account does not have any default payment method bound to his ID on stripe. I need the client secret so that I can charge his/her card on next step. I cannot point out where I am wrong, can you please help?</p>
  <p>Thanks in advance :)</p>