Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Requiring Credit Card on Trial Expiration #162

Open
unkrich opened this issue Jul 11, 2016 · 1 comment
Open

Requiring Credit Card on Trial Expiration #162

unkrich opened this issue Jul 11, 2016 · 1 comment

Comments

@unkrich
Copy link

unkrich commented Jul 11, 2016

Hi - is there an easy way to not require credit card upon account creation and then require the user to enter their credit card data when the trial period has ended for the account?

If anyone can point me in the correct direction, it would be greatly appreciated.

@psusmars
Copy link

psusmars commented Sep 1, 2016

So the current code probably doesn't make this easy, and looking at how stripe handles this situation is that if you put a customer on a subscription that requires a payment at the end of the trial period, it will just error out until they setup a payment source. You could just let this happen meaning the customer will go to dunning and they could receive free days until they attach (or don't attach) a source. You could also optionally just terminate the subscription if they haven't provided a payment source at the end of the trial period (handle the invoice.created event and terminate their subscription immediately if they haven't provided a payment source).

Another option, which may be simpler in other ways, is to create a plan on Stripe that is $0.00 and have it be the duration of your trial. Then add a column to users that indicates whether or not they have been on the trialing plan, and ask them to provide a payment source at the end of that trial period (or any time along) and just when the trial subscription ends, either set them up to automatically start on a paid plan OR nothing (since they might not have provided a payment method).

And of course the most simple option would be just to handle an "activated_trial_at" on your user yourself, and handle the "still_on_trial?" by checking the today vs the column. Then just have a page that they enter their payment source, and if the user has a payment source, and in an hourly task or something checking if the user is still on the trial period or not, move them to the subscription plan automatically at the end. Otherwise, they can just sign up as usual.

There's lots of possibilities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants