Ask A Question


You’re not receiving notifications from this thread.

Stripe Subscription with Initial setup fee

Nick McNeany asked in Gems / Libraries

Hey Everyone,

I'm building a relatively simple subscription based app using Stripe, Devise, Pundit and a few other resources. My only real hangup at the moment is that the subscription requires an initial setup fee, and I'm really having a hard time with it.

A new user signs-up for Subscription-A; Subscription-A has a yearly interval price of $5. Upon signing up the new user gets charged a one-time fee of $10, then the following years gets charged only $5.

I'm currently in the research phase, but haven't found too much on this topic. I normally would show what I've attempted so far, but in this case I'm having a hard time even getting this started.

Any help/ideas/resources/direction would be greatly appreciated!



Hey Nick,

I remember looking this up before, and I believe the recommended thing from Stripe was to basically create a Charge for $10 and then also setup the user on a Subscription at the same time, but give them a 30 day trial. That way you get your setup fee and first month, but the real subscription doesn't start until a month later.

Just googled it again, turns out you can set the account_balance now instead. This is much easier!

You should be able to just follow my Stripe screencasts and pass in this extra parameter and you'll be good to go!


Awesome! Thanks, Chris!! Exactly the nudge I was looking for!!!

I'll report back, incase anyone else is interested.


I know this is old but for anyone on Google: because of the possibility of the customer not paying the subscription fee I think this is a better solution.

Esentially you:

  1. Create a customer
  2. Create a draft invoice item with the flat fee
  3. Create the subscription (this is the recurring plan).


Join the discussion
Create an account Log in

Want to stay up-to-date with Ruby on Rails?

Join 84,111+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.