Not wanting to hijack this thread - however, I think I'm looking for something similar to Ncklrs - which is I don't want to give a free trial - instead, I want to able to charge straightaway - and make it a one time charge rather than an ongoing subscription.
I've found how I can do one times charges once they've registered to an existing re-occurring product but not from new.
Yes - that's how I've done the one time charge in my test code... but if I understand correctly, the system needs to already have a subscription before you can do that... ie they need to have set up an account and entered all their card details etc to have set up the Stripe token.
Ideally what I want to do (as per a new discussion at https://laracasts.com/discuss/channels/spark/cloned-registration-form) is actually clone the registration form so that I have a new page where the viewer doesn't get "which plan do you want" box at the top of the registration form - instead they just enter their profile details and billing details and the bespoke registration form subscribes them to a specific plan. Then I can upsell/swap them to other plans when appropriate.