title: Swapping a subscription to different billing period with Laravel Cashier causes immediate charge
body: <p>There is a case in which a user can swap from a monthly subscription to an annual subscription.</p>
  <p>This can be done using the following code:</p>
  <pre><code>$company-&gt;subscription('annual')
          -&gt;withCoupon($couponCode)
          -&gt;swapAndInvoice(1); // 1 is the quantity
  </code></pre>
  <p>This works, however what I have noticed is that it immediately invoices and charges the user at the same instant, which closes the invoice right away. This means that webhooks cannot modify the invoice to add line items such as tax.</p>
  <p>I even modified <code>swapAndInvoice</code> to make it so that payment is not made right away to allow for the invoice to have the usual ~1 hour modification period that Stripe allows for invoices. However, it still charges the user right away. I'm thinking this is because of the change from monthly to annual billing. But not sure.</p>
  <pre><code>//Stripe_Invoice::create(['customer' =&gt; $customer-&gt;id], $this-&gt;getStripeKey())-&gt;pay();
  Stripe_Invoice::create(['customer' =&gt; $customer-&gt;id], $this-&gt;getStripeKey());
  </code></pre>
  <p>Any ideas are appreciated.</p>
  <p>Stripe's own documentation says the following:</p>
  <blockquote>
  <p>When a customer switches subscription plans in the middle of a billing period, here's what happens:</p>
  <p>If the new plan has a different billing frequency from the old plan (for example, monthly to yearly, active to trialing, free to active, and so on)</p>
  <p>The first full period of the new plan begins immediately (or after a trial period, as desired), and the customer is charged for the first period less the account balance.</p>
  </blockquote>