I am not a Stripe JS expert but when I have problems with Cucumber + JS in most cases there are two options:
I need to add @javascript tag before feature/scenario (obvious problem)
There is some delay required before steps with js functionality:
When /^wait (\d) sec$/ do |delay| sleep delay.to_i end
Obviously it is not a good practise to use 'sleep' in tests but sometimes it is the only workaround.