Yep, I was missing something. Need to create setupIntent first, then create subscription.
I can't seem to get a particular use case to work. If you subscribe with a free trial using a card that requires SCA, the payment/show view looks for an 'amount' parameter which is in payment_intents but not setup_intents. it looks as though it might need a 'setups' controller in addition to the 'payments' controller, unless i'm missing something?