#GastonLifschitz
1 messages · Page 1 of 1 (latest)
Prorations can definitely work in that scenario but the discount may add some complication.
Basically, discounts don't prorate six of the months, they prorate any charge on the subscription that happens during those six months. So if you have a 50% for 6 months coupon and apply it to a $100/year subscription, the user would pay $50 as the 50% off coupon was active when they were charged for the full year (as opposed to them being charged 50% for 6 months and then 100% for the other 6 months)
Does my description of that discount behavior make sense? It can be a bit confusing
Kind of, let's put it like you said in an scenario.
6 Months ago I payed $50 for a 1 year subscription, and now I want to upgrade to a 3 year which could be $100. Would the prorated discount be $25?
I actually think it would be closer to $50, haven't fully calculated it out but we would charge for 30/36 months on that $100 subscription so ~$83, but we would credit for 6/12 months of the $50 subscription, which would be $25. So I think we would charge around $58
Unless I am wrong and we credit the full 50 in which case you are right $83 - $50 is $23
I haven't had time to test this, do you have these prices set up in test mode? If you do we will calculate the proration as it would happen in live mode
And I'd like to add another case. I purchased the 2 year subscription and after 18 months i want to upgrade to a 3 year, but last subscription had a price of $0 because of the multiple year coupon I described previously. It will take the last $0 price when calculating proratioon_
I actually think I may have been mistaken. I think they may get credited for the discount. I will check on this and get back to you
Thanks!
Also just dropping this here if you haven't seen them: https://stripe.com/docs/billing/testing/test-clocks
Test clocks can be very useful in testing how prorations work. You can set a time, create a subscription, advance to an arbitrary time, and create a proration to see exactly what we would calculate