It's very easy to create a stripe customer, associate a card with that customer and charge them at anytime after. However, using Laravel cashier it's not so easy to subscribe a user to a plan at any time after.
Auth::user()->subscription(Input::get($new_plan_id))->create($card_token, array(
'email' => Auth::user()->email
));
The card tokens are generated when the user adds a card in my settings. I have tried storing the token at this point and using it when a user wants to update their subscription but I get the error:
You cannot use a Stripe token more than once