#Miroslav
1 messages · Page 1 of 1 (latest)
Yes!
I've configured two products, each with two prices. One price is for the initial 3-month period, and the second price is a recurring monthly price that should start after the initial 3 months.
I'm using Checkout, so it was pointed to me to use the "mixed cart" approach, where I include both prices in the checkout session (recurring and one-time), and use a free trial of 90 days. I just tried that and I see two potential issues:
-
The word "trial" is mentioned in the Checkout UI in a few places. I think the button was named "Pay and start trial", and there were a few labels as well. Our use case is actually not having a trial, so our customers are not aware of a trial. It's just that we want to lock them for 3 months before switching to monthly payments. We don't want them to join for only 1 month and leave.
-
Upgrading/downgrading between the two plans should work even within those initial 3 months. I'm using the Customer Portal for this. I expected some proration to be included, but when upgrading, I'm asked to pay the monthly price from the product I'm upgrading to. I'm not 100% why I was asked to pay that amount, as it doesn't look like a correct amount if it was for proration.
Yes makes sense. The other option would be to use Subscription Schedule https://stripe.com/docs/billing/subscriptions/subscription-schedules However:
- You cannot use Checkout Session in this case. So it will require more work on your end
- You cannot use the Customer Portal either
👋 taking over for my colleague. Let me know if there's any follow-up Qs I can answer!
Hi @deft mural . Do you have an alternative in mind for my scenario, even if it's some workaround? We are trying to use the simplest integration with Stripe, so I've chosen to go with the low-code approach. But, it's also a hard requirement to always make clients pay and join on a 3-month period initially before switching to monthly.
actually what my colleague suggested is correct if you're not planning on writing any bit of code
but if you want you can start with a Checkout session that creates the 3months subscription, but then on invoice.paid event you can convert the Subscription to a Subscription Schedule as my colleague suggested
to accommodate for the next phase of monthly pricing
aha, so I can update the subscription afterwards to use schedules. Two follow ups on that.
- How does that affect my initial Checkout session? Do I create the session with only using the one-time price?
- After I somehow update the subscription to use schedules after that, does that mean that from that point on, I cannot use the Customer Portal for upgrading/downgrading? I will need to implement my own solution for that just because the subscription is using schedules?
- How does that affect my initial Checkout session? Do I create the session with only using the one-time price?
no you would create it as a subscription mode checkout session with the 3-months price
- After I somehow update the subscription to use schedules after that, does that mean that from that point on, I cannot use the Customer Portal for upgrading/downgrading? I will need to implement my own solution for that just because the subscription is using schedules?
you would first need to create the subscription schedule from your already created subscription using https://stripe.com/docs/api/subscription_schedules/create#create_subscription_schedule-from_subscription
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
afterwards you would update the schedule to contain 2 phases https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-phases:
1st phase with the 3months price with 1 iteration
2nd phase with a 1month price with 1 iteration and you set the end_behavior
https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-end_behavior to release. After the 4months, your customer will be able to upgrade/downgrade their subscription via the customer portal
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
aha, so this flow blocks the user from upgrading/downgrading through the Customer Portal only within the first 4 months. But he can upgrade/downgrade afterwards.
yes
I'll talk with the client, but unfortunately, I doubt that will be an acceptable behavior :(. So I'll try to find a middle ground of what's possible and what works for the business.
is there a way for me to create a second subscription automatically when the first one ends? Maybe that simplifies things, but as the new monthly subscription requires payment, I guess that I won't be able to do that automatically (without the customer being present).