#Yashish
1 messages · Page 1 of 1 (latest)
hello! can you word it out with todays date for example?
e.g. change Sub_123 to charge $10 today but the actual recurring monthly price of $99 on May 15th (for example)?
if a user updates the subscription plan then I want to provide the user with x amount of free trial days(it could be different for each user) and at the time of update I want the user to pay for the new plan to which he is updating
isn't that conflicting behavior? How would they get free days if they're also paying up front??
if you explain via a dated example like I did, it helps
I am using Stripe in my Django app where there are different types of services and according to the service usage limit there are Stripe subscription plans,
Now if in the basic plan user can use 100 services in 30 days, but if the user uses some of the services (20 services for 15 days) and then want to update the plan to the advance one (plan with 1000 service usage limit) so at the update if I want to give the user the free trial for 15 days (unused days of its earlier plan)
Here if the user updates the plan then it is getting a 15-day free trial for the advance plan with 30 days of the advance plan (total of 45 days) but at the time of update, the user invoice of $0 is generated so if the user cancels its subscription in the free trial period then the user is able to use the advance service for free.
ah got it - give me a moment
one way to tackle this is to create a SubscriptionSchedule to modify the Subscription and give it new phases. So you end the basic plan phase and begin the advanced one in 15 days
no i want to alow user to update to new subscription plan but at that time i also want to provide user with some extra free days but want to accept the payment for the update plan when user update the plan
ok I'm confused - didn't you describe the opposite earlier?
.
you can check
yeah I did read - let me reword it back to you to make sure I understand what you want
1/ May 1st - subscribe to plan_basic for $5 per month
2/ May 15 - subscribe to plan_advance and immediately pay $50 on May 15
3/ May 15 to 31st - Subscription in Stripe should say "plan_basic"
4/ June 1st - Subscription in Stripe should say "plan_advanced"
is my understanding right?
if not, can you reword it like above and reexplain?
cause I'm not getting it
no thill 2 points are perfect in 3 points I want to provide the user with some x amount of free trial days for the new plan (the number of free trials can be different for each user)
from 2 point it should be advance plan
that's what I'm confused about (so pls bear with me)
How would you give free trial days if you're also charging for plan_advance up front? If you're already charging, what would the free trial days be for
if the user is updating from basic to advance instead to provideing the proration amount i wat to give user some free trial days in hi new plan (we can tell it as some extra days in new plan insted of $)
Hi there 👋 taking over, as my colleague needs to step away
Give me a few minutes to get caught up.
but you aren't prorating though?
You said yes to my plan above which isn't prorating, it is charging up front
2/ May 15 - subscribe to plan_advance and immediately pay $50 on May 15
I think you're best off using Subscription Schedules for this, but you can also just give trial days pretty much on-demand using trial_period_days, so you may want to read up a bit more on both of these:
Trials - https://stripe.com/docs/billing/subscriptions/trials
Subscription Schedules - https://stripe.com/docs/billing/subscriptions/subscription-schedules
i had check it with the trial period
but when I am adding the trial period of 5 days then at that time the invoice is generated for $0 and after the completion of the trial period the next invoice is for 50$ advance plan
but want that user is charge for $50 when he update to the new plan insted of $0
How are you wanting the free trial days to apply to the subscription if you're charging them up front?
if the user is updating from basic to advance instead to provideing the proration amount i wat to give user some free trial days in hi new plan (we can tell it as some extra days in new plan insted of $)
any solution?
Yeah, but how are those days applied if you're not using prorations? Like, how would those "free" days actually get applied to their subscription?
`trial_period_days = 5
trial_end = int((datetime.utcnow() + timedelta(days=trial_period_days)).timestamp())
subscription = stripe.Subscription.modify(
subscription_id,
proration_behavior='none',
items=[subscription_item],
)`
i am doing like this
the invoice is generated for $0 and after the completion of the trial period the next invoice is for 50$ advance plan
but want that user is charge for $50 when he update to the new plan insted of $0
No, I mean: when you build the new Subscription model that you're going for, how are you wanting the trial days to apply to the Subscription? Someone pays you $50 dollars for a free period. How are you wanting that free period to show up on their receipt?
just as some extra days in first month of the subscription
if the user is updating from basic to advance instead to provideing the proration amount i wat to give user some free trial days in hi new plan (we can tell it as some extra days in new plan insted of $)
You've sent that exact message several times and every time you do, we get no closer to a solution. Please be specific and address the questions: How do the trial days affect the billing cycle? How does the customer see these trial days affecting their payment?
When a user updates their subscription plan in Stripe, there is an option called proration. If the user upgrades before their current subscription period ends, the cost of the new subscription plan is prorated. Instead of using proration, I would like to offer the user some additional days in their first month of the new subscription plan.
So the billing cycle on the new subscription would simply start at a later time?
suppose the user bought the basic plan on 1st May now its 3rd May and the user updated his plan so now we are accepting the payment of $50 for the advanced plan and also providing 5 days trial period in the advanced plan so user's next billing cycle will be for from 8 june
Give me just a few more minutes to construct an answer
I'm working on putting one together and I want to run it by someone before sending it to you
ook so can to keep this thread on till morning
because i want to go out for some other work
or can be please send the solution to me in personal
I'll leave it in this thread once it's done so we can pick up where we left off later (if needed)
Got it. Okay, so in that case here's what you can do. Using Subscription Schedules with Basic Plan and Advanced Plan:
May 1st - Create a normal Subscription with a Subscription Schedule that has phase[0] for the Basic Plan. This phase[0] has no end date and will function like a normal monthly subscription until updated.
May 3rd - When the user upgrades to Advanced plan, you would update the Subscription Schedule to have phase[1], which starts immediately (on May 3rd) and ends on June 8th. You would make the Price object on the Advanced Subscription cost $50 for 2 months (this will ensure they are not billed again on June 3rd). Lastly, you would include phase[2] for the Subscription Schedule to represent the normal Advanced Plan billing cycle from June 8th to July 8th to August 8th (and so on)