#Ajay479-subscription
1 messages · Page 1 of 1 (latest)
Well I think we implemented it a little backwards and we are also using v 10.0.0.0
but basically we create a plan at the time of checkout and subscribe to that plan
If they have an existing plan, we delete it and create a new one.... then subscribe to the new plan that was just created
I think plans are now called prices
So your goal is to let a subscription cancel at a certain date, and as soon as it cancels you want them to be subscribed to a new price?
That is the goal but we also cancel any existing subscriptions at checkout and create a new one that subscribes to the plan that was also just created
Hopefully that makes sense
I guess the main question is can I subscribe someone to a price but charge them at a later date, like when their last subscription would have ended?
Would I just change the billing_cycle_anchor to their previous end date?
Yeah so there's a couple of different ways to do this:
- the recommended way to do this would be with Subscription Schedules (which let you schedule a subscription to be created in the future https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases#start-subscription-future)
- you could also immediately create the subscription and set it to have a
trial_endthat lines up with the end date of the existing subscription
That makes sense thanks for that. I was also wondering about something else, we are using this as a way to "add items to subscription" but really we are just creating a new one behind the scenes.
What would the recommended way be for charging customers 1 time for any additional items they just added?
Are these just one-off items, or are you trying to update something about the subscription?
Well I don't think we implemented it the right way so I think they would be one-off items. I can give an example to try and give more context...
Customer has items a,b currently on there subscription but they want to "add" items c,d
I want to charge the users for adding c,d immediately then when current subscription is up charge them for new subscription that includes a,b,c,d
We do not have items a,b,c,d as seperate prices, we create one price at the time of checkout that is the combination of a,b,c,d and subscribe to that price
Gotcha, so you can create a new Price (for the combination of abcd), and then update the subscription to use that price with proration_behavior: always_invoice (this will immediately charge for any difference in cost)
Ahh that is great, this would also only charge them the new price at the end of their subscription?
I thought you wanted to charge for those one-off items immediately?
Can you give a more specific example - let's say you have a monthly $10 price. Do you want to add on a one-time $5 price but continue to charge $10? Do you want to charge the $15 starting at the end of the month? Do you want to charge them $5 now, and then also $15 at the end of the month?
$5 dollars now (for the new items that were added) then $15 (new price with all items)
Sorry my previous message was probably confusing
Gotcha, so if that's the behavior you want then you'll need to do this differently (but again, there are multiple different ways to do this):
- You can create a one-off Invoice to charge for the $5, and then use a Subscription Schedule to update the Subscription at the end of the current cycle
- You can create a one-off Invoice to charge for the $5, and continue with what you were doing where the subscription is cancelled and you create a new one that starts when the previous one is cancelled
That all makes sense thanks! Can you point me towards best way to create one-off invoice?
You can look at this guide: https://stripe.com/docs/invoicing/integration
Appreciate all your help karbi!