#chrisp - change plans
1 messages · Page 1 of 1 (latest)
Hello, thanks for describing your scenario. I am thinking on what you can do to support that use case
Can you send me the ID of a specific subscription that you have seen this behavior with?
sorry, took some time to respond. Was looking for the sub id that I tested. Here you go sub_1LDr9EJHtItJdreotAEGSncK
I was thinking to change the flow, where we do not ask for the payment method yet. And we only ask for the payment method when their trial has expired and they want to continue with the subscription. But they also have to select a different plan, since the first plan they are subscribed to upon registration is the free with trial plan. Hope I am making sense.
Yep definitely makes sense. Still thinking about this. If you do want to ask for payment info before the trial ends, you can use the pending_setup_intent on the subscription to collect their info. https://stripe.com/docs/api/subscriptions/object#subscription_object-pending_setup_intent
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
To clarify, are you saying that they will get a generic trial plan and alway have to choose another plan? Or do they start with a trial for a plan that they may keep and they may want to chance to a different plan once the trial is up?
They will start a generic trial plan, and upon end of the trial period they will always have to choose another plan.
Gotcha. Also it looks like that subscription ID that you provided sub_1LDr9EJHtItJdreotAEGSncK is for a subscription that is still active. Did you get that error about it being canceled when trying to update that subscription specifically?
Im not sure if the error says canceled or incomplete_expired. But the scenario was after the trial has ended, I saw that the status was active for the generic trial plan. And I wanted to switch to a plan that is in our original list of plans.
So incomplete-expired or cancelled would be if the user had a payment to make, incomplete_expired means they went 24 hours after the trial without adding a payment method and cancelled would probably come from your dashboard settings on how to handle failed payments for subscriptions
For those statuses, we typically recommend creating an entirely new subscription. So maybe here you can just let your user choose their plan and then create a new subscription without a trial based on what they do
I have to check again the card that we used since we used an actual card specifically for this test. Does this has to do also with the webhook endpoint not being available? Im testing it on my local through valet share. Just wondering if my local not being available has caused this.
I don't quite follow the recommendation.
Sorry bout that, still new to slack and the processes.
We typically recommend testing in test mode rather than live mode here. It should have the exact same behavior.
I still am not quite clear where the error is happening. Can you try updating that subscription again and sending me the request ID (req_123) of the request that got that error?
okay will try
And what I was saying is that once a subscription is canceled or incomplete_expired, you can't make it active again. At that point, you should create an entirely new subscription on the plan that the user actually does want
okay it's weird, was able to update my account now. here is the request ID
req_fcg2P8MTDwF7vt
but I think I forgot the test conditions we did on this. I also recalled testing similar flow on test mode then we decided to move to live mode.
Gotcha. Unfortunately it is hard to say what happened without a concrete ID from an object or request that you saw this with. I do think the overall advice still stands though, if you get that error, the subscription is no longer usable so you will need to create a new one for the same customer.
Will keep that in mind. Thanks for your help good sir